* We display the number of selected items, e.g., '5 selected'
* We display a number of all existing items next to the button, e.g., "Select all (25)".
* When only some items are selected on the page, we show an additional button that says "Select page (X)" where X stands for the number of rows on the page. Clicking it selects all rows on the page.
* Clicking "Select all" selects all existing items
* Add changelog file
* Add tracking events
* Saving progress on variations table
* Manage tracking events and error handling
* Hide edition features when at least one variation is selected
* Fix linter errors
* Resolve rebase conflicts
* Remove use selection hook since is not needed anymore
* Fix filter items vertical alignment
* Add changelog files
* Fix inconsistent loading and variations state
* Do not show EmptyTableState when the product has variations but the filter get empty list
* Invalidate cache state before generating variations
* Fix select all after filtering variations
* Remove delete variations from the selection list
* Retreive the product after generating variations
* Fix linter
* Invalidate variations cache after generating variations
* Copy WelcomeGuide from gutenberg
* Remove CSS copied from guide component since it's not influencing the product Welcome Guide and it's interfering with the block editor welcome guide
* Fix issue with box-sizing
* Fix lint issues
* Show guide only when modal is open
* Add changelog
* Remove template and fix issue with component not re-rendering
* Add comment
* Add additional changelog
* Rename component
* Create product variations filter component
* Add slug to the product and variation attributes
This is needed to be able to filter variations by specific attribute slugs
* Add support to filter variations by many attribute options
* Integrate attribute options filter in variations table
* Fix rebase conflicts
* Set initial filter values
* Improve intial filter values and cache invalidation
* Add changelog files
* Fix linter errors
* Fix unit tests
* Change the min amount of options to show the search input
* Fix invalid cache key generation for the datastore
* Fix unit tests
* Fix linter errors
* Fix js tests
* Add terms pagination for varition filters
* Load terms on demand plus pagination
* Show selected option names as the dropdown button toggle text
* Fix invalida state when reset and on close the popover
* Revert adding selected options as part of the dropdown toggle text
---------
Co-authored-by: Fernando Marichal <ultimoround@gmail.com>
* Create initial version of TextControl
* Extract 'label' component for reusability
* Reduce gap
* Add label component to number control and add tooltip and required attributes
* Add changelog
* Remove unused CSS
* Add tooltip to type definitions
* Update doc for number block
* Add text block documentation
* Update parameters definition
* Set label to 'mandatory' in TypeScript
* Set label to mandatory
* Organize to alphabetical order
* Refactor required validation to be more consistent with name field
* Generify documentation
* Use createInterpolateElement for label with required indicator
* Invalidate variations upon generation and fix formatted name
* Add aditional invalidates to keep cache up to date
* Update formatted name to always return attribute term name list
* Move empty-variations-image to the images folder so it can be used in other components
* Create TableEmptyState component
* Add TableEmptyState to the Variations table component
* Add changelog file
* Fix linter error
* Show notice when price is empty
* Add changelog
* Add variation check
* Allow multiple errors
* Show unique errors
* Change error text
* Rename wpError to wpErrors
* Show single error
* Add error type
* Refactor catch
* Replace hidden icon by seen icon
* The 'visible' icon is only shown when the Show in product details box in the variation option is checked
* The tooltip displayed when the user hovers over the 'hidden' icon is updated to: Visible in product details
* On hover, the cursor changes to help
* Add changelog file
* Create product page skeleton
* Load skeleton in product and variation pages
* Let each page to define own loading/skeleton when the router is resolving the page.
* Add changelog files
* Fix linter error
* Fix unit test
* Invalidate resolution for paginated variations after removing any from the single variation page
* Add changelog file
* Invalidate resolution also for getProductVariationsTotalCount
* Add @woocommerce/number to @woocommerce/components
* Create a component for checkbox and use it on the block
* Create a component for number and use it on the block
* Add changelogs
* Remove scss import
* Rename Numbercontrol prop
* Expose useProductEntityProp
* Move components to product-editor package and fix UI bug created in checkbox component
* Revert unnecessary changes in components and update changelogs
* Revert changes in use-number-input-props
* Fix issue in checkbox
* Revert css change
* Improve has_price filter so it can matches when the price record does not exist or it's empty/null
* Get the exact variation ids of those ones that do not have price
* Add changelog files
* Fix linter errors
* Create ManageDownloadLimitsModal component
* Integrate ManageDownloadLimitsModal with product downloads block
* Add changelog file
* When there's at least 1 file uploaded, we add a Manage limits button to the Downloads section heading
* Both fields only accept numbers
* Add suffix to each input
* Add integer validation message
* Fix validation to support -1 and 0 values
* Add virtual section to the product variation template
* Add changelog file
* Let the toogle block to use inverted value to be checked
* Fix virtual toggle to be inverted
* Add changelog file