* Do not repeat rendering the shipping calculator button on the cart page.
* Lint fix: remove unused import
* Revert "Ensure local state is not overwritten by server when using `extensionCartUpdate` (#49311)"
This reverts commit 4861ec250e.
* Revert changes that didn't render shipping calc and instead check hasrates before rendering ShippingVia, ShippingAddress
* Revert "Revert "Ensure local state is not overwritten by server when using `extensionCartUpdate` (#49311)""
This reverts commit feec5709c5.
* Remove redunant change in import ordering
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update ExtensionCartUpdateArgs to allow overwriting dirty data
* Set isCustomerDataDirty when updating billing/shipping addresses
* Update docs
* Add e2e test to ensure overwriting dirty state isn't possible
* Organise tests better and add check pushed data isn't overwritten
* Check if data is changing when updating shipping/billing addresses
* Check input values in test
* Add test to ensure data can still be overwritten by extensions
* Add changelog
* Fix lint errors
* Remove rogue console log
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/data/cart/reducers.ts
* Fix lint error
* Remove unneeded mdlint ignore
* Update test to select a value instead of fill
* Add methods to get/set dirty customer data in local storage
* Push all customer data, not just dirty fields
* Update e2e test
* Update push changes unit test
* Update keys in mock expected arg
* Align localstorage key name with Gutenberg uppercase style
* Fix lost code after merge conflict
* Remove unnecessary metadata set in reducer
* Reimplement TS changes
* Debounce writing to localStorage
* Only update localStorage if billing/shipping changed
* Remove localStorage key when checkout is complete
* Remove unused import
* introduce file to define collection data types
* do not define `results` always like an array
* update passing types to useCollection intances
* allow to set the useCollectionData response type
* reuse RatingValues type
* tidy collection types in status filter
* clean types defined in type-defs pck
* change changelog type
* update attribute filter
* move Collection Data types to product-collection folder
* update WCStoreV1ProductsCollectionProps path
* improve defining the results type for the collection
* update path to import product collection types
* fix path to import RatingValues type
* Avoiding shipping calculator prop drilling with context
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* useCallback for update functions
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create loading state for payment methods on block checkout
* Tidy and type fix checkPaymentMethodsCanPay
* Disable place order button before payments are Initialized
* Toggle and loading state
* changelog
* Reduce scope of change in check payment methods
* saved methods are hidden when empty
* Associate shipping calculator button to its form in classic Cart
* Associate shipping calculator button to its form in block Cart
* Add changelog file
* Bump shipping-calculator template version
* fix: dark theme support for "change address" cart button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Sample test
* Jest tests
* Fix spinner
* Add e2e test to check registration works
* Classes were renamed
* wc-block-order-confirmation--create-account-button remove double hyphen
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* woocommerce-blocks-test-enable-experimental-features
---------
Co-authored-by: github-actions <github-actions@github.com>
* darker outline and double outline on focus
* flip outlines for shipping selector
* fix select outline in dark mode
* Fix input labels being cut off due to line height
* adjust outline colors
* fix rest of problems in dark mode
* fix express payment on checkout
* Fix broken styles for shipping cart in medium
* Always center input label
* Fix order note background in dark mode
* remove empty space in payment methods when there's no content inside
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix linter issues
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix line height
* Support controlling address card from data store
* expand billing address on unsync
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* disable linter rule
* remove empty section
* remove used vars
---------
Co-authored-by: github-actions <github-actions@github.com>
* reset styles for panel button
* reset styles for address card edit and address line 2
* Update shipping selector buttons
* fix line height
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* remove extra styles no longer needed
* update styles to balance chevron and change to span
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* Add focus styles for select
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add block to templates
* Register block type with php
* Create block type class
* Update webpack
* Move password strength meter component
* Add button styles when disabled
* Move password strength component
* Block WIP
* CSRF token handling
* Put new block behind feature flag
* Add experimental flag docs
* Update icon + description
* Changelog
* Lint errors
* Style controls
* Adjust icon markup
* subsctring match
* More specific import
* Fix test fail caused by layout shift
* Wording changes from Figma
* Check if logged in, not just if the current email is registered
* Use opacity for disabled button text
* Sync order data with customer after account creation
* Add id/fragment to form
* Revert "[React 18] Use `createRoot().render()` instead of `render()` (#48843)"
This reverts commit 752273e6ce.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update isAddressComplete to allow only specific fields to be checked
* Update tests for isAddressComplete
* Update wording on "enter address" prompt in Cart sidebar
* Update Shipping to Delivery in cart & checkout shipping total
* Only check the city, state, country, & postcode fields in shipping calc
* Update wording in the "Ships to" section of cart/checkout sidebar
* Update shipping calculator button to say delivery
* Update tests to use new strings
* Remove test that was falsely passing anyway
This test checked for presence of a string that wasn't in the codebase. It also doesn't seem like a valid test. Why would we want to remove the button just because default rates are available?
* Add changelog
* Left align text in shipping calculator button
It floats weirdly in the middle with the new text changes
* Update text in tests
* Update wording in unit tests
* Update shipping calculator text in test
* Update shipping text in test
* Update use of shipping in tests
* Skip test with no translation available
* Lint fixes
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Define the event
* Add action sending an event in PC store
* Add directives and context to Product Template li element
* Use on--click directive in ProductImage
* Use on--click directive in Product Title
* Use on--click directive in Product Button
* Add changelog
* Add E2E tests
* Update docs
* Update blocks reference and docs manifest
* Update m,anifest
* Fix mistake in docs
* Regenerate docs manifest
* Fix lint
* Extractb new tests to a separate file
* Render total blocks before fields on checkout
* Reverse checkout total blocks position on desktop
* Add changelog file
* Add conditional styles to reverse checkout blocks order
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Fix inline documentation typos in woocommerce-blocks
* Add changelog file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove original changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
* Dispatch JS event about PC being rendered
* Revert format changes
* Write the callback
* Add functions descriptions
* Add changelog
* Remove empty line
* Add tests
* Rename test cases
* Replace waiting for page load with more reliable expect.poll
* Remove leftover step
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Fix typo in function name
* Add collection name to default Product Collection block
* Expect collection name in the event
* Expose the collection name through IAPI context
* Send the collection name with the event
* Trigger event also on page change
* Remove unused CUSTOM collection type
* Provide documentation
* Update TOC
* Update tests that verify the event payload
* Improve E2E tests further
* Don't add a Product Catalog collection type to default collection
* Avoid repeating the same piece of code by extracting some function on tag processor
* Rename function to better depict its purpose
* Move the documentation to the right place
* Remove the unused variable
* Add example to dom-events doc
* Update documentation
* Update docs manifest
* Attach default collection name
* Add the default collection context in PHP so it covers all the cases
* Prevent exposing product catalog collection name in event
* Update docs
* Update test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Remove active shipping zones check for displaying shipping calculator
- Remove active shipping zones check for displaying shipping calculator on Cart Page
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: Tarun Vijwani <tarun.vijwani@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Add validation and empty value to select components
* address feedback
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove console log
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* remove test
* Fix tests
* also move select to parent
* fix tests
* add empty enum to schema
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Use createRoot().render() instead of render()
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Replace `unmountComponentAtNode()` with `createRoot().unmount()`
* Adjust JS unit tests
* Remove obsolete import
* Remove “ReactDOM.render is no longer supported” check
* Update pnpm-lock.yaml
* Migrate JS unit test to React 18
* Revert "Update pnpm-lock.yaml"
This reverts commit 18bfc967aa.
* Migrate JS unit test to React 18
* Migrate JS unit test to React 18
* Minor refactor
* Unskip previously skipped tests
* Fix JS unit test error related to root.unmount()
* Remove obsolete dependency
* Fix failing blocks e2e test
* Fix failing core e2e tests
* Optimise memoisation to prevent “Maximum update depth exceeded” error.
* Fix Filters JS tests in #48796 (#49973)
* Run cleanup in Rating Filter JS tests
* Run cleanup and wait user interactions in Stock Status Filter JS tests
* Rename constant
* Simplify conditional statement
* Introduce TS type
* Address lint error
* Rename TS type
* Optimise multiple TS types
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* WIP
* Add empty option for state as well
* Add client-side validation to country select inputs
* Add validation messages for state.
* Clean up redundant destructuring.
* Fix up the validation logic, fix bug where empty select was shown in some cases.
* Remove unused import
* Use import aliases instead of large relative paths
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix a typo
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* use SelectOption type
* Also handle when address changes, because we shouldnt validate state when there is an address change
* adjust validation to handle any address change, not just country. translate field validations and use lowercase
* add a lowercase label for the country select as well
* Fix an issue where scroll to would not scroll to invalid select
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>