* add a CustomActionDispatchers for createProductAttribute action
* add optional options to createItem() fn
* update items object when optimisticQueryUpdate is defined
* reduce itemsCount when creating a new item
* polish TS types
* update reducer tests
* clean unused type
* clean dirty code
* add optimisticQueryUpdate test
* changelog
* minor improvement
* options could be undefined
* compute items and itemsCount based on data
* fix TS error
* changelog
* Use editedRecord instead of record
* Always use productTemplateId when available
* Change private methods to protected in ProductVariationTemplate
* Use editedRecord in hook useEntityRecord
* Update changelogs
* Restore attribute renamed by mistake
* Change useProductTemplate unit test
* Add selectable attribute in product template to allow creation of product templates that do not appear on the "Change product type" UI
* Always use productTemplateId when available, otherwise fallback to standard-product-template
* Rename attribute
* Use editedRecord in hook useEntityRecord
* Revert "Always use productTemplateId when available, otherwise fallback to standard-product-template"
This reverts commit 2960fcd520.
* Revert "Use editedRecord in hook useEntityRecord"
This reverts commit c28e005e7b.
* Add changelogs
* Fix unit tests
* Increment changelog
* Fix Launch Your Store task item should not be clickable once completed
* Add changefile(s) from automation for the following project(s): @woocommerce/experimental, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add meta_data parameter in generateProductVariations
* Apply filter to get meta_data to generate variations
* Add meta_data parameter in generate variations endpoint
* Update name and add documentation
* Fix useEntityRecord in blockEditor
* Remove ToS acceptance in WCPay banner and promotions JSON
* Add changefile(s) from automation for the following project(s): @woocommerce/onboarding, packages/php/remote-specs-validation
* Add line break in banner to look nicer
* Center banner content
* Style banner for mobile version
* fix js test to use another block (previous one no longer exist)
* Add changefile(s) from automation for the following project(s): @woocommerce/onboarding, packages/php/remote-specs-validation, woocommerce
* Add comment to css
---------
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add aria-labelledby attribute to rich text component
* Handle label click to focus rich text
* Remove unneeded ts-ignore
* Pass in label ID explicitly instead of hardcoding knowledge of its naming pattern
* Changelog
* Add tooltip attribute to block.json
* Focus text area when clicking on label
* Remove Label id... not needed
* Set text area labelled by to label
* Add aria-required to rich text
* Hide required asterisks from aria
* Only send edited properties
* Changelog
* Rename const to match previous code
* Remove all the logic to look up the entity key... we know it is 'id' for products
* Fix homepage link in package.json
* Add changefile(s) from automation for the following project(s): @woocommerce/create-woo-extension
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable woocommerce/product-regular-price-field when product type is variable
* Disable woocommerce/product-sale-price-field when product type is variable
* Disable woocommerce/product-sku-field when product type is variable
* Disable Track stock quantity toggle when product type is variable
* Disable woocommerce/product-radio-field when product type is variable
* Disable woocommerce/product-shipping-class-field when product type is variable
* Disable woocommerce/product-shipping-dimensions-fields when product type is variable
* Add changelog files
* Fix php linter
* register the `metadata` attribute for all blocks
* bind value attribute with the nane product entity
* changelog
* add a ToDo note
* rename edit component fn to NameBlockEdit
* changelog
* restore @ts-export line
* fix eslint issue
* fix eslint issue
* Show Scheduled product header tag when the product is been scheduled
* Fix the pre publish modal header message when to say scheduled when the product has a date in the future
* Add changelog file
* Create and register the woocommerce/product-select-field block
* Replace the tax class radio group block by woocommerce/product-select-field block
* Hide tax fields when taxes are disabled
* Hide tax fields when taxes are disabled in product variations
* Add changelog files
* Fix linter errors
* support running A/B tests in frontend
* add optional chaining
* Add changefile(s) from automation for the following project(s): @woocommerce/explat
* switch to shared variable
* fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Match template based on different attributes besides product types
* Do not hard-code postType
* Refactor code
* Handle isResolving from useEntityRecord
* Refactor useProductTemplate
* Handle null value in `useProductTemplate`
* Add remove custom field for the new product editor
* Add changelog file
* Show add button when the custom fields are empty
* Ensures to always convert the metas into a string array since it can be anything
* Add changelog file
* Create the Add new button
* Integrate the CreateModal with the CustomFields component to add fields
* Add validation utils
* Fix validation errors in the edit modal component
* Fix linter error
* Add changelog file
* Create edit modal
* Add update function to the useCustomFields hook
* Integrate the EditModal in the CustomFields component
* Add edition and validation logic to the custom field EditModal component
* Fix text control validation error styles
* Focus the name field when its invalid
* Fix linter error
* Fix edit modal min width and controls width
* Add changelog file
* Fix text overflow in custom fields table
* Remove non needed block style file
* Create woocommerce/product-custom-fields block
* Register woocommerce/product-custom-fields block
* Add product-custom-fields block to the simple product template
* Create useCustomFields hook
* Create empty state
* Create CustomFields component
* Add custom fields table
* Add custom field remove button
* Hide the custom fields table base on the toggle value
* Remove non list features
* Add changelog files
* Fix linter errors
* Fix empty state styles
* Fix php linter error
* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used
* Change url for the Read more about custom fields
* Register metaboxhidden_product user meta as a user rest field
* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field
* Create woocommerce/product-custom-fields-toggle-field block
* Register woocommerce/product-custom-fields-toggle-field block
* Create product-custom-fields feature flag
* Hide custom fields behind the product-custom-fields feature flag
* Add changelog files
* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
* Close prepublish panel before create new
* Add changelog
* Remove close fn from blockeditor
* Close panel after clicking outside
* Refactor useEffect
* Remove empty lines
* Replace mousedown with click event
* Replace click with mouseup
* Move products to trash
* Create useProductManager hook
* Use useProductManager hook in the publish button
* Create PublishButtonMenu
* Hide move to trash when the product is already in trash
* Fix linter error
* Add changelog file
* Update webpack config to use file content hash for chunks and generate asset php for styles
* Use StyleAssetPlugin to generate style.asset.php
* Remove unneed ?ver=<version> code
* Use file hash from asset file when SCRIPT_DEBUG is off
- Use file hash to load scripts/styles ?ver=<file hash>
- Add register_style() method to WC_Admin_Assets
* Load payment method promotions in admin_enqueue_scripts
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce
* Add json2php
* Update doc
* Update pnpm-lock.yaml
* Fix add_print_shipping_label_script
* Add a comment to style-asset-plugin.js
* Change register_style to use WC_ADMIN_DIST_CSS_FOLDER
* Reset the outputNormal object to avoid duplicate files
* Fix type error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add show-prepublish-checks-section
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Add show-prepublish-checks hook
* Refactor prepublish panel button visiblity
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
* Fix footer styles
* Add changelogs
* Add content div
* Fix styles
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Rename recorded action
* Fix styles
* Hide panel after unchecking option
* Improve resolving
* Add new E2E test for merchant transforming classic cart to cart block (#44926)
* Update the monorepo-utils gitignore to only include index.js and its license file. (#44932)
* Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Update core package.json to remove nightly ci config (#45096)
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update blocks build message (#44811)
* Update blocks build message
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* [CYS on Core] Update the themes list on the intro screen (#44822)
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: Veljko V <veljano@yahoo.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Roy Ho <roykho77@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Add support for other Button Props to the ButtonWithDropdownMenu component
* Refactor the PublishButton to be used in the PrepublishPanel and the Header at the same time
* Prevent button behavior when it's visually disabled
* Improve date timezone calculation in the Schedule Section component
* Revert status to publish if it was future and the date is not in the future
* Get the product status from the edited product
* Create SchedulePublishModal component
* Integrate SchedulePublishModal component
* Change the edit schedule menu item style
* Fix date time formating
* Fix date time conversion across different timezones
* Update ScheduleSection to use useProductScheduled hook
* Add changelog file
* Fix linter error
* Hide the scheduling messages behind the product-pre-publish-modal feature flag
* Validate product before trying to schedule it
* Fix schedule section publish error
* Remove use of subsection actions and fix add support for subsection and section in SectionActions
* Add changelog
* Make sure subsection description block will still work.
* Fix Gutenberg links in the docs pointing to the wrong branch
* Add changefile(s) from automation for the following project(s): @woocommerce/notices, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/components, woocommerce-blocks, woocommerce-beta-tester, woo-ai
* Fix markdown lint errors
* Fix wrong link in the docs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create schedule section within the pre-publish panel component
* Add publish date time picket to the schedule section
* Enhance schedule section title to show the selected date
* Change the text of the publish button to schedule once the product is scheduled
* Add changelog file
* Fix linter errors
* Set schedule text in pre publish button too
* Fix timezone offset from getSiteSettingsTimezoneAbbreviation when the onboarding wizard is skipped
* EditorLoadingContext
* Use EditorLoadingContext
* Remove fallbacks
* Make sure metadata exists before using it
* Add header loading state
* Do not return skeleton
* Use EditorLoadingContext
* Update editor loading state
* Remove ProductPageSkeleton
* Remove unused import
* Remove unused import
* Handle undefined variationId and parentId in VariationSwitcherFooter
* Remove ProductPageSkeleton
* Include productId in determination of whether editor is loading
* Handle variation loading
* Fix rebase merge conflict mistakes
* Fix layout margins
* Show welcome tour and feedback bar after editor has loaded
* Changelogs
* Make loading context experimental
* Clarify when the custom message is used in useConfirmUnsavedChanges
* Changelog
* Load translations for wc-navigation and wc-product-editor scripts
* Changelog
* Create variation empty state when no variable attributes are asigned to the product
* Add changelog file
* Remove the Add new button when a custom empty state is set
* Conditionally invalidate resolution before requesting a new variations page
* introduce `mode` attribute
* move block props to wrapper el
* render plain text mode
* minor const name change
* changelog
* add toolbar buttons only in rich-text mode
* set rich-text mode as default
* use text-area for variation desctiption field
* changelog
* tweak // Translators string
* use var to define textarea border color
* remove optional from description label
* Create DownloadableProductTrait for common downloadable blocks creation
* Use DownloadableProductTrait in SimpleProductTemplate
* Use DownloadableProductTrait in ProductVariationTemplate
* Remeber downloadable files in product variations
* Add changelog file
* Fix php linter error
* Unlink downloads and downloadable product props so they can be managed separately
* Remove invalid margin bottom from the uploader label
* Add changelog file
* Always show Variation options and Variations sections within the Variations tab
* Remove woocommerce/product-variations-fields block since it's not needed anymore
* Create ProductTShirt image for variation options empty state
* Add renderCustomEmptyState to the attribute control component to be able to set a not default empty state
* Render a custom empty state for variation options
* Adds defaultSearch prop to NewAttributeModal so it can be used to start searching right after the modal is shown
* Let the empty state adds an attribute that matches a given text
* Add changelog files
* Fix linter errors
* Update version
* Add changefile(s) from automation for the following project(s): @woocommerce/create-woo-extension
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add useParentMetadata hook
* Move functionality to existing useProductMetadata hook
* Update changelog
* Remove deleted hook from index
* Update useProductMetadata API and unit tests
* Initial changes to fix the toolbar in the iframe editor
* Moved toolbar to header and respect fixedToolbar preference
* Only render Gutenberg toolbar with specific version
* Update GB version
* Fix build issue
* Add fixed toolbar menu
* Remove unused import
* Add changelogs
* Fix lint errors
* Fix PHP lint error
* Add Include downloads to show/hide the Downloads section
* Fix margin top for none first child nested sections
* Add changelog files
* Fix php linter errors
* Track (props: ids, ids)
* Track ( props: ( template id ), : ( if unsupported or not ) )
* Track ( props: ( template id ) )
* Track ( props: : | , same as product value )
* Fix advice card to support persistent dismiss via a preference id or non persistent one using the local state
* Track ( props: : | , same as product value )
* Track ( props: : | , same as product value )
* Track ( props: : | , same as product value )
* Track ( props: : | , same as product value )
* Add changelog file
* Fix linter error
* Track linked_products_product_add when adding a new product to the linked product list
* There's a star button on the right side of the name field. It's centered vertically.
* Clicking it marks the product as featured
* When hovered, we show a tooltip that reads: Mark as featured
* When clicked, the icon changes from star-outline to star-filled. Clicking it again reverts to the original icon.
* Add changelog file
* Change the tooltip text depending on the featured flag
* store is loading when chossing products for me
* disable choose btn when it's loading
* changelog
* restore is busy animation styles when disables
* restore changes
* fiox rebase issue
* restore disabling button
* add fallbackToRandomProducts option to getRelatedProducts()
* fallback to random when there isn't related products
* changelog
* update and tweak doc
* introduce POSTS_NUMBER_TO_PICK const
This bumps the version to 0.14.3 so that we can take advantage of some
upstream improvements. It also makes some changes to the way our
builds and watches work to minimize the number of unnecessary
Node processes involved in the execution.
* handle section actions styles from section block
* rename DownloadBlockEdit
* remove unneeded wrap el from linked product list
* put Choose an Image button in the actions section
* move attribute control to block actions section
* changelog
* remove unused clientId prop
* tweak Image button
* remove `should show subtitle and "Add new" button` test
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
* add getRelatedProducts to get related products
* changelog
* add a resolver to pull the related products
* minor jsdoc enhancement
* query Product params should be optional
* fix ES issue
* minor TS enhancement
* use createSelector() helper
* 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