This adds support for using the `pnpm utils ci-jobs` command in our `ci.yml` file. One of the bigger benefits to this change too is that we're now distributing a bundled version of the utils tool. This lets us run it without actually having to install the repo and will let us speed up any workflows that currently do.
* Remove variable-product-template from the product template list
* Add changelog files
* Redirect the variable product to the new experience now that is does not have a product template anymore
* Fix php linter error
* Move ProductTemplate type
* useProductTemplate
* Use useProductTemplate
* Use useLayoutTemplate
* Handle if window.productBlockEditorSettings doesn't exist
* Unit tests for useProductTemplate
* Fix fallback in useProductTemplate
* Remove layoutTemplates from ProductEditorSettings on client
* Fallback to simple-product layout template
* Unit test to verify the standard product template is used if product type is variable
* Use standard product template if product type is variable
* Unit test to verify product type is used to match if product template id matches a template with a different product type
* Make sure product type matches on product template, unless variable, in which case we match simple
* Remove layoutTemplates and layoutTemplateEvents from global
* Changelog
* Changelog
* Import types only
* pick clientId by using hook
* do not pass clientId to BlockFill component
* pick clientId from core hook
* introduce SectionActions slot component
* expose SectionActions slot component
* fix ts issue
* changelog
* fix closing component bug
* do not pass clientId to the BlockSlot instance
* revert changes in the description block
* fix name for the section actions component
* export section actions properly
* add a warning when the slot DOM doesn't exist
* define the name explicitely
* export SectionActions component name
* import SectionActions from product list cmp
* rename ProductListBlockEdit component fn
* implement `Choose products for me` button
* clean
* selectSearchedProductDispatcher accepts products array
* rename component with LinkedProductListBlockEdit
* pull and set linked products from choose button
* changelog
* rollback minor changes
* fix typo in fn
* pull the related product from core entities
* minor
* Redirect supported product types to the new experience based on the product template associated to it
* Add changelog file
* Fix linter error
* Redirect using the product type first and then the associated product template
* Set the product template id also for unsupported product templates
* Add changelog file
* Remove supported_product_types from the RedirectionController since the product_templates is used instead
* Fix php linter error
* Add showStepButtons attribute for Number block and component
* Use native step buttons
* Revert "Use native step buttons"
This reverts commit 8425d17399.
* Use custom step buttons and hide them when field is not focused
* Revert type="number" as it's not working well with number formatting
* Disable autocomplete
* Remove leftover showStepButtons from documentation
* Prevent default event when pressing up/down
* Change to onKeyDown event
* Implement timeout to hold + and - buttons
* Remove unnecessary onBlur and prevent default event when onKeyUp
* Fix TS issue
* Update changelog
* set max height for the AdviceCard component
* changelog
* remove Flex components
* tweak dismiss button size
* update changelog
* tweak layout depending on isDismissible or not
* set min-height fior advice card instead
* add bottom padding to card boddy
* Add product search field to the linked product list block
* Add empty state to the linked product list block
* Fix AdviceCard styles
* Create skeleton for the linked product list block
* Fix linter errors
* Move the product list skeleton to the product list component folder
* Revert AdviceCard changes
* Remove upsells and cross-sells block to use linked-product-list block instead
* Add changelog files
* Add expression-evaluation package
* Export useEvaluationContext
* Add HOC to hide collapsible block when nothing is inside it
* Add changelog
* Create a separate place for WP hooks and move existing hook to it
* Reintroduce line deleted automatically
* Refactor to useSelect
* introduce packages/js/data/src/user/types.ts pref
* be able to dismiss the Upsells advice
* rename user pref key
* typify product_advice_card_dismissed prop
* store is dismissed state in the user pref
* delegate the dismiss state to the component
* changelog
* remove console.log :'(
* fix TS issue
* fix TS issue
* changelog
* Create and register product-linked-list-field block
* Add upsells and cross-sells blocks to the simple product template
* Create formatted price component
* Add linked product table to the linked product list block
* Add remove product button to each product row
* Add see product page button
* Add link to the product name so it can be edited in a new tab
* Fix some styles
* Add product search field to the linked product list block
* Fix styles
* Add changelog files
* Fix linter error
* Fix rebase conflicts
* Use useProductEntityProp instead of useEntityProp within product-linked-list-field block
* Move the product list to its own component
* Move the product select to its own component
* Move the product image to its own component
* Fix linter error
* Add tooltip attr to Pricing field
* Remove Fragment reference
* Add tooltip to regular price
* Add tooltip to sale price
* Remove "labelToShow" const
* Add changelog
* Update woocommerce.com URLs in documentation and code files
* Add changelog
* Fix github repository link in extend-rest-api-add-custom-fields.md
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* Add github reporter (#42974)
* Add github reporter
* Add changelog
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Fix product task redirect to support grouped and external products (#43051)
* Rearrange product redirection logic to better accept grouped and external produc types
* Add changelog
* Modify feedback modal actions (#43005)
* Adapt feedback modal actions
* Add changelogs
* Modify comments
* Fix tests
* Fix test
* Update class-wc-gateway-bacs.php (#43054)
* Update class-wc-gateway-bacs.php
Fix typo in textdomain
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* [Product Block Editor]: Add `Linked product` tab (#43009)
* add linked-products to group IDs
* add Linked Products tab
* tweak hideConditions condition
* changelog
* fix typo in doc comment
* Introduce a product type selection within the new experience (#41823)
* Create a relation between the product type and the product block template
* Add 'patterns' to name the kind of products that can be created for a specific template
* Resolve template using its id as a template query param
* Rename ProductEditPattern to ProductTemplate
* Rename get_patterns hook to woocommerce_product_editor_get_product_templates
* Return the list of templates to the client
* Set layout template events as array
* Register the layout template based on the product template or the post type in case of product variations
* Registering non supported product types
* Create and register the woocommerce/product-details-section-description block
* Add the product type to the section description
* Create product type selector
* Fix menu item style
* Highlight selected menu item
* Set the selected product template
* Set product template title to lowercase in the content description
* Rename blocks by blockTemplates under the AbstractBlockTemplate class
* Rename to woocommerce_product_editor_product_templates filter
* Remove product_template_ prefix from the supported_product_types map
* Rename get_formatted to to_JSON and convert the props to client side like
* Refactor get_product_templates
* Fix icon resolution
* Add a confirmation modal for unsupported product templates
* Add changelog files
* Remove product types using for testing
* Fix redirection when changing to a non supported product template
* Set the change button state to busy when it is saving the product
* Fix php linter errors
* Fix rebase conflict
* Move ProductTemplate to Automattic\WooCommerce\Admin\Features\ProductBlockEditor namespace
* Add the to_json definition to the BlockTemplateInterface
* Create default product template by custom product type if it does not have a template associated yet
* Fix some comments and product template creation validation
* Add support to load the product template icon from an external resource
* Fix php linter
* Fix the changelog description
* [Experimental] Interactivity Dropdown multi-select mode, ratings filter and introduce each directive (#42981)
---------
Co-authored-by: David Arenas <david.arenas@automattic.com>
* Introduce the transient files engine (#42877)
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Change marketplace install API request to POST instead of GET (#43033)
* Change marketplace install API to using POST instead of GET
* Fix linting error
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prep trunk for 8.6 cycle (#43021)
Prep trunk for 8.6 cycle with version bump to 8.6.0-dev
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
* Add Playwright tests for All Reviews, Reviews by Product and Reviews by Category blocks (#42903)
* Remove Reviews blocks Puppeteer tests
* Minor code cleanup
* Typos
* Create publishAndVisitPost() editor util
* Fix subcategories when importing products in Playwright and add reviews
* Add Reviews blocks tests in Playwright
* More typos
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Create a 'reviews' object in data.ts so we can store reviews data in one single place
* Update test so instead of creating a new post in each test, we go to the already-created post
* Add source comments to reviews data to match it with the script
---------
Co-authored-by: github-actions <github-actions@github.com>
* Release: Remove 8.5 change files (#43022)
Delete changelog files from 8.5 release
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
Co-authored-by: Alex López <alex.lopez@automattic.com>
* Delete changelog files based on PR 43033 (#43079)
Delete changelog files for 43033
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
* Delete changelog files based on PR 43051 (#43081)
Delete changelog files for 43051
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
* Interactive Price Filter: use `context` instead of `state` (#42980)
* feat: use context instead of state
* fix: temporary move the context to inner element for diffing to work
* fix: update context before navigation for optimistic UI
* Load google analytics gtag script asynchronously in WooCommerce Blocks (#43040)
Co-authored-by: github-actions <github-actions@github.com>
* set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build (#43074)
* set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Fix schedule sales error" (#43094)
Revert "Fix schedule sales error (#42700)"
This reverts commit 9b800aa179.
* [Product Block Editor]: add Linked product sections. First approach. (#43013)
* add Linked products, Upsell section
* changelog
* add Cross-lens section
* add links to the Upsell sections
* changelog
* fix lint issues
* fix lint issus
* fix linting issue :-|
* check whether the linked product group is defined
* [Product Block Editor]: introduce ShoppingBags component (#43042)
* add ShoppingBags component
* Add ShoppingBag story
* changelog
* Fix: Collection data being leaked between Collection Filters blocks (#43044)
* fix: CYS - change heading color (#43076)
* fix: CYS - change heading color
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Delete changelog files based on PR 43074 (#43118)
Delete changelog files for 43074
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
* [Product Block Editor]: fix feature flag to hide the Linked products (#43119)
* fix flag to hide/show product editor
* changelog
* Add changelog
---------
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: louwie17 <lourensschep@gmail.com>
Co-authored-by: Fernando Marichal <fernando.marichal@automattic.com>
Co-authored-by: Marc Guay <marc.guay@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Damián Suárez <rdsuarez@gmail.com>
Co-authored-by: Maikel David Pérez Gómez <maikel.perez@automattic.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
Co-authored-by: Alex López <alex.lopez@automattic.com>
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Fix typo introduced in #43116
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor
---------
Co-authored-by: github-actions <github-actions@github.com>
* Load the product template from the product meta data
* Save product template id as part of the product meta data
* Add changelog file
* Fix linter error
* Create a relation between the product type and the product block template
* Add 'patterns' to name the kind of products that can be created for a specific template
* Resolve template using its id as a template query param
* Rename ProductEditPattern to ProductTemplate
* Rename get_patterns hook to woocommerce_product_editor_get_product_templates
* Return the list of templates to the client
* Set layout template events as array
* Register the layout template based on the product template or the post type in case of product variations
* Registering non supported product types
* Create and register the woocommerce/product-details-section-description block
* Add the product type to the section description
* Create product type selector
* Fix menu item style
* Highlight selected menu item
* Set the selected product template
* Set product template title to lowercase in the content description
* Rename blocks by blockTemplates under the AbstractBlockTemplate class
* Rename to woocommerce_product_editor_product_templates filter
* Remove product_template_ prefix from the supported_product_types map
* Rename get_formatted to to_JSON and convert the props to client side like
* Refactor get_product_templates
* Fix icon resolution
* Add a confirmation modal for unsupported product templates
* Add changelog files
* Remove product types using for testing
* Fix redirection when changing to a non supported product template
* Set the change button state to busy when it is saving the product
* Fix php linter errors
* Fix rebase conflict
* Move ProductTemplate to Automattic\WooCommerce\Admin\Features\ProductBlockEditor namespace
* Add the to_json definition to the BlockTemplateInterface
* Create default product template by custom product type if it does not have a template associated yet
* Fix some comments and product template creation validation
* Add support to load the product template icon from an external resource
* Fix php linter
* Fix the changelog description
* Create BlockSlotFill component
* Add section-actions BlockSlot to the section-block
* Fill the section actions BlockSlot from the ProductList action buttons
* Add changelog file
* Use the BlockSlot/BlockFill to define the description of a section-block
* Pick the closest ancestor that contains the Slot
* Extract 'downloadable product' class and include it for API endpoint calls as well
* Re-add mediauploader component
* Restore UploadFilesMenuItem
* Provide additionalData type
* Restore MediaUploader component
* Lint PHP
* Add changelogs
* Update pnpm-lock
* Revert "Update pnpm-lock"
This reverts commit b61ee5813aa0b7b8b1ea8e71423bedbb6f876139.
* Revert pnpm-lock.yaml
* Fix unit tests
* Use WC_ABSPATH
* Remove use of deprecated conditional block
* Remove use of deprecated context usage
* Remove use of deprecated positoin on Dropdown in favour of popoverProps
* Add changelogs
* Remove unused import
* Fix lint errors
* Remove popoverProps.position with popoverProps.placement
* Update missed items replacing position to placement
* Fix lint error
* Fix placement position
* Update changelogs
* Add re-order modal
* Consolidate some of the styling and components
* Add changelog
* Only show reorder when products are added, and remove 'x' from reorder modal
* Create section description block
* Add changelog files
* Change section description block to receive its content from the attributes instead of innerBlocks
* Show feedback bar only once
* Add changelog
* Add isFeedbackBarHidden
* rename showFeedbackBarOnce
---------
Co-authored-by: Fernando Marichal <fernandomarichal@fernandos-mbp.lan>
* When the user clicks the search field, we immediately display the list of all existing products. It is sorted alphabetically. Clicking an item closes the search and adds the product to the list.
* Fix linter errors
* Create useDraggable hook
* Add dragging to sort products in the modal
* Fix product row padding
* Improve product petching
* Add changelog file
* When the user selects a grouped product type, we show an additional Products in this group section in the General tab.
* When the user selects a grouped product type, we hide the Pricing and Shipping tabs.
* When empty, the grouped products card has an empty state with an illustration
* When the user clicks Add products, we show a modal
* When the user clicks the search field, we immediately display the list of all existing products. It is sorted alphabetically. Clicking an item closes the search and adds the product to the list.
* Add remove button to the product list
* When the user clicks Add, we close the modal and display the list of added products in the product form
* Clicking the product name will open it in the editing view in a new tab
* Clicking the arrow button will open the product's page in a new tab
* Prevent adding already added products
* If the name or SKU extends beyond this width, we truncate the text
* Add changelog files
* Fix linter errors
* Create media library component
* Use media library component instead of the MediaUpload from the @wordpress/media-utils
* Remove UploadFilesMenuItemm from the DownloadsMenu until we solve the insecure file upload using the wp/v2/media endpoint
* Remove the @woocommerce/components/MediaUploader from downloads block until we solve the insecure file upload using the wp/v2/media endpoint
* Remove the FormFileUpload from EditDownloadsModal until we solve the insecure file upload using the wp/v2/media endpoint
* Add changelog file
* Fix manage limits for downloads in a single variant are not working
* Fix invalid download id when saving after editing one download file
* Add changelog file
* Add buy button section
* Enable external product support into the product block editor
* Hide buy button section when product type is not external
* Remove BaseControl from TextControl since it's not required anymore, InputControl takes care of that now
* Add type and suffix support to the product-text-field block
* Add the placeholder to the external url input and remove required constraint to the buy button text
* Set the url icon link type to external
* Fix input border to be red when invalida now that base control is not present twice
* Set the min height to 36px to match others non InputControls components height
* Extends required constrain to also support a custom error message
* Extends the product-text-field validation system
* Add product-text-field documentation
* Add changelog files
* Fix php linter error
* Fix compilation error
* Fix linter errors
* Move variations table row to its own component
* Add alert icon to the left of the variation row
* Render a tag when the variation option is not present in the product variable attributes
* Only shows the tooltip when the variation option is not present in the product variable attributes
* Add changelog file
* Fix linter errors
* fix: fixed all instances of translator lint rule violations
* Add changefile(s) from automation for the following project(s): @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* fix i18n lint violations in @woo/components
* fix all i18n lint rule violations in @woo/product-editor
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* empty commit to trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove fixed height to the variations table and add per row skeletong when loading
* Add changelog file
* Add last variations instead of the current per page var given that there it is not accessible anymore
* Add disable conditions functionality to back-end
* Evaluate _templateBlockDisableConditions in registerWooBlockType
* Add 'disabled' support for number, pricing, and text
* Add disabled support for checkbox
* Add disabled for taxonomy block
* Add changelogs
* Update documentation
* Add unit tests
* Augment attribute with disabled in back-end
* Fix disabled styling
* Remove disabled from toggle since it's being added for all blocks
* Improve CSS for disabled fields
* Only add disabled attribute when it's not added on the block json and refactor
* Allow adding disable conditions in the constructor
* Fix lint issue
* Fix test
* Add disableConditions to dependencies
* 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
* Add support to downloads block to use the context postType
* Register the downloads block into the ProductVariationTemplate
* Add changelog files
* Fix compilation error
* Fix download block init function
* Add variation switcher hook for easier use across multiple components
* Add unregister function for validation
* Add changelogs
* Remove stray console
* Add unRegisterValidator function
* Add edit button to each variation to redirect to the single variation page
* Add changelog file
* Fix blocks and plugin registration
* Add router redirection
* Fix css conflicts with the prev experience
* Fix linter errors
* Add changelog file
* Create downloads menu component
* Add the menu to the downloads section
* Create upload-files-menu-item component
* Add upload-files-menu-item to the downloads menu
* Create media-library-menu-item component
* Fix media library menu item zindex conflict with the media upload modal
* Create insert-url-menu-item component
* Add insert-url-menu-item to the downloads menu
* Add support for digital product when product-virtual-downloadable feature is enabled
* Add changelog files
* Remove non needed style
* Fix linter errors
* Fix redirection logic
* Keep drop zone on to of the table
* Avoid duplicate files
* Stringify download ids before persist them
* Fix summary block property value under SimpleProductTemplate
* Fix linter error
* Create DeleteVariationMenuItem to be added to the Header's MoreMenu
* Move registration menu item fills to each product/variation page
* Export RemoveConfirmationModal from the product editor package
* Request for variation deletion
* Show notice when deleting variation
* Redirect to parent product page after deleting the variation
* Add tracking event
* Manage isRemoving state under RemoveConfirmationModal
* Add changelog files
* Fix linter error
* Fix delete variation modal title
* Add tracking events
* Use the right prop to get the variation name
* Add name and parent_id to the ProductVariation type definition
* Add changelog file
* Feedback modal should get the correct product id when editing a variation
* Fix rebase conflicts
* Fix unit test
* Add variation switcher in footer for variation page
* Add productId to make sure template is updated correctly
* Don't show bar when less then 2 variations.
* Add class for when page is scrolled to bottom
* Add changelogs
* Add tracks
* Fix lint error
* Fix css lint issues
* Add Toggle shipping item to the variations quick actions menu
* Add Downloads -> Set download limit item to the variations quick actions menu
* Add Downloads -> Set download expiry item to the variations quick actions menu
* Add Downloads -> Upload files item to the variations quick actions menu
* Add changelog file
* Fix some styles conflicts and set default uploaded files
* Hide the toggle shipping and downloads menu items behind the feature flag product-virtual-downloadable
* Fix unit tests
* Add downloads section
* Create and register the downloads block
* Conditionally remove the upload button from the media upload component
* Create upload image component
* Add media uploader component to the downloads block
* Add downloads table
* Add remove file feature to the downloads table
* Set downloadable to false when there are no download files
* Add support to remove uploaded file
* If the file has a custom name added by the user, we show it first. The actual file name is then shown in a second line.
* Add changelog files
* Fix linter error
* Address feedback from comments
* Fix allowed media types
* Register the new feature flag product-virtual-downloadable
* Hide the downloads section behind the feature flag product-virtual-downloadable
* Update editor settings after sync blocks with template
* Get allowedMimeTypes from the editor settings
* Fix linter errors
* Add description to the Variation details section
* Add Image section block to the Single Variation page
* Add support to the checkbox block for changing non boolean properties and extend it to use the entity context
* Register the product-variation-visibility block into the ProductVariationTemplate
* Null is a valid value but not updafined
* Fix type definitions
* Add changelog files
* Fix linter errors
* Add changelog file
* Change onValue and offValue for checkedValue and unchackedValue for the checkbox block to avoid event naming conflicts
* Set multiple value dynamically into the media uploader component
* Prevent uploading multiple files when multiple is set to false
* Remove cover label when multiple is set to false
* Fix DropZone min height in Image section
* Fix rebase conflict
* Fix linter error
* Update blocks with postType context
* Add tax class
* Pass context into get_tax_class
* Add parent option
* Add changelog
* Update changelog
* Add isRequired attribute to regular price block for use in variations
* Add additional condition to avoid error in date time picker
* Add changelog
* Fix lint errors
* Add support to multiple types in useProductEntityProp
* Migrate 'checkbox' to useProductEntityProp
* Migrate 'pricing' to useProductEntityProp
* Migrate 'radio' to useProductEntityProp
* Migrate 'taxonomy' to useProductEntityProp
* Migrate 'text' to useProductEntityProp
* Migrate 'toggle' to useProductEntityProp
* Add changelog
* Update unit tests
* Add postType context to generic blocks and use-product-entity-props and add code review suggestions
* Use postType for meta_data as well
* Fix unit tests
* Fix shipping blocks ids into ProductVariationTemplate
* Add support to postType context to product-shipping-class-field block
* Add support to postType context to product-shipping-dimensions-fields block
* Add changelog files
* Remove advance section from the inventory section in the ProductVariationTemplate
* Add support to postType context to product-sku-field block
* Add support to postType context to product-toggle-field block
* Add support to postType context to product-inventory-quantity-field block
* Add support to postType context to product-radio-field block
* Fix inventory blocks ids into ProductVariationTemplate
* Add changelog files
* Initial changes needed to get product variation to load in its own form
* Allow the publishing of an individual variation
* Address some PR feedback and do some general cleanup
* Update template with new attribute name
* Add changelogs
* Update label of note field and allow for optional param in summary block
* Remove helpText in variation note field
* Fix PHP lint errors
* Make editor type more abstract
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Create 'generic' and 'product-fields' and separate blocks between the two
* Refactor 'BlockRegistry' to include new directory structure
* Increment README
* Add param documentation
* Add changelogs
* Lint markdown
* Add block directory doc
* Fix jest test
* Update handbook reference
* Add documentation for woocommerce/product-radio-field
* Update woocommerce/product-taxonomy-field documentation
* Rename checkbox section for consistency
* Edit pricing attribute name for consistency
* Add documentation for woocommerce/product-pricing-field
* Add 'conditional' documentation
* Update README.md
* Add usage text
* Add documentation to collapsible
* Fix details across all readmes
* Add changelog
* Try adding video html tag
* Allow video html tag
* Fix wrong position in doc
* Rename 'name' to 'property' on InputControl props
* Fix mistake in label position
* Rename title
* Remove common-tasks section as it's currently made redundant by template API documentation
* Create index for reusable blocks doc
* Update reference to the handbook
* Add references to new documentation to the handbook
* Add changelog
* Update README.md
* Fix invalid focus state of the experimental select control
* Add changelog file
* Fix regression setting readOnlyWhenClosed to false by default
* Add changelog file
* Fix the position of pagination controls in the variations table
* Fix the sizing of controls in the variations table
* Add changelog file
* Fix linter errors
* Fix server error when generating variations after delete an attribute term, stock_quentity=null and low_stock_amount=null brake
* Show a summary when adding or removing variation option values
* Fix linter error
* Make sure to show variations notice only if the attribute is used for variation
* Optimize crud totalCount queries to avoid two requests
* Make use of same request params for totalCount as getVariations
* Add support for default_values when generating product variations
* Add test for default_values
* Add changelogs
* Only use default values of first variation
* Address some PR feedback
* Update types
* Redirect to product editing page when product was still in auto draft
* Make sure the prevent page does not show up when creating variations
* Add changelog and fix tests
* Decode html escaped characters in SelectTree
* Escape special characters when searching for taxonomies
* Add changelogs
* Remove unneeded decodeEntities
* Increment escapeHTML function to comply with what is happening in the legacy taxonomy editor
* Extract escapeHTML to @woocommerce/components
* Move the header data to the body as the header prop does not exist anymore
* Remove explicit setting of __unstableResolvedAssets given get_block_editor_settings already does this
* Remove use of woocommerce-page class in admin to avoid theme conflicts
* Add changelogs
* Revert change for quick test
* Two additional tweaks for admin related styling
* Add 'dialogNameHelpText' attribute to show on create taxonomy dialog
* Tweak CSS margins
* Add changelogs
* Rename "Save" to "Create" and set cancel button to Tertiary
* Add gray color to (optional)
* Create attribute to personalize label for parent
* Change the Visible to customers checkbox label and tooltip
* Set default visibility to true if the atribute is non used for variations, false otherwise
* Add changelog file
* Add auto select first or all terms when an attribute is selected
* Set auto select all terms in variations tab
* Set auto select the first term in Organization tab
* Add changelog file
* Change termsAutoselection to be camel case
* Remove error suppersion when retreiving attribute terms
* Fix select control dropdown menu width, double scroll and item aligment
* Fix attributes dropdown jumping on focus and slot position
* Add changelog files
* Fix double scroll and label margin on Category Select
* Add className to sortable and perPageOptions to Pagination
* Refactor pagination into seperate components
* Add PageArrowsWithPicker pagination component and usePagination hook
* Add hook to Pagination story
* Update Pagination readme
* Add changelogs
* Make sure input is updated if currentPage updates outside of PageArrowsWithPicker component
* Only show pagination if total count exceeds the minimum page size
* Add missing doc
* Fix lint errors
* Move totalCount to seperate useSelect to avoid multiple calls on page switch
* Fix merge conflict
* Fix lint error
* Create variations actions menu
* Disable Quick update dropdown menu when no variations are selected
* Add onDelete all selected variations
* Add update stock menu item to the quick updates global menu
* Add changelog file
* Fix linter error
* Add Pricing item to Quick update menu
* Add Set list price to the Quick update menu
* Fix some unit tests
* Make sure we also save default attributes prior to variation generation
* Add changelog
* Remove unused code
* Add changelog
* Fix lint errors
* Update and consolidate isDefault logic
* Remove unused function
* Fix tests and add a few more for testing default attributes
* Fix lint error
* Add product_options_add tracking event to add variation options
* Add product_options_edit tracking event to variation options
* Add product_options_update tracking event to variation options
* Fix set default attribute when editing it
* Add changelog file
* Add product_options_add_button_click tracking event
* Get attribute options from the terms prop instead of options, this ensures to get the updated values when the user edits the options
* Add Variation options section back
* Add changelog file
* Add new inventory submenu to variations actions
* Move pricing submenu up to its own function
* Add tests
* Move inventory markup to seperate component
* Remove menu group label
* Add changelog
* Move pricing menu to own component
* Fix lint errors
* Update use of handlePrompt to make return more flexible
* Add a checkbox to each variation row to select the current variation
* Add an indeterminate checkbox to the header of the variations table
* Add Select all and Clear selection buttons to the variations table
* Disable Select all if all items are selected and disable Clear selection when there is no items selected
* Add changelog file
* Fix linter error
* Make sure the iframe block toolbar still contains full width with latest WP version
* Add min height
* Add changelog
* Revert one change
* Remove unused imports
* Move the Quick Actions menu to its own component
* Add Set list price item to the Pricing sub menu
* Add notice when a variation gets updated
* Add Set sale price to Pricing sub menu
* Do not fire change if the user cancel the window propmt
* Add Increase list price to Pricing sub menu
* Add Decrease list price to Pricing sub menu
* Add Increase sale price to Pricing sub menu
* Add Decrease sale price to Pricing sub menu
* Add Schedule sale to Pricing sub menu
* Add changelog file
* Fix lint error
* Fix typo
* Add Sale end date to the Schedule sale to Pricing sub menu
* Add tracking events
* Fix tracking event params from camelcase to snakecase
* Initial set up and migration for the BlockTemplate
* Migrate remaining fields to the new SimpleProductTemplate
* Remove re-usable functions and clean up
* Add interfaces
* Add changelogs
* Remove unused id from block attributes
* Update changelog
* Address refactor suggestions
* Fix lint errors
* Add tests
* Address PR feedback
* Extend from BlockContainerInterface instead of BlockInterface
* Save changes
* Remove restriction from the variations dropdown to let users create multiple attributes with the same name
* Add support for autogenerate slug in the create attribute endpoint
* Add a tooltip to specify the slug of the attribute when there are more than one listed in the dropdown list
* Add changelog files
* Revert filtering to the prev implementation
* Add review suggestions
* Add return description to the generate_unique_slug function description
* Add the dropdown menu to the variations list
* Add preview link to the preview dropdown menu item
* Add delete variation support to the delete menu item
* Fix linter error
* Add changelog file
* Add wcadmin_product_variations_menu_view, wcadmin_product_variations_preview and wcadmin_product_variations_delete tracking events to the variation quick actions menu items
* Disabled attributes used in different section
* Let the attribute input field to disable some items within the dropdown list
* Define disabled attribute ids and message
* Filter non variable attributes as disabled to be used under variations options
* Filter variable attributes as disabled to be used under attributes
* Add changelog file
* Fix linter error
* Add tooltip option to menu item and use it for attribute and variations
* Fix some rebase conflicts
* Add changelog file
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* Create and register product-variation-items-field block
* Create variations-table component
* Use variations-table component in variation-items block
* Remove last border bottom from the variation options list
* Add changelog file
* Add changelog file
* Fix enhance attribute logic
* Add changelog
* Fix test
* Add auto create global attribute term and fix bug with terms for global attribute
* Fix test and update changelogs
* Add invalidate resolution call and error notice
* Revert auto create on select changes
* Add support to attribute control for creating global attributes
* Add create global attribute to variation block
* Add changelog
* Invalidate the attributeTerm search after creating a new attribute term
* Add default attributes property to the Product type
* Add change log file
* Set default attributes when click add from the attribute options modal
* Add Set default value checkbox to the edit attribute modal
* Manage default attributes when update or delete an attribute option
* Show Set default value only when the editing attribute is used for variations
* Add change log file
* Fix the feedback bar alignment to be centered
* Move the transient notices to the top of the feedback bar
* Add changelog file
* Remove feedback bar animation
* Hook up add new variations options modal
* Fix duplicate logic and test
* Add changelog
* Match local attributes by name case incentive
* Remove console log
* Make use of some function instead of findIndex
* Add support for variable products
* Add 'hello world' block to variations tab
* Add product-section block to template
* Add AttributeControl component to screen
* Add changelog
* Change labels
* Make a copy of AttributeControl to VariationOptionsControl to allow the fields to evolve separately in future
* Fix tests
* Add changelog to woocommerce
* Fix alert error
* Remove copied control and start adapting attribute control to handle both scenarios
* Add -field to block name
* Revert "Add -field to block name"
This reverts commit 50e1ee66e27ffb2df22ea7f6a4f78d1577a273f5.
* Revert "Revert "Add -field to block name""
This reverts commit eee0441c6532f9fa8cf8383d9699fd503dd054ae.
* Extract more labels
* Hide drag handle in variation options
* Add post password to API
* Add changelog
* Fix phpcs issue
* Remove post_password from tests
* Add additional property to test
* Increment number of properties in product schema
* Update the post when post_password changes
* Start adding password block
* Add css and import it
* Refactor attributes and erase password when checkbox is unchecked
* Add changelogs
* Remove unused imports
* Rename 'fields' to 'field'
* Refactor CSS
* Remove example object
* Add Organization to the right of General tab
* Add Product catalog and Attributes sections to the Organization tab
* Add Categories and Disable product reviews blocks to Product catalog section
* Add attributes block to the attributes section
* Add changelog files
* Fix php linter error
* Remove Categories and Attributes blocks from the General tab
* Change Disable product reviews by Enable product reviews
* Copy all content menu item skeleton
* Add blocks to editor context
* Show notice on copy success
* Use store to get blocks to copy
* Remove blocks from editor context (decided to use store instead)
* Changelog
* Disable menu item if no content
* Move placeholder of summary to help text at bottom of the component
* Focus the name field when mounting
* Add changelog
* Create 'autoFocus' block attribute instead of using useEffect
* Add changelog
* Change the modal's description test in the first step of the product block editor tour
* Change the modal's description text in the first step of the product block editor guide
* Change the modal's description text in the second step of the product block editor guide
* Change the modal's title and description text in the third step of the product block editor guide
* Change the modal's description text in the four step of the product block editor guide
* Enhance the Options menu of the product block editor
* Add slide up animation and translucent background to the feedback bottom bar
* Change de CES's modal heading text in the product block editor
* Change the notice message after the feedback is being sent from the CES Modals
* Enhance leave feedback modal checkbox labels
* Change leave feedback modal submit button text
* Show success notice after submit the leave feedback modal
* Add changelog files
* Change the illustration in the first step of the feature tour
* Change the modal's title and description text in the first step of the product block editor tour for old users
* Change the modal's title and description text in the first step of the product block editor guide for old users
* Change the modal's title and description text in the third step of the product block editor guide for old users
* Fix unit tests
* Change the customer effort score changelog description
* Change footer forward button to primary and backward button to tertiary in the tour guide modal
* Create and register woocommerce/product-variations-fields block
* Hide or show the empty state or inner blocks if the product has attributes
* Add changelog files
* Fix php linter errors
* Only record product update on already published products
* Add source into published product tracks event
* Add missing tracks options to product update event
* Track tab clicks in the editor
* Add source to tab clicks
* Record tracks on preview click
* Add events for media gallery, description, and attributes
* Add tracks events to more menu
* Replace new_product_page with source
* Add changelog entry
* Fix lint errors
* Add tracks for About the Editor menu item
* Add onClick event to AboutTheEditor menu item
* Use dropdown option event for classic editor menu click
* Default visible to true if not explicitly set
* Refactor onAddingAttributes to reduce complexity
* Changelog
* Improve hasTermsOrOptions based on review suggestion
* Use WooFooterItem for Footer
* Use WooFooterItem fill for TransientNotices
* Adjust TransientNotices styling to work in footer
* Fix footer width when in setup wizard
* Change export of TransientNotices from default to named
* Add border to footer
* Changelog
* Changelog
* Mock WooFooterItem to allow unit tests to pass
* Fix lint error in test
* Remove editor-styles-wrapper class from product editor
* Override default block margins and layout applied for themes without a theme.json file
* Changelog
* Add editor history and undo/redo behavior
* Add option to limit max editor history
* Move inserter properties to editor context
* Move editor toolbar to separate folder
* Add changelog entry
* Remove no longer needed editor provider
* Add new fields and copy update to product CES modal
* Update styling for product CES modal
* Record email in tracks callback if provided
* Fix modal header spacing
* Fix record callback types
* Add optional tag styling
* Allow submitting form when a reason has been selected
* Fix modal padding bottom
* Update modal width to match designs
* Add changelog entries
* Update margin for legend
* Add props to doc comment
* Make className prop optional
* Update tests for recording score with email
* Changes the feature given it's id and a toggle value as a query param
* Swap classic editor and new product block editor url when product_block_editor feature changes
* Turn off the product_block_editor feature when user choose to use the classic editor
* Add changelog files
* Fix linter errors
* Add nonce to each feature change request
* Change the hooks name for better readability
* Use get_current_screen function to better identify if the current screen is the product creation or edition
* Add wp_die if the nonce verification failed
* Change regex for explode/parse_url for better reading
* Add initial toolbar and secondary sidebar
* Style the sidebar and inserter panel
* Adjust toolbar and modal paddings
* Move header toolbar styles to separate file
* Make header toolbar class names consistent with component
* Dont use experimental insertion index and fall back to default insertion point
* Add changelog entry
* Enhance error handling
* Use last persisted product status to show a right publish button label and notices
* Use last persisted product status to show a right preview button label and notices
* Use last persisted product status to show a right save draft button label and notices
* Uses the last persisted product to better compare it with the most recently updated product so the buttons can behave correctly
* Add changelog file
* Fix getProductErrorMessage unit test
* Fix notice message when create / update the product
* Get product id from within each button hook
* Update the margin-left on the buttons in the top bar from 16px to 8px
* On mobile, the left and right body margins should be 32 px
* The inner padding in the tab in the top bar should be 12px, not 16px
* In the edit product link modal, let's set this modal’s width to 650 px and remove the line separating the header from the contents
* All modals should now have 8 px window radius
* In the feedback form, can we fix the buttons at the bottom
* The help icon in checkboxes small, detached from the item label, and vertically misaligned. Left margin of 4 px, no vertical adjustment; somehow it has a -2px set for the top margin)
* Fix block-editor-block-contextual-toolbar top position
* When the product is in a draft state, the button in the top bar should say Add, not Save. It should change into Update once it's published on the store
* Fix layout margin top
* Add ection support for blockGap and set title and description to optional
* Remove non needed control field margin bottom
* Fix schedule sale block spacing
* Remove non needed control field help text margin bottom
* Remove the sub section outer spacing
* Move pricing fields into a sub section block
* Fix collapsible-contet margin top
* Remove invalid inner block layout spacing
* Wrap sku, stock toogle and quantity within a sub section
* Group inventory advance section inner blocks into a sub section
* Fix linter error
* Add changelog files
* Fix php lint error
* Change unit names to fit GB definitions
see: b2c16f3c68/packages/base-styles/_variables.scss\#L31-L41
* Increment label CSS to look the same as TextControl's label
* Migrate Parent Category field to SelectTree
* Add changelogs
* Fix unit test that was edited by mistake
* Revert css changes in select-control.scss
* Use BaseControl as label on SelectTree
* Increment changelog
* Increment changelogs
* Refactor test
* Refactor category-field functions and use them in related places
* Fix ordered list appearing empty
* Allow errors to be thrown when saving entity records
* Show frontend error message when one exists
* Allow errors to be thrown in preview save entity
* Rename new util to getProductErrorMessage
* Add tests around error message util
* Add changelog entry
* Refactor Layout component to functional component
* Add class to pages based on page path
* Add styling for interface skeleton on product pages
* Add changelog entries
* Move product page styles out of product editor package and into client
* Fix linting issues
* Check for location before checking path in page tracking
* Dont add body classes when no page path exists
* Record page view without router location for embed pages
* Create ValidationContext
* Add ValidationProvider to the product editor
* Add new validation to the name block
* Add new validation to the Save button
* Store validations within a useRef instead of useState to improves re-renders
* Create find first visible and invalid element function
* Add focus first invalid element feat when submitting
* Integrate autofocus with name block
* Migrate sale-price block to the new validation system
* Add changelog file
* Migrate regular-price block to the new validation system
* Migrate schedule-sale block to the new validation system
* Migrate inventory-quantity block to the new validation system
* Migrate shipping-dimensions block to the new validation system
* Remove old validation hook
* Add validation to the save-draft button
* Add validation to the preview button
* Expose validation hooks to be used outside of the package
* Make sure the product is in fact saved before calling the onPublishSuccess
* Remove block registration from within the Editor component
* Expose the initBlocks function to be used outside of the product package
* Register blocks within the ProductPage component
* Add changelog files
* Unregister blocks when product page gets unmounted