* 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>
* remove superfluous test scripts
* Add changefile(s) from automation for the following project(s): @woocommerce/integrate-plugin
---------
Co-authored-by: github-actions <github-actions@github.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
* Remove dependency on Jetpack from WCS&T's task list item
- Remove installing Jetpack-the-plugin from WooCommerce Shipping &
Tax WC Home task list and recommended extensions area.
- Update Jetpack auth link generation to use getJetpackAuthUrl().
- Remove references of Jetpack-the-plugin from WCS&T onboarding
as the extension will now use the Jetpack Connection package
for establishing a connection between WPCOM infrastructure
and a Woo site.
* Update WooCommerce Tax flow in WC Home task list
* Inline the agreementText variable
* Add missing pluginSlugs prop to <Plugins> instance for WC Tax
* Fix WC Tax extension name in API response
* Remove Jetpack from copy in Tax task header
* Fix MD034/no-bare-urls MD linting violation
* Fix experimental shipping recommendation tests
* Add changelogs requested by linter
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Remove mention of Jetpack from ExperimentalShippingRecommendation
* Fix text wrapping bug in WC Tax onboarding task
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Use isResolving() to detect pending auth URL fetch
* Replace unused hasErrors with ref to error
* Fix lint
* Jetpack auth URL prefetching
* Revert "Jetpack auth URL prefetching"
This reverts commit 2b79000e20.
* Add PrefetchJetpackAuthUrl component to remove Connect button load time
* Replace URL prefetching in component with useEffect
* Fix: Accept redirect URL as param instead of prop
* Fix lint
* Remove prefetching. Make Connect button always available
* Fix ExperimentalShippingRecommendation incompatibility with new Connect behavior
* Handle empty object errors in Connect
* Display TOS above WooCommerce Shipping & Tax installation buttons (#40863)
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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
Co-authored-by: Joel <dygerati@gmail.com>
Co-authored-by: Thomas Shellberg <6723003+tommyshellberg@users.noreply.github.com>
Co-authored-by: Nima Karimi <73110514+nima-karimi@users.noreply.github.com>
* 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
* Move component from WooPayments
* Expose component on the package
And include its style sheet.
* Add missing global typing
* Fallback to alpha2 codes
when wcSettings.countries is not available
* Add build data script and its output
* Move defaults to their own file
* Add readme and JSDocs
* Add storyboard examples
* Add JS unit and snapshot tests
* Move `DataType` to a `types.ts` file
To get rid of the type definition in the build data script
* Fix markdown issues
* Add changefile(s) from automation for the following project(s): @woocommerce/components
* Minor markdown update
* Fix input sanitization
* Add component output to storybook examples
* Remove consecutive spaces or hyphens from input sanitization
* Improve consecutive character sanitization
Move it to the component keyDown event to avoid the caret to be displaced
* Ensure imports from @wordpress/element
* Refactor to avoid using lodash
* Add changefile(s) from automation for the following project(s): @woocommerce/components
* Use $gray-5 for highlighted items for better contrast
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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>
* Add initial integrate plugin package
* Add changelog
* Make plugin data parsing less strict, to support bad formatting
* Update package dependency
* Remove unused code
* 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
* make sure individually selected parent value is preserved
* Add changefile(s) from automation for the following project(s): @woocommerce/components
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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
* Custom WooPayments task header content
when action incentive is available.
* Add badge prop to experimental TaskItem component
, update task list components, docs, storybook, and tests
* Add badge property to OnboardingTasks/Task abstract class
* Add `woocommerce_admin_woopayments_onboarding_task_badge` filter
* Use the filter to display the badge from server
* Add changelog entries
* Update filter to use return existing badge
instead of an empty string
* Update task header to also check for the incentive in wcpaySettings
* 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 ProgressBar component to @woocommerce/components
* Add changelog
* Remove html.wp-toolbar in fullscreen mode
* Add base style
* Add Tell us a bit more about your business page
* Fix merge conflict issues
* Send BUSINESS_INFO_DESCRIPTION_COMPLETE event when continue button is clicked
* Remove duplicated style import
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Lint fix
* Add 'Look and Feel' and 'Tone of voice' pages';
* Use correct classname
* Minor changes
* Textearea color should be gray-900 after the user enter text
* guide font weight should be 500
* Fix layout shift when a choice is selected
* Fix choices width for tone of voice page
* Use context value for the default
* Revert button margin top
* Fix default selection
* Add X button
* Decrease the margin by 20px to accommodate the height of the close button
* Add close action
* Include @woocommerce/ai package
* Add AI service
* Use AI service
* Parse JSON from in function
* Fix assignLookAndTone event type
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/components/choice/choice.scss
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/services.ts
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Log when AI API endpoint request fails
* Add spinner when user clicks the continue button
* streamlined unnecessary isRequesting context and forwarded close event
* pnpm-lock changes from trunk
* lint fixes
* ai package test passWithNoTests
* changelog
* reset pnpm-lock to trunk
* Dev: update pnpm-lock.yaml and jest preset config (#40045)
* Update pnpm-lock.yaml
* Update jest-preset config to fix unexpected token error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
* 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
* Update tour-kit to have a optional skip button and custom secondary button label
* Add changelog
* Add onboarding tour
* Update layout and resiable-frame for onboarding tour
* Update onboarding tour style
* Update resizable handler
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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
-Change "Requires PHP":
- In woocommerce.php
- In readme.txt
- In plugins/woocommerce-docs/woocommerce-docs.php
- In packages/js/create-product-editor-block/plugin-templates/$slug.php.mustache
- Change "testVersion" in phpcs.xml:
- In the root of the repository
- In plugins/woocommerce
- In plugins/woocommerce-beta-tester
- Change "require-php" and "config-platform-php" in composer.json
- Update composer.lock with more modern versions of some of the dependencies
- Remove the admin notice about the upcoming bump for PHP 7.3 users in class-wc-admin-notices.php
* 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
* Change WooCommerce Payments to WooPayments across the WC Core
* Change WooCommerce Payments to WooPayments across the WC Core
* Add more changelogs
* Add changelog for data package
* Change banner image and task description
* Fix lint error
* Change one more banner image
* Fix to the banner image
* Roll back changelog.txt and fix one condition for backwards compatibility
* Fix in changelog.txt
* Small fix in changelog.txt
* 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
* Remove registerBlocks from rich text editor to avoid warning messages
* Expose registerBlocks as registerRichTextEditorBlocks from the rich text editor package
* Add changelog file
* 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
* Initial refactor of components
Move out from index every UI component to make it easier to maintain.
* Initial implementation of new design
Some minor adjustments are missing, and I've added a few TODOs to complete later.
* Add changelog entry
* Finish design update
* Compress menu icon
* Add user's first name to heading copy
* Fetch and cache eligible incentive from WCPay API
Sharing its properties under `window.WcSettings.admin`
* Filter `allowed_promo_notes`
To be able to add those form WCPay API request
* Update JS side to use the new shared incentive details
* Ensure we cache requests even if there are no eligible incentives
* Fix a typo in WCPayBanner
* Move incentive preloaded data from wcSettings
to a new window variable which will be only loaded on WCPay welcome page.
* Simplify `has_wcpay` check
* Render sanitized HTML from incentive description
* Update get incentive logic to also cache non success responses
* Add incentive ID to page view track
* Add changelog entry for the onboarding package
* Update used options names
and add them to `get_default_option_permissions
* Differentiate every dismissed incentive
Reuse WCPay welcome page logic for notes display conditions
* Use tos_url instead of tos_link to match response
* Fix incentives endpoint request payload
* Back to preload incentive on admin shared settings
* Move promo notes filter to where it's used
to avoid any possible race conditions.
* Replace every occurrence of `WooCommerce Payments` with `WooPayments`
* Prevent modal large padding-bottom
* Prevent another global style override on modal
* Fix TS error coming from trunk merge
* Fix wrong style property
* Further restrict WCPay incentives to plugin not active and countries supported
* Adjust the meaning of has_wcpay
* Wait for dismiss option update before redirect
to prevent the side menu entry to be visible after redirecting back to WC admin.
* Enforce TOS asterix at the end of incentive description
* Remove underscore from priavate instance var.
* Fix ESLint error
* Fix SCSS linting issues
* Refine `has_wcpay` and `has_orders`
* Enforce consistent WooPayments branding
* Enforce stricter i18n calls with escape
* Update page title to match new branding
* docs: Enforce branding in code docs also
* Remove method that is unreliable to be used outside of onboarding
* Remove unused constant
* Missing new line
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
---------
Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Return full response from getJetpackAuth
* Add success and errors
* Redirect to Home in case of an error from getJetpackAuth endpoint
* Add changelog
* Use redirectToJetpackAuthPage
* Replace window.location.href with navigateTo
* Fix type issue with getJetpackAuthUrl
* Update plugins/woocommerce-admin/client/core-profiler/index.tsx
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
---------
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add install-and-activate-plugins-async action to onboarding
* Add label and learn_more_link types
* Use label and learn_more_link
* Remove unused imports
* ts fixes
* Visual changes on the plugin page
* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500
* Fix css lint error
* Add back learn more link that was removed from rebase
* Add required packages
* Load Jetpack Config
* Add getJetpackAuthUrl to data/onboarding
* Add Connection Rest Auth -- seems like this is required for Jetpack to communicate back to the connected site
* Add jetpack-authorization-url REST API
* Redirect to Jetpack Auth page after the installatino process if jetpack was selected
* Require can_install_plugins permission for jetpack auth url endpoint
* Update packages/js/data/src/onboarding/resolvers.ts
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Admin/API/OnboardingPlugins.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Remove automattic/jetpack-sync and its config
* Support redirect_url and from params
* Do not redirect to Jetpack auth if it is already connected
* Add installed_ext_success=1
* Use woocommerce-core-profiler for from value
* Revert unrelated lock file changes
* Minor refactor
* Extracted out isJetpackConnected cond to a guard
* Added meta data for isJetpackConnected to prevent unwanted spinner
* Add Changelog
* Lint fix
* Move Jetpack Connection config init to class-woocommerce
* Add changelog
* Remove unnecessary require
* Note jetpack-authorization-url endpoint is experimental
* Fix broken test
* Add component to sendToJetPackAuthPage state
* Fix lint error
---------
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* 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
* Add install-and-activate-plugins-async action to onboarding
* Add label and learn_more_link types
* Use label and learn_more_link
* Fix type
* Add changelog
* Add changelog
* Add install_priority -- this will be used in the core profiler
* Sort selected plugins by install_priority for installation
* Remove unused imports
* dev: refactor installAndActivatePlugins to xstate
* ts fixes
* Sort plugins by install_priority
* Make sure WooCommerce Shipping is always visible
* Update free extension list content
* Updated WC payment description
* Updated logo images
* Visual changes on the plugin page
* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500
* Fix css lint error
* Fix gray-900 variable name
* Hide learn more link on mobile view
* Add back learn more link that was removed from rebase
* Send pluginsAvailable to pluginInstallermachine
* Use is_activated to determine plugin availability and install status
* Update packages/js/data/src/onboarding/types.ts
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add back recordTracksPluginsLearnMoreLinkClicked
* Use install-and-activate-plugins-async when timer is up
* Record plugin and link with learn more linked clicked event
* Fix failign tests
* Add comment for install_priority
---------
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* 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
* Add placeholder TourKit in product-page
* Create component and configure it to show to the right of wp menu
* Finish TourKit and start creating features guide
* Implement CSS changes and background color
* Create Wrapper to facilitate showing the tour and guide without relying on the options in the future
* Refactor
Add tracks events
* Add changelog
* Fix lint problems
* Fix CSS
* Refactor styles
* General refactor and extract BlockEditorGuide component
* Add changelog
* Fix lint issues
* Replace use of interpolateComponents with createInterpolateElement
* Remove @automattic/interpolate-components package from onboarding package
* Add changelog
* 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
* Initial commit for create-product-editor-block
* Changelog
* Add stylelint support
* Install WooCommerce and WooCommerce Beta Tester in wp-env
* Set PHP and WordPress versions
* Enable product block editor after wp-env setup
* Lower priority for modifying template, so that the template is actual there!
* Update wp-env afterSetup command to use npx
* Update output README.md
* Update README for package
* Use long form of template parm name in README
* Remove unused example in block config
* Update block registration to handle both WP 6.2 and WP 6.3
* Include note about how to change version of WP and WC in README
* Update WP to 6.2.1
* Remove explicit enqueuing of block script and style
* Update minimum required versions of WordPress and PHP in generated plugin file
* Enable feature flag option after setup of wp-env
* Add minimum required WC version to generated plugin file
* Support wp-env lifecycleScripts
* Guard against product_block_editor not enabled or missing template
* Update lock file
* 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
* Add single mode for SelectTree
* Add storybook example for single selection in SelectTree
* Add changelog
* Improve type definitions and refactor code
* Add onRemove to story
* Add test for inbox_note_view event
* Add tracks test for Layout's page_view
* Add test to inbox_action_click
* Add tests to analytics_filter tracks event
* Add tracks event test to activity_panel_open
* Add tests to tracks event activity_panel_orders_orders_begin_fulfillment
* Add tracks tests to activity_panel_stock_update_stock
* Improve tests based on code review comments
* Mock recordEvent and recordPageView globally
* Add missing mock
* Improve inbox panel tests
* change reference of Catpure to Capture
Co-Authored-By: Vikram <93216400+vikrampm1@users.noreply.github.com>
* change reference of expicitly to explicitly
Co-Authored-By: Vikram <93216400+vikrampm1@users.noreply.github.com>
* change reference 'cutted' to 'cut'
* change reference 'determening' to 'determining'
* change reference 'retreive' to 'retrieve'
* change reference 'neccessary' to 'necessary'
* change reference 'Fitler' to 'Filter'
* change reference of "seperate" to "separate"
Co-Authored-By: Ankit K Gupta <ankit.himcs@gmail.com>
* change reference of "wether" to "whether"
Co-Authored-By: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
* change reference of "staus" to "status"
* change reference of "retrive" to "retrieve"
* change references of "gatways" to "gateways"
* change references of "existant" to "existent"
* change reference of "requries" to "requires"
* change reference of "configuation" to "configuration"
* change reference of "processsing" to "processing"
* change reference of "represenation" to "representation"
* change reference of "dimentions" to "dimensions"
* change references of "reigster" to "register"
* change reference of "colum" to "column"
* change reference of "transtions" to "transitions"
* change references of "intially" to "initially"
* change references of "orignal" to "original"
* change references of "deprected" to "deprecated"
* change references of "paramter" to "parameter"
* change reference of "intance" to "instance"
* change reference of "elemets" to "elements"
* change references of "funcitons" to "functions"
* change reference of "specificed" to "specified"
* change references of "atributes" to "attributes"
* change reference of "tast" to "task"
* change reference of "chaning" to "changing"
* change reference of "retreiving" to "retrieving"
* change reference of "caluclation" to "calculation"
* change references of "Invaid" to "Invalid"
* change references of "paramaters" to "parameters"
* change reference of "Additonal" to "Additional"
* change reference of "teh" to "the"
* change reference of "evalutes" to "evaluates"
* change reference of "addedd" to "added"
* change reference of "excempt" to "exempt"
* change reference of "sequencially" to "sequentially"
* change reference of "previos" to "previous"
* change reference of "elegible" to "eligible"
* change references of "Boostrap" to "Bootstrap"
* change references of "compability" to "compatibility"
* change reference of "heirarchy" to "hierarchy"
* change references of "visibilty" to "visibility"
* change reference of "comparsion" to "comparison"
* change reference of "capabilties" to "capabilities"
* change reference of "datatores" to "datastores"
* change reference of "occured" to "occurred"
* change reference of "coresponding" to "corresponding"
* change references of "thier" to "their"
* change reference of "sucessfully" to "successfully"
* change reference of "insde" to "inside"
* change reference of "nagivation" to "navigation"
* change references of "visiblity" to "visibility"
* change reference of "documentaiton" to "documentation"
* change reference of "anayltics" to "analytics"
* change reference of "intalling" to "installing"
* change reference of "mininum" to "minimum"
* change references of "intial" to "initial"
* change reference of "Feld" to "Field"
* change reference of "taks" to "task"
* change reference of "trasnfer" to "transfer"
* change reference of "respone" to "response"
* change reference of "Extenstions" to "Extensions"
* change reference of "detault" to "default"
* change reference of "simultanious" to "simultaneous"
* change reference of "overides" to "overrides"
* change references of "Indvidual" to "Individual"
* change reference of "refering" to "referring"
* change reference of "aginst" to "against"
* change reference of "execuatable" to "executable"
* change reference of "repsonse" to "response"
* change reference of "documention" to "documentation"
* change reference of "asumed" to "assumed"
* change reference of "Minium" to "Minimum"
* change reference of "unqiue" to "unique"
* change references of "existance" to "existence"
* change reference of "compatability" to "compatibility"
* change reference of "Taxnomy" to "Taxonomy"
* change reference of "quering" to "querying"
* change reference of "retrun" to "return"
* change reference of "informations" to "information"
Co-Authored-By: Viktor Szépe <viktor@szepe.net>
* Add changelog
* Add changelog
* Fix typo
---------
Co-authored-by: Vikram <93216400+vikrampm1@users.noreply.github.com>
Co-authored-by: Ankit K Gupta <ankit.himcs@gmail.com>
Co-authored-by: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add read-only state to selected items in select control
* Only close menu on focus outside of select control
* Add changelog entry
* Remove errant comment out of onBlur line
* Fix regression of input focus behavior
* Hide input when in read only mode
* Turn off read only mode when focused
* Show select control input on single item dropdowns and when no selections have been made in multiple dropdowns
* Prevent focus loss when removing an item
* Prevent loss of field focus when clicking on selected item tags
* Fix broken assertion with comma separated list
* Add product editor changelog entry
* Remove block selection on summary input blur
* Move block props to wrapper around rich text
* Fix content ID and for label
* Add changelog entry
* Use useInstanceId instead of lodash uniqueId
* Add onFirstTreeItemBack hook
* Fix item not being selected on single mode when it had children
* Remove if statement that prevented items with children from being selected in single mode
* Add storybook example with onFirstTreeItemBack
* Remove onFirstTreeItemBack
* Replace radio button with checkbox
* Update changelog
* Allow disabling of drag and drop within ImageGallery component
* Add changelogs
* Fix onReplace logic for images block
* Fixing linting error
---------
Co-authored-by: Joel <dygerati@gmail.com>
* Add core profiler - welcome to woo page
* Add changelog
* Update checkbox styles
* Update copies
* Add test
* Add enable prop to window.wcTracks type
* Add tracks
* Add explat changelog
* Fix import
* Update default tracking value
* Update copies
* Fix test
* using invoked promise instead of useState
- take advantage of xstate's built ins for side effects instead of useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)
* use actions.choose instead of branching inside action
- https://stately.ai/docs/xstate/transitions-and-choices/guarded-actions#the-choose-action
- makes it so that the machine model is serializeable
- todo: in the distant future i wonder if it might be tidier to have tracks be its own actor that just receives the same events that this machine does, that way it's just standalone instead of mixing up tracks with the implementation
* use dispatch instead of useDispatch
- decouples the implementation of the handler from the react component
- makes the handler testable on its own if needed
- makes the state machine testable without relying on external dependencies
* decoupled remaining function calls
* Fix lint error
* Fix style lint
* address xstate console warnings
- .withConfig() is a function call that returns a new object every invocation so we need to wrap it in useMemo to keep it stable
* Add optInDataSharing is false test
* Fix lint
---------
Co-authored-by: rjchow <me@rjchow.com>
* Update List price Pricing link on the general tab to navigate to the Pricing tab
* Add changelog files
* Simplify the event name to product_pricing_help_click
* Add modal editor for use in product editor
* Allow title of modal to be modified by consumer
* Add changelog entry
* Remove errant style imports after rebase
* Handle PR feedback
* Migrate ellipsis-menu to TS
* Add changelog
* Remove React.VFC -- it is deprecated in React 18
* Make renderContent props optional
* Allow KeyboardEvent
* Make onToggle optional
* Allow undefined for backward compatibility
* Remove unnecessary @ts-expect-error -- ellipsis menu is now in TS
* Make onToggle required
* Make event e required - backward compatibility
* Use toggleHandlerOverride to make it more readable
* Remove React.VFC -- it is deprecated in React 18
* Allow custom tags and attributes in sanitize html util
* Add ContentPreview component for previewing block content
* Add styling around preview area
* Add changelog entry
* Only show content preview area when content exists
* Track stock quantity for this product should be disabled when Enable stock management within settings is disabled, and enabled otherwise.
* Add changelog files
* Change woocommerce/product-name to woocommerce/product-name-field
* Change woocommerce/product-summary to woocommerce/product-summary-field
* Change woocommerce/product-pricing to woocommerce/product-pricing-field
* Change woocommerce/product-radio to woocommerce/product-radio-field
* Change woocommerce/product-images to woocommerce/product-images-field
* Fix product name block invalid class name
* Move woocommerce/product-section to blocks folder
* Move woocommerce/product-tab to blocks folder
* Move woocommerce/product-collapsible to blocks folder
* Organize block registration, imports and styles
* Add changelog files
* Change woocommerce/product-category to woocommerce/product-category-field
* Change woocommerce/product-checkbox to woocommerce/product-checkbox-field
* Change woocommerce/product-inventory-email to woocommerce/product-inventory-email-field
* Change woocommerce/product-sku to woocommerce/product-sku-field
* Register woocommerce/product-schedule-sale-fields in server side
* Register woocommerce/product-track-inventory-fields in server side
* Fix invalid reference in tabs tests
* Add auto-draft to product statuses
* Record event on draft save
* Record event on product update
* Add changelog entry
* Add data changelog
* Refactor to use shared function for recording product events
* Handle PR feedback
* Add initial category block
* Add changelogs
* Add label to font family for block editor and fix template
* Fix rebase conflict and add content role
* Some styling changes for the category field
* Move category block to blocks folder and fix merge conflict.
* Address some styling issues, and update keywords
* Fix css lint error
* Rewrite the useOptionsHydration hook to not dispatch inside useSelect
* Fix types of Options store to allow startResolution etc actions
* fixed tests and added changelog
---------
Co-authored-by: rjchow <me@rjchow.com>
* Add initial custom meta box for product categories
* Make use of TreeSelectControl
* Update classnames
* Display selected items and sync with most used tab
* Always show placeholder and remove checklist container
* Reactify category metabox tabs
* Add create new category logic
* Remove unused markup
* Fix saving of empty category list
* Add callback when input is cleared as well
* Some small cleanup and refactoring.
* Add changelog
* Fix tree creation and style enqueue
* Auto fix lint errors
* Fix linting errors
* Fix css lint errors
* Add 100 limit, and address some PR feedback
* Fix some styling and warnings
* Remove unused code
* Address PR feedback
* Fix lint error
* Fix lint errors
* Address PR feedback
* Fix lint error
* Minor fixes and add tracking
* Add debounce
* Fix lint error
* Allow custom min filter amount and fix menu not showing after escaping input
* Allow single item to be cleared out of select control
* Fix bug where typed values did not show up
* Fix some styling issues
* Allow parents to be individually selected
* Address PR feedback and add error message
* Add changelogs
* Fix saving issue
* Add client side sorting and stop clearing field upon selection
* Update changelog
* Create feature flag for async product categories dropdown
* Fix lint errors
* Fix linting
* Invert the useValidation hook behavior to return an error instead of a boolean value
* Fix validation logic in schedule-sale and track-inventory blocks
* Add changelog file
* Add validations to product name block
* Fix shipping dimensions validations
* Fix shipping fee validations
* Add i18n error message example to readme.md
* Cover semantic issues
* Move product editor tabs to header
* Update header styles to place tabs on bottom
* Center header title and adjust font size
* Style title and columns on mobile
* Add changelog entry
* Truncate longer titles
* Hide title on smaller viewports
* Truncate via css width instead of character count
* Setting up the Fees & dimensions section
* Create product shipping fee block
* Register product shipping fee block
* Add changelog files
* Fix php linter errors
* Add reusable radio field and move the radio block to the blocks folder
* Remove manually set block className because is autogenerated base on the block name
* Move ShippingDimensionsImage component to @woocommerce/product-editor package
* Create woocommerce/product-shipping-dimensions-fields block
* Register woocommerce/product-shipping-dimensions-fields block
* Add changelog files
* Fix php linter error
* Change unused attr name to __contentEditable to better indicate the porpose
* Remove manually set block className because is autogenerated base on the block name
* Add initial select tree popover and modal story
* Add slot fill popover support
* Add changelog
* Remove unneeded use of combobox ref in select-tree
* Fix lint errors
* Address PR feedback and fix issue with parent select control
* Add changelog
* Create schedule sale pricing block
* Add auto show/hide and clean fields depending on the initial values
* Add validations to From and To dates fields
* Add changelog files
* Align block with the figma design
* Revert linter replacement in the editor global style.scss file
* Fix some words typos
* Move and rename schedule sale block to the blocks folder
* Load datetime format from @wordpress/date instead of using the woo options datastore
* Remove the min difference using by moment to compare dates from 'minute' to undefined
* Make sure the dates are normalized for comparison
* Add product radio block
* Wrap tax class radio in collapsible block
* Add link to description and sanitize HTML
* Add changelog entry
* Fix up php lint errors
* Add changelog entry
* Fix linting errors
* Remove unused import
* Add preview button to the product editor header
* Publish the product on add or on save
* Add save draft button
* Save product changes before previewing it
* Add notice messages
* Fix linter errors
* Force the store page to be openned in a new tab after publishing the product
* Enable publish button when the status is not publish
* Add changelog files
* Fix some comment typos
* Address comment suggestions
* Move preview logic to its own component
* Move save draft logic to its own component
* Move publish logic to its own component
* Migrate category field to TreeSelect
* Rename and refactor some props due to changes in SelectTree that were introduced afterwards
* add Changelog
* Rename type to a better name
* Add tests to select-tree and remove tests from category-field
* Restore ts change that broke build
* Run linter
* Fix broken tests
* Update test
* Import from wordpress instead of react
* Add editorStyle properties to blocks
* Rename style.scss files to editor.scss
* Get block entry points for block related assets
* Copy block assets to core assets build folder
* Remove unusable dependency
* Add changelog entries
* Fix up RTL style builds for block assets
* Update copy-webpack-plugin dependency and lock file
* Fix up lock file after rebase
* Fix order of webpack rtl stylesheet builds to prevent additional stylsheets
* Fix up lock file after rebase
* Fix tsconfig
* Add images block to the product editor
* Allow html in section block descriptions
* Add changelog entry
* Add client changelog entry
* Remove SVG related changes
* Fix up lock file after rebase
* Remove unused import
* Fix up php lint errors
* Move sanitize function to utils folder
* Add scrollIntoViewOnOpen and position props to menu
* Add ability to customize active item style
* Add menu toggle button
* Add changelog
* Fix changelog
* Rename toggle button classname
* Change default menu position
* Update toggle button story
* Add default value to getToggleButtonProps
* Lock all blocks in the product editor to content only
* Add changelog entry
* Add content role to summary field to allow editing
* Remove unused BlockControls
* Show variable product tour
* Only show tour when product type is changed to variable
* Only show tour if it hasn't been shown before
* Add variable_product_tour_shown to UserPreferences type
* Store whether tour has been shown in user preferences
* Record Tracks events
* Add docblock for woocommerce_admin_get_user_data_fields filter
* Add test for tour
* Update package.json and lock file
* Move ProductMVPFeedbackModal to @woocommerce/product-editor
* Move ProductMVPFeedbackModalContainer to @woocommerce/product-editor
* Move ProductMVPCESFooter and useProductMVPCESFooter to @woocommerce/product-editor
* FIx mock of __experimentalUseProductMVPCESFooter in test
* Add block icon component
* Use the block icon component within the section block
* Add changelog file
* Fix rebase conflicts
* Remove icon configuration from the client side
* Change the BlockIcon component to get the icon from the attributes first and then from the metadata
* Expose the BlockIcon to be used outside of the package
* Add the BlockIcon documentation
* Configure the block to support the new icon via attributes
* Set the icon to the block section in the server template definition
* Revert back index.tsx -> index.ts in the section block
* Fix php linter errors
* Add changelog file
* Fix php linter error
* Return null instead of a Fragment
* Create a new experimental component TreeSelect
Add functionality to TreeControl to support additional scenarios
* Fix a bug where the shouldNotRecursivelySelect was not passed to Trees inside Tree Items
* Do not collapse nodes inside useEffect if they are already expanded
* Add storybook example for SelectTreeControl
* Move component to its own directory
* Remove wrong comment
* Fix CSS import path
* Remove getFilteredItems from select-tree
* Stop using getFilteredItems inside select tree
Create new shouldShowCreateButton prop to allow receiving only filtered items inside component
Remove support to show custom getItemLabel and getItemValue
* Change interface
* Rename back Item type names
* Rename back value
* Fix lint error and remove passing ref to treeProps
* Make id mandatory in SelectTree
* Refactor
* Improve selector to focus on create button
* Refactored, adding slot fill, basic working via common components
* Pinning plugins dep
* More menu style tweaks
* Fixing merge issues
* Adding product header item slotfill to support more menu modal
* Fixing moved imports
* Adding changelogs
* Adding hover state for more menu toggle btn
* Fixing typo
* Refactoring to use WooHeaderItem instead of adding new slot-fill
* Removing unneeded fragment
* Adding admin layout changelog
* PR feedback
* Fix up lock file after rebase
---------
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
* Replacing multiple componments on the product page with a single hook.
* Adding changelog
* Removed the conditional hook logic, because of React rule - Don’t call Hooks inside loops, conditions, or nested functions.
* Use promise for receiving entity, and reload template on product change
* Add changelog
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add @woocommerce/tracks to dev dependencies
* Move remaining CES-related components to @woocommerce/customer-effort-score
* Update imports in woocommerce/client/admin
* Add custom hook to validate product fields within blocks
* Add changelog file
* Add unit tests
* Fix non working tests
* Fix linter errors
* Add changelog file
* Fix async validation rejection
* Solve conflicts after rebasing
* Revert false negative lint errors
* Move the hook to its own folder and add the readme.md file
* Adding initial pricing block
* Have price block render in form
* Make sure price is loaded correctly and fix template rendering
* Make pricing block abstract and add list and sale price to template
* Add changelogs
* Revert changes in wc/data package
* Fix lint issues
* Fix type error
* Add styling
* Fix styling lint issues
* Revert config change missed in rebase
* Make use of base control help text for field info
* Allow additional callbacks for onFocus and onKeyUp
* Add button and saving logic
* Add comment suggestions
* Add changelog files
* Add comment suggestions
* Set header title to product name if the name field is dirty otherwise the default title value
* Navigate to EditProductPage after creating the product succesfully
* Add get-header-title util and expose edited product name from useSelect
* Update product post rest configs
* Update block usage
* Add changelogs
* Fix lint
* Make use of setupEditorState instead of setupEditor as we do not have a content block
* Simplify product condition
* Make use of core store only
* Adding test name block with support for entity data store
* Adding changelog
* Changing block.ts to block.json and amending TS config to support
* Experiment in loading blocks from settings template
* Enable the use of templates with the block editor
* Fix dependency
* Add changelog
* Fix lint error and remove unused utils
* Fix tests by fixing mocks
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add required dependencies
* Create the block editor component
* Create the header component
* Create the sidebar component
* Create the editor component
* Remove comments
* Export the block editor from its package
* Enqueue wp-edit-site
* Create the new block mode product page
* Register the new ProductPage component in /add-product route
* Add temporal layout styles
* Fix rebasing conflicts
* Fix linter errors
* Redirect to the new product-editor page when edit
* Add changelog files
* Fixing dependencies conflicts and ignoring some non running test
* Add comment suggestions
* Fix conflicts after rebasing
* Add comment suggestions
* Add tree-control expand/collapse on click the expander button or by a custom logic
* Upgrade WP components dependency to v19.8.5 to support indeterminate checkbox control
* Add styles to fit the disign
* Add tree-control expand/collapse on click the expander button or by a custom logic
* Add a11y landmarks
* Add keyboard interactions
* Add changelog file
* Fix linter errors
* Resolving rebase conflicts
* Add comment suggestions
* Add tree-control expand/collapse on click the expander button or by a custom logic
* Add stories
* Upgrade WP components dependency to v19.8.5 to support indeterminate checkbox control
* Add styles to fit the disign
* Add type definitions
* Add custom hook to manage highlight
* Add hightlighter to the tree control
* Add stories
* Add changelog file
* Fix rebase conflicts
* Add comment suggestions
* Create tree-control component
* Remove items from treeItemProps
* Add tree-control expand/collapse on click the expander button or by a custom logic
* Add stories
* Add the type definitions
* Add use selection hook
* Upgrade WP components dependency to v19.8.5 to support indeterminate checkbox control
* Add selection logic to the tree control
* Create stories
* Add changelog file
* Fix linter error
* Add styles to fit the disign
* Highlight selected item when it's a single selection tree
* Rebasing from trunk
* Add comment suggestions
* Fix unit test errors due to a new version of @wordpress/compose related to the ResizeObserve feat
* Add type definitions
* Add custom rendering logic to the item label
* Add stories
* Add changelog file
* Fix rebase merge issue
* Fix up stories after rebase
---------
Co-authored-by: Matt Sherman <matt@jam123.com>
* Add missing dev packages to product-editor package
* Create components folder for organization
* Move product field, section and tab slots over to product-editor package
* Move use of product slot fills to product-editor package
* Sync dependencies
* Add changelogs
* Update README's and add constant for default values
* Update README's in product-editor package
* Add generated_slug and permalink_template to Product
* Update getPermalinkParts to use products data store instead of posts data store
* Remove ts-expect-error directive
* Changelog
* Add resolver for getPermalinkParts
* Update `config@3.3.7` (from `3.3.3`)
Add it to syncpack, to avoid `ReferenceError: node_env_var_name is not defined` when external extension imports and transforms the `admin-e2e-tests` directly from `node_modules`.
Include https://github.com/node-config/node-config/pull/642
* pin eslint in .syncpackrc
run `pnpm run sync-dependencies` to ensure pinned version is used across projects, then run `pnpm install` to update `pnpm-lock.yaml`
* add changelog files
ran `pnpm run --no-bail --filter='[HEAD^1]' changelog add --significance=patch --type=dev --entry='Update eslint to 8.32.0 across the monorepo.'`
* re-run `pnpm install` to fix what broke while merging
* Adding contants, renaming files, wiring up shipping section with discrete slots for variants and non-variants
* Refactoring pricing section to give discrete slots for variant and non-variant forms
* Refactoring inventory fills to give discrete slots for variant and non-variant products
* Adding additional slot to pricing -> taxes -> advanced
* Renaming api fields component file
* Refactoring images, details and attributes to match others
* Ensure variant field IDs are distinct, organize all product field fill IDs
* Adding changelog
* Simplifying IDs used for slots
* Minor refactor of pricing taxes class field
* Give api fill exports their own registerPlugin scope
* Refactoring WooProductFieldItem to generate unique IDs
* Adding components changelog
* Add @wordpress/base-styles as dependency to @woocommerce/components
* Import experimental tree control styles
* Calc padding-left for tree item in CSS instead of JS
* Force resolution of 7.0.2 react and install base styles.
* Update lock file
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Update documentation on how to add a new field through FormFactory
* Add method to add_tab through FormFactory
* Update ProductForm definition and add Tabs
* Add changelog
* Add test to add_tab and get_tabs methods
* Add changelog for @woocommerce/data
* Add tabs to reducer actions and initial state
* Remove unused function
* Fix unit test
* Increment Tabs TypeScript definition
* Add required fields to Tab class and refactor to reduce lines of code
* Change from filter to action in doc example
* Update method documentation
* Add required fields to test
* Change productform_field test
* Fix form-factory unit test
* Update wrong comment
* Always show comments for product feedback form
* Add changelog entry
* Add CES changelog entry
* Fix up lint errors
* Add default for shouldShowComments in CustomerFeedbackModal
* Add initial component to auto load fills from API config
* Add changelog
* Update logic to make use of new store and re-usable components
* Add changelog
* Add loading state for product form data to add/edit product pages
* Add product tour container and modal
* Fix modal open class name
* Add product tour
* Add changelog entry
* Move product tour state logic into hook
* Fix tour selectors for pricing and actions
* Add tests around product tour container
* Add tests around useProductTour hook
* Make tour responsive
* Use tabs instead of spaces
* Fix more scss lint errors
* Remove extra whitespace
* Working prototype of product details via slotfill
* Raising default order for product slot-fills
* Move logic to details field name component
* Adding order prop to all fills.
* Adding components changelog
* Adding changelog
* Deleting obsolete product details section files
* Reducing spacing between slot filled fields
* Add requesting state, actions, and selectors to CRUD data stores
* Allow resource specific selectors for requesting status
* Use constants for action names in reducer
* Add tests around new utils
* Add changelog entry
* Use getResourceName instead of getRequestKey in reducer
* Rename and use getRequestIdentifier to avoid ambiguity with resource names
* Sanitize and replace ID query with key in resolution selectors
* Fix up crud action names and remove camel casing
* Fix missing ID in ID query check
* Fix up tests around request identifier
* Add additional tests around utils
* Clean up imports
* Add missing selectors to tests
* Add initial product fields registry store and helper functions
* Add changelog
* Change edit to render and address PR feedback
* Make use of memoize-one instead of rememo as memoize-one is already installed
* Update spelling of Cancelled to Canceled for US English.
This only updates output display text that uses US English. All code that uses
the form Cancelled is unchanged and is perfectly fine to stay as Cancelled.
(since it is behind the scenes and would require changes in other plugins)
For languages where Cancelled is preferred such as UK English the approprate
form can be applied in the translation files.
Fixes https://github.com/woocommerce/woocommerce/issues/25847
* add changelog file
* Update plugins/woocommerce/tests/api-core-tests/tests/settings/settings-crud.test.js
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add Charge sales tax on sub section to pricing section when enable taxes is set to yes
* Add tax classes datastore
* Load tax classes in pricing section
* Set empty value when tax class is standard rate
* Add changelog files
* Add custom resolver to use slug as id for tax classes
* Add helper text and learn more link to tax class radio group
* Add callback to confirm whether or not the prevent leaving page prompt should trigger
* Move prevent leaving logic to util and add tests
* Add changelog entry
* Add navigation changelog entry
* Fix WooCommerce data mock
* Revert desctructuring of nav properties
* Fix up updateItem query in CRUD data store
* Add product variation form header
* Fix gaps for variation and parent product actions
* Hide preview button on mobile for product variations
* Add changelog entry
* Add data package changelog entry
* Fix lint errors
* Convert getCheckboxTracks into generic function because of a type mismatch
* Add image to product variation and export types
* Add single image field
* Integrate SingleImageField in variation details section
* Add changelog file
* Add comment suggestions
* Fix set image onFileUploadChange
* Persist product variation order on product save
* Add batchUpdate to product variations datastore
* Add useVariationOrders hook to manage the ordering logic
* Add local ordering logic to variations field
* Persist variation orders on product save
* Add changelog file
* Add comments suggestions
* Add more comment seggestions
* Add method to get product variation title from data
* Conditionally add variation to page header
* Fix CRUD data store id query on selector
* Make getProductVariation calls and data types consistent to prevent multiple calls
* Add changelog entries
* Update product link type to avoid page refresh
* Expose function to truncate title to 32 character limit
* Add className prop to Sortable
* Add styles
* Add `rows` class
* Add changelogs
* Remove `row-#` class
* Fix min-height
* Set task list item min height
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Allow extending of CRUD data stores
* Add generate action to product variations data store
* Add controls to storeConfig
* Update readme with additional store config args
* Move key to catch
* Add changelog entry
* Add aria-label for simple select dropdown
* Add changelog
* Use placeholder value
* Allow aria label prop and use label as a fallback
* Update test snapshot
* Add changelog
* Add className support to ListItem
* Refactor to extract AttributeListItem component
* Use AttributeListItem component in AttributeField
* Extract AttributeEmptyState from AttributeField
* Use AttributeEmptyState in AttributeField
* Add default value for label prop on AddAttributeListItem
* Add props for labels in AddAttributeModal
* Add props for labels in EditAttributeModal
* Add changelog
* Add pagination to variations list
* Apply styles for pagination paddings and to keep it at the bottom of the section card
* Returning back per page option from 2 to 25
* Fix pagination label text from uppercase to normal and font styles
* Update variation footer gap
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add exit settings page tracker
* Add exception for when user hits the save button
* Update settings and add icon support
* Add changelog
* Add dismiss track for when user dismisses CES modal
* Add changelog
* Add tests for staticFormDataToObject function
* Fix imports of test file
* Add product variations section
* Add variations list
* Add util to get product stock status
* Add variation specific attribute type
* Add currency code to header column
* Fix up variations header width
* Add variations loading state
* Add changelog entries
* Convert spaces to tabs
* Fix status typo
* Fix up return type for stock status
* Add product form tabs to layout
* Move product sections to respective tabs
* Add tab styling
* Add changelog entry
* Scroll to top on tab change
* Update font weight on active or inactive tabs
* Add blank EOL
* Add exit page tracker logic and implement it for product pages
* Add changelog
* Fix lint errors and add comments
* Add ces_location prop
* Add mock to fix broken test
* Add CES exit page survey tests
* Fix a bug with React pages redirects and update actions
* Fix test
* Fix lint
* Add default inside location prop
* Remove exit prefix within action
* Address PR feedback and make sure its not triggered on save
* Update copy of exit feedback notice
* Add changelog
* Update name of param
* Fix lint error
* Use hasFinishedResolution vs isResolved in customerEffortScoreTracks
* Add product mvp ces footer
* Add changelog
* Reset action option name after CES action
* Make sure we make use of cesAction
* Add close button
* Fix formatting
* Fix css styling issues
* Add icon to success notice
* Add product mvp CES hook and modify logic a little bit
* Update the CES product action name
* Address PR feedback and fix styling for smaller screens
* Add second question to CES product footer and update options
* Add changelog
* Fix lint error
* Fix tests
* Set editor mode on initialization to prevent initial text editor focus
* Add changelog entry
* Check for editor set method to prevent breaks in tests with older versions of block store
* Update argument name for initialization
* Add updated versions of sr-only and not-sr-only mixins
* Improve element stacking in modals on tablet and mobile
* Add comment suggestion
* Change sr-only for screen-reader-only which is more descriptive
* Include react-dates styles (no longer included by WP 6.1+)
* Remove padding from filters popover content
* Changelog
* Include react-dates CSS directly from module instead of copy/pasting.
* Mark note as read when viewing
* Show unread note count
* Add ability to fetch read or unread notes
* Count unread notes on server side to avoid pagination limits
* Add changelog entry
* Add data changelog entry
* Add check for note actions before checking length
* Add changelog entry
* Mark note as read after 3s delay
* Set initial values prop from reset form function as optional
* Fix unsaved modal propmt to not be shown during form submission
* Reset form on save draft and before navigation starts
* Add comments ssuggestions