* Install prettier
* Reformat all files
* Add prettier to precommit hook
* Update prettier settings to match Gutenberg code standards
* Reformat files with new settings
* Improve legibility in some line breaks
* Add inline settings script later than init
* Rename to shared-settings for clarity - other extensions filter these
* Implement block settings
* tweak used hooks
* update comment
* Shared settings should be dependency
* Make Webpack output shared and block settings (https://github.com/woocommerce/woocommerce-blocks/pull/918)
* export new @woocommerce/settings external on `wc.blockSettings` global
- This handles reading data from the dom and assigning it to the global used in all packages dependent on `@woocommerce/settings` which is registered as an external pointing to the global.
- ensures that server data is only loaded on a route if needed.
* switch all direct imports of constants to use new `@woocommerce/settings` external
* enqueu new `wc-block-settings` script and attach inline data to it.
* fix test configuration and adjust test to use new external
* fix bad merge resolution after rebase
* switch constants import to `@woocommerce/settings` external after rebase
* reorder imports for convention
* improve method name
* Add “attribute selection” step before allowing terms to be selected
* Update query builder
* Use shortcode to render block
* Styling for child list items
* Add a new LayoutControl component
* Use new LayoutControl to handle rows & columns settings
* Fix errors when rows or columns is empty (silently fall back to default to prevent breaking the block)
* Rename `LayoutControl` to `GridLayoutControl`
* Prevent Products by Category from showing all products when no category is selected
* Update string when no categories are selected
* Update button text
* Revert button change, Done is more appropriate
* Add ProductsControl component to search and select products
* Add “Hand-picked Products” block
* Update hand-picked & new product icons
* Prevent API request when no products are selected
* Remove rows setting
* Update shortcode/query helpers for the handpicked products
* Remove shortcode from post if no product IDs are passed
Rendering a shortcode with `ids=‘’` will show all products, as if the ids param wasn’t there. The expected outcome would be no products are shown, we we achieve by removing the shortcode.
* Remove unused rows attribute
* Update accessible spoken notice
* Add a variable to hold whether there are selected products
* Fix copy-paste comments
* add newest products block
* update class name in index.js and product-new.js
* Add a new WooCommerce block category and include all blocks within.
* Fix shortcode product order
* Show block category on all post types
* Add core breakpoint 480px, remove non-core breakpoints
* Add the optional operator & save callback
* Add the catOperator as a valid attribute
* Enable cat operator for Products by Category
* Add cat_operator support the products API endpoint
* Enable cat_operator in the shortcode and query utils
* Pluralize the “nothing found” string if we have multiple categories
* Fix style in the inspector panel
* Add category operator support to the Best Sellers product block
* Add cat_operator support to On Sale Products block
* Update label & margin
* Move from a JS file per block registration to one file registering all blocks
This will let webpack combine shared libraries, like gridicons
* Move global block settings to the “before all scripts” section
These shouldn’t be tied to a specific block file, since they’re used across all blocks
* Register both block types
We can also remove the scripts, since we enqueue these below
* Update getShortcode & getQuery to handle different block types
* Pass block type name to getQuery
* Update shared attributes - edit_mode is not a universal option, but categories will be
Categories is shared, but orderby is not
* Add “Best Selling Products” block
* Add a shared class name for product grid blocks
* Fix failing tests
* Add a second block, for “products by category”
* Fetch products in the given category, when attributes change
* Display the resulting products
* Style the product preview
* Create utils folder, move shared attributes
* Move getQuery to shared utils folder
* Create a helper function to get the shortcode string
* Support the menu_order setting
* Support center/wide/full alignment
* Update PropTypes
* Add tests
* Add text domain to translation functions