* Add className to sortable and perPageOptions to Pagination
* Refactor pagination into seperate components
* Add PageArrowsWithPicker pagination component and usePagination hook
* Add hook to Pagination story
* Update Pagination readme
* Add changelogs
* Make sure input is updated if currentPage updates outside of PageArrowsWithPicker component
* Only show pagination if total count exceeds the minimum page size
* Add missing doc
* Fix lint errors
* Move totalCount to seperate useSelect to avoid multiple calls on page switch
* Fix merge conflict
* Fix lint error
* Create variations actions menu
* Disable Quick update dropdown menu when no variations are selected
* Add onDelete all selected variations
* Add update stock menu item to the quick updates global menu
* Add changelog file
* Fix linter error
* Add Pricing item to Quick update menu
* Add Set list price to the Quick update menu
* Fix some unit tests
* Make sure we also save default attributes prior to variation generation
* Add changelog
* Remove unused code
* Add changelog
* Fix lint errors
* Update and consolidate isDefault logic
* Remove unused function
* Fix tests and add a few more for testing default attributes
* Fix lint error
* Add product_options_add tracking event to add variation options
* Add product_options_edit tracking event to variation options
* Add product_options_update tracking event to variation options
* Fix set default attribute when editing it
* Add changelog file
* Add product_options_add_button_click tracking event
* Get attribute options from the terms prop instead of options, this ensures to get the updated values when the user edits the options
* Add Variation options section back
* Add changelog file
* Add new inventory submenu to variations actions
* Move pricing submenu up to its own function
* Add tests
* Move inventory markup to seperate component
* Remove menu group label
* Add changelog
* Move pricing menu to own component
* Fix lint errors
* Update use of handlePrompt to make return more flexible
* Add a checkbox to each variation row to select the current variation
* Add an indeterminate checkbox to the header of the variations table
* Add Select all and Clear selection buttons to the variations table
* Disable Select all if all items are selected and disable Clear selection when there is no items selected
* Add changelog file
* Fix linter error
* Make sure the iframe block toolbar still contains full width with latest WP version
* Add min height
* Add changelog
* Revert one change
* Remove unused imports
* Move the Quick Actions menu to its own component
* Add Set list price item to the Pricing sub menu
* Add notice when a variation gets updated
* Add Set sale price to Pricing sub menu
* Do not fire change if the user cancel the window propmt
* Add Increase list price to Pricing sub menu
* Add Decrease list price to Pricing sub menu
* Add Increase sale price to Pricing sub menu
* Add Decrease sale price to Pricing sub menu
* Add Schedule sale to Pricing sub menu
* Add changelog file
* Fix lint error
* Fix typo
* Add Sale end date to the Schedule sale to Pricing sub menu
* Add tracking events
* Fix tracking event params from camelcase to snakecase
* Initial set up and migration for the BlockTemplate
* Migrate remaining fields to the new SimpleProductTemplate
* Remove re-usable functions and clean up
* Add interfaces
* Add changelogs
* Remove unused id from block attributes
* Update changelog
* Address refactor suggestions
* Fix lint errors
* Add tests
* Address PR feedback
* Extend from BlockContainerInterface instead of BlockInterface
* Save changes
* Remove restriction from the variations dropdown to let users create multiple attributes with the same name
* Add support for autogenerate slug in the create attribute endpoint
* Add a tooltip to specify the slug of the attribute when there are more than one listed in the dropdown list
* Add changelog files
* Revert filtering to the prev implementation
* Add review suggestions
* Add return description to the generate_unique_slug function description
* Add the dropdown menu to the variations list
* Add preview link to the preview dropdown menu item
* Add delete variation support to the delete menu item
* Fix linter error
* Add changelog file
* Add wcadmin_product_variations_menu_view, wcadmin_product_variations_preview and wcadmin_product_variations_delete tracking events to the variation quick actions menu items
* Disabled attributes used in different section
* Let the attribute input field to disable some items within the dropdown list
* Define disabled attribute ids and message
* Filter non variable attributes as disabled to be used under variations options
* Filter variable attributes as disabled to be used under attributes
* Add changelog file
* Fix linter error
* Add tooltip option to menu item and use it for attribute and variations
* Fix some rebase conflicts
* Add changelog file
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* Create and register product-variation-items-field block
* Create variations-table component
* Use variations-table component in variation-items block
* Remove last border bottom from the variation options list
* Add changelog file
* Add changelog file
* Fix enhance attribute logic
* Add changelog
* Fix test
* Add auto create global attribute term and fix bug with terms for global attribute
* Fix test and update changelogs
* Add invalidate resolution call and error notice
* Revert auto create on select changes
* Add support to attribute control for creating global attributes
* Add create global attribute to variation block
* Add changelog
* Invalidate the attributeTerm search after creating a new attribute term
* Add default attributes property to the Product type
* Add change log file
* Set default attributes when click add from the attribute options modal
* Add Set default value checkbox to the edit attribute modal
* Manage default attributes when update or delete an attribute option
* Show Set default value only when the editing attribute is used for variations
* Add change log file
* Fix the feedback bar alignment to be centered
* Move the transient notices to the top of the feedback bar
* Add changelog file
* Remove feedback bar animation
* Hook up add new variations options modal
* Fix duplicate logic and test
* Add changelog
* Match local attributes by name case incentive
* Remove console log
* Make use of some function instead of findIndex
* Add support for variable products
* Add 'hello world' block to variations tab
* Add product-section block to template
* Add AttributeControl component to screen
* Add changelog
* Change labels
* Make a copy of AttributeControl to VariationOptionsControl to allow the fields to evolve separately in future
* Fix tests
* Add changelog to woocommerce
* Fix alert error
* Remove copied control and start adapting attribute control to handle both scenarios
* Add -field to block name
* Revert "Add -field to block name"
This reverts commit 50e1ee66e27ffb2df22ea7f6a4f78d1577a273f5.
* Revert "Revert "Add -field to block name""
This reverts commit eee0441c6532f9fa8cf8383d9699fd503dd054ae.
* Extract more labels
* Hide drag handle in variation options
* Add post password to API
* Add changelog
* Fix phpcs issue
* Remove post_password from tests
* Add additional property to test
* Increment number of properties in product schema
* Update the post when post_password changes
* Start adding password block
* Add css and import it
* Refactor attributes and erase password when checkbox is unchecked
* Add changelogs
* Remove unused imports
* Rename 'fields' to 'field'
* Refactor CSS
* Remove example object
* Add Organization to the right of General tab
* Add Product catalog and Attributes sections to the Organization tab
* Add Categories and Disable product reviews blocks to Product catalog section
* Add attributes block to the attributes section
* Add changelog files
* Fix php linter error
* Remove Categories and Attributes blocks from the General tab
* Change Disable product reviews by Enable product reviews
* Copy all content menu item skeleton
* Add blocks to editor context
* Show notice on copy success
* Use store to get blocks to copy
* Remove blocks from editor context (decided to use store instead)
* Changelog
* Disable menu item if no content
* Move placeholder of summary to help text at bottom of the component
* Focus the name field when mounting
* Add changelog
* Create 'autoFocus' block attribute instead of using useEffect
* Add changelog
* Change the modal's description test in the first step of the product block editor tour
* Change the modal's description text in the first step of the product block editor guide
* Change the modal's description text in the second step of the product block editor guide
* Change the modal's title and description text in the third step of the product block editor guide
* Change the modal's description text in the four step of the product block editor guide
* Enhance the Options menu of the product block editor
* Add slide up animation and translucent background to the feedback bottom bar
* Change de CES's modal heading text in the product block editor
* Change the notice message after the feedback is being sent from the CES Modals
* Enhance leave feedback modal checkbox labels
* Change leave feedback modal submit button text
* Show success notice after submit the leave feedback modal
* Add changelog files
* Change the illustration in the first step of the feature tour
* Change the modal's title and description text in the first step of the product block editor tour for old users
* Change the modal's title and description text in the first step of the product block editor guide for old users
* Change the modal's title and description text in the third step of the product block editor guide for old users
* Fix unit tests
* Change the customer effort score changelog description
* Change footer forward button to primary and backward button to tertiary in the tour guide modal
* Create and register woocommerce/product-variations-fields block
* Hide or show the empty state or inner blocks if the product has attributes
* Add changelog files
* Fix php linter errors
* Only record product update on already published products
* Add source into published product tracks event
* Add missing tracks options to product update event
* Track tab clicks in the editor
* Add source to tab clicks
* Record tracks on preview click
* Add events for media gallery, description, and attributes
* Add tracks events to more menu
* Replace new_product_page with source
* Add changelog entry
* Fix lint errors
* Add tracks for About the Editor menu item
* Add onClick event to AboutTheEditor menu item
* Use dropdown option event for classic editor menu click
* Default visible to true if not explicitly set
* Refactor onAddingAttributes to reduce complexity
* Changelog
* Improve hasTermsOrOptions based on review suggestion
* Use WooFooterItem for Footer
* Use WooFooterItem fill for TransientNotices
* Adjust TransientNotices styling to work in footer
* Fix footer width when in setup wizard
* Change export of TransientNotices from default to named
* Add border to footer
* Changelog
* Changelog
* Mock WooFooterItem to allow unit tests to pass
* Fix lint error in test
* Remove editor-styles-wrapper class from product editor
* Override default block margins and layout applied for themes without a theme.json file
* Changelog
* Add editor history and undo/redo behavior
* Add option to limit max editor history
* Move inserter properties to editor context
* Move editor toolbar to separate folder
* Add changelog entry
* Remove no longer needed editor provider
* Add new fields and copy update to product CES modal
* Update styling for product CES modal
* Record email in tracks callback if provided
* Fix modal header spacing
* Fix record callback types
* Add optional tag styling
* Allow submitting form when a reason has been selected
* Fix modal padding bottom
* Update modal width to match designs
* Add changelog entries
* Update margin for legend
* Add props to doc comment
* Make className prop optional
* Update tests for recording score with email
* Changes the feature given it's id and a toggle value as a query param
* Swap classic editor and new product block editor url when product_block_editor feature changes
* Turn off the product_block_editor feature when user choose to use the classic editor
* Add changelog files
* Fix linter errors
* Add nonce to each feature change request
* Change the hooks name for better readability
* Use get_current_screen function to better identify if the current screen is the product creation or edition
* Add wp_die if the nonce verification failed
* Change regex for explode/parse_url for better reading
* Add initial toolbar and secondary sidebar
* Style the sidebar and inserter panel
* Adjust toolbar and modal paddings
* Move header toolbar styles to separate file
* Make header toolbar class names consistent with component
* Dont use experimental insertion index and fall back to default insertion point
* Add changelog entry
* Enhance error handling
* Use last persisted product status to show a right publish button label and notices
* Use last persisted product status to show a right preview button label and notices
* Use last persisted product status to show a right save draft button label and notices
* Uses the last persisted product to better compare it with the most recently updated product so the buttons can behave correctly
* Add changelog file
* Fix getProductErrorMessage unit test
* Fix notice message when create / update the product
* Get product id from within each button hook
* Update the margin-left on the buttons in the top bar from 16px to 8px
* On mobile, the left and right body margins should be 32 px
* The inner padding in the tab in the top bar should be 12px, not 16px
* In the edit product link modal, let's set this modal’s width to 650 px and remove the line separating the header from the contents
* All modals should now have 8 px window radius
* In the feedback form, can we fix the buttons at the bottom
* The help icon in checkboxes small, detached from the item label, and vertically misaligned. Left margin of 4 px, no vertical adjustment; somehow it has a -2px set for the top margin)
* Fix block-editor-block-contextual-toolbar top position
* When the product is in a draft state, the button in the top bar should say Add, not Save. It should change into Update once it's published on the store
* Fix layout margin top
* Add ection support for blockGap and set title and description to optional
* Remove non needed control field margin bottom
* Fix schedule sale block spacing
* Remove non needed control field help text margin bottom
* Remove the sub section outer spacing
* Move pricing fields into a sub section block
* Fix collapsible-contet margin top
* Remove invalid inner block layout spacing
* Wrap sku, stock toogle and quantity within a sub section
* Group inventory advance section inner blocks into a sub section
* Fix linter error
* Add changelog files
* Fix php lint error
* Change unit names to fit GB definitions
see: b2c16f3c68/packages/base-styles/_variables.scss\#L31-L41
* Increment label CSS to look the same as TextControl's label
* Migrate Parent Category field to SelectTree
* Add changelogs
* Fix unit test that was edited by mistake
* Revert css changes in select-control.scss
* Use BaseControl as label on SelectTree
* Increment changelog
* Increment changelogs
* Refactor test
* Refactor category-field functions and use them in related places
* Fix ordered list appearing empty
* Allow errors to be thrown when saving entity records
* Show frontend error message when one exists
* Allow errors to be thrown in preview save entity
* Rename new util to getProductErrorMessage
* Add tests around error message util
* Add changelog entry
* Refactor Layout component to functional component
* Add class to pages based on page path
* Add styling for interface skeleton on product pages
* Add changelog entries
* Move product page styles out of product editor package and into client
* Fix linting issues
* Check for location before checking path in page tracking
* Dont add body classes when no page path exists
* Record page view without router location for embed pages
* Create ValidationContext
* Add ValidationProvider to the product editor
* Add new validation to the name block
* Add new validation to the Save button
* Store validations within a useRef instead of useState to improves re-renders
* Create find first visible and invalid element function
* Add focus first invalid element feat when submitting
* Integrate autofocus with name block
* Migrate sale-price block to the new validation system
* Add changelog file
* Migrate regular-price block to the new validation system
* Migrate schedule-sale block to the new validation system
* Migrate inventory-quantity block to the new validation system
* Migrate shipping-dimensions block to the new validation system
* Remove old validation hook
* Add validation to the save-draft button
* Add validation to the preview button
* Expose validation hooks to be used outside of the package
* Make sure the product is in fact saved before calling the onPublishSuccess
* Remove block registration from within the Editor component
* Expose the initBlocks function to be used outside of the product package
* Register blocks within the ProductPage component
* Add changelog files
* Unregister blocks when product page gets unmounted
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* 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 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