* 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
* Introduced WGPB_Extend_Core class to modify shortcodes and API requests of core
* Require the new class
* WC_REST_Blocks_Products_Controller_V2 to override the wc-blocks API to support new tags properties
* Register new products by tag block type
* Modify utils to support tags and tag_operators
* Add ProductTagControl to handle tag searching
* Add the actual products by tag block
* Set limitTags to 100
* Create Package class and use in main plugin file
* Move and refactor library class - split asset methods into new Assets class.
* Add jetpack autoloader dependency
* fix tests
* Update from master
* AbstractBlock class for general block registration
* remove test autoloader so tests do not break
* Create AbstractProductGrid
* FeaturedProduct
* HandpickedProducts
* ProductBestSellers
* ProductCategory
* ProductNew
* ProductOnSale
* ProductTopRated
* ProductsByAttribute
* Remove old base and render functions
* Allow non-dynamic blocks and register category block
* Fix products-by-attribute due to wrong naming
* Remove no dev
* test phpunit dir
* Update testing framework
* Update with new abstract classes and build in API
* Undo edit to attribute block
* Move edit mode
* No need to support shortcodes
* correct linting errors
* Update tests/bootstrap.php
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Update code comment to make more sense.
* Correct test package
* docblock
* Fix cancel button class
* Fix classname schema
* Set loading state so spinner is shown
* Add placeholder element when no tags are selected
* No tags placeholder
* Update rest endpoints
* Duplicate SearchListControl into ProductSearchListControl component
* Undo control copy; it's not needed
* Variation search + counts showing
* Dropdown styling (also fixed SVG icon markup in SCSS file)
* Style the variation count
* Handle variation display on frontend and backend
* Fixed selection callbacks hooray
* Extend v3 api to return name. Use v3 API for featured product block.
* Switch description based on type
* Fix isSelected check
* Define a11yProps
* Variations rest endpoint
* Remove isTertiary
* REST endpoints with variation handling
* Handle variation data frontend
* Handle variation data in editor
* renamed description schema
* tweak variation display
* Update assets/js/components/product-control/style.scss
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Flip icon direction
* Use classnames
* fix isSingle warning
* standards
* Only try to load variations if product has them
* Add catalog_visibility param to products api
This adds a catalog_visibility=visible option to the product api which
will filter out any products that are excluded from the catalog.
* Add product_visibility phpunit test
* Add catalog_visibility for catalog, search, hidden
* Fix util js test
The util js test checks for query parameters, so this adds the
category_visibility = 'visible' param.
* Updated for comments
1. Added collection params
2. moved catalog_visibility default with others
* Add a prop to turn on “single choice” mode
* Create new ProductControl to select a single product
* Remove align from shared attributes
This is given to us by default for using supports.align
* Add Featured Product block
* Fix spelling mistake & copy-paste issue
* Fix lint warning
* Add featured product script to build process, register block in PHP