* introduce processItems() util function
* add processItems fn tests
* use processItems in the reducer process
* udpate GET_ITEMS reducer test
* minor CREATE_ITEM_SUCCESS test update
* changelog
* Add undo shortcut support
* Add redo shortcut support
* Add document overview shortcut support
* Move keyboard shortcuts to after interface store is registered in subregistry
* Move settings sidebar identifier to a constant
* Add settings sidebar shortcut support
* Changelog
* Update to pnpm 9.1 and fix a mini css bug
* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* temporarily disable swallowing build output to diagnose issue with perf workflow
* Ignore some type issues that commonly resurface when deps slightly change
* Fix persistent type issues that have recurred many times
* Add more ignores
* Fix lint issue
* Revert change to swallow build error
* Improve access of the config that needs updated build dir.
---------
Co-authored-by: github-actions <github-actions@github.com>
* fisrt approach
* do not clear same selected term
* tweak token field component
* chage the attributes type
* filter attributes already taken
* set instanceNumber for each combobox instance
* implement remove attribute
* final first approach
* update onRemove type
* rename edit VariationItemsBlockEdit
* handle local attributes
* rollback unrelated issue
* changelog
* remove unused component
* remove test
* add border color when disabled
* Use min and max values if provided when sanitizing values
* Pass min and max attributes to NumberControl
* Use 'min' and 'max' values when incrementing through + and - buttons
* Add changelog
* Handle increment when pressing buttons
* Show + and - buttons disabled when max/min has been reached
* Prevent suffix from being selected
* iframe editor PluginSidebar
* iframe editor PluginArea and ComplementaryArea
* iframe editor PinnedItems
* Try ComplementaryArea slot
* Update scope name
* Only render ComplementaryArea.Slot when right sidebar is open
* Register interface store in sub registry
* Move block inspector to complementary area
* Remove hardcoded inspector toggle button from header
* Remove debug statement
* Remove unused isSidebarOpened context
* Set settings sidebar to be active by default
* Don't allow unpinning of settings sidebar
* Organize sidebar components under folder
* Add plugin more menu item
* Remove width for sidebar
* Update PluginArea scope name
* Pull out small viewport support for pinned items (incomplete)
* Move sidebar complementary area scope to a const
* Update sidebar complementary area scope name
* Update PluginSidebar export name
* Provide comments to clarify sidebar props settings
* Add comment about why this icon was copied
* Remove unnecessary wrapper div around complementary area
* Changelog
* add package
* remove log
* Add changefile(s) from automation for the following project(s): @woocommerce/dependency-extraction-webpack-plugin, woocommerce
* Add changefile(s) from automation for the following project(s): @woocommerce/dependency-extraction-webpack-plugin
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set BlockEditorProvider's value to temporalBlocks
* Remove unnecessary code
* Set initial blocks in editor history, so that the first edit on an existing description can be undone
* Changelog
* Increment ProductVariationImage type
* Allow adding images to variations from the main product screen through a button
* Add changelog
* Add changelog
* Change showSuccess parameter to optional
* Add 'placeholder' attribute to taxonomy block and add 'placeholder' attribute to category field in Simple Product Template
* Only show placeholder when nothing is selected
* Remove suffix from function parameters
* Add changelog for component
* fix unit tests
* Avoid requesting product with id -1
* Add changelog
* Move changelog
* Add options to useEntityRecord type
* Fix editedRecord
* Add comment
* Undo early return
* Avoid making a request for product if it isn't already loaded
* Avoid making a request for product if it isn't already loaded
* Add typing for useEntityId
* Rework header to avoid requesting product unless we have a product ID
* Avoid requesting product when getting productTemplateId and blocks
* Remove unused import (fix lint error)
---------
Co-authored-by: Matt Sherman <matt@jam123.com>
* Rename filter options in Orders Analytics.
* Sort filter options in labels in Orders Analytics.
* Change filter labels to singular.
* Wider label column to accommodate label change.
* Rename filter options in Variations Analytics.
* Change filter options to Attribute, Category and Product in Variations Analytics.
* Revert "Change filter options to Attribute, Category and Product in Variations Analytics."
This reverts commit b3ca5d5807.
* Change "Add a Filter" to "Add a filter".
* Add changelog.
* Add changelog.
* Refactor getAvailableFilterKeys and getAvailableFilters into one function.
* Add code comment and remove unneeded code.
* Code refactor getAvailableFilters.
This is done by starting from allFilterKeys, and filtering with allowMultiple or not yet active.
With this, we don't need to have `inactiveFilterKeys` and "Ensure filters that allow multiples are always present."
* Fix tests and lint issues.
* Simplify code with Object.entries.
* rename type for item of attribuite input field
* options is not part of the input item
* update type of getProductAttributeObject
* update types
* changelog
* fix eslint issue
* fix test
* move the logic to pull attribute to modal cmp
* changelog
* remove options from item props
* rename TS prop name
* save unsaved change
* rename type for item of attribuite input field
* options is not part of the input item
* update type of getProductAttributeObject
* update types
* changelog
* fix eslint issue
* fix test
* tweak optimisticQueryUpdate type
* sort items optimistically
* update attributes list optimistically
* do not invalidate when creating a new attribute
* changelog
* changelog
* update tests
* update options param in test
* wait for the promise when creating new attribute
* fix the rest of tests
* Import colors.native scss variables
* Add changelog
* Refactor WCPay banner and cleanup
We introduce a new WCPayConnectCard onboarding component and
remove/cleanup all other WCPay surface components.
This component uses the new design, updated payment methods icons
and WCPay logo.
* Add changelog
* Upgrade the WCPay payments settings banner
* test: Fix WCPay payments settings banner tests
* Update the WCPay welcome page to use the WCPayConnectCard component
* Update the Payments task page to use the WCPayConnectCard component
* Fix copy for payments settings methods CTA buttons label
* Add changelog
* Further cleanup of no-longer-used WCPay surfaces
* Consolidate onboarding component icons for single sources
* Minor cleanup
* test: Fix WCPay payments settings banner test
* test: Fix payments tasks page tests
* Add apiFetch middleware to add X-Wc-Product-Editor header to all requests from product editor
* Use productEditorHeaderApiFetchMiddleware
* Update name of header
* Utility function to check header
* Changelog
* Changelog
* Fix UI for add filter popover in Analytics.
* Make character casing consistent for filters.
* Add changelog.
* Add changelog.
* Change filter label to sentence case.
* Show validation message in the field that lost the focus
* Add unique validation for custom field names and trim values
* Let edit custom fields when creating a new product
* Add changelog file
* Allow saving a product as a draft when hitting ctrl/cmd + S
* Increment logic to keep product published/scheduled after it is published when using shortcut
* 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
* Add range rule in Remote Inbox Notification
* Add changefile(s) from automation for the following project(s): woocommerce
* Add range
* Add changefile(s) from automation for the following project(s): packages/php/remote-specs-validation, woocommerce
* Update README.md
* Fix lint errors
* Make sure right-hand is an array with two elemetns -- range
* Update README
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Receive JSON schema string from the constructor -- this is more flexible than accpeting a physical file
* Add changelog
* Add get_bundle_json method
* Update composer version
* 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