* Create media library component
* Use media library component instead of the MediaUpload from the @wordpress/media-utils
* Remove UploadFilesMenuItemm from the DownloadsMenu until we solve the insecure file upload using the wp/v2/media endpoint
* Remove the @woocommerce/components/MediaUploader from downloads block until we solve the insecure file upload using the wp/v2/media endpoint
* Remove the FormFileUpload from EditDownloadsModal until we solve the insecure file upload using the wp/v2/media endpoint
* Add changelog file
* Fix manage limits for downloads in a single variant are not working
* Fix invalid download id when saving after editing one download file
* Add changelog file
* Add buy button section
* Enable external product support into the product block editor
* Hide buy button section when product type is not external
* Remove BaseControl from TextControl since it's not required anymore, InputControl takes care of that now
* Add type and suffix support to the product-text-field block
* Add the placeholder to the external url input and remove required constraint to the buy button text
* Set the url icon link type to external
* Fix input border to be red when invalida now that base control is not present twice
* Set the min height to 36px to match others non InputControls components height
* Extends required constrain to also support a custom error message
* Extends the product-text-field validation system
* Add product-text-field documentation
* Add changelog files
* Fix php linter error
* Fix compilation error
* Fix linter errors
* Move variations table row to its own component
* Add alert icon to the left of the variation row
* Render a tag when the variation option is not present in the product variable attributes
* Only shows the tooltip when the variation option is not present in the product variable attributes
* Add changelog file
* Fix linter errors
* fix: fixed all instances of translator lint rule violations
* Add changefile(s) from automation for the following project(s): @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* fix i18n lint violations in @woo/components
* fix all i18n lint rule violations in @woo/product-editor
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* empty commit to trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove fixed height to the variations table and add per row skeletong when loading
* Add changelog file
* Add last variations instead of the current per page var given that there it is not accessible anymore
* Add disable conditions functionality to back-end
* Evaluate _templateBlockDisableConditions in registerWooBlockType
* Add 'disabled' support for number, pricing, and text
* Add disabled support for checkbox
* Add disabled for taxonomy block
* Add changelogs
* Update documentation
* Add unit tests
* Augment attribute with disabled in back-end
* Fix disabled styling
* Remove disabled from toggle since it's being added for all blocks
* Improve CSS for disabled fields
* Only add disabled attribute when it's not added on the block json and refactor
* Allow adding disable conditions in the constructor
* Fix lint issue
* Fix test
* Add disableConditions to dependencies
* We display the number of selected items, e.g., '5 selected'
* We display a number of all existing items next to the button, e.g., "Select all (25)".
* When only some items are selected on the page, we show an additional button that says "Select page (X)" where X stands for the number of rows on the page. Clicking it selects all rows on the page.
* Clicking "Select all" selects all existing items
* Add changelog file
* Add tracking events
* Saving progress on variations table
* Manage tracking events and error handling
* Hide edition features when at least one variation is selected
* Fix linter errors
* Resolve rebase conflicts
* Remove use selection hook since is not needed anymore
* Fix filter items vertical alignment
* Add changelog files
* Fix inconsistent loading and variations state
* Do not show EmptyTableState when the product has variations but the filter get empty list
* Invalidate cache state before generating variations
* Fix select all after filtering variations
* Remove delete variations from the selection list
* Retreive the product after generating variations
* Fix linter
* Invalidate variations cache after generating variations
* Copy WelcomeGuide from gutenberg
* Remove CSS copied from guide component since it's not influencing the product Welcome Guide and it's interfering with the block editor welcome guide
* Fix issue with box-sizing
* Fix lint issues
* Show guide only when modal is open
* Add changelog
* Remove template and fix issue with component not re-rendering
* Add comment
* Add additional changelog
* Rename component
* Create product variations filter component
* Add slug to the product and variation attributes
This is needed to be able to filter variations by specific attribute slugs
* Add support to filter variations by many attribute options
* Integrate attribute options filter in variations table
* Fix rebase conflicts
* Set initial filter values
* Improve intial filter values and cache invalidation
* Add changelog files
* Fix linter errors
* Fix unit tests
* Change the min amount of options to show the search input
* Fix invalid cache key generation for the datastore
* Fix unit tests
* Fix linter errors
* Fix js tests
* Add terms pagination for varition filters
* Load terms on demand plus pagination
* Show selected option names as the dropdown button toggle text
* Fix invalida state when reset and on close the popover
* Revert adding selected options as part of the dropdown toggle text
---------
Co-authored-by: Fernando Marichal <ultimoround@gmail.com>
* Create initial version of TextControl
* Extract 'label' component for reusability
* Reduce gap
* Add label component to number control and add tooltip and required attributes
* Add changelog
* Remove unused CSS
* Add tooltip to type definitions
* Update doc for number block
* Add text block documentation
* Update parameters definition
* Set label to 'mandatory' in TypeScript
* Set label to mandatory
* Organize to alphabetical order
* Refactor required validation to be more consistent with name field
* Generify documentation
* Use createInterpolateElement for label with required indicator
* Invalidate variations upon generation and fix formatted name
* Add aditional invalidates to keep cache up to date
* Update formatted name to always return attribute term name list
* Move empty-variations-image to the images folder so it can be used in other components
* Create TableEmptyState component
* Add TableEmptyState to the Variations table component
* Add changelog file
* Fix linter error
* Show notice when price is empty
* Add changelog
* Add variation check
* Allow multiple errors
* Show unique errors
* Change error text
* Rename wpError to wpErrors
* Show single error
* Add error type
* Refactor catch
* Replace hidden icon by seen icon
* The 'visible' icon is only shown when the Show in product details box in the variation option is checked
* The tooltip displayed when the user hovers over the 'hidden' icon is updated to: Visible in product details
* On hover, the cursor changes to help
* Add changelog file
* Create product page skeleton
* Load skeleton in product and variation pages
* Let each page to define own loading/skeleton when the router is resolving the page.
* Add changelog files
* Fix linter error
* Fix unit test
* Invalidate resolution for paginated variations after removing any from the single variation page
* Add changelog file
* Invalidate resolution also for getProductVariationsTotalCount
* Add @woocommerce/number to @woocommerce/components
* Create a component for checkbox and use it on the block
* Create a component for number and use it on the block
* Add changelogs
* Remove scss import
* Rename Numbercontrol prop
* Expose useProductEntityProp
* Move components to product-editor package and fix UI bug created in checkbox component
* Revert unnecessary changes in components and update changelogs
* Revert changes in use-number-input-props
* Fix issue in checkbox
* Revert css change
* Improve has_price filter so it can matches when the price record does not exist or it's empty/null
* Get the exact variation ids of those ones that do not have price
* Add changelog files
* Fix linter errors
* Create ManageDownloadLimitsModal component
* Integrate ManageDownloadLimitsModal with product downloads block
* Add changelog file
* When there's at least 1 file uploaded, we add a Manage limits button to the Downloads section heading
* Both fields only accept numbers
* Add suffix to each input
* Add integer validation message
* Fix validation to support -1 and 0 values
* Add virtual section to the product variation template
* Add changelog file
* Let the toogle block to use inverted value to be checked
* Fix virtual toggle to be inverted
* Add changelog file
* Add support to downloads block to use the context postType
* Register the downloads block into the ProductVariationTemplate
* Add changelog files
* Fix compilation error
* Fix download block init function
* Add variation switcher hook for easier use across multiple components
* Add unregister function for validation
* Add changelogs
* Remove stray console
* Add unRegisterValidator function
* Add edit button to each variation to redirect to the single variation page
* Add changelog file
* Fix blocks and plugin registration
* Add router redirection
* Fix css conflicts with the prev experience
* Fix linter errors
* Add changelog file
* Create downloads menu component
* Add the menu to the downloads section
* Create upload-files-menu-item component
* Add upload-files-menu-item to the downloads menu
* Create media-library-menu-item component
* Fix media library menu item zindex conflict with the media upload modal
* Create insert-url-menu-item component
* Add insert-url-menu-item to the downloads menu
* Add support for digital product when product-virtual-downloadable feature is enabled
* Add changelog files
* Remove non needed style
* Fix linter errors
* Fix redirection logic
* Keep drop zone on to of the table
* Avoid duplicate files
* Stringify download ids before persist them
* Fix summary block property value under SimpleProductTemplate
* Fix linter error
* Create DeleteVariationMenuItem to be added to the Header's MoreMenu
* Move registration menu item fills to each product/variation page
* Export RemoveConfirmationModal from the product editor package
* Request for variation deletion
* Show notice when deleting variation
* Redirect to parent product page after deleting the variation
* Add tracking event
* Manage isRemoving state under RemoveConfirmationModal
* Add changelog files
* Fix linter error
* Fix delete variation modal title
* Add tracking events
* Use the right prop to get the variation name
* Add name and parent_id to the ProductVariation type definition
* Add changelog file
* Feedback modal should get the correct product id when editing a variation
* Fix rebase conflicts
* Fix unit test
* Add variation switcher in footer for variation page
* Add productId to make sure template is updated correctly
* Don't show bar when less then 2 variations.
* Add class for when page is scrolled to bottom
* Add changelogs
* Add tracks
* Fix lint error
* Fix css lint issues
* Add Toggle shipping item to the variations quick actions menu
* Add Downloads -> Set download limit item to the variations quick actions menu
* Add Downloads -> Set download expiry item to the variations quick actions menu
* Add Downloads -> Upload files item to the variations quick actions menu
* Add changelog file
* Fix some styles conflicts and set default uploaded files
* Hide the toggle shipping and downloads menu items behind the feature flag product-virtual-downloadable
* Fix unit tests
* Add downloads section
* Create and register the downloads block
* Conditionally remove the upload button from the media upload component
* Create upload image component
* Add media uploader component to the downloads block
* Add downloads table
* Add remove file feature to the downloads table
* Set downloadable to false when there are no download files
* Add support to remove uploaded file
* If the file has a custom name added by the user, we show it first. The actual file name is then shown in a second line.
* Add changelog files
* Fix linter error
* Address feedback from comments
* Fix allowed media types
* Register the new feature flag product-virtual-downloadable
* Hide the downloads section behind the feature flag product-virtual-downloadable
* Update editor settings after sync blocks with template
* Get allowedMimeTypes from the editor settings
* Fix linter errors
* Add description to the Variation details section
* Add Image section block to the Single Variation page
* Add support to the checkbox block for changing non boolean properties and extend it to use the entity context
* Register the product-variation-visibility block into the ProductVariationTemplate
* Null is a valid value but not updafined
* Fix type definitions
* Add changelog files
* Fix linter errors
* Add changelog file
* Change onValue and offValue for checkedValue and unchackedValue for the checkbox block to avoid event naming conflicts
* Set multiple value dynamically into the media uploader component
* Prevent uploading multiple files when multiple is set to false
* Remove cover label when multiple is set to false
* Fix DropZone min height in Image section
* Fix rebase conflict
* Fix linter error
* Update blocks with postType context
* Add tax class
* Pass context into get_tax_class
* Add parent option
* Add changelog
* Update changelog
* Add isRequired attribute to regular price block for use in variations
* Add additional condition to avoid error in date time picker
* Add changelog
* Fix lint errors
* Add support to multiple types in useProductEntityProp
* Migrate 'checkbox' to useProductEntityProp
* Migrate 'pricing' to useProductEntityProp
* Migrate 'radio' to useProductEntityProp
* Migrate 'taxonomy' to useProductEntityProp
* Migrate 'text' to useProductEntityProp
* Migrate 'toggle' to useProductEntityProp
* Add changelog
* Update unit tests
* Add postType context to generic blocks and use-product-entity-props and add code review suggestions
* Use postType for meta_data as well
* Fix unit tests
* Fix shipping blocks ids into ProductVariationTemplate
* Add support to postType context to product-shipping-class-field block
* Add support to postType context to product-shipping-dimensions-fields block
* Add changelog files
* Remove advance section from the inventory section in the ProductVariationTemplate
* Add support to postType context to product-sku-field block
* Add support to postType context to product-toggle-field block
* Add support to postType context to product-inventory-quantity-field block
* Add support to postType context to product-radio-field block
* Fix inventory blocks ids into ProductVariationTemplate
* Add changelog files
* Initial changes needed to get product variation to load in its own form
* Allow the publishing of an individual variation
* Address some PR feedback and do some general cleanup
* Update template with new attribute name
* Add changelogs
* Update label of note field and allow for optional param in summary block
* Remove helpText in variation note field
* Fix PHP lint errors
* Make editor type more abstract
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Create 'generic' and 'product-fields' and separate blocks between the two
* Refactor 'BlockRegistry' to include new directory structure
* Increment README
* Add param documentation
* Add changelogs
* Lint markdown
* Add block directory doc
* Fix jest test
* Update handbook reference
* Add documentation for woocommerce/product-radio-field
* Update woocommerce/product-taxonomy-field documentation
* Rename checkbox section for consistency
* Edit pricing attribute name for consistency
* Add documentation for woocommerce/product-pricing-field
* Add 'conditional' documentation
* Update README.md
* Add usage text
* Add documentation to collapsible
* Fix details across all readmes
* Add changelog
* Try adding video html tag
* Allow video html tag
* Fix wrong position in doc
* Rename 'name' to 'property' on InputControl props
* Fix mistake in label position
* Rename title
* Remove common-tasks section as it's currently made redundant by template API documentation
* Create index for reusable blocks doc
* Update reference to the handbook
* Add references to new documentation to the handbook
* Add changelog
* Update README.md
* Fix invalid focus state of the experimental select control
* Add changelog file
* Fix regression setting readOnlyWhenClosed to false by default
* Add changelog file
* Fix the position of pagination controls in the variations table
* Fix the sizing of controls in the variations table
* Add changelog file
* Fix linter errors
* Fix server error when generating variations after delete an attribute term, stock_quentity=null and low_stock_amount=null brake
* Show a summary when adding or removing variation option values
* Fix linter error
* Make sure to show variations notice only if the attribute is used for variation
* Optimize crud totalCount queries to avoid two requests
* Make use of same request params for totalCount as getVariations
* Add support for default_values when generating product variations
* Add test for default_values
* Add changelogs
* Only use default values of first variation
* Address some PR feedback
* Update types
* Redirect to product editing page when product was still in auto draft
* Make sure the prevent page does not show up when creating variations
* Add changelog and fix tests
* Decode html escaped characters in SelectTree
* Escape special characters when searching for taxonomies
* Add changelogs
* Remove unneeded decodeEntities
* Increment escapeHTML function to comply with what is happening in the legacy taxonomy editor
* Extract escapeHTML to @woocommerce/components
* Move the header data to the body as the header prop does not exist anymore
* Remove explicit setting of __unstableResolvedAssets given get_block_editor_settings already does this
* Remove use of woocommerce-page class in admin to avoid theme conflicts
* Add changelogs
* Revert change for quick test
* Two additional tweaks for admin related styling
* Add 'dialogNameHelpText' attribute to show on create taxonomy dialog
* Tweak CSS margins
* Add changelogs
* Rename "Save" to "Create" and set cancel button to Tertiary
* Add gray color to (optional)
* Create attribute to personalize label for parent
* Change the Visible to customers checkbox label and tooltip
* Set default visibility to true if the atribute is non used for variations, false otherwise
* Add changelog file
* Add auto select first or all terms when an attribute is selected
* Set auto select all terms in variations tab
* Set auto select the first term in Organization tab
* Add changelog file
* Change termsAutoselection to be camel case
* Remove error suppersion when retreiving attribute terms
* Fix select control dropdown menu width, double scroll and item aligment
* Fix attributes dropdown jumping on focus and slot position
* Add changelog files
* Fix double scroll and label margin on Category Select
* Add className to sortable and perPageOptions to Pagination
* Refactor pagination into seperate components
* Add PageArrowsWithPicker pagination component and usePagination hook
* Add hook to Pagination story
* Update Pagination readme
* Add changelogs
* Make sure input is updated if currentPage updates outside of PageArrowsWithPicker component
* Only show pagination if total count exceeds the minimum page size
* Add missing doc
* Fix lint errors
* Move totalCount to seperate useSelect to avoid multiple calls on page switch
* Fix merge conflict
* Fix lint error
* Create variations actions menu
* Disable Quick update dropdown menu when no variations are selected
* Add onDelete all selected variations
* Add update stock menu item to the quick updates global menu
* Add changelog file
* Fix linter error
* Add Pricing item to Quick update menu
* Add Set list price to the Quick update menu
* Fix some unit tests
* Make sure we also save default attributes prior to variation generation
* Add changelog
* Remove unused code
* Add changelog
* Fix lint errors
* Update and consolidate isDefault logic
* Remove unused function
* Fix tests and add a few more for testing default attributes
* Fix lint error
* Add product_options_add tracking event to add variation options
* Add product_options_edit tracking event to variation options
* Add product_options_update tracking event to variation options
* Fix set default attribute when editing it
* Add changelog file
* Add product_options_add_button_click tracking event
* Get attribute options from the terms prop instead of options, this ensures to get the updated values when the user edits the options
* Add Variation options section back
* Add changelog file
* Add new inventory submenu to variations actions
* Move pricing submenu up to its own function
* Add tests
* Move inventory markup to seperate component
* Remove menu group label
* Add changelog
* Move pricing menu to own component
* Fix lint errors
* Update use of handlePrompt to make return more flexible
* Add a checkbox to each variation row to select the current variation
* Add an indeterminate checkbox to the header of the variations table
* Add Select all and Clear selection buttons to the variations table
* Disable Select all if all items are selected and disable Clear selection when there is no items selected
* Add changelog file
* Fix linter error
* Make sure the iframe block toolbar still contains full width with latest WP version
* Add min height
* Add changelog
* Revert one change
* Remove unused imports
* Move the Quick Actions menu to its own component
* Add Set list price item to the Pricing sub menu
* Add notice when a variation gets updated
* Add Set sale price to Pricing sub menu
* Do not fire change if the user cancel the window propmt
* Add Increase list price to Pricing sub menu
* Add Decrease list price to Pricing sub menu
* Add Increase sale price to Pricing sub menu
* Add Decrease sale price to Pricing sub menu
* Add Schedule sale to Pricing sub menu
* Add changelog file
* Fix lint error
* Fix typo
* Add Sale end date to the Schedule sale to Pricing sub menu
* Add tracking events
* Fix tracking event params from camelcase to snakecase
* Initial set up and migration for the BlockTemplate
* Migrate remaining fields to the new SimpleProductTemplate
* Remove re-usable functions and clean up
* Add interfaces
* Add changelogs
* Remove unused id from block attributes
* Update changelog
* Address refactor suggestions
* Fix lint errors
* Add tests
* Address PR feedback
* Extend from BlockContainerInterface instead of BlockInterface
* Save changes
* Remove restriction from the variations dropdown to let users create multiple attributes with the same name
* Add support for autogenerate slug in the create attribute endpoint
* Add a tooltip to specify the slug of the attribute when there are more than one listed in the dropdown list
* Add changelog files
* Revert filtering to the prev implementation
* Add review suggestions
* Add return description to the generate_unique_slug function description
* Add the dropdown menu to the variations list
* Add preview link to the preview dropdown menu item
* Add delete variation support to the delete menu item
* Fix linter error
* Add changelog file
* Add wcadmin_product_variations_menu_view, wcadmin_product_variations_preview and wcadmin_product_variations_delete tracking events to the variation quick actions menu items
* Disabled attributes used in different section
* Let the attribute input field to disable some items within the dropdown list
* Define disabled attribute ids and message
* Filter non variable attributes as disabled to be used under variations options
* Filter variable attributes as disabled to be used under attributes
* Add changelog file
* Fix linter error
* Add tooltip option to menu item and use it for attribute and variations
* Fix some rebase conflicts
* Add changelog file
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* Create and register product-variation-items-field block
* Create variations-table component
* Use variations-table component in variation-items block
* Remove last border bottom from the variation options list
* Add changelog file
* Add changelog file
* Fix enhance attribute logic
* Add changelog
* Fix test
* Add auto create global attribute term and fix bug with terms for global attribute
* Fix test and update changelogs
* Add invalidate resolution call and error notice
* Revert auto create on select changes
* Add support to attribute control for creating global attributes
* Add create global attribute to variation block
* Add changelog
* Invalidate the attributeTerm search after creating a new attribute term
* Add default attributes property to the Product type
* Add change log file
* Set default attributes when click add from the attribute options modal
* Add Set default value checkbox to the edit attribute modal
* Manage default attributes when update or delete an attribute option
* Show Set default value only when the editing attribute is used for variations
* Add change log file
* Fix the feedback bar alignment to be centered
* Move the transient notices to the top of the feedback bar
* Add changelog file
* Remove feedback bar animation
* Hook up add new variations options modal
* Fix duplicate logic and test
* Add changelog
* Match local attributes by name case incentive
* Remove console log
* Make use of some function instead of findIndex
* Add support for variable products
* Add 'hello world' block to variations tab
* Add product-section block to template
* Add AttributeControl component to screen
* Add changelog
* Change labels
* Make a copy of AttributeControl to VariationOptionsControl to allow the fields to evolve separately in future
* Fix tests
* Add changelog to woocommerce
* Fix alert error
* Remove copied control and start adapting attribute control to handle both scenarios
* Add -field to block name
* Revert "Add -field to block name"
This reverts commit 50e1ee66e27ffb2df22ea7f6a4f78d1577a273f5.
* Revert "Revert "Add -field to block name""
This reverts commit eee0441c6532f9fa8cf8383d9699fd503dd054ae.
* Extract more labels
* Hide drag handle in variation options
* Add post password to API
* Add changelog
* Fix phpcs issue
* Remove post_password from tests
* Add additional property to test
* Increment number of properties in product schema
* Update the post when post_password changes
* Start adding password block
* Add css and import it
* Refactor attributes and erase password when checkbox is unchecked
* Add changelogs
* Remove unused imports
* Rename 'fields' to 'field'
* Refactor CSS
* Remove example object
* Add Organization to the right of General tab
* Add Product catalog and Attributes sections to the Organization tab
* Add Categories and Disable product reviews blocks to Product catalog section
* Add attributes block to the attributes section
* Add changelog files
* Fix php linter error
* Remove Categories and Attributes blocks from the General tab
* Change Disable product reviews by Enable product reviews
* Copy all content menu item skeleton
* Add blocks to editor context
* Show notice on copy success
* Use store to get blocks to copy
* Remove blocks from editor context (decided to use store instead)
* Changelog
* Disable menu item if no content
* Move placeholder of summary to help text at bottom of the component
* Focus the name field when mounting
* Add changelog
* Create 'autoFocus' block attribute instead of using useEffect
* Add changelog
* Change the modal's description test in the first step of the product block editor tour
* Change the modal's description text in the first step of the product block editor guide
* Change the modal's description text in the second step of the product block editor guide
* Change the modal's title and description text in the third step of the product block editor guide
* Change the modal's description text in the four step of the product block editor guide
* Enhance the Options menu of the product block editor
* Add slide up animation and translucent background to the feedback bottom bar
* Change de CES's modal heading text in the product block editor
* Change the notice message after the feedback is being sent from the CES Modals
* Enhance leave feedback modal checkbox labels
* Change leave feedback modal submit button text
* Show success notice after submit the leave feedback modal
* Add changelog files
* Change the illustration in the first step of the feature tour
* Change the modal's title and description text in the first step of the product block editor tour for old users
* Change the modal's title and description text in the first step of the product block editor guide for old users
* Change the modal's title and description text in the third step of the product block editor guide for old users
* Fix unit tests
* Change the customer effort score changelog description
* Change footer forward button to primary and backward button to tertiary in the tour guide modal
* Create and register woocommerce/product-variations-fields block
* Hide or show the empty state or inner blocks if the product has attributes
* Add changelog files
* Fix php linter errors
* Only record product update on already published products
* Add source into published product tracks event
* Add missing tracks options to product update event
* Track tab clicks in the editor
* Add source to tab clicks
* Record tracks on preview click
* Add events for media gallery, description, and attributes
* Add tracks events to more menu
* Replace new_product_page with source
* Add changelog entry
* Fix lint errors
* Add tracks for About the Editor menu item
* Add onClick event to AboutTheEditor menu item
* Use dropdown option event for classic editor menu click
* Default visible to true if not explicitly set
* Refactor onAddingAttributes to reduce complexity
* Changelog
* Improve hasTermsOrOptions based on review suggestion
* Use WooFooterItem for Footer
* Use WooFooterItem fill for TransientNotices
* Adjust TransientNotices styling to work in footer
* Fix footer width when in setup wizard
* Change export of TransientNotices from default to named
* Add border to footer
* Changelog
* Changelog
* Mock WooFooterItem to allow unit tests to pass
* Fix lint error in test
* Remove editor-styles-wrapper class from product editor
* Override default block margins and layout applied for themes without a theme.json file
* Changelog
* Add editor history and undo/redo behavior
* Add option to limit max editor history
* Move inserter properties to editor context
* Move editor toolbar to separate folder
* Add changelog entry
* Remove no longer needed editor provider
* Add new fields and copy update to product CES modal
* Update styling for product CES modal
* Record email in tracks callback if provided
* Fix modal header spacing
* Fix record callback types
* Add optional tag styling
* Allow submitting form when a reason has been selected
* Fix modal padding bottom
* Update modal width to match designs
* Add changelog entries
* Update margin for legend
* Add props to doc comment
* Make className prop optional
* Update tests for recording score with email
* Changes the feature given it's id and a toggle value as a query param
* Swap classic editor and new product block editor url when product_block_editor feature changes
* Turn off the product_block_editor feature when user choose to use the classic editor
* Add changelog files
* Fix linter errors
* Add nonce to each feature change request
* Change the hooks name for better readability
* Use get_current_screen function to better identify if the current screen is the product creation or edition
* Add wp_die if the nonce verification failed
* Change regex for explode/parse_url for better reading
* Add initial toolbar and secondary sidebar
* Style the sidebar and inserter panel
* Adjust toolbar and modal paddings
* Move header toolbar styles to separate file
* Make header toolbar class names consistent with component
* Dont use experimental insertion index and fall back to default insertion point
* Add changelog entry
* Enhance error handling
* Use last persisted product status to show a right publish button label and notices
* Use last persisted product status to show a right preview button label and notices
* Use last persisted product status to show a right save draft button label and notices
* Uses the last persisted product to better compare it with the most recently updated product so the buttons can behave correctly
* Add changelog file
* Fix getProductErrorMessage unit test
* Fix notice message when create / update the product
* Get product id from within each button hook
* Update the margin-left on the buttons in the top bar from 16px to 8px
* On mobile, the left and right body margins should be 32 px
* The inner padding in the tab in the top bar should be 12px, not 16px
* In the edit product link modal, let's set this modal’s width to 650 px and remove the line separating the header from the contents
* All modals should now have 8 px window radius
* In the feedback form, can we fix the buttons at the bottom
* The help icon in checkboxes small, detached from the item label, and vertically misaligned. Left margin of 4 px, no vertical adjustment; somehow it has a -2px set for the top margin)
* Fix block-editor-block-contextual-toolbar top position
* When the product is in a draft state, the button in the top bar should say Add, not Save. It should change into Update once it's published on the store
* Fix layout margin top
* Add ection support for blockGap and set title and description to optional
* Remove non needed control field margin bottom
* Fix schedule sale block spacing
* Remove non needed control field help text margin bottom
* Remove the sub section outer spacing
* Move pricing fields into a sub section block
* Fix collapsible-contet margin top
* Remove invalid inner block layout spacing
* Wrap sku, stock toogle and quantity within a sub section
* Group inventory advance section inner blocks into a sub section
* Fix linter error
* Add changelog files
* Fix php lint error
* Change unit names to fit GB definitions
see: b2c16f3c68/packages/base-styles/_variables.scss\#L31-L41
* Increment label CSS to look the same as TextControl's label
* Migrate Parent Category field to SelectTree
* Add changelogs
* Fix unit test that was edited by mistake
* Revert css changes in select-control.scss
* Use BaseControl as label on SelectTree
* Increment changelog
* Increment changelogs
* Refactor test
* Refactor category-field functions and use them in related places
* Fix ordered list appearing empty
* Allow errors to be thrown when saving entity records
* Show frontend error message when one exists
* Allow errors to be thrown in preview save entity
* Rename new util to getProductErrorMessage
* Add tests around error message util
* Add changelog entry
* Refactor Layout component to functional component
* Add class to pages based on page path
* Add styling for interface skeleton on product pages
* Add changelog entries
* Move product page styles out of product editor package and into client
* Fix linting issues
* Check for location before checking path in page tracking
* Dont add body classes when no page path exists
* Record page view without router location for embed pages
* Create ValidationContext
* Add ValidationProvider to the product editor
* Add new validation to the name block
* Add new validation to the Save button
* Store validations within a useRef instead of useState to improves re-renders
* Create find first visible and invalid element function
* Add focus first invalid element feat when submitting
* Integrate autofocus with name block
* Migrate sale-price block to the new validation system
* Add changelog file
* Migrate regular-price block to the new validation system
* Migrate schedule-sale block to the new validation system
* Migrate inventory-quantity block to the new validation system
* Migrate shipping-dimensions block to the new validation system
* Remove old validation hook
* Add validation to the save-draft button
* Add validation to the preview button
* Expose validation hooks to be used outside of the package
* Make sure the product is in fact saved before calling the onPublishSuccess
* Remove block registration from within the Editor component
* Expose the initBlocks function to be used outside of the product package
* Register blocks within the ProductPage component
* Add changelog files
* Unregister blocks when product page gets unmounted
* 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
* 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 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
* 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