diff --git a/.github/compare-assets/index.js b/.github/compare-assets/index.js index 132da4ff6..764c93888 100644 --- a/.github/compare-assets/index.js +++ b/.github/compare-assets/index.js @@ -51,7 +51,45 @@ const runner = async () => { .filter( Boolean ) ); + let reportCommentId; + + { + const currentComments = await octokit.rest.issues.listComments( { + owner, + repo, + issue_number: payload.pull_request.number, + } ); + + if ( + Array.isArray( currentComments.data ) && + currentComments.data.length > 0 + ) { + const comment = currentComments.data.find( + ( comment ) => + comment.body.includes( 'Script Dependencies Report' ) && + comment.user.login === 'github-actions[bot]' + ); + + if ( comment ) { + reportCommentId = comment.id; + } + } + } + if ( Object.keys( changes ).length === 0 ) { + if ( reportCommentId ) { + await octokit.rest.issues.updateComment( { + owner, + repo, + comment_id: reportCommentId, + body: + '# Script Dependencies Report' + + '\n\n' + + 'There is no changed script dependency between this branch and trunk.' + + '\n\n' + + '__This comment was automatically generated by the `./github/compare-assets` action.__', + } ); + } return; } @@ -82,24 +120,35 @@ const runner = async () => { } ); - await octokit.rest.issues.createComment( { - owner, - repo, - issue_number: payload.pull_request.number, - body: - '# Script Dependencies Report' + - '\n\n' + - 'The `compare-assets` action has detected some changed script dependencies between this branch and ' + - 'trunk. Please review and confirm the following are correct before merging.' + - '\n\n' + - '| Script Handle | Added | Removed | |' + - '\n' + - '| ------------- | ------| ------- | -- |' + - '\n' + - reportContent + - '\n\n' + - '__This comment was automatically generated by the `./github/compare-assets` action.__', - } ); + const commentBody = + '# Script Dependencies Report' + + '\n\n' + + 'The `compare-assets` action has detected some changed script dependencies between this branch and ' + + 'trunk. Please review and confirm the following are correct before merging.' + + '\n\n' + + '| Script Handle | Added | Removed | |' + + '\n' + + '| ------------- | ------| ------- | -- |' + + '\n' + + reportContent + + '\n\n' + + '__This comment was automatically generated by the `./github/compare-assets` action.__'; + + if ( reportCommentId ) { + await octokit.rest.issues.updateComment( { + owner, + repo, + comment_id: reportCommentId, + body: commentBody, + } ); + } else { + await octokit.rest.issues.createComment( { + owner, + repo, + issue_number: payload.pull_request.number, + body: commentBody, + } ); + } } catch ( error ) { setFailed( error.message ); } diff --git a/.github/dependabot.yml b/.github/dependabot.yml index acc64ee99..e6d8a18f8 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,6 +7,10 @@ updates: schedule: interval: 'monthly' open-pull-requests-limit: 10 + labels: + - "skip-changelog" + - "type: dependencies" + - "github_actions" # Maintain dependencies for npm - package-ecosystem: 'npm' @@ -14,6 +18,10 @@ updates: schedule: interval: 'weekly' open-pull-requests-limit: 10 + labels: + - "skip-changelog" + - "type: dependencies" + - "javascript" # Maintain dependencies for Composer - package-ecosystem: 'composer' @@ -21,3 +29,7 @@ updates: schedule: interval: 'weekly' open-pull-requests-limit: 10 + labels: + - "skip-changelog" + - "type: dependencies" + - "php" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9d4e2555e..3ce0c5026 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -18,8 +18,8 @@ Fixes # #### Other Checks -- [ ] This PR adds/removes a feature flag & I've updated [this doc](../docs/blocks/feature-flags-and-experimental-interfaces.md) . -- [ ] This PR adds/removes an experimental interfaces and I've updated [this doc](../docs/blocks/feature-flags-and-experimental-interfaces.md) +- [ ] This PR adds/removes a feature flag & I've updated [this doc](https://github.com/woocommerce/woocommerce-blocks/blob/trunk/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md). +- [ ] This PR adds/removes an experimental interfaces and I've updated [this doc](https://github.com/woocommerce/woocommerce-blocks/blob/trunk/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md). - [ ] I tagged two reviewers because this PR makes queries to the database or I think it might have some security impact. ### Screenshots diff --git a/.github/workflows/automate-team-review-assignment-config.yml b/.github/workflows/automate-team-review-assignment-config.yml index e372fda62..76c242d7e 100644 --- a/.github/workflows/automate-team-review-assignment-config.yml +++ b/.github/workflows/automate-team-review-assignment-config.yml @@ -5,7 +5,7 @@ on: jobs: add-reviews: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest steps: - name: Check config and assign reviews diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index c7fa30310..3a28bd571 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # ℹī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/generate-zip.yml b/.github/workflows/generate-zip.yml index a9add0f59..7105ef1e1 100644 --- a/.github/workflows/generate-zip.yml +++ b/.github/workflows/generate-zip.yml @@ -38,7 +38,7 @@ jobs: run: mv woocommerce-gutenberg-products-block.zip wc-blocks-pr-release__temp/woocommerce-gutenberg-products-block-${{ github.event.pull_request.number }}.zip - name: Transfer ZIP file via SFTP - uses: AbleLincoln/push-to-sftp@v1.0 + uses: AbleLincoln/push-to-sftp@v1.2 with: host: ${{ secrets.FTP_HOST }} port: 22 diff --git a/.github/workflows/js-css-md-linting.yml b/.github/workflows/js-css-md-linting.yml index 05c868843..5285fd1fc 100644 --- a/.github/workflows/js-css-md-linting.yml +++ b/.github/workflows/js-css-md-linting.yml @@ -4,6 +4,10 @@ on: pull_request: push: branches: [trunk] +permissions: + actions: write + checks: write + pull-requests: read jobs: # cache node and modules diff --git a/.github/workflows/project-management-automations.yml b/.github/workflows/project-management-automations.yml index 88a93f6cb..b76c2a96a 100644 --- a/.github/workflows/project-management-automations.yml +++ b/.github/workflows/project-management-automations.yml @@ -5,6 +5,9 @@ on: issues: types: [edited] name: Project management automations +permissions: + pull-requests: write + actions: write jobs: project-management-automation: runs-on: ubuntu-latest diff --git a/assets/js/atomic/blocks/product-elements/button/block.js b/assets/js/atomic/blocks/product-elements/button/block.js index 395024584..4283ae68c 100644 --- a/assets/js/atomic/blocks/product-elements/button/block.js +++ b/assets/js/atomic/blocks/product-elements/button/block.js @@ -8,6 +8,12 @@ import { useStoreEvents, useStoreAddToCart, } from '@woocommerce/base-context/hooks'; +import { + useBorderProps, + useColorProps, + useTypographyProps, + useSpacingProps, +} from '@woocommerce/base-hooks'; import { decodeEntities } from '@wordpress/html-entities'; import { CART_URL } from '@woocommerce/block-settings'; import { getSetting } from '@woocommerce/settings'; @@ -21,12 +27,6 @@ import { withProductDataContext } from '@woocommerce/shared-hocs'; * Internal dependencies */ import './style.scss'; -import { - useBorderProps, - useColorProps, - useTypographyProps, - useSpacingProps, -} from '../../../../hooks/style-attributes'; /** * Product Button Block Component. diff --git a/assets/js/atomic/blocks/product-elements/category-list/block.tsx b/assets/js/atomic/blocks/product-elements/category-list/block.tsx index afbf64c59..01d017d42 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/block.tsx +++ b/assets/js/atomic/blocks/product-elements/category-list/block.tsx @@ -7,6 +7,7 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { useColorProps, useTypographyProps } from '@woocommerce/base-hooks'; import { isEmpty } from 'lodash'; import { withProductDataContext } from '@woocommerce/shared-hocs'; import { HTMLAttributes } from 'react'; @@ -16,10 +17,6 @@ import { HTMLAttributes } from 'react'; */ import './style.scss'; import { Attributes } from './types'; -import { - useColorProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; type Props = Attributes & HTMLAttributes< HTMLDivElement >; diff --git a/assets/js/atomic/blocks/product-elements/image/block.js b/assets/js/atomic/blocks/product-elements/image/block.js index d5c296036..f9554e6e5 100644 --- a/assets/js/atomic/blocks/product-elements/image/block.js +++ b/assets/js/atomic/blocks/product-elements/image/block.js @@ -10,6 +10,11 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { + useBorderProps, + useSpacingProps, + useTypographyProps, +} from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; import { useStoreEvents } from '@woocommerce/base-context/hooks'; @@ -18,11 +23,6 @@ import { useStoreEvents } from '@woocommerce/base-context/hooks'; */ import ProductSaleBadge from './../sale-badge/block'; import './style.scss'; -import { - useBorderProps, - useSpacingProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Image Block Component. diff --git a/assets/js/atomic/blocks/product-elements/image/test/block.test.js b/assets/js/atomic/blocks/product-elements/image/test/block.test.js index 529fbe2b6..5e989a161 100644 --- a/assets/js/atomic/blocks/product-elements/image/test/block.test.js +++ b/assets/js/atomic/blocks/product-elements/image/test/block.test.js @@ -9,13 +9,7 @@ import { ProductDataContextProvider } from '@woocommerce/shared-context'; */ import { Block } from '../block'; -jest.mock( '@woocommerce/block-settings', () => ( { - ...jest.requireActual( '@woocommerce/block-settings' ), - __esModule: true, - PLACEHOLDER_IMG_SRC: 'placeholder.jpg', -} ) ); - -jest.mock( '../../../../../hooks/style-attributes', () => ( { +jest.mock( '@woocommerce/base-hooks', () => ( { __esModule: true, useBorderProps: jest.fn( () => ( { className: '', diff --git a/assets/js/atomic/blocks/product-elements/price/block.js b/assets/js/atomic/blocks/product-elements/price/block.js index 3831aa10b..b57fc475d 100644 --- a/assets/js/atomic/blocks/product-elements/price/block.js +++ b/assets/js/atomic/blocks/product-elements/price/block.js @@ -9,15 +9,12 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { useColorProps, useTypographyProps } from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; /** * Internal dependencies */ -import { - useColorProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Price Block Component. diff --git a/assets/js/atomic/blocks/product-elements/rating/block.js b/assets/js/atomic/blocks/product-elements/rating/block.js index de62fec7e..a42c78f1a 100644 --- a/assets/js/atomic/blocks/product-elements/rating/block.js +++ b/assets/js/atomic/blocks/product-elements/rating/block.js @@ -8,17 +8,17 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { + useColorProps, + useSpacingProps, + useTypographyProps, +} from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; /** * Internal dependencies */ import './style.scss'; -import { - useColorProps, - useSpacingProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Rating Block Component. diff --git a/assets/js/atomic/blocks/product-elements/sale-badge/block.js b/assets/js/atomic/blocks/product-elements/sale-badge/block.js index 6786c818b..d44cab0a7 100644 --- a/assets/js/atomic/blocks/product-elements/sale-badge/block.js +++ b/assets/js/atomic/blocks/product-elements/sale-badge/block.js @@ -9,18 +9,18 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { + useBorderProps, + useColorProps, + useSpacingProps, + useTypographyProps, +} from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; /** * Internal dependencies */ import './style.scss'; -import { - useBorderProps, - useColorProps, - useSpacingProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Sale Badge Block Component. diff --git a/assets/js/atomic/blocks/product-elements/stock-indicator/block.js b/assets/js/atomic/blocks/product-elements/stock-indicator/block.js index 66b1d56aa..90b487dd7 100644 --- a/assets/js/atomic/blocks/product-elements/stock-indicator/block.js +++ b/assets/js/atomic/blocks/product-elements/stock-indicator/block.js @@ -8,16 +8,13 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { useColorProps, useTypographyProps } from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; /** * Internal dependencies */ import './style.scss'; -import { - useColorProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Stock Indicator Block Component. diff --git a/assets/js/atomic/blocks/product-elements/summary/block.js b/assets/js/atomic/blocks/product-elements/summary/block.js index aa387969d..6c5003392 100644 --- a/assets/js/atomic/blocks/product-elements/summary/block.js +++ b/assets/js/atomic/blocks/product-elements/summary/block.js @@ -10,16 +10,13 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { useColorProps, useTypographyProps } from '@woocommerce/base-hooks'; import { withProductDataContext } from '@woocommerce/shared-hocs'; /** * Internal dependencies */ import './style.scss'; -import { - useColorProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Summary Block Component. diff --git a/assets/js/atomic/blocks/product-elements/tag-list/block.js b/assets/js/atomic/blocks/product-elements/tag-list/block.js index 39d3aad33..6ec795a27 100644 --- a/assets/js/atomic/blocks/product-elements/tag-list/block.js +++ b/assets/js/atomic/blocks/product-elements/tag-list/block.js @@ -8,6 +8,7 @@ import { useInnerBlockLayoutContext, useProductDataContext, } from '@woocommerce/shared-context'; +import { useColorProps, useTypographyProps } from '@woocommerce/base-hooks'; import { isEmpty } from 'lodash'; import { withProductDataContext } from '@woocommerce/shared-hocs'; @@ -15,10 +16,6 @@ import { withProductDataContext } from '@woocommerce/shared-hocs'; * Internal dependencies */ import './style.scss'; -import { - useColorProps, - useTypographyProps, -} from '../../../../hooks/style-attributes'; /** * Product Tag List Block Component. diff --git a/assets/js/atomic/blocks/product-elements/title/block.tsx b/assets/js/atomic/blocks/product-elements/title/block.tsx index 7070803b9..2d1fdd107 100644 --- a/assets/js/atomic/blocks/product-elements/title/block.tsx +++ b/assets/js/atomic/blocks/product-elements/title/block.tsx @@ -11,17 +11,17 @@ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; import { withProductDataContext } from '@woocommerce/shared-hocs'; import ProductName from '@woocommerce/base-components/product-name'; import { useStoreEvents } from '@woocommerce/base-context/hooks'; +import { + useSpacingProps, + useTypographyProps, + useColorProps, +} from '@woocommerce/base-hooks'; /** * Internal dependencies */ import './style.scss'; import { Attributes } from './types'; -import { - useSpacingProps, - useTypographyProps, - useColorProps, -} from '../../../../hooks/style-attributes'; type Props = Attributes & HTMLAttributes< HTMLDivElement >; diff --git a/assets/js/base/components/cart-checkout/shipping-calculator/index.tsx b/assets/js/base/components/cart-checkout/shipping-calculator/index.tsx index e159a9eec..63e7bc8a3 100644 --- a/assets/js/base/components/cart-checkout/shipping-calculator/index.tsx +++ b/assets/js/base/components/cart-checkout/shipping-calculator/index.tsx @@ -21,7 +21,8 @@ const ShippingCalculator = ( { }, addressFields = [ 'country', 'state', 'city', 'postcode' ], }: ShippingCalculatorProps ): JSX.Element => { - const { shippingAddress, setShippingAddress } = useCustomerData(); + const { shippingAddress, setShippingAddress, setBillingAddress } = + useCustomerData(); return (
{ setShippingAddress( newAddress ); + setBillingAddress( newAddress ); onUpdate( newAddress ); } } /> diff --git a/assets/js/base/components/cart-checkout/shipping-rates-control/index.tsx b/assets/js/base/components/cart-checkout/shipping-rates-control/index.tsx index 405f7b218..eea684b19 100644 --- a/assets/js/base/components/cart-checkout/shipping-rates-control/index.tsx +++ b/assets/js/base/components/cart-checkout/shipping-rates-control/index.tsx @@ -63,8 +63,8 @@ const Packages = ( { key={ packageId } packageId={ packageId } packageData={ packageData } - collapsible={ collapsible } - collapse={ collapse } + collapsible={ !! collapsible } + collapse={ !! collapse } showItems={ showItems || packageData?.shipping_rates?.length > 1 } @@ -167,6 +167,7 @@ const ShippingRatesControl = ( { ShippingRatesControlPackage, }, context, + shippingRates, }; const { isEditor } = useEditorContext(); @@ -192,6 +193,7 @@ const ShippingRatesControl = ( { /> 1 } packages={ shippingRates } noResultsMessage={ noResultsMessage } renderOption={ renderOption } diff --git a/assets/js/base/components/dropdown-selector/index.js b/assets/js/base/components/dropdown-selector/index.js deleted file mode 100644 index 1a6080106..000000000 --- a/assets/js/base/components/dropdown-selector/index.js +++ /dev/null @@ -1,231 +0,0 @@ -/** - * External dependencies - */ -import PropTypes from 'prop-types'; -import { useCallback, useRef } from '@wordpress/element'; -import classNames from 'classnames'; -import Downshift from 'downshift'; -import { __, sprintf } from '@wordpress/i18n'; - -/** - * Internal dependencies - */ -import DropdownSelectorInput from './input'; -import DropdownSelectorInputWrapper from './input-wrapper'; -import DropdownSelectorMenu from './menu'; -import DropdownSelectorSelectedChip from './selected-chip'; -import DropdownSelectorSelectedValue from './selected-value'; -import './style.scss'; - -/** - * Component used to show an input box with a dropdown with suggestions. - * - * @param {Object} props Incoming props for the component. - * @param {string} props.attributeLabel Label for the attributes. - * @param {string} props.className CSS class used. - * @param {import('react').CSSProperties} props.style CSS style object used. - * @param {Array} props.checked Which items are checked. - * @param {string} props.inputLabel Label used for the input. - * @param {boolean} props.isDisabled Whether the input is disabled or not. - * @param {boolean} props.isLoading Whether the input is loading. - * @param {boolean} props.multiple Whether multi-select is allowed. - * @param {function():any} props.onChange Function to be called when onChange event fires. - * @param {Array} props.options The option values to show in the select. - * @param {boolean} [props.isCaseSensitive=false] Whether the dropdown search should be case-sensitive. - */ -const DropdownSelector = ( { - attributeLabel = '', - className, - style = {}, - checked = [], - inputLabel = '', - isDisabled = false, - isLoading = false, - multiple = false, - onChange = () => {}, - options = [], - isCaseSensitive = false, -} ) => { - const inputRef = useRef( null ); - - const classes = classNames( - className, - 'wc-block-dropdown-selector', - 'wc-block-components-dropdown-selector', - { - 'is-disabled': isDisabled, - 'is-loading': isLoading, - } - ); - - /** - * State reducer for the downshift component. - * See: https://github.com/downshift-js/downshift#statereducer - */ - const stateReducer = useCallback( - ( state, changes ) => { - switch ( changes.type ) { - case Downshift.stateChangeTypes.keyDownEnter: - case Downshift.stateChangeTypes.clickItem: - return { - ...changes, - highlightedIndex: state.highlightedIndex, - isOpen: multiple, - inputValue: '', - }; - case Downshift.stateChangeTypes.blurInput: - case Downshift.stateChangeTypes.mouseUp: - return { - ...changes, - inputValue: state.inputValue, - }; - default: - return changes; - } - }, - [ multiple ] - ); - - return ( - - { ( { - getInputProps, - getItemProps, - getLabelProps, - getMenuProps, - highlightedIndex, - inputValue, - isOpen, - openMenu, - } ) => ( -
0, - 'is-open': isOpen, - } ) } - style={ style } - > - { /* eslint-disable-next-line jsx-a11y/label-has-for */ } - - inputRef.current.focus() } - > - { checked.map( ( value ) => { - const option = options.find( - ( o ) => o.value === value - ); - - if ( ! option ) { - return null; - } - - const onRemoveItem = ( val ) => { - onChange( val ); - inputRef.current.focus(); - }; - - return multiple ? ( - - ) : ( - inputRef.current.focus() } - onRemoveItem={ onRemoveItem } - option={ option } - /> - ); - } ) } - { - onChange( val ); - inputRef.current.focus(); - } } - placeholder={ - checked.length > 0 && multiple - ? null - : sprintf( - /* translators: %s attribute name. */ - __( - 'Any %s', - 'woo-gutenberg-products-block' - ), - attributeLabel - ) - } - tabIndex={ - // When it's a single selector and there is one element selected, - // we make the input non-focusable with the keyboard because it's - // visually hidden. The input is still rendered, though, because it - // must be possible to focus it when pressing the select value chip. - ! multiple && checked.length > 0 ? '-1' : '0' - } - value={ inputValue } - /> - - { isOpen && ! isDisabled && ( - { - let optionName = option.name; - let nameQuery = inputValue?.trim(); - if ( ! isCaseSensitive ) { - optionName = optionName.toLowerCase(); - nameQuery = nameQuery?.toLowerCase(); - } - return ( - ! nameQuery || - optionName.includes( nameQuery ) - ); - } ) } - /> - ) } -
- ) } -
- ); -}; - -DropdownSelector.propTypes = { - attributeLabel: PropTypes.string, - checked: PropTypes.array, - className: PropTypes.string, - inputLabel: PropTypes.string, - isDisabled: PropTypes.bool, - isLoading: PropTypes.bool, - limit: PropTypes.number, - onChange: PropTypes.func, - options: PropTypes.arrayOf( - PropTypes.shape( { - label: PropTypes.node.isRequired, - value: PropTypes.string.isRequired, - } ) - ), - isCaseSensitive: PropTypes.bool, -}; - -export default DropdownSelector; diff --git a/assets/js/base/components/dropdown-selector/input-wrapper.js b/assets/js/base/components/dropdown-selector/input-wrapper.js deleted file mode 100644 index 4391c1e9b..000000000 --- a/assets/js/base/components/dropdown-selector/input-wrapper.js +++ /dev/null @@ -1,13 +0,0 @@ -const DropdownSelectorInputWrapper = ( { children, onClick } ) => { - return ( - /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */ -
- { children } -
- ); -}; - -export default DropdownSelectorInputWrapper; diff --git a/assets/js/base/components/dropdown-selector/input.js b/assets/js/base/components/dropdown-selector/input.js deleted file mode 100644 index abb3cd731..000000000 --- a/assets/js/base/components/dropdown-selector/input.js +++ /dev/null @@ -1,36 +0,0 @@ -const DropdownSelectorInput = ( { - checked, - getInputProps, - inputRef, - isDisabled, - onFocus, - onRemoveItem, - placeholder, - tabIndex, - value, -} ) => { - return ( - 0 - ) { - onRemoveItem( checked[ checked.length - 1 ] ); - } - }, - placeholder, - tabIndex, - } ) } - /> - ); -}; - -export default DropdownSelectorInput; diff --git a/assets/js/base/components/dropdown-selector/menu.js b/assets/js/base/components/dropdown-selector/menu.js deleted file mode 100644 index 43c4c25be..000000000 --- a/assets/js/base/components/dropdown-selector/menu.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * External dependencies - */ -import { __, sprintf } from '@wordpress/i18n'; -import classNames from 'classnames'; - -const DropdownSelectorMenu = ( { - checked, - getItemProps, - getMenuProps, - highlightedIndex, - options, -} ) => { - return ( -
    - { options.map( ( option, index ) => { - const selected = checked.includes( option.value ); - return ( - // eslint-disable-next-line react/jsx-key -
  • - { option.label } -
  • - ); - } ) } -
- ); -}; - -export default DropdownSelectorMenu; diff --git a/assets/js/base/components/dropdown-selector/selected-chip.js b/assets/js/base/components/dropdown-selector/selected-chip.js deleted file mode 100644 index 351045129..000000000 --- a/assets/js/base/components/dropdown-selector/selected-chip.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * External dependencies - */ -import { __, sprintf } from '@wordpress/i18n'; -import { RemovableChip } from '@woocommerce/base-components/chip'; - -const DropdownSelectorSelectedChip = ( { onRemoveItem, option } ) => { - return ( - { - onRemoveItem( option.value ); - } } - ariaLabel={ sprintf( - /* translators: %s is referring to the filter option being removed. */ - __( 'Remove %s filter', 'woo-gutenberg-products-block' ), - option.name - ) } - text={ option.label } - radius="large" - /> - ); -}; - -export default DropdownSelectorSelectedChip; diff --git a/assets/js/base/components/dropdown-selector/selected-value.js b/assets/js/base/components/dropdown-selector/selected-value.js deleted file mode 100644 index 35c341461..000000000 --- a/assets/js/base/components/dropdown-selector/selected-value.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * External dependencies - */ -import { __, sprintf } from '@wordpress/i18n'; -import { useEffect, useRef } from '@wordpress/element'; -import { Icon, closeSmall } from '@wordpress/icons'; - -const DropdownSelectorSelectedValue = ( { onClick, onRemoveItem, option } ) => { - const labelRef = useRef( null ); - - useEffect( () => { - labelRef.current.focus(); - }, [ labelRef ] ); - - return ( -
- - -
- ); -}; - -export default DropdownSelectorSelectedValue; diff --git a/assets/js/base/components/dropdown-selector/style.scss b/assets/js/base/components/dropdown-selector/style.scss deleted file mode 100644 index 8e314e348..000000000 --- a/assets/js/base/components/dropdown-selector/style.scss +++ /dev/null @@ -1,176 +0,0 @@ -// 18px is the minimum input field line-height and 14px is the font-size of -// the drop down selector elements. - -$dropdown-selector-line-height: math.div(18, 14); - -.wc-block-components-dropdown-selector { - max-width: 300px; - position: relative; - width: 100%; -} - -.wc-block-components-dropdown-selector__input-wrapper { - background: #fff; - border: 1px solid $input-border-gray; - color: $input-text-active; - align-items: center; - border-radius: 4px; - cursor: text; - display: flex; - flex-wrap: wrap; - padding: 2px $gap-smaller; - - .is-disabled & { - background-color: $gray-200; - } - - .is-multiple.has-checked > & { - padding: 2px $gap-smallest; - } - - .is-open > & { - border-radius: 4px 4px 0 0; - } -} - -.wc-block-components-dropdown-selector__input { - @include font-size(small); - line-height: $dropdown-selector-line-height; - margin: em($gap-small * 0.25) 0; - min-width: 0; - padding: em($gap-smallest * 0.75) 0 em($gap-smallest * 0.75); - - .is-single & { - width: 100%; - - &:hover, - &:focus, - &:active { - outline: 0; - } - } - - .is-single.has-checked.is-open & { - margin-bottom: 1.5px; - margin-top: 1.5px; - } - - .is-single.has-checked:not(.is-open) & { - @include visually-hidden(); - // Fixes an issue in Firefox that `flex: wrap` in the container was making - // this element to still occupy one line. - position: absolute; - } - - .is-multiple & { - flex: 1; - min-width: 0; - } -} - -// Visually hide the input -.is-single .wc-block-components-dropdown-selector__input:first-child, -.is-multiple .wc-block-components-dropdown-selector__input { - background: transparent; - border: 0; - - &:hover, - &:focus, - &:active { - outline: 0; - } -} - -.wc-block-components-dropdown-selector { - // Reset -
); }; diff --git a/assets/js/blocks/mini-cart/index.tsx b/assets/js/blocks/mini-cart/index.tsx index 3c22edff4..61bc0f7d9 100644 --- a/assets/js/blocks/mini-cart/index.tsx +++ b/assets/js/blocks/mini-cart/index.tsx @@ -2,7 +2,7 @@ * External dependencies */ import { __ } from '@wordpress/i18n'; -import { cart } from '@woocommerce/icons'; +import { miniCartAlt } from '@woocommerce/icons'; import { Icon } from '@wordpress/icons'; import { registerBlockType } from '@wordpress/blocks'; import type { BlockConfiguration } from '@wordpress/blocks'; @@ -19,7 +19,7 @@ const settings: BlockConfiguration = { icon: { src: ( ), @@ -38,6 +38,8 @@ const settings: BlockConfiguration = { fontSize: true, ...( isFeaturePluginBuild() && { __experimentalFontFamily: true, + __experimentalFontWeight: true, + __experimentalSkipSerialization: true, } ), }, }, @@ -56,6 +58,10 @@ const settings: BlockConfiguration = { type: 'string', default: 'none', }, + hasHiddenPrice: { + type: 'boolean', + default: false, + }, }, edit, diff --git a/assets/js/blocks/mini-cart/test/block.js b/assets/js/blocks/mini-cart/test/block.js index 08271a85b..54ff6096e 100644 --- a/assets/js/blocks/mini-cart/test/block.js +++ b/assets/js/blocks/mini-cart/test/block.js @@ -5,6 +5,7 @@ import { act, render, screen, + queryByText, waitFor, waitForElementToBeRemoved, } from '@testing-library/react'; @@ -124,4 +125,26 @@ describe( 'Testing Mini Cart', () => { ).toBeInTheDocument() ); } ); + + it( 'renders cart price if "Hide Cart Price" setting is not enabled', async () => { + mockEmptyCart(); + render( ); + await waitFor( () => expect( fetchMock ).toHaveBeenCalled() ); + + await waitFor( () => + expect( screen.getByText( '$0.00' ) ).toBeInTheDocument() + ); + } ); + + it( 'does not render cart price if "Hide Cart Price" setting is enabled', async () => { + mockEmptyCart(); + const { container } = render( + + ); + await waitFor( () => expect( fetchMock ).toHaveBeenCalled() ); + + await waitFor( () => + expect( queryByText( container, '$0.00' ) ).not.toBeInTheDocument() + ); + } ); } ); diff --git a/assets/js/editor-components/compatibility-notices/cart-checkout-compatibility-notice.tsx b/assets/js/editor-components/compatibility-notices/cart-checkout-compatibility-notice.tsx index 69a0ffde2..9c71e98fb 100644 --- a/assets/js/editor-components/compatibility-notices/cart-checkout-compatibility-notice.tsx +++ b/assets/js/editor-components/compatibility-notices/cart-checkout-compatibility-notice.tsx @@ -14,7 +14,7 @@ import { useCompatibilityNotice } from './use-compatibility-notice'; import WooImage from './woo-image'; interface CartCheckoutCompatibilityNoticeProps { - blockName: 'cart' | 'checkout' | 'mini-cart'; + blockName: 'cart' | 'checkout'; } export function CartCheckoutCompatibilityNotice( { diff --git a/assets/js/hooks/style-attributes.ts b/assets/js/hooks/style-attributes.ts deleted file mode 100644 index 7abc5c956..000000000 --- a/assets/js/hooks/style-attributes.ts +++ /dev/null @@ -1,101 +0,0 @@ -/* eslint-disable @wordpress/no-unsafe-wp-apis */ -/** - * External dependencies - */ -import { - __experimentalUseColorProps, - __experimentalGetSpacingClassesAndStyles, - __experimentalUseBorderProps, -} from '@wordpress/block-editor'; - -/** - * Internal dependencies - */ -import { isFeaturePluginBuild } from '../settings/blocks/feature-flags'; -import { isString, isObject } from '../types/type-guards'; -import { hasSpacingStyleSupport } from '../utils/global-style'; - -type WithClass = { - className: string; -}; - -type WithStyle = { - style: Record< string, unknown >; -}; - -const parseStyle = ( style: unknown ): Record< string, unknown > => { - if ( isString( style ) ) { - return JSON.parse( style ) || {}; - } - - if ( isObject( style ) ) { - return style; - } - - return {}; -}; - -export const useSpacingProps = ( attributes: unknown ): WithStyle => { - if ( ! isFeaturePluginBuild() || ! hasSpacingStyleSupport() ) { - return { - style: {}, - }; - } - const attributesObject = isObject( attributes ) ? attributes : {}; - const style = parseStyle( attributesObject.style ); - - return __experimentalGetSpacingClassesAndStyles( { - ...attributesObject, - style, - } ); -}; - -export const useTypographyProps = ( attributes: unknown ): WithStyle => { - const attributesObject = isObject( attributes ) ? attributes : {}; - const style = parseStyle( attributesObject.style ); - const typography = isObject( style.typography ) - ? ( style.typography as Record< string, unknown > ) - : {}; - - return { - style: { - fontSize: attributesObject.fontSize - ? `var(--wp--preset--font-size--${ attributesObject.fontSize })` - : typography.fontSize, - lineHeight: typography.lineHeight, - fontWeight: typography.fontWeight, - textTransform: typography.textTransform, - fontFamily: attributesObject.fontFamily, - }, - }; -}; - -export const useColorProps = ( attributes: unknown ): WithStyle & WithClass => { - if ( ! isFeaturePluginBuild() ) { - return { - className: '', - style: {}, - }; - } - - const attributesObject = isObject( attributes ) ? attributes : {}; - const style = parseStyle( attributesObject.style ); - - return __experimentalUseColorProps( { ...attributesObject, style } ); -}; - -export const useBorderProps = ( - attributes: unknown -): WithStyle & WithClass => { - if ( ! isFeaturePluginBuild() ) { - return { - className: '', - style: {}, - }; - } - - const attributesObject = isObject( attributes ) ? attributes : {}; - const style = parseStyle( attributesObject.style ); - - return __experimentalUseBorderProps( { ...attributesObject, style } ); -}; diff --git a/assets/js/icons/index.js b/assets/js/icons/index.js index 112f573f5..1dcedb31a 100644 --- a/assets/js/icons/index.js +++ b/assets/js/icons/index.js @@ -11,3 +11,4 @@ export { default as toggle } from './library/toggle'; export { default as totals } from './library/totals'; export { default as woo } from './library/woo'; export { default as miniCart } from './library/mini-cart'; +export { default as miniCartAlt } from './library/mini-cart-alt'; diff --git a/assets/js/icons/library/mini-cart-alt.tsx b/assets/js/icons/library/mini-cart-alt.tsx new file mode 100644 index 000000000..2e57b357f --- /dev/null +++ b/assets/js/icons/library/mini-cart-alt.tsx @@ -0,0 +1,39 @@ +/** + * External dependencies + */ +import { SVG } from '@wordpress/primitives'; + +const miniCartAlt = ( + + + + + + + + + + + + + +); + +export default miniCartAlt; diff --git a/bin/add-doc-footer.sh b/bin/add-doc-footer.sh index 5266bfe2e..43d8d7ee5 100755 --- a/bin/add-doc-footer.sh +++ b/bin/add-doc-footer.sh @@ -6,7 +6,7 @@ function update_footer { [We'\''re hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20'$1') +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20'$1') ' diff --git a/bin/hook-docs/data/actions.json b/bin/hook-docs/data/actions.json index 8dd7578c4..6ec1005eb 100644 --- a/bin/hook-docs/data/actions.json +++ b/bin/hook-docs/data/actions.json @@ -1,718 +1,805 @@ { - "$schema": "https://raw.githubusercontent.com/johnbillion/wp-hooks-generator/0.7.3/schema.json", - "hooks": [ - { - "name": "woocommerce_add_to_cart", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fires when an item is added to the cart.", - "long_description": "This hook fires when an item is added to the cart. This is triggered from the Store API in this context, but WooCommerce core add to cart events trigger the same hook.", - "tags": [ - { - "name": "internal", - "content": "Matches action name in WooCommerce core." - }, - { - "name": "param", - "content": "ID of the item in the cart.", - "types": [ "string" ], - "variable": "$cart_id" - }, - { - "name": "param", - "content": "ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$product_id" - }, - { - "name": "param", - "content": "Quantity of the item added to the cart.", - "types": [ "integer" ], - "variable": "$request_quantity" - }, - { - "name": "param", - "content": "Variation ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$variation_id" - }, - { - "name": "param", - "content": "Array of variation data.", - "types": [ "array" ], - "variable": "$variation" - }, - { - "name": "param", - "content": "Array of other cart item data.", - "types": [ "array" ], - "variable": "$cart_item_data" - } - ], - "long_description_html": "

This hook fires when an item is added to the cart. This is triggered from the Store API in this context, but WooCommerce core add to cart events trigger the same hook.

" - }, - "args": 6 - }, - { - "name": "woocommerce_after_main_content", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_after_main_content", - "long_description": "Called after rendering the main content for a product.", - "tags": [ - { - "name": "see", - "content": "Outputs closing DIV for the content (priority 10)", - "refers": "woocommerce_output_content_wrapper_end()" - } - ], - "long_description_html": "

Called after rendering the main content for a product.

" - }, - "args": 0 - }, - { - "name": "woocommerce_after_main_content", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_after_main_content", - "long_description": "Called after rendering the main content for a product.", - "tags": [ - { - "name": "see", - "content": "Outputs closing DIV for the content (priority 10)", - "refers": "woocommerce_output_content_wrapper_end()" - } - ], - "long_description_html": "

Called after rendering the main content for a product.

" - }, - "args": 0 - }, - { - "name": "woocommerce_after_shop_loop", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_after_shop_loop.", - "long_description": "", - "tags": [ - { - "name": "see", - "content": "Renders pagination (priority 10)", - "refers": "woocommerce_pagination()" - } - ], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_applied_coupon", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fires after a coupon has been applied to the cart.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches action name in WooCommerce core." - }, - { - "name": "param", - "content": "The coupon code that was applied.", - "types": [ "string" ], - "variable": "$coupon_code" - } - ], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_archive_description", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_archive_description.", - "long_description": "", - "tags": [ - { - "name": "see", - "content": "Renders the taxonomy archive description (priority 10)", - "refers": "woocommerce_taxonomy_archive_description()" - }, - { - "name": "see", - "content": "Renders the product archive description (priority 10)", - "refers": "woocommerce_product_archive_description()" - } - ], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_before_main_content", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_before_main_content", - "long_description": "Called before rendering the main content for a product.", - "tags": [ - { - "name": "see", - "content": "Outputs opening DIV for the content (priority 10)", - "refers": "woocommerce_output_content_wrapper()" - }, - { - "name": "see", - "content": "Outputs breadcrumb trail to the current product (priority 20)", - "refers": "woocommerce_breadcrumb()" - }, - { - "name": "see", - "content": "Outputs schema markup (priority 30)", - "refers": "WC_Structured_Data::generate_website_data()" - } - ], - "long_description_html": "

Called before rendering the main content for a product.

" - }, - "args": 0 - }, - { - "name": "woocommerce_before_main_content", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_before_main_content", - "long_description": "Called before rendering the main content for a product.", - "tags": [ - { - "name": "see", - "content": "Outputs opening DIV for the content (priority 10)", - "refers": "woocommerce_output_content_wrapper()" - }, - { - "name": "see", - "content": "Outputs breadcrumb trail to the current product (priority 20)", - "refers": "woocommerce_breadcrumb()" - }, - { - "name": "see", - "content": "Outputs schema markup (priority 30)", - "refers": "WC_Structured_Data::generate_website_data()" - } - ], - "long_description_html": "

Called before rendering the main content for a product.

" - }, - "args": 0 - }, - { - "name": "woocommerce_before_shop_loop", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_before_shop_loop.", - "long_description": "", - "tags": [ - { - "name": "see", - "content": "Render error notices (priority 10)", - "refers": "woocommerce_output_all_notices()" - }, - { - "name": "see", - "content": "Show number of results found (priority 20)", - "refers": "woocommerce_result_count()" - }, - { - "name": "see", - "content": "Show form to control sort order (priority 30)", - "refers": "woocommerce_catalog_ordering()" - } - ], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_cart_enqueue_data", - "file": "BlockTypes/MiniCart.php", - "type": "action", - "doc": { - "description": "Fires after cart block data is registered.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_cart_enqueue_data", - "file": "BlockTypes/Cart.php", - "type": "action", - "doc": { - "description": "Fires after cart block data is registered.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_checkout_enqueue_data", - "file": "BlockTypes/Checkout.php", - "type": "action", - "doc": { - "description": "Fires after checkout block data is registered.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_enqueue_cart_block_scripts_after", - "file": "BlockTypes/Cart.php", - "type": "action", - "doc": { - "description": "Fires after cart block scripts are enqueued.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_enqueue_cart_block_scripts_before", - "file": "BlockTypes/Cart.php", - "type": "action", - "doc": { - "description": "Fires before cart block scripts are enqueued.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_enqueue_checkout_block_scripts_after", - "file": "BlockTypes/Checkout.php", - "type": "action", - "doc": { - "description": "Fires after checkout block scripts are enqueued.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_enqueue_checkout_block_scripts_before", - "file": "BlockTypes/Checkout.php", - "type": "action", - "doc": { - "description": "Fires before checkout block scripts are enqueued.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_blocks_{$this->registry_identifier}_registration", - "file": "Integrations/IntegrationRegistry.php", - "type": "action", - "doc": { - "description": "Fires when the IntegrationRegistry is initialized.", - "long_description": "Runs before integrations are initialized allowing new integration to be registered for use. This should be used as the primary hook for integrations to include their scripts, styles, and other code extending the blocks.", - "tags": [ - { - "name": "param", - "content": "Instance of the IntegrationRegistry class which exposes the IntegrationRegistry::register() method.", - "types": [ - "\\Automattic\\WooCommerce\\Blocks\\Integrations\\IntegrationRegistry" - ], - "variable": "$this" - } - ], - "long_description_html": "

Runs before integrations are initialized allowing new integration to be registered for use. This should be used as the primary hook for integrations to include their scripts, styles, and other code extending the blocks.

" - }, - "args": 1 - }, - { - "name": "woocommerce_check_cart_items", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fires when cart items are being validated.", - "long_description": "Allow 3rd parties to validate cart items. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to wp errors instead.", - "tags": [ - { - "name": "deprecated", - "content": "" - }, - { - "name": "internal", - "content": "Matches action name in WooCommerce core." - } - ], - "long_description_html": "

Allow 3rd parties to validate cart items. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to wp errors instead.

" - }, - "args": 0 - }, - { - "name": "woocommerce_created_customer", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action", - "doc": { - "description": "Fires after a customer account has been registered.", - "long_description": "This hook fires after customer accounts are created and passes the customer data.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "New customer (user) ID.", - "types": [ "integer" ], - "variable": "$customer_id" - }, - { - "name": "param", - "content": "Array of customer (user) data.", - "types": [ "array" ], - "variable": "$new_customer_data" - }, - { - "name": "param", - "content": "The generated password for the account.", - "types": [ "string" ], - "variable": "$password_generated" - } - ], - "long_description_html": "

This hook fires after customer accounts are created and passes the customer data.

" - }, - "args": 3 - }, - { - "name": "woocommerce_no_products_found", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_no_products_found.", - "long_description": "", - "tags": [ - { - "name": "see", - "content": "Default no products found content (priority 10)", - "refers": "wc_no_products_found()" - } - ], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_register_post", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action", - "doc": { - "description": "Fires before a customer account is registered.", - "long_description": "This hook fires before customer accounts are created and passes the form data (username, email) and an array of errors.\n This could be used to add extra validation logic and append errors to the array.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Customer username.", - "types": [ "string" ], - "variable": "$username" - }, - { - "name": "param", - "content": "Customer email address.", - "types": [ "string" ], - "variable": "$user_email" - }, - { - "name": "param", - "content": "Error object.", - "types": [ "\\WP_Error" ], - "variable": "$errors" - } - ], - "long_description_html": "

This hook fires before customer accounts are created and passes the form data (username, email) and an array of errors.

This could be used to add extra validation logic and append errors to the array.

" - }, - "args": 3 - }, - { - "name": "woocommerce_rest_checkout_process_payment_with_context", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action_reference", - "doc": { - "description": "Process payment with context.", - "long_description": "", - "tags": [ - { - "name": "hook", - "content": "woocommerce_rest_checkout_process_payment_with_context" - }, - { - "name": "throws", - "content": "If there is an error taking payment, an \\Exception object can be thrown with an error message.", - "types": [ "\\Exception" ] - }, - { - "name": "param", - "content": "Holds context for the payment, including order ID and payment method.", - "types": [ - "\\Automattic\\WooCommerce\\StoreApi\\Payments\\PaymentContext" - ], - "variable": "$context" - }, - { - "name": "param", - "content": "Result object for the transaction.", - "types": [ - "\\Automattic\\WooCommerce\\StoreApi\\Payments\\PaymentResult" - ], - "variable": "$payment_result" - } - ], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_shop_loop", - "file": "BlockTypes/ClassicTemplate.php", - "type": "action", - "doc": { - "description": "Hook: woocommerce_shop_loop.", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 0 - }, - { - "name": "woocommerce_store_api_cart_errors", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fires an action to validate the cart.", - "long_description": "Functions hooking into this should add custom errors using the provided WP_Error instance.", - "tags": [ - { - "name": "example", - "content": "docs/examples/validate-cart.md" - }, - { - "name": "param", - "content": "WP_Error object.", - "types": [ "\\WP_Error" ], - "variable": "$errors" - }, - { - "name": "param", - "content": "Cart object.", - "types": [ "\\WC_Cart" ], - "variable": "$cart" - } - ], - "long_description_html": "

Functions hooking into this should add custom errors using the provided WP_Error instance.

" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_cart_update_customer_from_request", - "file": "StoreApi/Routes/V1/CartUpdateCustomer.php", - "type": "action", - "doc": { - "description": "Fires when the Checkout Block/Store API updates a customer from the API request data.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "Customer object.", - "types": [ "\\WC_Customer" ], - "variable": "$customer" - }, - { - "name": "param", - "content": "Full details about the request.", - "types": [ "\\WP_REST_Request" ], - "variable": "$request" - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_cart_update_order_from_request", - "file": "StoreApi/Routes/V1/AbstractCartRoute.php", - "type": "action", - "doc": { - "description": "Fires when the order is synced with cart data from a cart route.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "Order object.", - "types": [ "\\WC_Order" ], - "variable": "$draft_order" - }, - { - "name": "param", - "content": "Customer object.", - "types": [ "\\WC_Customer" ], - "variable": "$customer" - }, - { - "name": "param", - "content": "Full details about the request.", - "types": [ "\\WP_REST_Request" ], - "variable": "$request" - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_checkout_order_processed", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action", - "doc": { - "description": "Fires before an order is processed by the Checkout Block/Store API.", - "long_description": "This hook informs extensions that $order has completed processing and is ready for payment.\n This is similar to existing core hook woocommerce_checkout_order_processed. We're using a new action: - To keep the interface focused (only pass $order, not passing request data). - This also explicitly indicates these orders are from checkout block/StoreAPI.", - "tags": [ - { - "name": "see", - "content": "", - "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3238" - }, - { - "name": "example", - "content": "docs/examples/checkout-order-processed.md" - }, - { - "name": "param", - "content": "Order object.", - "types": [ "\\WC_Order" ], - "variable": "$order" - } - ], - "long_description_html": "

This hook informs extensions that $order has completed processing and is ready for payment.

This is similar to existing core hook woocommerce_checkout_order_processed. We're using a new action:

  • To keep the interface focused (only pass $order, not passing request data).
  • This also explicitly indicates these orders are from checkout block/StoreAPI.
" - }, - "args": 1 - }, - { - "name": "woocommerce_store_api_checkout_update_order_from_request", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action", - "doc": { - "description": "Fires when the Checkout Block/Store API updates an order's from the API request data.", - "long_description": "This hook gives extensions the chance to update orders based on the data in the request. This can be used in conjunction with the ExtendSchema class to post custom data and then process it.", - "tags": [ - { - "name": "param", - "content": "Order object.", - "types": [ "\\WC_Order" ], - "variable": "$order" - }, - { - "name": "param", - "content": "Full details about the request.", - "types": [ "\\WP_REST_Request" ], - "variable": "$request" - } - ], - "long_description_html": "

This hook gives extensions the chance to update orders based on the data in the request. This can be used in conjunction with the ExtendSchema class to post custom data and then process it.

" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_checkout_update_order_meta", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "action", - "doc": { - "description": "Fires when the Checkout Block/Store API updates an order's meta data.", - "long_description": "This hook gives extensions the chance to add or update meta data on the $order. Throwing an exception from a callback attached to this action will make the Checkout Block render in a warning state, effectively preventing checkout.\n This is similar to existing core hook woocommerce_checkout_update_order_meta. We're using a new action: - To keep the interface focused (only pass $order, not passing request data). - This also explicitly indicates these orders are from checkout block/StoreAPI.", - "tags": [ - { - "name": "see", - "content": "", - "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3686" - }, - { - "name": "param", - "content": "Order object.", - "types": [ "\\WC_Order" ], - "variable": "$order" - } - ], - "long_description_html": "

This hook gives extensions the chance to add or update meta data on the $order. Throwing an exception from a callback attached to this action will make the Checkout Block render in a warning state, effectively preventing checkout.

This is similar to existing core hook woocommerce_checkout_update_order_meta. We're using a new action:

  • To keep the interface focused (only pass $order, not passing request data).
  • This also explicitly indicates these orders are from checkout block/StoreAPI.
" - }, - "args": 1 - }, - { - "name": "woocommerce_store_api_validate_add_to_cart", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fires during validation when adding an item to the cart via the Store API.", - "long_description": "Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from happening.", - "tags": [ - { - "name": "param", - "content": "Product object being added to the cart.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "param", - "content": "Add to cart request params including id, quantity, and variation attributes.", - "types": [ "array" ], - "variable": "$request" - } - ], - "long_description_html": "

Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from happening.

" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_validate_cart_item", - "file": "StoreApi/Utilities/CartController.php", - "type": "action", - "doc": { - "description": "Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from occurring.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "Product object being added to the cart.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "param", - "content": "Cart item array.", - "types": [ "array" ], - "variable": "$cart_item" - } - ], - "long_description_html": "" - }, - "args": 2 - } - ] -} + "$schema": "https://raw.githubusercontent.com/johnbillion/wp-hooks-generator/0.7.0/schema.json", + "hooks": [ + { + "name": "woocommerce_add_to_cart", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fires when an item is added to the cart.", + "long_description": "This hook fires when an item is added to the cart. This is triggered from the Store API in this context, but WooCommerce core add to cart events trigger the same hook.", + "tags": [ + { + "name": "internal", + "content": "Matches action name in WooCommerce core." + }, + { + "name": "param", + "content": "ID of the item in the cart.", + "types": [ + "string" + ], + "variable": "$cart_id" + }, + { + "name": "param", + "content": "ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$product_id" + }, + { + "name": "param", + "content": "Quantity of the item added to the cart.", + "types": [ + "integer" + ], + "variable": "$request_quantity" + }, + { + "name": "param", + "content": "Variation ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$variation_id" + }, + { + "name": "param", + "content": "Array of variation data.", + "types": [ + "array" + ], + "variable": "$variation" + }, + { + "name": "param", + "content": "Array of other cart item data.", + "types": [ + "array" + ], + "variable": "$cart_item_data" + } + ], + "long_description_html": "

This hook fires when an item is added to the cart. This is triggered from the Store API in this context, but WooCommerce core add to cart events trigger the same hook.

" + }, + "args": 6 + }, + { + "name": "woocommerce_after_main_content", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_after_main_content", + "long_description": "Called after rendering the main content for a product.", + "tags": [ + { + "name": "see", + "content": "Outputs closing DIV for the content (priority 10)", + "refers": "woocommerce_output_content_wrapper_end()" + } + ], + "long_description_html": "

Called after rendering the main content for a product.

" + }, + "args": 0 + }, + { + "name": "woocommerce_after_main_content", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_after_main_content", + "long_description": "Called after rendering the main content for a product.", + "tags": [ + { + "name": "see", + "content": "Outputs closing DIV for the content (priority 10)", + "refers": "woocommerce_output_content_wrapper_end()" + } + ], + "long_description_html": "

Called after rendering the main content for a product.

" + }, + "args": 0 + }, + { + "name": "woocommerce_after_shop_loop", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_after_shop_loop.", + "long_description": "", + "tags": [ + { + "name": "see", + "content": "Renders pagination (priority 10)", + "refers": "woocommerce_pagination()" + } + ], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_applied_coupon", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fires after a coupon has been applied to the cart.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches action name in WooCommerce core." + }, + { + "name": "param", + "content": "The coupon code that was applied.", + "types": [ + "string" + ], + "variable": "$coupon_code" + } + ], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_archive_description", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_archive_description.", + "long_description": "", + "tags": [ + { + "name": "see", + "content": "Renders the taxonomy archive description (priority 10)", + "refers": "woocommerce_taxonomy_archive_description()" + }, + { + "name": "see", + "content": "Renders the product archive description (priority 10)", + "refers": "woocommerce_product_archive_description()" + } + ], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_before_main_content", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_before_main_content", + "long_description": "Called before rendering the main content for a product.", + "tags": [ + { + "name": "see", + "content": "Outputs opening DIV for the content (priority 10)", + "refers": "woocommerce_output_content_wrapper()" + }, + { + "name": "see", + "content": "Outputs breadcrumb trail to the current product (priority 20)", + "refers": "woocommerce_breadcrumb()" + }, + { + "name": "see", + "content": "Outputs schema markup (priority 30)", + "refers": "WC_Structured_Data::generate_website_data()" + } + ], + "long_description_html": "

Called before rendering the main content for a product.

" + }, + "args": 0 + }, + { + "name": "woocommerce_before_main_content", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_before_main_content", + "long_description": "Called before rendering the main content for a product.", + "tags": [ + { + "name": "see", + "content": "Outputs opening DIV for the content (priority 10)", + "refers": "woocommerce_output_content_wrapper()" + }, + { + "name": "see", + "content": "Outputs breadcrumb trail to the current product (priority 20)", + "refers": "woocommerce_breadcrumb()" + }, + { + "name": "see", + "content": "Outputs schema markup (priority 30)", + "refers": "WC_Structured_Data::generate_website_data()" + } + ], + "long_description_html": "

Called before rendering the main content for a product.

" + }, + "args": 0 + }, + { + "name": "woocommerce_before_shop_loop", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_before_shop_loop.", + "long_description": "", + "tags": [ + { + "name": "see", + "content": "Render error notices (priority 10)", + "refers": "woocommerce_output_all_notices()" + }, + { + "name": "see", + "content": "Show number of results found (priority 20)", + "refers": "woocommerce_result_count()" + }, + { + "name": "see", + "content": "Show form to control sort order (priority 30)", + "refers": "woocommerce_catalog_ordering()" + } + ], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_cart_enqueue_data", + "file": "BlockTypes/Cart.php", + "type": "action", + "doc": { + "description": "Fires after cart block data is registered.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_cart_enqueue_data", + "file": "BlockTypes/MiniCart.php", + "type": "action", + "doc": { + "description": "Fires after cart block data is registered.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_checkout_enqueue_data", + "file": "BlockTypes/Checkout.php", + "type": "action", + "doc": { + "description": "Fires after checkout block data is registered.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_enqueue_cart_block_scripts_after", + "file": "BlockTypes/Cart.php", + "type": "action", + "doc": { + "description": "Fires after cart block scripts are enqueued.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_enqueue_cart_block_scripts_before", + "file": "BlockTypes/Cart.php", + "type": "action", + "doc": { + "description": "Fires before cart block scripts are enqueued.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_enqueue_checkout_block_scripts_after", + "file": "BlockTypes/Checkout.php", + "type": "action", + "doc": { + "description": "Fires after checkout block scripts are enqueued.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_enqueue_checkout_block_scripts_before", + "file": "BlockTypes/Checkout.php", + "type": "action", + "doc": { + "description": "Fires before checkout block scripts are enqueued.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_blocks_{$this->registry_identifier}_registration", + "file": "Integrations/IntegrationRegistry.php", + "type": "action", + "doc": { + "description": "Fires when the IntegrationRegistry is initialized.", + "long_description": "Runs before integrations are initialized allowing new integration to be registered for use. This should be used as the primary hook for integrations to include their scripts, styles, and other code extending the blocks.", + "tags": [ + { + "name": "param", + "content": "Instance of the IntegrationRegistry class which exposes the IntegrationRegistry::register() method.", + "types": [ + "\\Automattic\\WooCommerce\\Blocks\\Integrations\\IntegrationRegistry" + ], + "variable": "$this" + } + ], + "long_description_html": "

Runs before integrations are initialized allowing new integration to be registered for use. This should be used as the primary hook for integrations to include their scripts, styles, and other code extending the blocks.

" + }, + "args": 1 + }, + { + "name": "woocommerce_check_cart_items", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fires when cart items are being validated.", + "long_description": "Allow 3rd parties to validate cart items. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to wp errors instead.", + "tags": [ + { + "name": "deprecated", + "content": "" + }, + { + "name": "internal", + "content": "Matches action name in WooCommerce core." + } + ], + "long_description_html": "

Allow 3rd parties to validate cart items. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to wp errors instead.

" + }, + "args": 0 + }, + { + "name": "woocommerce_created_customer", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires after a customer account has been registered.", + "long_description": "This hook fires after customer accounts are created and passes the customer data.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "New customer (user) ID.", + "types": [ + "integer" + ], + "variable": "$customer_id" + }, + { + "name": "param", + "content": "Array of customer (user) data.", + "types": [ + "array" + ], + "variable": "$new_customer_data" + }, + { + "name": "param", + "content": "The generated password for the account.", + "types": [ + "string" + ], + "variable": "$password_generated" + } + ], + "long_description_html": "

This hook fires after customer accounts are created and passes the customer data.

" + }, + "args": 3 + }, + { + "name": "woocommerce_no_products_found", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_no_products_found.", + "long_description": "", + "tags": [ + { + "name": "see", + "content": "Default no products found content (priority 10)", + "refers": "wc_no_products_found()" + } + ], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_register_post", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires before a customer account is registered.", + "long_description": "This hook fires before customer accounts are created and passes the form data (username, email) and an array of errors.\n This could be used to add extra validation logic and append errors to the array.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Customer username.", + "types": [ + "string" + ], + "variable": "$username" + }, + { + "name": "param", + "content": "Customer email address.", + "types": [ + "string" + ], + "variable": "$user_email" + }, + { + "name": "param", + "content": "Error object.", + "types": [ + "\\WP_Error" + ], + "variable": "$errors" + } + ], + "long_description_html": "

This hook fires before customer accounts are created and passes the form data (username, email) and an array of errors.

This could be used to add extra validation logic and append errors to the array.

" + }, + "args": 3 + }, + { + "name": "woocommerce_rest_checkout_process_payment_with_context", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action_reference", + "doc": { + "description": "Process payment with context.", + "long_description": "", + "tags": [ + { + "name": "hook", + "content": "woocommerce_rest_checkout_process_payment_with_context" + }, + { + "name": "throws", + "content": "If there is an error taking payment, an \\Exception object can be thrown with an error message.", + "types": [ + "\\Exception" + ] + }, + { + "name": "param", + "content": "Holds context for the payment, including order ID and payment method.", + "types": [ + "\\Automattic\\WooCommerce\\StoreApi\\Payments\\PaymentContext" + ], + "variable": "$context" + }, + { + "name": "param", + "content": "Result object for the transaction.", + "types": [ + "\\Automattic\\WooCommerce\\StoreApi\\Payments\\PaymentResult" + ], + "variable": "$payment_result" + } + ], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_shop_loop", + "file": "BlockTypes/ClassicTemplate.php", + "type": "action", + "doc": { + "description": "Hook: woocommerce_shop_loop.", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 0 + }, + { + "name": "woocommerce_store_api_cart_errors", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fires an action to validate the cart.", + "long_description": "Functions hooking into this should add custom errors using the provided WP_Error instance.", + "tags": [ + { + "name": "example", + "content": "docs/examples/validate-cart.md" + }, + { + "name": "param", + "content": "WP_Error object.", + "types": [ + "\\WP_Error" + ], + "variable": "$errors" + }, + { + "name": "param", + "content": "Cart object.", + "types": [ + "\\WC_Cart" + ], + "variable": "$cart" + } + ], + "long_description_html": "

Functions hooking into this should add custom errors using the provided WP_Error instance.

" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_cart_update_customer_from_request", + "file": "StoreApi/Routes/V1/CartUpdateCustomer.php", + "type": "action", + "doc": { + "description": "Fires when the Checkout Block/Store API updates a customer from the API request data.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "Customer object.", + "types": [ + "\\WC_Customer" + ], + "variable": "$customer" + }, + { + "name": "param", + "content": "Full details about the request.", + "types": [ + "\\WP_REST_Request" + ], + "variable": "$request" + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_cart_update_order_from_request", + "file": "StoreApi/Routes/V1/AbstractCartRoute.php", + "type": "action", + "doc": { + "description": "Fires when the order is synced with cart data from a cart route.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "Order object.", + "types": [ + "\\WC_Order" + ], + "variable": "$draft_order" + }, + { + "name": "param", + "content": "Customer object.", + "types": [ + "\\WC_Customer" + ], + "variable": "$customer" + }, + { + "name": "param", + "content": "Full details about the request.", + "types": [ + "\\WP_REST_Request" + ], + "variable": "$request" + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_checkout_order_processed", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires before an order is processed by the Checkout Block/Store API.", + "long_description": "This hook informs extensions that $order has completed processing and is ready for payment.\n This is similar to existing core hook woocommerce_checkout_order_processed. We're using a new action: - To keep the interface focused (only pass $order, not passing request data). - This also explicitly indicates these orders are from checkout block/StoreAPI.", + "tags": [ + { + "name": "see", + "content": "", + "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3238" + }, + { + "name": "example", + "content": "docs/examples/checkout-order-processed.md" + }, + { + "name": "param", + "content": "Order object.", + "types": [ + "\\WC_Order" + ], + "variable": "$order" + } + ], + "long_description_html": "

This hook informs extensions that $order has completed processing and is ready for payment.

This is similar to existing core hook woocommerce_checkout_order_processed. We're using a new action:

  • To keep the interface focused (only pass $order, not passing request data).
  • This also explicitly indicates these orders are from checkout block/StoreAPI.
" + }, + "args": 1 + }, + { + "name": "woocommerce_store_api_checkout_update_customer_from_request", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires when the Checkout Block/Store API updates a customer from the API request data.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "Customer object.", + "types": [ + "\\WC_Customer" + ], + "variable": "$customer" + }, + { + "name": "param", + "content": "Full details about the request.", + "types": [ + "\\WP_REST_Request" + ], + "variable": "$request" + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_checkout_update_order_from_request", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires when the Checkout Block/Store API updates an order's from the API request data.", + "long_description": "This hook gives extensions the chance to update orders based on the data in the request. This can be used in conjunction with the ExtendSchema class to post custom data and then process it.", + "tags": [ + { + "name": "param", + "content": "Order object.", + "types": [ + "\\WC_Order" + ], + "variable": "$order" + }, + { + "name": "param", + "content": "Full details about the request.", + "types": [ + "\\WP_REST_Request" + ], + "variable": "$request" + } + ], + "long_description_html": "

This hook gives extensions the chance to update orders based on the data in the request. This can be used in conjunction with the ExtendSchema class to post custom data and then process it.

" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_checkout_update_order_meta", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "action", + "doc": { + "description": "Fires when the Checkout Block/Store API updates an order's meta data.", + "long_description": "This hook gives extensions the chance to add or update meta data on the $order. Throwing an exception from a callback attached to this action will make the Checkout Block render in a warning state, effectively preventing checkout.\n This is similar to existing core hook woocommerce_checkout_update_order_meta. We're using a new action: - To keep the interface focused (only pass $order, not passing request data). - This also explicitly indicates these orders are from checkout block/StoreAPI.", + "tags": [ + { + "name": "see", + "content": "", + "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3686" + }, + { + "name": "param", + "content": "Order object.", + "types": [ + "\\WC_Order" + ], + "variable": "$order" + } + ], + "long_description_html": "

This hook gives extensions the chance to add or update meta data on the $order. Throwing an exception from a callback attached to this action will make the Checkout Block render in a warning state, effectively preventing checkout.

This is similar to existing core hook woocommerce_checkout_update_order_meta. We're using a new action:

  • To keep the interface focused (only pass $order, not passing request data).
  • This also explicitly indicates these orders are from checkout block/StoreAPI.
" + }, + "args": 1 + }, + { + "name": "woocommerce_store_api_validate_add_to_cart", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fires during validation when adding an item to the cart via the Store API.", + "long_description": "Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from happening.", + "tags": [ + { + "name": "param", + "content": "Product object being added to the cart.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "param", + "content": "Add to cart request params including id, quantity, and variation attributes.", + "types": [ + "array" + ], + "variable": "$request" + } + ], + "long_description_html": "

Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from happening.

" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_validate_cart_item", + "file": "StoreApi/Utilities/CartController.php", + "type": "action", + "doc": { + "description": "Fire action to validate add to cart. Functions hooking into this should throw an \\Exception to prevent add to cart from occurring.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "Product object being added to the cart.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "param", + "content": "Cart item array.", + "types": [ + "array" + ], + "variable": "$cart_item" + } + ], + "long_description_html": "" + }, + "args": 2 + } + ] +} \ No newline at end of file diff --git a/bin/hook-docs/data/filters.json b/bin/hook-docs/data/filters.json index e2efdd482..5b7991c02 100644 --- a/bin/hook-docs/data/filters.json +++ b/bin/hook-docs/data/filters.json @@ -1,854 +1,1011 @@ { - "$schema": "https://raw.githubusercontent.com/johnbillion/wp-hooks-generator/0.7.3/schema.json", - "hooks": [ - { - "name": "__experimental_woocommerce_blocks_add_data_attributes_to_block", - "file": "BlockTypesController.php", - "type": "filter", - "doc": { - "description": "Filters the list of allowed Block Names", - "long_description": "This hook defines which block names should have block name and attribute data- attributes appended on render.", - "tags": [ - { - "name": "param", - "content": "List of namespaces.", - "types": [ "array" ], - "variable": "$allowed_namespaces" - } - ], - "long_description_html": "

This hook defines which block names should have block name and attribute data- attributes appended on render.

" - }, - "args": 1 - }, - { - "name": "__experimental_woocommerce_blocks_add_data_attributes_to_namespace", - "file": "BlockTypesController.php", - "type": "filter", - "doc": { - "description": "Filters the list of allowed block namespaces.", - "long_description": "This hook defines which block namespaces should have block name and attribute `data-` attributes appended on render.", - "tags": [ - { - "name": "param", - "content": "List of namespaces.", - "types": [ "array" ], - "variable": "$allowed_namespaces" - } - ], - "long_description_html": "

This hook defines which block namespaces should have block name and attribute data- attributes appended on render.

" - }, - "args": 1 - }, - { - "name": "__experimental_woocommerce_blocks_payment_gateway_features_list", - "file": "Payments/Integrations/PayPal.php", - "type": "filter", - "doc": { - "description": "Filter to control what features are available for each payment gateway.", - "long_description": "", - "tags": [ - { - "name": "example", - "content": "docs/examples/payment-gateways-features-list.md" - }, - { - "name": "param", - "content": "List of supported features.", - "types": [ "array" ], - "variable": "$features" - }, - { - "name": "param", - "content": "Gateway name.", - "types": [ "string" ], - "variable": "$name" - }, - { - "name": "return", - "content": "Updated list of supported features.", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_add_cart_item", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filters the item being added to the cart.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Array of cart item data being added to the cart.", - "types": [ "array" ], - "variable": "$cart_item_data" - }, - { - "name": "param", - "content": "Id of the item in the cart.", - "types": [ "string" ], - "variable": "$cart_id" - }, - { - "name": "return", - "content": "Updated cart item data.", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_add_cart_item_data", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filter cart item data for add to cart requests.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Array of other cart item data.", - "types": [ "array" ], - "variable": "$cart_item_data" - }, - { - "name": "param", - "content": "ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$product_id" - }, - { - "name": "param", - "content": "Variation ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$variation_id" - }, - { - "name": "param", - "content": "Quantity of the item added to the cart.", - "types": [ "integer" ], - "variable": "$quantity" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 4 - }, - { - "name": "woocommerce_add_to_cart_sold_individually_quantity", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filter sold individually quantity for add to cart requests.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Defaults to 1.", - "types": [ "integer" ], - "variable": "$sold_individually_quantity" - }, - { - "name": "param", - "content": "Quantity of the item added to the cart.", - "types": [ "integer" ], - "variable": "$quantity" - }, - { - "name": "param", - "content": "ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$product_id" - }, - { - "name": "param", - "content": "Variation ID of the product added to the cart.", - "types": [ "integer" ], - "variable": "$variation_id" - }, - { - "name": "param", - "content": "Array of other cart item data.", - "types": [ "array" ], - "variable": "$cart_item_data" - }, - { - "name": "return", - "content": "", - "types": [ "integer" ] - } - ], - "long_description_html": "" - }, - "args": 5 - }, - { - "name": "woocommerce_add_to_cart_validation", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filters if an item being added to the cart passed validation checks.", - "long_description": "Allow 3rd parties to validate if an item can be added to the cart. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to exceptions instead.", - "tags": [ - { - "name": "deprecated", - "content": "" - }, - { - "name": "param", - "content": "True if the item passed validation.", - "types": [ "boolean" ], - "variable": "$passed_validation" - }, - { - "name": "param", - "content": "Product ID being validated.", - "types": [ "integer" ], - "variable": "$product_id" - }, - { - "name": "param", - "content": "Quantity added to the cart.", - "types": [ "integer" ], - "variable": "$quantity" - }, - { - "name": "param", - "content": "Variation ID being added to the cart.", - "types": [ "integer" ], - "variable": "$variation_id" - }, - { - "name": "param", - "content": "Variation data.", - "types": [ "array" ], - "variable": "$variation" - }, - { - "name": "return", - "content": "", - "types": [ "boolean" ] - } - ], - "long_description_html": "

Allow 3rd parties to validate if an item can be added to the cart. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to exceptions instead.

" - }, - "args": 5 - }, - { - "name": "woocommerce_adjust_non_base_location_prices", - "file": "StoreApi/Utilities/ProductQuery.php", - "type": "filter", - "doc": { - "description": "Filters if taxes should be removed from locations outside the store base location.", - "long_description": "The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations. e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "True by default.", - "types": [ "boolean" ], - "variable": "$adjust_non_base_location_prices" - }, - { - "name": "return", - "content": "", - "types": [ "boolean" ] - } - ], - "long_description_html": "

The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations. e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.

" - }, - "args": 1 - }, - { - "name": "woocommerce_admin_disabled", - "file": "InboxNotifications.php", - "type": "filter", - "doc": { - "description": "", - "long_description": "", - "tags": [], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_apply_individual_use_coupon", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filter coupons to remove when applying an individual use coupon.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Array of coupons to remove from the cart.", - "types": [ "array" ], - "variable": "$coupons" - }, - { - "name": "param", - "content": "Coupon object applied to the cart.", - "types": [ "\\WC_Coupon" ], - "variable": "$coupon" - }, - { - "name": "param", - "content": "Array of applied coupons already applied to the cart.", - "types": [ "array" ], - "variable": "$applied_coupons" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 3 - }, - { - "name": "woocommerce_apply_with_individual_use_coupon", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filters if a coupon can be applied alongside other individual use coupons.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Defaults to false.", - "types": [ "boolean" ], - "variable": "$apply_with_individual_use_coupon" - }, - { - "name": "param", - "content": "Coupon object applied to the cart.", - "types": [ "\\WC_Coupon" ], - "variable": "$coupon" - }, - { - "name": "param", - "content": "Individual use coupon already applied to the cart.", - "types": [ "\\WC_Coupon" ], - "variable": "$individual_use_coupon" - }, - { - "name": "param", - "content": "Array of applied coupons already applied to the cart.", - "types": [ "array" ], - "variable": "$applied_coupons" - }, - { - "name": "return", - "content": "", - "types": [ "boolean" ] - } - ], - "long_description_html": "" - }, - "args": 4 - }, - { - "name": "woocommerce_blocks_product_grid_is_cacheable", - "file": "BlockTypes/AbstractProductGrid.php", - "type": "filter", - "doc": { - "description": "Filters whether or not the product grid is cacheable.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "The list of script dependencies.", - "types": [ "boolean" ], - "variable": "$is_cacheable" - }, - { - "name": "param", - "content": "Query args for the products query passed to BlocksWpQuery.", - "types": [ "array" ], - "variable": "$query_args" - }, - { - "name": "return", - "content": "True to enable cache, false to disable cache.", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_blocks_product_grid_item_html", - "file": "BlockTypes/AbstractProductGrid.php", - "type": "filter", - "doc": { - "description": "Filters the HTML for products in the grid.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "Product grid item HTML.", - "types": [ "string" ], - "variable": "$html" - }, - { - "name": "param", - "content": "Product data passed to the template.", - "types": [ "array" ], - "variable": "$data" - }, - { - "name": "param", - "content": "Product object.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "return", - "content": "Updated product grid item HTML.", - "types": [ "string" ] - } - ], - "long_description_html": "" - }, - "args": 3 - }, - { - "name": "woocommerce_blocks_register_script_dependencies", - "file": "Assets/Api.php", - "type": "filter", - "doc": { - "description": "Filters the list of script dependencies.", - "long_description": "", - "tags": [ - { - "name": "param", - "content": "The list of script dependencies.", - "types": [ "array" ], - "variable": "$dependencies" - }, - { - "name": "param", - "content": "The script's handle.", - "types": [ "string" ], - "variable": "$handle" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 2 - }, - { - "name": "woocommerce_cart_contents_changed", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filters the entire cart contents when the cart changes.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Array of all cart items.", - "types": [ "array" ], - "variable": "$cart_contents" - }, - { - "name": "return", - "content": "Updated array of all cart items.", - "types": [ "array" ] - } - ], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_ga_disable_tracking", - "file": "Domain/Services/GoogleAnalytics.php", - "type": "filter", - "doc": { - "description": "Filter to disable Google Analytics tracking.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in GA extension." - }, - { - "name": "param", - "content": "If true, tracking will be disabled.", - "types": [ "boolean" ], - "variable": "$disable_tracking" - } - ], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_get_item_data", - "file": "StoreApi/Schemas/V1/CartItemSchema.php", - "type": "filter", - "doc": { - "description": "Filters cart item data.", - "long_description": "Filters the variation option name for custom option slugs.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Cart item data. Empty by default.", - "types": [ "array" ], - "variable": "$item_data" - }, - { - "name": "param", - "content": "Cart item array.", - "types": [ "array" ], - "variable": "$cart_item" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "

Filters the variation option name for custom option slugs.

" - }, - "args": 2 - }, - { - "name": "woocommerce_new_customer_data", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "filter", - "doc": { - "description": "Filters customer data before a customer account is registered.", - "long_description": "This hook filters customer data. It allows user data to be changed, for example, username, password, email, first name, last name, and role.", - "tags": [ - { - "name": "param", - "content": "An array of customer (user) data.", - "types": [ "array" ], - "variable": "$customer_data" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "

This hook filters customer data. It allows user data to be changed, for example, username, password, email, first name, last name, and role.

" - }, - "args": 1 - }, - { - "name": "woocommerce_registration_errors", - "file": "StoreApi/Routes/V1/Checkout.php", - "type": "filter", - "doc": { - "description": "Filters registration errors before a customer account is registered.", - "long_description": "This hook filters registration errors. This can be used to manipulate the array of errors before they are displayed.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Error object.", - "types": [ "\\WP_Error" ], - "variable": "$errors" - }, - { - "name": "param", - "content": "Customer username.", - "types": [ "string" ], - "variable": "$username" - }, - { - "name": "param", - "content": "Customer email address.", - "types": [ "string" ], - "variable": "$user_email" - }, - { - "name": "return", - "content": "", - "types": [ "\\WP_Error" ] - } - ], - "long_description_html": "

This hook filters registration errors. This can be used to manipulate the array of errors before they are displayed.

" - }, - "args": 3 - }, - { - "name": "woocommerce_shared_settings", - "file": "Assets/AssetDataRegistry.php", - "type": "filter", - "doc": { - "description": "Filters the array of shared settings.", - "long_description": "Low level hook for registration of new data late in the cycle. This is deprecated. Instead, use the data api:\n ```php Automattic\\WooCommerce\\Blocks\\Package::container()->get( Automattic\\WooCommerce\\Blocks\\Assets\\AssetDataRegistry::class )->add( $key, $value ) ```", - "tags": [ - { - "name": "deprecated", - "content": "" - }, - { - "name": "param", - "content": "Settings data.", - "types": [ "array" ], - "variable": "$data" - }, - { - "name": "return", - "content": "", - "types": [ "array" ] - } - ], - "long_description_html": "

Low level hook for registration of new data late in the cycle. This is deprecated. Instead, use the data api:

Automattic\\WooCommerce\\Blocks\\Package::container()->get( Automattic\\WooCommerce\\Blocks\\Assets\\AssetDataRegistry::class )->add( $key, $value )
" - }, - "args": 1 - }, - { - "name": "woocommerce_shipping_package_name", - "file": "StoreApi/Utilities/CartController.php", - "type": "filter", - "doc": { - "description": "Filters the shipping package name.", - "long_description": "", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "Shipping package name.", - "types": [ "string" ], - "variable": "$shipping_package_name" - }, - { - "name": "param", - "content": "Shipping package ID.", - "types": [ "string" ], - "variable": "$package_id" - }, - { - "name": "param", - "content": "Shipping package from WooCommerce.", - "types": [ "array" ], - "variable": "$package" - }, - { - "name": "return", - "content": "Shipping package name.", - "types": [ "string" ] - } - ], - "long_description_html": "" - }, - "args": 3 - }, - { - "name": "woocommerce_show_page_title", - "file": "BlockTypes/ClassicTemplate.php", - "type": "filter", - "doc": { - "description": "We need to load the scripts here because when using block templates wp_head() gets run after the block template. As a result we are trying to enqueue required scripts before we have even registered them.", - "long_description": "", - "tags": [ - { - "name": "see", - "content": "", - "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/5328#issuecomment-989013447" - } - ], - "long_description_html": "" - }, - "args": 1 - }, - { - "name": "woocommerce_store_api_disable_nonce_check", - "file": "StoreApi/Routes/V1/AbstractCartRoute.php", - "type": "filter", - "doc": { - "description": "Filters the Store API nonce check.", - "long_description": "This can be used to disable the nonce check when testing API endpoints via a REST API client.", - "tags": [ - { - "name": "param", - "content": "If true, nonce checks will be disabled.", - "types": [ "boolean" ], - "variable": "$disable_nonce_check" - }, - { - "name": "return", - "content": "", - "types": [ "boolean" ] - } - ], - "long_description_html": "

This can be used to disable the nonce check when testing API endpoints via a REST API client.

" - }, - "args": 1 - }, - { - "name": "woocommerce_store_api_product_quantity_limit", - "file": "StoreApi/Utilities/QuantityLimits.php", - "type": "filter", - "doc": { - "description": "Filters the quantity limit for a product being added to the cart via the Store API.", - "long_description": "Filters the variation option name for custom option slugs.", - "tags": [ - { - "name": "param", - "content": "Quantity limit which defaults to 9999 unless sold individually.", - "types": [ "integer" ], - "variable": "$quantity_limit" - }, - { - "name": "param", - "content": "Product instance.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "return", - "content": "", - "types": [ "integer" ] - } - ], - "long_description_html": "

Filters the variation option name for custom option slugs.

" - }, - "args": 2 - }, - { - "name": "woocommerce_store_api_product_quantity_{$value_type}", - "file": "StoreApi/Utilities/QuantityLimits.php", - "type": "filter", - "doc": { - "description": "Filters the quantity minimum for a cart item in Store API. This allows extensions to control the minimum qty of items already within the cart.", - "long_description": "The suffix of the hook will vary depending on the value being filtered. For example, minimum, maximum, multiple_of, editable.", - "tags": [ - { - "name": "param", - "content": "The value being filtered.", - "types": [ "mixed" ], - "variable": "$value" - }, - { - "name": "param", - "content": "The product object.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "param", - "content": "The cart item if the product exists in the cart, or null.", - "types": [ "array", "null" ], - "variable": "$cart_item" - }, - { - "name": "return", - "content": "", - "types": [ "mixed" ] - } - ], - "long_description_html": "

The suffix of the hook will vary depending on the value being filtered. For example, minimum, maximum, multiple_of, editable.

" - }, - "args": 3 - }, - { - "name": "woocommerce_variation_option_name", - "file": "StoreApi/Schemas/V1/CartItemSchema.php", - "type": "filter", - "doc": { - "description": "Filters the variation option name.", - "long_description": "Filters the variation option name for custom option slugs.", - "tags": [ - { - "name": "internal", - "content": "Matches filter name in WooCommerce core." - }, - { - "name": "param", - "content": "The name to display.", - "types": [ "string" ], - "variable": "$value" - }, - { - "name": "param", - "content": "Unused because this is not a variation taxonomy.", - "types": [ "null" ], - "variable": "$unused" - }, - { - "name": "param", - "content": "Taxonomy or product attribute name.", - "types": [ "string" ], - "variable": "$taxonomy" - }, - { - "name": "param", - "content": "Product data.", - "types": [ "\\WC_Product" ], - "variable": "$product" - }, - { - "name": "return", - "content": "", - "types": [ "string" ] - } - ], - "long_description_html": "

Filters the variation option name for custom option slugs.

" - }, - "args": 4 - } - ] -} + "$schema": "https://raw.githubusercontent.com/johnbillion/wp-hooks-generator/0.7.0/schema.json", + "hooks": [ + { + "name": "__experimental_woocommerce_blocks_add_data_attributes_to_block", + "file": "BlockTypesController.php", + "type": "filter", + "doc": { + "description": "Filters the list of allowed Block Names", + "long_description": "This hook defines which block names should have block name and attribute data- attributes appended on render.", + "tags": [ + { + "name": "param", + "content": "List of namespaces.", + "types": [ + "array" + ], + "variable": "$allowed_namespaces" + } + ], + "long_description_html": "

This hook defines which block names should have block name and attribute data- attributes appended on render.

" + }, + "args": 1 + }, + { + "name": "__experimental_woocommerce_blocks_add_data_attributes_to_namespace", + "file": "BlockTypesController.php", + "type": "filter", + "doc": { + "description": "Filters the list of allowed block namespaces.", + "long_description": "This hook defines which block namespaces should have block name and attribute `data-` attributes appended on render.", + "tags": [ + { + "name": "param", + "content": "List of namespaces.", + "types": [ + "array" + ], + "variable": "$allowed_namespaces" + } + ], + "long_description_html": "

This hook defines which block namespaces should have block name and attribute data- attributes appended on render.

" + }, + "args": 1 + }, + { + "name": "__experimental_woocommerce_blocks_payment_gateway_features_list", + "file": "Payments/Integrations/PayPal.php", + "type": "filter", + "doc": { + "description": "Filter to control what features are available for each payment gateway.", + "long_description": "", + "tags": [ + { + "name": "example", + "content": "docs/examples/payment-gateways-features-list.md" + }, + { + "name": "param", + "content": "List of supported features.", + "types": [ + "array" + ], + "variable": "$features" + }, + { + "name": "param", + "content": "Gateway name.", + "types": [ + "string" + ], + "variable": "$name" + }, + { + "name": "return", + "content": "Updated list of supported features.", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_add_cart_item", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filters the item being added to the cart.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Array of cart item data being added to the cart.", + "types": [ + "array" + ], + "variable": "$cart_item_data" + }, + { + "name": "param", + "content": "Id of the item in the cart.", + "types": [ + "string" + ], + "variable": "$cart_id" + }, + { + "name": "return", + "content": "Updated cart item data.", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_add_cart_item_data", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filter cart item data for add to cart requests.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Array of other cart item data.", + "types": [ + "array" + ], + "variable": "$cart_item_data" + }, + { + "name": "param", + "content": "ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$product_id" + }, + { + "name": "param", + "content": "Variation ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$variation_id" + }, + { + "name": "param", + "content": "Quantity of the item added to the cart.", + "types": [ + "integer" + ], + "variable": "$quantity" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 4 + }, + { + "name": "woocommerce_add_to_cart_sold_individually_quantity", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filter sold individually quantity for add to cart requests.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Defaults to 1.", + "types": [ + "integer" + ], + "variable": "$sold_individually_quantity" + }, + { + "name": "param", + "content": "Quantity of the item added to the cart.", + "types": [ + "integer" + ], + "variable": "$quantity" + }, + { + "name": "param", + "content": "ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$product_id" + }, + { + "name": "param", + "content": "Variation ID of the product added to the cart.", + "types": [ + "integer" + ], + "variable": "$variation_id" + }, + { + "name": "param", + "content": "Array of other cart item data.", + "types": [ + "array" + ], + "variable": "$cart_item_data" + }, + { + "name": "return", + "content": "", + "types": [ + "integer" + ] + } + ], + "long_description_html": "" + }, + "args": 5 + }, + { + "name": "woocommerce_add_to_cart_validation", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filters if an item being added to the cart passed validation checks.", + "long_description": "Allow 3rd parties to validate if an item can be added to the cart. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to exceptions instead.", + "tags": [ + { + "name": "deprecated", + "content": "" + }, + { + "name": "param", + "content": "True if the item passed validation.", + "types": [ + "boolean" + ], + "variable": "$passed_validation" + }, + { + "name": "param", + "content": "Product ID being validated.", + "types": [ + "integer" + ], + "variable": "$product_id" + }, + { + "name": "param", + "content": "Quantity added to the cart.", + "types": [ + "integer" + ], + "variable": "$quantity" + }, + { + "name": "param", + "content": "Variation ID being added to the cart.", + "types": [ + "integer" + ], + "variable": "$variation_id" + }, + { + "name": "param", + "content": "Variation data.", + "types": [ + "array" + ], + "variable": "$variation" + }, + { + "name": "return", + "content": "", + "types": [ + "boolean" + ] + } + ], + "long_description_html": "

Allow 3rd parties to validate if an item can be added to the cart. This is a legacy hook from Woo core. This filter will be deprecated because it encourages usage of wc_add_notice. For the API we need to capture notices and convert to exceptions instead.

" + }, + "args": 5 + }, + { + "name": "woocommerce_adjust_non_base_location_prices", + "file": "StoreApi/Utilities/ProductQuery.php", + "type": "filter", + "doc": { + "description": "Filters if taxes should be removed from locations outside the store base location.", + "long_description": "The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations. e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "True by default.", + "types": [ + "boolean" + ], + "variable": "$adjust_non_base_location_prices" + }, + { + "name": "return", + "content": "", + "types": [ + "boolean" + ] + } + ], + "long_description_html": "

The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations. e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.

" + }, + "args": 1 + }, + { + "name": "woocommerce_admin_disabled", + "file": "InboxNotifications.php", + "type": "filter", + "doc": { + "description": "", + "long_description": "", + "tags": [], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_apply_individual_use_coupon", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filter coupons to remove when applying an individual use coupon.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Array of coupons to remove from the cart.", + "types": [ + "array" + ], + "variable": "$coupons" + }, + { + "name": "param", + "content": "Coupon object applied to the cart.", + "types": [ + "\\WC_Coupon" + ], + "variable": "$coupon" + }, + { + "name": "param", + "content": "Array of applied coupons already applied to the cart.", + "types": [ + "array" + ], + "variable": "$applied_coupons" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 3 + }, + { + "name": "woocommerce_apply_with_individual_use_coupon", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filters if a coupon can be applied alongside other individual use coupons.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Defaults to false.", + "types": [ + "boolean" + ], + "variable": "$apply_with_individual_use_coupon" + }, + { + "name": "param", + "content": "Coupon object applied to the cart.", + "types": [ + "\\WC_Coupon" + ], + "variable": "$coupon" + }, + { + "name": "param", + "content": "Individual use coupon already applied to the cart.", + "types": [ + "\\WC_Coupon" + ], + "variable": "$individual_use_coupon" + }, + { + "name": "param", + "content": "Array of applied coupons already applied to the cart.", + "types": [ + "array" + ], + "variable": "$applied_coupons" + }, + { + "name": "return", + "content": "", + "types": [ + "boolean" + ] + } + ], + "long_description_html": "" + }, + "args": 4 + }, + { + "name": "woocommerce_blocks_product_grid_is_cacheable", + "file": "BlockTypes/AbstractProductGrid.php", + "type": "filter", + "doc": { + "description": "Filters whether or not the product grid is cacheable.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "The list of script dependencies.", + "types": [ + "boolean" + ], + "variable": "$is_cacheable" + }, + { + "name": "param", + "content": "Query args for the products query passed to BlocksWpQuery.", + "types": [ + "array" + ], + "variable": "$query_args" + }, + { + "name": "return", + "content": "True to enable cache, false to disable cache.", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_blocks_product_grid_item_html", + "file": "BlockTypes/AbstractProductGrid.php", + "type": "filter", + "doc": { + "description": "Filters the HTML for products in the grid.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "Product grid item HTML.", + "types": [ + "string" + ], + "variable": "$html" + }, + { + "name": "param", + "content": "Product data passed to the template.", + "types": [ + "array" + ], + "variable": "$data" + }, + { + "name": "param", + "content": "Product object.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "return", + "content": "Updated product grid item HTML.", + "types": [ + "string" + ] + } + ], + "long_description_html": "" + }, + "args": 3 + }, + { + "name": "woocommerce_blocks_register_script_dependencies", + "file": "Assets/Api.php", + "type": "filter", + "doc": { + "description": "Filters the list of script dependencies.", + "long_description": "", + "tags": [ + { + "name": "param", + "content": "The list of script dependencies.", + "types": [ + "array" + ], + "variable": "$dependencies" + }, + { + "name": "param", + "content": "The script's handle.", + "types": [ + "string" + ], + "variable": "$handle" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 2 + }, + { + "name": "woocommerce_cart_contents_changed", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filters the entire cart contents when the cart changes.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Array of all cart items.", + "types": [ + "array" + ], + "variable": "$cart_contents" + }, + { + "name": "return", + "content": "Updated array of all cart items.", + "types": [ + "array" + ] + } + ], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_ga_disable_tracking", + "file": "Domain/Services/GoogleAnalytics.php", + "type": "filter", + "doc": { + "description": "Filter to disable Google Analytics tracking.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in GA extension." + }, + { + "name": "param", + "content": "If true, tracking will be disabled.", + "types": [ + "boolean" + ], + "variable": "$disable_tracking" + } + ], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_get_item_data", + "file": "StoreApi/Schemas/V1/CartItemSchema.php", + "type": "filter", + "doc": { + "description": "Filters cart item data.", + "long_description": "Filters the variation option name for custom option slugs.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Cart item data. Empty by default.", + "types": [ + "array" + ], + "variable": "$item_data" + }, + { + "name": "param", + "content": "Cart item array.", + "types": [ + "array" + ], + "variable": "$cart_item" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "

Filters the variation option name for custom option slugs.

" + }, + "args": 2 + }, + { + "name": "woocommerce_new_customer_data", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "filter", + "doc": { + "description": "Filters customer data before a customer account is registered.", + "long_description": "This hook filters customer data. It allows user data to be changed, for example, username, password, email, first name, last name, and role.", + "tags": [ + { + "name": "param", + "content": "An array of customer (user) data.", + "types": [ + "array" + ], + "variable": "$customer_data" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "

This hook filters customer data. It allows user data to be changed, for example, username, password, email, first name, last name, and role.

" + }, + "args": 1 + }, + { + "name": "woocommerce_registration_errors", + "file": "StoreApi/Routes/V1/Checkout.php", + "type": "filter", + "doc": { + "description": "Filters registration errors before a customer account is registered.", + "long_description": "This hook filters registration errors. This can be used to manipulate the array of errors before they are displayed.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Error object.", + "types": [ + "\\WP_Error" + ], + "variable": "$errors" + }, + { + "name": "param", + "content": "Customer username.", + "types": [ + "string" + ], + "variable": "$username" + }, + { + "name": "param", + "content": "Customer email address.", + "types": [ + "string" + ], + "variable": "$user_email" + }, + { + "name": "return", + "content": "", + "types": [ + "\\WP_Error" + ] + } + ], + "long_description_html": "

This hook filters registration errors. This can be used to manipulate the array of errors before they are displayed.

" + }, + "args": 3 + }, + { + "name": "woocommerce_shared_settings", + "file": "Assets/AssetDataRegistry.php", + "type": "filter", + "doc": { + "description": "Filters the array of shared settings.", + "long_description": "Low level hook for registration of new data late in the cycle. This is deprecated. Instead, use the data api:\n ```php Automattic\\WooCommerce\\Blocks\\Package::container()->get( Automattic\\WooCommerce\\Blocks\\Assets\\AssetDataRegistry::class )->add( $key, $value ) ```", + "tags": [ + { + "name": "deprecated", + "content": "" + }, + { + "name": "param", + "content": "Settings data.", + "types": [ + "array" + ], + "variable": "$data" + }, + { + "name": "return", + "content": "", + "types": [ + "array" + ] + } + ], + "long_description_html": "

Low level hook for registration of new data late in the cycle. This is deprecated. Instead, use the data api:

Automattic\\WooCommerce\\Blocks\\Package::container()->get( Automattic\\WooCommerce\\Blocks\\Assets\\AssetDataRegistry::class )->add( $key, $value )
" + }, + "args": 1 + }, + { + "name": "woocommerce_shipping_package_name", + "file": "StoreApi/Utilities/CartController.php", + "type": "filter", + "doc": { + "description": "Filters the shipping package name.", + "long_description": "", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "Shipping package name.", + "types": [ + "string" + ], + "variable": "$shipping_package_name" + }, + { + "name": "param", + "content": "Shipping package ID.", + "types": [ + "string" + ], + "variable": "$package_id" + }, + { + "name": "param", + "content": "Shipping package from WooCommerce.", + "types": [ + "array" + ], + "variable": "$package" + }, + { + "name": "return", + "content": "Shipping package name.", + "types": [ + "string" + ] + } + ], + "long_description_html": "" + }, + "args": 3 + }, + { + "name": "woocommerce_show_page_title", + "file": "BlockTypes/ClassicTemplate.php", + "type": "filter", + "doc": { + "description": "We need to load the scripts here because when using block templates wp_head() gets run after the block template. As a result we are trying to enqueue required scripts before we have even registered them.", + "long_description": "", + "tags": [ + { + "name": "see", + "content": "", + "refers": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/5328#issuecomment-989013447" + } + ], + "long_description_html": "" + }, + "args": 1 + }, + { + "name": "woocommerce_store_api_disable_nonce_check", + "file": "StoreApi/Routes/V1/AbstractCartRoute.php", + "type": "filter", + "doc": { + "description": "Filters the Store API nonce check.", + "long_description": "This can be used to disable the nonce check when testing API endpoints via a REST API client.", + "tags": [ + { + "name": "param", + "content": "If true, nonce checks will be disabled.", + "types": [ + "boolean" + ], + "variable": "$disable_nonce_check" + }, + { + "name": "return", + "content": "", + "types": [ + "boolean" + ] + } + ], + "long_description_html": "

This can be used to disable the nonce check when testing API endpoints via a REST API client.

" + }, + "args": 1 + }, + { + "name": "woocommerce_store_api_product_quantity_limit", + "file": "StoreApi/Utilities/QuantityLimits.php", + "type": "filter", + "doc": { + "description": "Filters the quantity limit for a product being added to the cart via the Store API.", + "long_description": "Filters the variation option name for custom option slugs.", + "tags": [ + { + "name": "param", + "content": "Quantity limit which defaults to 9999 unless sold individually.", + "types": [ + "integer" + ], + "variable": "$quantity_limit" + }, + { + "name": "param", + "content": "Product instance.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "return", + "content": "", + "types": [ + "integer" + ] + } + ], + "long_description_html": "

Filters the variation option name for custom option slugs.

" + }, + "args": 2 + }, + { + "name": "woocommerce_store_api_product_quantity_{$value_type}", + "file": "StoreApi/Utilities/QuantityLimits.php", + "type": "filter", + "doc": { + "description": "Filters the quantity minimum for a cart item in Store API. This allows extensions to control the minimum qty of items already within the cart.", + "long_description": "The suffix of the hook will vary depending on the value being filtered. For example, minimum, maximum, multiple_of, editable.", + "tags": [ + { + "name": "param", + "content": "The value being filtered.", + "types": [ + "mixed" + ], + "variable": "$value" + }, + { + "name": "param", + "content": "The product object.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "param", + "content": "The cart item if the product exists in the cart, or null.", + "types": [ + "array", + "null" + ], + "variable": "$cart_item" + }, + { + "name": "return", + "content": "", + "types": [ + "mixed" + ] + } + ], + "long_description_html": "

The suffix of the hook will vary depending on the value being filtered. For example, minimum, maximum, multiple_of, editable.

" + }, + "args": 3 + }, + { + "name": "woocommerce_variation_option_name", + "file": "StoreApi/Schemas/V1/CartItemSchema.php", + "type": "filter", + "doc": { + "description": "Filters the variation option name.", + "long_description": "Filters the variation option name for custom option slugs.", + "tags": [ + { + "name": "internal", + "content": "Matches filter name in WooCommerce core." + }, + { + "name": "param", + "content": "The name to display.", + "types": [ + "string" + ], + "variable": "$value" + }, + { + "name": "param", + "content": "Unused because this is not a variation taxonomy.", + "types": [ + "null" + ], + "variable": "$unused" + }, + { + "name": "param", + "content": "Taxonomy or product attribute name.", + "types": [ + "string" + ], + "variable": "$taxonomy" + }, + { + "name": "param", + "content": "Product data.", + "types": [ + "\\WC_Product" + ], + "variable": "$product" + }, + { + "name": "return", + "content": "", + "types": [ + "string" + ] + } + ], + "long_description_html": "

Filters the variation option name for custom option slugs.

" + }, + "args": 4 + } + ] +} \ No newline at end of file diff --git a/bin/webpack-configs.js b/bin/webpack-configs.js index b2e837433..9f16254af 100644 --- a/bin/webpack-configs.js +++ b/bin/webpack-configs.js @@ -2,6 +2,7 @@ * External dependencies */ const path = require( 'path' ); +const fs = require( 'fs' ); const { kebabCase } = require( 'lodash' ); const RemoveFilesPlugin = require( './remove-files-webpack-plugin' ); const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' ); @@ -262,14 +263,19 @@ const getMainConfig = ( options = {} ) => { { from: './assets/js/blocks/**/block.json', to( { absoluteFilename } ) { - const blockName = absoluteFilename + /** + * Getting the block name from the JSON metadata is less error prone + * than extracting it from the file path. + */ + const JSONFile = fs.readFileSync( + path.resolve( __dirname, absoluteFilename ) + ); + const metadata = JSON.parse( JSONFile.toString() ); + const blockName = metadata.name .split( '/' ) - .at( -2 ); + .at( 1 ); return `./${ blockName }/block.json`; }, - globOptions: { - ignore: [ '**/inner-blocks/**' ], - }, }, ], } ), diff --git a/bin/webpack-entries.js b/bin/webpack-entries.js index b6e9d239f..714dc0646 100644 --- a/bin/webpack-entries.js +++ b/bin/webpack-entries.js @@ -96,6 +96,8 @@ const entries = { './node_modules/wordpress-components/src/snackbar/style.scss', 'combobox-control-style': './node_modules/wordpress-components/src/combobox-control/style.scss', + 'form-token-field-style': + './node_modules/wordpress-components/src/form-token-field/style.scss', 'general-style': glob.sync( './assets/**/*.scss', { ignore: [ diff --git a/composer.json b/composer.json index 0f8839383..56a423a8a 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "wp-phpunit/wp-phpunit": "^6.0", "woocommerce/woocommerce-sniffs": "0.1.0", "yoast/phpunit-polyfills": "^1.0", - "johnbillion/wp-hooks-generator": "^0.7.0", + "johnbillion/wp-hooks-generator": "^0.9.0", "mockery/mockery": "^1.4" }, "autoload": { diff --git a/composer.lock b/composer.lock index f2b0d4098..1a0acfea8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "850407a57ac7e6ccbae75e7a37a6b3a6", + "content-hash": "938acec166de3572a0884e7e81a9ba52", "packages": [ { "name": "automattic/jetpack-autoloader", @@ -282,29 +282,30 @@ }, { "name": "doctrine/instantiator", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.0", + "doctrine/coding-standard": "^9", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, "type": "library", "autoload": { @@ -331,7 +332,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" }, "funding": [ { @@ -347,7 +348,7 @@ "type": "tidelift" } ], - "time": "2020-11-10T18:47:58+00:00" + "time": "2022-03-03T08:28:38+00:00" }, { "name": "erusev/parsedown", @@ -452,20 +453,21 @@ }, { "name": "johnbillion/wp-hooks-generator", - "version": "0.7.0", + "version": "0.9.0", "source": { "type": "git", - "url": "https://github.com/johnbillion/wp-hooks-generator.git", - "reference": "26027e46d5396afbeb5ed18b0cd6a75deb2f2996" + "url": "https://github.com/wp-hooks/generator.git", + "reference": "6c7f173d85452db52a59a3a6bb943cbe7d845cde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnbillion/wp-hooks-generator/zipball/26027e46d5396afbeb5ed18b0cd6a75deb2f2996", - "reference": "26027e46d5396afbeb5ed18b0cd6a75deb2f2996", + "url": "https://api.github.com/repos/wp-hooks/generator/zipball/6c7f173d85452db52a59a3a6bb943cbe7d845cde", + "reference": "6c7f173d85452db52a59a3a6bb943cbe7d845cde", "shasum": "" }, "require": { - "johnbillion/wp-parser-lib": "^1", + "ext-libxml": "*", + "johnbillion/wp-parser-lib": "^1.3.0", "php": ">=7" }, "require-dev": { @@ -488,29 +490,30 @@ ], "description": "Generates a JSON representation of the WordPress actions and filters in your code", "support": { - "issues": "https://github.com/johnbillion/wp-hooks-generator/issues", - "source": "https://github.com/johnbillion/wp-hooks-generator/tree/0.7.0" + "issues": "https://github.com/wp-hooks/generator/issues", + "source": "https://github.com/wp-hooks/generator/tree/0.9.0" }, "funding": [ { - "url": "https://github.com/johnbillion", + "url": "https://github.com/sponsors/johnbillion", "type": "github" } ], - "time": "2021-11-10T17:22:21+00:00" + "abandoned": "wp-hooks/generator", + "time": "2022-07-03T12:35:07+00:00" }, { "name": "johnbillion/wp-parser-lib", - "version": "1.1.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/johnbillion/wp-parser-lib.git", - "reference": "4fd13bebd7fc7ac6e3ab9a1abc95afb6d6447647" + "reference": "46ed07365f8bd22f1edc828f9cfeed0c0f2c7d07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnbillion/wp-parser-lib/zipball/4fd13bebd7fc7ac6e3ab9a1abc95afb6d6447647", - "reference": "4fd13bebd7fc7ac6e3ab9a1abc95afb6d6447647", + "url": "https://api.github.com/repos/johnbillion/wp-parser-lib/zipball/46ed07365f8bd22f1edc828f9cfeed0c0f2c7d07", + "reference": "46ed07365f8bd22f1edc828f9cfeed0c0f2c7d07", "shasum": "" }, "require": { @@ -521,11 +524,11 @@ }, "type": "library", "autoload": { - "classmap": [ - "lib" - ], "files": [ "lib/runner.php" + ], + "classmap": [ + "lib" ] }, "notification-url": "https://packagist.org/downloads/", @@ -550,22 +553,22 @@ ], "support": { "issues": "https://github.com/johnbillion/wp-parser-lib/issues", - "source": "https://github.com/johnbillion/wp-parser-lib/tree/1.1.0" + "source": "https://github.com/johnbillion/wp-parser-lib/tree/1.3.0" }, - "time": "2021-01-06T22:49:12+00:00" + "time": "2022-01-27T13:57:08+00:00" }, { "name": "mockery/mockery", - "version": "1.4.4", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346" + "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/e01123a0e847d52d186c5eb4b9bf58b0c6d00346", - "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346", + "url": "https://api.github.com/repos/mockery/mockery/zipball/c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac", + "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac", "shasum": "" }, "require": { @@ -622,43 +625,44 @@ ], "support": { "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.4.4" + "source": "https://github.com/mockery/mockery/tree/1.5.0" }, - "time": "2021-09-13T15:28:59+00:00" + "time": "2022-01-20T13:18:17+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.10.2", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, - "replace": { - "myclabs/deep-copy": "self.version" + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, "files": [ "src/DeepCopy/deep_copy.php" - ] + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -674,7 +678,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" }, "funding": [ { @@ -682,7 +686,7 @@ "type": "tidelift" } ], - "time": "2020-11-13T09:40:50+00:00" + "time": "2022-03-03T13:19:32+00:00" }, { "name": "nikic/php-parser", @@ -1269,16 +1273,16 @@ }, { "name": "phpunit/php-file-iterator", - "version": "3.0.5", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { @@ -1317,7 +1321,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { @@ -1325,7 +1329,7 @@ "type": "github" } ], - "time": "2020-09-28T05:57:25+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { "name": "phpunit/php-invoker", @@ -1629,11 +1633,11 @@ } }, "autoload": { - "classmap": [ - "src/" - ], "files": [ "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1973,16 +1977,16 @@ }, { "name": "sebastian/environment", - "version": "5.1.3", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac" + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", "shasum": "" }, "require": { @@ -2024,7 +2028,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" }, "funding": [ { @@ -2032,20 +2036,20 @@ "type": "github" } ], - "time": "2020-09-28T05:52:38+00:00" + "time": "2022-04-03T09:37:03+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { @@ -2094,14 +2098,14 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -2109,7 +2113,7 @@ "type": "github" } ], - "time": "2020-09-28T05:24:23+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", @@ -2759,16 +2763,16 @@ }, { "name": "yoast/phpunit-polyfills", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", - "reference": "1a582ab1d91e86aa450340c4d35631a85314ff9f" + "reference": "5ea3536428944955f969bc764bbe09738e151ada" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/1a582ab1d91e86aa450340c4d35631a85314ff9f", - "reference": "1a582ab1d91e86aa450340c4d35631a85314ff9f", + "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/5ea3536428944955f969bc764bbe09738e151ada", + "reference": "5ea3536428944955f969bc764bbe09738e151ada", "shasum": "" }, "require": { @@ -2816,7 +2820,7 @@ "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues", "source": "https://github.com/Yoast/PHPUnit-Polyfills" }, - "time": "2021-10-03T08:40:26+00:00" + "time": "2021-11-23T01:37:03+00:00" } ], "aliases": [], diff --git a/docs/README.md b/docs/README.md index e14ac81e3..c9d8cdfc9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -149,3 +149,4 @@ The following tutorials from [developer.woocommerce.com](https://developer.wooco 🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/readme.md) + diff --git a/docs/contributors/README.md b/docs/contributors/README.md index d256dc943..2991aa4bb 100644 --- a/docs/contributors/README.md +++ b/docs/contributors/README.md @@ -18,7 +18,7 @@ This folder contains documentation for developers and contributors looking to ge [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/README.md) diff --git a/docs/contributors/components.md b/docs/contributors/components.md index fa9abd58b..a24e19770 100644 --- a/docs/contributors/components.md +++ b/docs/contributors/components.md @@ -48,6 +48,7 @@ If you're stuck, copy source of an existing story to get started. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/components.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/components.md) + diff --git a/docs/contributors/contributing/README.md b/docs/contributors/contributing/README.md index 55d0b6245..62fb54c25 100644 --- a/docs/contributors/contributing/README.md +++ b/docs/contributors/contributing/README.md @@ -18,6 +18,7 @@ This folder contains documentation for developers and contributors looking to ge [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/README.md) + diff --git a/docs/contributors/contributing/block-assets.md b/docs/contributors/contributing/block-assets.md index cfddd4593..824748f01 100644 --- a/docs/contributors/contributing/block-assets.md +++ b/docs/contributors/contributing/block-assets.md @@ -95,6 +95,7 @@ wc.wcSettings.getSetting( 'key' ); [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/block-assets.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/block-assets.md) + diff --git a/docs/contributors/contributing/coding-guidelines.md b/docs/contributors/contributing/coding-guidelines.md index 2543712cb..f55f5c624 100644 --- a/docs/contributors/contributing/coding-guidelines.md +++ b/docs/contributors/contributing/coding-guidelines.md @@ -179,6 +179,7 @@ Notice in the worst case scenario we would have increased selector specificity b [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/coding-guidelines.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/coding-guidelines.md) + diff --git a/docs/contributors/contributing/css-build-system.md b/docs/contributors/contributing/css-build-system.md index 6db18524f..67fbf1a8f 100644 --- a/docs/contributors/contributing/css-build-system.md +++ b/docs/contributors/contributing/css-build-system.md @@ -42,6 +42,7 @@ Webpack config is split between several files, some relevant ones for the CSS bu [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/css-build-system.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/css-build-system.md) + diff --git a/docs/contributors/contributing/documentation-guidelines.md b/docs/contributors/contributing/documentation-guidelines.md index aef44785b..1daca2aa9 100644 --- a/docs/contributors/contributing/documentation-guidelines.md +++ b/docs/contributors/contributing/documentation-guidelines.md @@ -165,6 +165,7 @@ When referencing other documentations, the corresponding document should be link [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/documentation-guidelines.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/documentation-guidelines.md) + diff --git a/docs/contributors/contributing/folder-structure.md b/docs/contributors/contributing/folder-structure.md index deef9ce84..e3adfe01a 100644 --- a/docs/contributors/contributing/folder-structure.md +++ b/docs/contributors/contributing/folder-structure.md @@ -195,6 +195,7 @@ This file is inspired by the great work of @JustinyAhin and @gziolo in + diff --git a/docs/contributors/contributing/getting-started.md b/docs/contributors/contributing/getting-started.md index 46fe3c479..be57c1c43 100644 --- a/docs/contributors/contributing/getting-started.md +++ b/docs/contributors/contributing/getting-started.md @@ -156,6 +156,7 @@ To find out more about how to run automated JavaScript tests, check out the docu [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/getting-started.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/getting-started.md) + diff --git a/docs/contributors/contributing/javascript-build-system.md b/docs/contributors/contributing/javascript-build-system.md index 45e6bb6a2..caa7ace63 100644 --- a/docs/contributors/contributing/javascript-build-system.md +++ b/docs/contributors/contributing/javascript-build-system.md @@ -72,6 +72,7 @@ Webpack config is split between several files: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/javascript-build-system.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/javascript-build-system.md) + diff --git a/docs/contributors/contributing/javascript-testing.md b/docs/contributors/contributing/javascript-testing.md index dd3930b4e..1db9410a3 100644 --- a/docs/contributors/contributing/javascript-testing.md +++ b/docs/contributors/contributing/javascript-testing.md @@ -140,6 +140,7 @@ In `./tests/e2e/specs`, verify for conditions like `if ( process.env.WP_VERSION [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/javascript-testing.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/javascript-testing.md) + diff --git a/docs/contributors/contributing/storybook-and-components.md b/docs/contributors/contributing/storybook-and-components.md index 19ebb692e..ba2721027 100644 --- a/docs/contributors/contributing/storybook-and-components.md +++ b/docs/contributors/contributing/storybook-and-components.md @@ -50,6 +50,7 @@ If you're stuck, copy source of an existing story to get started. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/storybook-and-components.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/contributors/contributing/storybook-and-components.md) + diff --git a/docs/designers/theming/README.md b/docs/designers/theming/README.md index a01eac6eb..a24fec9e9 100644 --- a/docs/designers/theming/README.md +++ b/docs/designers/theming/README.md @@ -86,6 +86,7 @@ WooCommerce Blocks avoids using legacy unprefixed classes as much as possible. H [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/README.md) + diff --git a/docs/designers/theming/all-products-and-filters.md b/docs/designers/theming/all-products-and-filters.md index feba156e7..c13f5efe6 100644 --- a/docs/designers/theming/all-products-and-filters.md +++ b/docs/designers/theming/all-products-and-filters.md @@ -34,6 +34,7 @@ Notice the code snippet above uses a CSS custom property, so the default color m [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/all-products-and-filters.md) + diff --git a/docs/designers/theming/cart-and-checkout.md b/docs/designers/theming/cart-and-checkout.md index 01c934f7c..a05fb0939 100644 --- a/docs/designers/theming/cart-and-checkout.md +++ b/docs/designers/theming/cart-and-checkout.md @@ -84,6 +84,7 @@ By default, it uses a combination of black and white borders and shadows so it h [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/cart-and-checkout.md) + diff --git a/docs/designers/theming/class-names-update-280.md b/docs/designers/theming/class-names-update-280.md index af18655f8..0d8a8eb9e 100644 --- a/docs/designers/theming/class-names-update-280.md +++ b/docs/designers/theming/class-names-update-280.md @@ -94,6 +94,7 @@ For example, given that `wc-block-error` changed to `wc-block-components-error` [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/class-names-update-280.md) + diff --git a/docs/designers/theming/class-names-update-330.md b/docs/designers/theming/class-names-update-330.md index d90cfd8ce..53d452411 100644 --- a/docs/designers/theming/class-names-update-330.md +++ b/docs/designers/theming/class-names-update-330.md @@ -23,6 +23,7 @@ In [WooCommerce Blocks 3.3.0](https://developer.woocommerce.com/2020/09/02/wooco [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/class-names-update-330.md) + diff --git a/docs/designers/theming/class-names-update-340.md b/docs/designers/theming/class-names-update-340.md index a0e3dfd21..e4b56b87d 100644 --- a/docs/designers/theming/class-names-update-340.md +++ b/docs/designers/theming/class-names-update-340.md @@ -14,6 +14,7 @@ In [WooCommerce Blocks 3.4.0](https://developer.woocommerce.com/2020/09/15/wooco [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/class-names-update-340.md) + diff --git a/docs/designers/theming/class-names-update-460.md b/docs/designers/theming/class-names-update-460.md index abc0634cd..5862a1a47 100644 --- a/docs/designers/theming/class-names-update-460.md +++ b/docs/designers/theming/class-names-update-460.md @@ -17,6 +17,7 @@ In [WooCommerce Blocks 4.6.0](https://developer.woocommerce.com/2021/03/02/wooco [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/class-names-update-460.md) + diff --git a/docs/designers/theming/product-grid-270.md b/docs/designers/theming/product-grid-270.md index e637943e1..7c838685a 100644 --- a/docs/designers/theming/product-grid-270.md +++ b/docs/designers/theming/product-grid-270.md @@ -49,6 +49,7 @@ _All Products_ block was updated so prices follow the same layout as the other p [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/theming/product-grid-270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/designers/theming/product-grid-270.md) + diff --git a/docs/internal-developers/block-client-apis/README.md b/docs/internal-developers/block-client-apis/README.md index 2805d2016..e7f2d9a1a 100644 --- a/docs/internal-developers/block-client-apis/README.md +++ b/docs/internal-developers/block-client-apis/README.md @@ -16,6 +16,7 @@ For more details about extensibility points in the blocks, you can reference the [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/block-client-apis/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/block-client-apis/README.md) + diff --git a/docs/internal-developers/block-client-apis/checkout/checkout-api.md b/docs/internal-developers/block-client-apis/checkout/checkout-api.md index 8eab6de7e..3a91eab66 100644 --- a/docs/internal-developers/block-client-apis/checkout/checkout-api.md +++ b/docs/internal-developers/block-client-apis/checkout/checkout-api.md @@ -120,6 +120,7 @@ The contract is established through props fed to the payment method components v [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/block-client-apis/checkout/checkout-api.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/block-client-apis/checkout/checkout-api.md) + diff --git a/docs/internal-developers/block-client-apis/checkout/checkout-flow-and-events.md b/docs/internal-developers/block-client-apis/checkout/checkout-flow-and-events.md index f21cea835..90c1cd653 100644 --- a/docs/internal-developers/block-client-apis/checkout/checkout-flow-and-events.md +++ b/docs/internal-developers/block-client-apis/checkout/checkout-flow-and-events.md @@ -482,6 +482,7 @@ This event emitter doesn't care about any registered observer response and will [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/checkout-flow-and-events.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/block-client-apis/checkout/checkout-flow-and-events.md) + diff --git a/docs/internal-developers/block-client-apis/notices.md b/docs/internal-developers/block-client-apis/notices.md index cab47ce6d..5467ddd4a 100644 --- a/docs/internal-developers/block-client-apis/notices.md +++ b/docs/internal-developers/block-client-apis/notices.md @@ -284,6 +284,7 @@ const CheckoutProcessor = () => { [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/block-client-apis/notices.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/block-client-apis/notices.md) + diff --git a/docs/internal-developers/blocks/README.md b/docs/internal-developers/blocks/README.md index 95f05c924..2600299a6 100644 --- a/docs/internal-developers/blocks/README.md +++ b/docs/internal-developers/blocks/README.md @@ -13,6 +13,7 @@ This folder contains documentation for specific Blocks and Blocks functionality. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/blocks/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/blocks/README.md) + diff --git a/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md b/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md index 4dc6d5453..7612c4bf8 100644 --- a/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md +++ b/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md @@ -154,6 +154,7 @@ Current list of events: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/blocks/feature-flags-and-experimental-interfaces.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md) + diff --git a/docs/internal-developers/blocks/stock-reservation.md b/docs/internal-developers/blocks/stock-reservation.md index 62859f743..c049e97d8 100644 --- a/docs/internal-developers/blocks/stock-reservation.md +++ b/docs/internal-developers/blocks/stock-reservation.md @@ -107,6 +107,7 @@ You can see that in both Checkouts, if stock cannot be reserved for all items in [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/blocks/stock-reservation.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/blocks/stock-reservation.md) + diff --git a/docs/internal-developers/templates/README.md b/docs/internal-developers/templates/README.md index a7aa56a91..5ef2bdb8e 100644 --- a/docs/internal-developers/templates/README.md +++ b/docs/internal-developers/templates/README.md @@ -61,6 +61,7 @@ The BlockTemplateController.php is primarily responsible for hooking into both W [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/templates/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/templates/README.md) + diff --git a/docs/internal-developers/templates/block-template-controller.md b/docs/internal-developers/templates/block-template-controller.md index 9694f859c..ab191723f 100644 --- a/docs/internal-developers/templates/block-template-controller.md +++ b/docs/internal-developers/templates/block-template-controller.md @@ -91,6 +91,7 @@ Void. This method does not return a value but rather sets up hooks to render blo [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/templates/block-template-controller.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/templates/block-template-controller.md) + diff --git a/docs/internal-developers/templates/classic-template.md b/docs/internal-developers/templates/classic-template.md index 42c5bdc9a..dc4829f12 100644 --- a/docs/internal-developers/templates/classic-template.md +++ b/docs/internal-developers/templates/classic-template.md @@ -16,6 +16,7 @@ From the `render()` method we inspect the `$attributes` object for a `template` [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/templates/classic-template.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/templates/classic-template.md) + diff --git a/docs/internal-developers/testing/README.md b/docs/internal-developers/testing/README.md index c807703d2..8e981d5f4 100644 --- a/docs/internal-developers/testing/README.md +++ b/docs/internal-developers/testing/README.md @@ -15,6 +15,7 @@ This folder contains documentation around manual testing of WooCommerce Blocks. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/README.md) + diff --git a/docs/internal-developers/testing/cart-checkout/README.md b/docs/internal-developers/testing/cart-checkout/README.md index d96bac3ed..b262a1779 100644 --- a/docs/internal-developers/testing/cart-checkout/README.md +++ b/docs/internal-developers/testing/cart-checkout/README.md @@ -89,6 +89,7 @@ the Cart and Checkout shortcodes. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/README.md) + diff --git a/docs/internal-developers/testing/cart-checkout/compatibility.md b/docs/internal-developers/testing/cart-checkout/compatibility.md index 2c08ef1e4..cc4c9559d 100644 --- a/docs/internal-developers/testing/cart-checkout/compatibility.md +++ b/docs/internal-developers/testing/cart-checkout/compatibility.md @@ -24,6 +24,7 @@ Test the WooCommerce Blocks plugin against the versions as listed above. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/cross-browser.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/compatibility.md) + diff --git a/docs/internal-developers/testing/cart-checkout/coupons.md b/docs/internal-developers/testing/cart-checkout/coupons.md index 87b7d8ef8..8958a5384 100644 --- a/docs/internal-developers/testing/cart-checkout/coupons.md +++ b/docs/internal-developers/testing/cart-checkout/coupons.md @@ -47,6 +47,7 @@ You will need to setup some types of coupon in order to test this. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/coupons.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/coupons.md) + diff --git a/docs/internal-developers/testing/cart-checkout/cross-browser.md b/docs/internal-developers/testing/cart-checkout/cross-browser.md index 181947540..bcca5f9b8 100644 --- a/docs/internal-developers/testing/cart-checkout/cross-browser.md +++ b/docs/internal-developers/testing/cart-checkout/cross-browser.md @@ -15,7 +15,7 @@ The baseline for testing is: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/cross-browser.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/cross-browser.md) diff --git a/docs/internal-developers/testing/cart-checkout/editor.md b/docs/internal-developers/testing/cart-checkout/editor.md index 7b18021e8..bbef7c0d7 100644 --- a/docs/internal-developers/testing/cart-checkout/editor.md +++ b/docs/internal-developers/testing/cart-checkout/editor.md @@ -17,6 +17,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/editor.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/editor.md) + diff --git a/docs/internal-developers/testing/cart-checkout/general-flow.md b/docs/internal-developers/testing/cart-checkout/general-flow.md index 2ced882d6..415c636b0 100644 --- a/docs/internal-developers/testing/cart-checkout/general-flow.md +++ b/docs/internal-developers/testing/cart-checkout/general-flow.md @@ -29,6 +29,7 @@ This is a general flow of the main functionality of the blocks without going too [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/general-flow.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/general-flow.md) + diff --git a/docs/internal-developers/testing/cart-checkout/items.md b/docs/internal-developers/testing/cart-checkout/items.md index a77d8f54f..144b69abc 100644 --- a/docs/internal-developers/testing/cart-checkout/items.md +++ b/docs/internal-developers/testing/cart-checkout/items.md @@ -34,6 +34,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/items.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/items.md) + diff --git a/docs/internal-developers/testing/cart-checkout/payment.md b/docs/internal-developers/testing/cart-checkout/payment.md index 498824f6e..1c376125d 100644 --- a/docs/internal-developers/testing/cart-checkout/payment.md +++ b/docs/internal-developers/testing/cart-checkout/payment.md @@ -53,6 +53,7 @@ If you have a payment method available: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/payment.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/payment.md) + diff --git a/docs/internal-developers/testing/cart-checkout/shipping.md b/docs/internal-developers/testing/cart-checkout/shipping.md index 36c58b0f4..18be93aa8 100644 --- a/docs/internal-developers/testing/cart-checkout/shipping.md +++ b/docs/internal-developers/testing/cart-checkout/shipping.md @@ -49,6 +49,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/shipping.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/shipping.md) + diff --git a/docs/internal-developers/testing/cart-checkout/taxes.md b/docs/internal-developers/testing/cart-checkout/taxes.md index cfae614e6..e10c1e819 100644 --- a/docs/internal-developers/testing/cart-checkout/taxes.md +++ b/docs/internal-developers/testing/cart-checkout/taxes.md @@ -30,6 +30,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/cart-checkout/taxes.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/cart-checkout/taxes.md) + diff --git a/docs/internal-developers/testing/releases/260.md b/docs/internal-developers/testing/releases/260.md index 66fa8d4ea..b3bc55c65 100644 --- a/docs/internal-developers/testing/releases/260.md +++ b/docs/internal-developers/testing/releases/260.md @@ -128,6 +128,7 @@ Support was added for showing category images in the Product Categories block. T [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/260.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/260.md) + diff --git a/docs/internal-developers/testing/releases/261.md b/docs/internal-developers/testing/releases/261.md index 73eb45247..c895fbb85 100644 --- a/docs/internal-developers/testing/releases/261.md +++ b/docs/internal-developers/testing/releases/261.md @@ -24,6 +24,7 @@ _Note: assuming you are using a development site where you are okay with losing [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/261.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/261.md) + diff --git a/docs/internal-developers/testing/releases/270.md b/docs/internal-developers/testing/releases/270.md index 165e4443c..227778a23 100644 --- a/docs/internal-developers/testing/releases/270.md +++ b/docs/internal-developers/testing/releases/270.md @@ -106,6 +106,7 @@ You'll need to be logged in with a user that has saved payment methods. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/270.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/270.md) + diff --git a/docs/internal-developers/testing/releases/271.md b/docs/internal-developers/testing/releases/271.md index cccb8c658..2b5b27f9d 100644 --- a/docs/internal-developers/testing/releases/271.md +++ b/docs/internal-developers/testing/releases/271.md @@ -25,6 +25,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/271.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/271.md) + diff --git a/docs/internal-developers/testing/releases/272.md b/docs/internal-developers/testing/releases/272.md index b5140a47a..71c1d9e2e 100644 --- a/docs/internal-developers/testing/releases/272.md +++ b/docs/internal-developers/testing/releases/272.md @@ -43,6 +43,7 @@ There are PHPUnit tests covering behaviour as well (including catching errors). [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/272.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/272.md) + diff --git a/docs/internal-developers/testing/releases/280.md b/docs/internal-developers/testing/releases/280.md index 18ad58773..7efa54e80 100644 --- a/docs/internal-developers/testing/releases/280.md +++ b/docs/internal-developers/testing/releases/280.md @@ -88,6 +88,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/280.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/280.md) + diff --git a/docs/internal-developers/testing/releases/290.md b/docs/internal-developers/testing/releases/290.md index d5f420c5c..47be32422 100644 --- a/docs/internal-developers/testing/releases/290.md +++ b/docs/internal-developers/testing/releases/290.md @@ -21,6 +21,7 @@ In some languages, the `State` and `Country` drop-down menus in the checkout blo [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/290.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/290.md) + diff --git a/docs/internal-developers/testing/releases/300.md b/docs/internal-developers/testing/releases/300.md index da4f5c3ec..9bc346b7f 100644 --- a/docs/internal-developers/testing/releases/300.md +++ b/docs/internal-developers/testing/releases/300.md @@ -141,6 +141,7 @@ Confirm that other payment methods still work correctly. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/300.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/300.md) + diff --git a/docs/internal-developers/testing/releases/310.md b/docs/internal-developers/testing/releases/310.md index cd2ef8ac1..be85e0973 100644 --- a/docs/internal-developers/testing/releases/310.md +++ b/docs/internal-developers/testing/releases/310.md @@ -81,6 +81,7 @@ Note: The below blocks only need tested for the feature plugin [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/310.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/310.md) + diff --git a/docs/internal-developers/testing/releases/320.md b/docs/internal-developers/testing/releases/320.md index f0fbce88d..449d475b8 100644 --- a/docs/internal-developers/testing/releases/320.md +++ b/docs/internal-developers/testing/releases/320.md @@ -119,6 +119,7 @@ You will need Product Add-ons extension to test this. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/320.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/320.md) + diff --git a/docs/internal-developers/testing/releases/330.md b/docs/internal-developers/testing/releases/330.md index 8d033a121..0332c248a 100644 --- a/docs/internal-developers/testing/releases/330.md +++ b/docs/internal-developers/testing/releases/330.md @@ -64,6 +64,7 @@ The following enhancements shipped in WooCommerce Blocks 3.1.0 but were missed i [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/330.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/330.md) + diff --git a/docs/internal-developers/testing/releases/340.md b/docs/internal-developers/testing/releases/340.md index 7b3e70d05..b5d6d0964 100644 --- a/docs/internal-developers/testing/releases/340.md +++ b/docs/internal-developers/testing/releases/340.md @@ -93,6 +93,7 @@ Testing this change basically means verifying there are no regressions: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/340.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/340.md) + diff --git a/docs/internal-developers/testing/releases/350.md b/docs/internal-developers/testing/releases/350.md index ab8ae5aea..f38e2eb99 100644 --- a/docs/internal-developers/testing/releases/350.md +++ b/docs/internal-developers/testing/releases/350.md @@ -71,6 +71,7 @@ In order to save a payment method with a user. Enable the WooCommerce Stripe plu [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/350.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/350.md) + diff --git a/docs/internal-developers/testing/releases/360.md b/docs/internal-developers/testing/releases/360.md index 30d9b9dd4..8112b21fd 100644 --- a/docs/internal-developers/testing/releases/360.md +++ b/docs/internal-developers/testing/releases/360.md @@ -64,6 +64,7 @@ _After:_ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/360.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/360.md) + diff --git a/docs/internal-developers/testing/releases/370.md b/docs/internal-developers/testing/releases/370.md index bd8e84935..07ff175ca 100644 --- a/docs/internal-developers/testing/releases/370.md +++ b/docs/internal-developers/testing/releases/370.md @@ -84,6 +84,7 @@ Test all blocks in editor/frontend and verify there are no evident issues with i [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/370.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/370.md) + diff --git a/docs/internal-developers/testing/releases/371.md b/docs/internal-developers/testing/releases/371.md index f021a1be3..9a2aa9fdb 100644 --- a/docs/internal-developers/testing/releases/371.md +++ b/docs/internal-developers/testing/releases/371.md @@ -41,6 +41,7 @@ As an alternative to (1), could also hack the JS REST request to always send `sh [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/371.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/371.md) + diff --git a/docs/internal-developers/testing/releases/380.md b/docs/internal-developers/testing/releases/380.md index 0fa7ebbeb..1c617ffc1 100644 --- a/docs/internal-developers/testing/releases/380.md +++ b/docs/internal-developers/testing/releases/380.md @@ -26,6 +26,7 @@ Moves the rendering of address fields to a single file so that PhoneNumber (new [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/380.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/380.md) + diff --git a/docs/internal-developers/testing/releases/390.md b/docs/internal-developers/testing/releases/390.md index b189e3405..412e987c7 100644 --- a/docs/internal-developers/testing/releases/390.md +++ b/docs/internal-developers/testing/releases/390.md @@ -139,6 +139,7 @@ In a device compatible with express payment methods and a site with Stripe payme [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/390.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/390.md) + diff --git a/docs/internal-developers/testing/releases/400.md b/docs/internal-developers/testing/releases/400.md index c479d9eda..a4a834f62 100644 --- a/docs/internal-developers/testing/releases/400.md +++ b/docs/internal-developers/testing/releases/400.md @@ -111,6 +111,7 @@ Testing: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/400.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/400.md) + diff --git a/docs/internal-developers/testing/releases/410.md b/docs/internal-developers/testing/releases/410.md index 174ca0221..f871f0440 100644 --- a/docs/internal-developers/testing/releases/410.md +++ b/docs/internal-developers/testing/releases/410.md @@ -189,6 +189,7 @@ Validation via Checkout [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/410.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/410.md) + diff --git a/docs/internal-developers/testing/releases/420.md b/docs/internal-developers/testing/releases/420.md index 9ca274775..1c9d0409c 100644 --- a/docs/internal-developers/testing/releases/420.md +++ b/docs/internal-developers/testing/releases/420.md @@ -26,6 +26,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/420.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/420.md) + diff --git a/docs/internal-developers/testing/releases/430.md b/docs/internal-developers/testing/releases/430.md index 193cfac99..802ece54d 100644 --- a/docs/internal-developers/testing/releases/430.md +++ b/docs/internal-developers/testing/releases/430.md @@ -66,6 +66,7 @@ WC Product Add-Ons: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/430.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/430.md) + diff --git a/docs/internal-developers/testing/releases/440.md b/docs/internal-developers/testing/releases/440.md index 7d8e81e86..40bd3f87d 100644 --- a/docs/internal-developers/testing/releases/440.md +++ b/docs/internal-developers/testing/releases/440.md @@ -102,6 +102,7 @@ This is a regression test due to the changes made for Subscriptions Integration. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/440.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/440.md) + diff --git a/docs/internal-developers/testing/releases/450.md b/docs/internal-developers/testing/releases/450.md index 96321235c..27540d667 100644 --- a/docs/internal-developers/testing/releases/450.md +++ b/docs/internal-developers/testing/releases/450.md @@ -144,6 +144,7 @@ In the frontend: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/450.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/450.md) + diff --git a/docs/internal-developers/testing/releases/452.md b/docs/internal-developers/testing/releases/452.md index d5460a08e..a9c569ea7 100644 --- a/docs/internal-developers/testing/releases/452.md +++ b/docs/internal-developers/testing/releases/452.md @@ -27,6 +27,7 @@ No changes. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/452.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/452.md) + diff --git a/docs/internal-developers/testing/releases/460.md b/docs/internal-developers/testing/releases/460.md index 2deb9dff6..ee7963cc0 100644 --- a/docs/internal-developers/testing/releases/460.md +++ b/docs/internal-developers/testing/releases/460.md @@ -80,6 +80,7 @@ The following are related to various changes impacting some existing flows so ju [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/460.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/460.md) + diff --git a/docs/internal-developers/testing/releases/470.md b/docs/internal-developers/testing/releases/470.md index d83d553b6..04068226b 100644 --- a/docs/internal-developers/testing/releases/470.md +++ b/docs/internal-developers/testing/releases/470.md @@ -131,6 +131,7 @@ The following are related to various changes impacting some existing flows so ju [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/470.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/470.md) + diff --git a/docs/internal-developers/testing/releases/480.md b/docs/internal-developers/testing/releases/480.md index 74673a3c4..9da974c72 100644 --- a/docs/internal-developers/testing/releases/480.md +++ b/docs/internal-developers/testing/releases/480.md @@ -70,6 +70,7 @@ The following are related to various changes impacting some existing flows so ju [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/480.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/480.md) + diff --git a/docs/internal-developers/testing/releases/490.md b/docs/internal-developers/testing/releases/490.md index e0e5a436c..fbac5f913 100644 --- a/docs/internal-developers/testing/releases/490.md +++ b/docs/internal-developers/testing/releases/490.md @@ -114,6 +114,7 @@ The following are related to various changes impacting some existing flows so ju [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/490.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/490.md) + diff --git a/docs/internal-developers/testing/releases/491.md b/docs/internal-developers/testing/releases/491.md index 76c4cec3d..5166a8895 100644 --- a/docs/internal-developers/testing/releases/491.md +++ b/docs/internal-developers/testing/releases/491.md @@ -20,6 +20,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/491.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/491.md) + diff --git a/docs/internal-developers/testing/releases/500.md b/docs/internal-developers/testing/releases/500.md index eac0b0f6b..c52794ff5 100644 --- a/docs/internal-developers/testing/releases/500.md +++ b/docs/internal-developers/testing/releases/500.md @@ -63,6 +63,7 @@ Optionally, because this is difficult to achieve, if you tab to an add to cart b [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/500.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/500.md) + diff --git a/docs/internal-developers/testing/releases/510.md b/docs/internal-developers/testing/releases/510.md index 4772cf9a8..e49ca1ba9 100644 --- a/docs/internal-developers/testing/releases/510.md +++ b/docs/internal-developers/testing/releases/510.md @@ -28,6 +28,7 @@ Test both guest and logged in scenarios for the following: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/510.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/510.md) + diff --git a/docs/internal-developers/testing/releases/520.md b/docs/internal-developers/testing/releases/520.md index 6e5367153..e255cdf30 100644 --- a/docs/internal-developers/testing/releases/520.md +++ b/docs/internal-developers/testing/releases/520.md @@ -149,6 +149,7 @@ Do the testing steps for the following widgets: Product Search, Product Categori [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/520.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/520.md) + diff --git a/docs/internal-developers/testing/releases/530.md b/docs/internal-developers/testing/releases/530.md index 61398c16f..2dac02adf 100644 --- a/docs/internal-developers/testing/releases/530.md +++ b/docs/internal-developers/testing/releases/530.md @@ -57,6 +57,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/530.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/530.md) + diff --git a/docs/internal-developers/testing/releases/531.md b/docs/internal-developers/testing/releases/531.md index 01ad98e21..a5c1de569 100644 --- a/docs/internal-developers/testing/releases/531.md +++ b/docs/internal-developers/testing/releases/531.md @@ -47,6 +47,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/531.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/531.md) + diff --git a/docs/internal-developers/testing/releases/532.md b/docs/internal-developers/testing/releases/532.md index e850ff9b8..ba12a76b3 100644 --- a/docs/internal-developers/testing/releases/532.md +++ b/docs/internal-developers/testing/releases/532.md @@ -20,6 +20,7 @@ No changes. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/532.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/532.md) + diff --git a/docs/internal-developers/testing/releases/540.md b/docs/internal-developers/testing/releases/540.md index 19f2067ba..92f52cfb3 100644 --- a/docs/internal-developers/testing/releases/540.md +++ b/docs/internal-developers/testing/releases/540.md @@ -43,6 +43,7 @@ To test this properly you'll need Stripe setup locally in sandbox mode. You can [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/540.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/540.md) + diff --git a/docs/internal-developers/testing/releases/550.md b/docs/internal-developers/testing/releases/550.md index 20d894c64..f553cd272 100644 --- a/docs/internal-developers/testing/releases/550.md +++ b/docs/internal-developers/testing/releases/550.md @@ -57,6 +57,7 @@ Test in the widget editor: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/550.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/550.md) + diff --git a/docs/internal-developers/testing/releases/560.md b/docs/internal-developers/testing/releases/560.md index f8f6b7878..f6bcd9868 100644 --- a/docs/internal-developers/testing/releases/560.md +++ b/docs/internal-developers/testing/releases/560.md @@ -81,6 +81,7 @@ View the pagination rendered on the all products block and confirm the symbol ma [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/560.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/560.md) + diff --git a/docs/internal-developers/testing/releases/570.md b/docs/internal-developers/testing/releases/570.md index d9d2aa1e8..43cdf53e3 100644 --- a/docs/internal-developers/testing/releases/570.md +++ b/docs/internal-developers/testing/releases/570.md @@ -100,6 +100,7 @@ Test with the Twenty Twenty-One theme active. You'll need a test product and a t [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/570.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/570.md) + diff --git a/docs/internal-developers/testing/releases/571.md b/docs/internal-developers/testing/releases/571.md index 9108e2eb6..d39c5cfae 100644 --- a/docs/internal-developers/testing/releases/571.md +++ b/docs/internal-developers/testing/releases/571.md @@ -18,6 +18,7 @@ With Storefront and WP 5.8: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/571.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/571.md) + diff --git a/docs/internal-developers/testing/releases/572.md b/docs/internal-developers/testing/releases/572.md index cd6740c6c..1c4ccaab9 100644 --- a/docs/internal-developers/testing/releases/572.md +++ b/docs/internal-developers/testing/releases/572.md @@ -27,6 +27,7 @@ With Storefront active: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/572.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/572.md) + diff --git a/docs/internal-developers/testing/releases/580.md b/docs/internal-developers/testing/releases/580.md index c51ffb23d..d876f133e 100644 --- a/docs/internal-developers/testing/releases/580.md +++ b/docs/internal-developers/testing/releases/580.md @@ -65,6 +65,7 @@ A new block was introduced for filtering products by stock: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/580.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/580.md) + diff --git a/docs/internal-developers/testing/releases/590.md b/docs/internal-developers/testing/releases/590.md index af91d4f81..aff83917c 100644 --- a/docs/internal-developers/testing/releases/590.md +++ b/docs/internal-developers/testing/releases/590.md @@ -55,6 +55,7 @@ Because of experimental work done during this release, we need to ensure no regr [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/590.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/590.md) + diff --git a/docs/internal-developers/testing/releases/591.md b/docs/internal-developers/testing/releases/591.md index c256fe0c3..f043b68ad 100644 --- a/docs/internal-developers/testing/releases/591.md +++ b/docs/internal-developers/testing/releases/591.md @@ -18,6 +18,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/591.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/591.md) + diff --git a/docs/internal-developers/testing/releases/600.md b/docs/internal-developers/testing/releases/600.md index 86e5975a5..b11529fe3 100644 --- a/docs/internal-developers/testing/releases/600.md +++ b/docs/internal-developers/testing/releases/600.md @@ -200,6 +200,7 @@ In a block-based theme (ie: TT1 Blocks) with Gutenberg enabled: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/600.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/600.md) + diff --git a/docs/internal-developers/testing/releases/610.md b/docs/internal-developers/testing/releases/610.md index 1affb1875..ca6942a0c 100644 --- a/docs/internal-developers/testing/releases/610.md +++ b/docs/internal-developers/testing/releases/610.md @@ -53,6 +53,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/610.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/610.md) + diff --git a/docs/internal-developers/testing/releases/620.md b/docs/internal-developers/testing/releases/620.md index 86871df62..17eda497a 100644 --- a/docs/internal-developers/testing/releases/620.md +++ b/docs/internal-developers/testing/releases/620.md @@ -64,6 +64,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/620.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/620.md) + diff --git a/docs/internal-developers/testing/releases/630.md b/docs/internal-developers/testing/releases/630.md index 9861f005b..11041cb00 100644 --- a/docs/internal-developers/testing/releases/630.md +++ b/docs/internal-developers/testing/releases/630.md @@ -117,6 +117,7 @@ Example of button text for the Hand-picked Products block: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/630.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/630.md) + diff --git a/docs/internal-developers/testing/releases/631.md b/docs/internal-developers/testing/releases/631.md index 8f25526d5..4aa6669c6 100644 --- a/docs/internal-developers/testing/releases/631.md +++ b/docs/internal-developers/testing/releases/631.md @@ -20,6 +20,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/631.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/631.md) + diff --git a/docs/internal-developers/testing/releases/632.md b/docs/internal-developers/testing/releases/632.md index 1cf621ee6..4b5c888f6 100644 --- a/docs/internal-developers/testing/releases/632.md +++ b/docs/internal-developers/testing/releases/632.md @@ -19,6 +19,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/632.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/632.md) + diff --git a/docs/internal-developers/testing/releases/633.md b/docs/internal-developers/testing/releases/633.md index 7d22cfc90..0d2a8d9e6 100644 --- a/docs/internal-developers/testing/releases/633.md +++ b/docs/internal-developers/testing/releases/633.md @@ -19,6 +19,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/633.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/633.md) + diff --git a/docs/internal-developers/testing/releases/640.md b/docs/internal-developers/testing/releases/640.md index d3e479aca..c8c43d27a 100644 --- a/docs/internal-developers/testing/releases/640.md +++ b/docs/internal-developers/testing/releases/640.md @@ -73,6 +73,7 @@ wc.blocksCheckout.__experimentalRegisterCheckoutFilters( 'my-test-extension', { [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/640.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/640.md) + diff --git a/docs/internal-developers/testing/releases/650.md b/docs/internal-developers/testing/releases/650.md index 31498f1cb..7ca058cd8 100644 --- a/docs/internal-developers/testing/releases/650.md +++ b/docs/internal-developers/testing/releases/650.md @@ -38,6 +38,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/650.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/650.md) + diff --git a/docs/internal-developers/testing/releases/660.md b/docs/internal-developers/testing/releases/660.md index f96c52149..2b31edc2a 100644 --- a/docs/internal-developers/testing/releases/660.md +++ b/docs/internal-developers/testing/releases/660.md @@ -153,6 +153,7 @@ This requires Stripe and a saved payment method. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/660.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/660.md) + diff --git a/docs/internal-developers/testing/releases/670.md b/docs/internal-developers/testing/releases/670.md index 07afc4e45..354e9ff1e 100644 --- a/docs/internal-developers/testing/releases/670.md +++ b/docs/internal-developers/testing/releases/670.md @@ -92,6 +92,7 @@ On an store with no products add the Query Monitor extension, then: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/670.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/670.md) + diff --git a/docs/internal-developers/testing/releases/671.md b/docs/internal-developers/testing/releases/671.md index 272f3e29f..0069c20cd 100644 --- a/docs/internal-developers/testing/releases/671.md +++ b/docs/internal-developers/testing/releases/671.md @@ -20,6 +20,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/671.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/671.md) + diff --git a/docs/internal-developers/testing/releases/672.md b/docs/internal-developers/testing/releases/672.md index 157eeb0f5..b49ef50ab 100644 --- a/docs/internal-developers/testing/releases/672.md +++ b/docs/internal-developers/testing/releases/672.md @@ -21,6 +21,7 @@ Note: This is mostly regression testing. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/672.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/672.md) + diff --git a/docs/internal-developers/testing/releases/673.md b/docs/internal-developers/testing/releases/673.md index e622b2f38..a53474c88 100644 --- a/docs/internal-developers/testing/releases/673.md +++ b/docs/internal-developers/testing/releases/673.md @@ -16,6 +16,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/673.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/673.md) + diff --git a/docs/internal-developers/testing/releases/680.md b/docs/internal-developers/testing/releases/680.md index a8eca77ff..4349ee457 100644 --- a/docs/internal-developers/testing/releases/680.md +++ b/docs/internal-developers/testing/releases/680.md @@ -185,6 +185,7 @@ Install the [Stripe Payment Method Extension](https://github.com/woocommerce/woo [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/680.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/680.md) + diff --git a/docs/internal-developers/testing/releases/690.md b/docs/internal-developers/testing/releases/690.md index 52dc966cf..b674edb61 100644 --- a/docs/internal-developers/testing/releases/690.md +++ b/docs/internal-developers/testing/releases/690.md @@ -71,6 +71,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/690.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/690.md) + diff --git a/docs/internal-developers/testing/releases/700.md b/docs/internal-developers/testing/releases/700.md index 9a4a72f69..8357524c2 100644 --- a/docs/internal-developers/testing/releases/700.md +++ b/docs/internal-developers/testing/releases/700.md @@ -127,6 +127,7 @@ The following components have been converted to TypeScript, hence they benefit f [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/700.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/700.md) + diff --git a/docs/internal-developers/testing/releases/710.md b/docs/internal-developers/testing/releases/710.md index f5d207f43..5129c8fba 100644 --- a/docs/internal-developers/testing/releases/710.md +++ b/docs/internal-developers/testing/releases/710.md @@ -77,6 +77,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/710.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/710.md) + diff --git a/docs/internal-developers/testing/releases/720.md b/docs/internal-developers/testing/releases/720.md index 6c0602789..dd9fba21b 100644 --- a/docs/internal-developers/testing/releases/720.md +++ b/docs/internal-developers/testing/releases/720.md @@ -51,6 +51,7 @@ These instructions use WooCommerce Subscriptions as this is known to use several [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/720.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/720.md) + diff --git a/docs/internal-developers/testing/releases/721.md b/docs/internal-developers/testing/releases/721.md index a90f87602..9efe03684 100644 --- a/docs/internal-developers/testing/releases/721.md +++ b/docs/internal-developers/testing/releases/721.md @@ -18,6 +18,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/721.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/721.md) + diff --git a/docs/internal-developers/testing/releases/722.md b/docs/internal-developers/testing/releases/722.md index cc8575559..e50159400 100644 --- a/docs/internal-developers/testing/releases/722.md +++ b/docs/internal-developers/testing/releases/722.md @@ -17,6 +17,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/722.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/722.md) + diff --git a/docs/internal-developers/testing/releases/730.md b/docs/internal-developers/testing/releases/730.md index 94499f05f..d8fefb6a3 100644 --- a/docs/internal-developers/testing/releases/730.md +++ b/docs/internal-developers/testing/releases/730.md @@ -73,6 +73,7 @@ With Twenty Twenty-Two: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/730.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/730.md) + diff --git a/docs/internal-developers/testing/releases/740.md b/docs/internal-developers/testing/releases/740.md index 398d1653d..2c2022774 100644 --- a/docs/internal-developers/testing/releases/740.md +++ b/docs/internal-developers/testing/releases/740.md @@ -79,6 +79,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/740.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/740.md) + diff --git a/docs/internal-developers/testing/releases/741.md b/docs/internal-developers/testing/releases/741.md index d9c706f37..572e6b0bf 100644 --- a/docs/internal-developers/testing/releases/741.md +++ b/docs/internal-developers/testing/releases/741.md @@ -17,6 +17,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/741.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/741.md) + diff --git a/docs/internal-developers/testing/releases/742.md b/docs/internal-developers/testing/releases/742.md index a4c4fe6c9..ed6522ec7 100644 --- a/docs/internal-developers/testing/releases/742.md +++ b/docs/internal-developers/testing/releases/742.md @@ -26,6 +26,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/742.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/742.md) + diff --git a/docs/internal-developers/testing/releases/750.md b/docs/internal-developers/testing/releases/750.md index 980dffe58..bfa43bb4e 100644 --- a/docs/internal-developers/testing/releases/750.md +++ b/docs/internal-developers/testing/releases/750.md @@ -153,6 +153,7 @@ ln -s ~/Desktop/woocommerce wp-content/plugins/woocommerce [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/750.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/750.md) + diff --git a/docs/internal-developers/testing/releases/760.md b/docs/internal-developers/testing/releases/760.md index e1cda9031..bba9afb21 100644 --- a/docs/internal-developers/testing/releases/760.md +++ b/docs/internal-developers/testing/releases/760.md @@ -157,6 +157,7 @@ Prerequisites: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/760.md) + diff --git a/docs/internal-developers/testing/releases/761.md b/docs/internal-developers/testing/releases/761.md index 17871b23d..ab9e69810 100644 --- a/docs/internal-developers/testing/releases/761.md +++ b/docs/internal-developers/testing/releases/761.md @@ -42,6 +42,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/761.md) + diff --git a/docs/internal-developers/testing/releases/762.md b/docs/internal-developers/testing/releases/762.md index b318780dc..ef147fb7c 100644 --- a/docs/internal-developers/testing/releases/762.md +++ b/docs/internal-developers/testing/releases/762.md @@ -21,6 +21,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/762.md) + diff --git a/docs/internal-developers/testing/releases/770.md b/docs/internal-developers/testing/releases/770.md index e3d1d2038..e647213bc 100644 --- a/docs/internal-developers/testing/releases/770.md +++ b/docs/internal-developers/testing/releases/770.md @@ -41,6 +41,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/770.md) + diff --git a/docs/internal-developers/testing/releases/780.md b/docs/internal-developers/testing/releases/780.md index ae2ee54ca..d4cdfb2b0 100644 --- a/docs/internal-developers/testing/releases/780.md +++ b/docs/internal-developers/testing/releases/780.md @@ -135,6 +135,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/780.md) + diff --git a/docs/internal-developers/testing/releases/781.md b/docs/internal-developers/testing/releases/781.md index cf73facd2..d740f99f4 100644 --- a/docs/internal-developers/testing/releases/781.md +++ b/docs/internal-developers/testing/releases/781.md @@ -21,6 +21,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/781.md) + diff --git a/docs/internal-developers/testing/releases/782.md b/docs/internal-developers/testing/releases/782.md index f3b6f6479..3baeb981f 100644 --- a/docs/internal-developers/testing/releases/782.md +++ b/docs/internal-developers/testing/releases/782.md @@ -31,6 +31,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/782.md) + diff --git a/docs/internal-developers/testing/releases/783.md b/docs/internal-developers/testing/releases/783.md index 7051303f1..628948da7 100644 --- a/docs/internal-developers/testing/releases/783.md +++ b/docs/internal-developers/testing/releases/783.md @@ -21,6 +21,7 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/760.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/783.md) + diff --git a/docs/internal-developers/testing/releases/790.md b/docs/internal-developers/testing/releases/790.md index 726007f74..fa3182f28 100644 --- a/docs/internal-developers/testing/releases/790.md +++ b/docs/internal-developers/testing/releases/790.md @@ -81,3 +81,13 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. 4. Add multiple items to your cart. 5. Go to the Checkout/Cart Block. 6. Ensure you see no errors. + + +--- + +[We're hiring!](https://woocommerce.com/careers/) Come work with us! + +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/790.md) + + + diff --git a/docs/internal-developers/testing/releases/800.md b/docs/internal-developers/testing/releases/800.md index 2f8bfa49c..fcff35d3f 100644 --- a/docs/internal-developers/testing/releases/800.md +++ b/docs/internal-developers/testing/releases/800.md @@ -47,3 +47,13 @@ Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github. 10. Place your order. Check on the `Order received` page that the displayed **tax is actually added to the total**. 11. Go to `Edit Order`. Check that **taxes were applied correctly there as well**. 12. On the `Checkout` again, select `Flat rate`, using the same external address, and make sure **taxes are not applied**. + + +--- + +[We're hiring!](https://woocommerce.com/careers/) Come work with us! + +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/800.md) + + + diff --git a/docs/internal-developers/testing/releases/810.md b/docs/internal-developers/testing/releases/810.md index 0125c29c0..dd50f97e6 100644 --- a/docs/internal-developers/testing/releases/810.md +++ b/docs/internal-developers/testing/releases/810.md @@ -53,3 +53,13 @@ For each filter block (by Price, by Attribute, by Stock and Active filters) ensu 5. Add a product to the cart and go to the test page with the checkout block. 6. Clear all form fields, if they're pre-filled, and click on place order. 7. See the error messages with sufficient color contrast. + + +--- + +[We're hiring!](https://woocommerce.com/careers/) Come work with us! + +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/810.md) + + + diff --git a/docs/internal-developers/testing/releases/820.md b/docs/internal-developers/testing/releases/820.md new file mode 100644 index 000000000..5df2aa206 --- /dev/null +++ b/docs/internal-developers/testing/releases/820.md @@ -0,0 +1,155 @@ +# Testing notes and ZIP for release 8.2.0 + +Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-blocks/files/9242756/woocommerce-gutenberg-products-block.zip) + +## Feature plugin and package inclusion in WooCommerce + +### Remove compatibility notice for Mini Cart block ([6803](https://github.com/woocommerce/woocommerce-blocks/pull/6803)) + +0. Make sure you have a blocks theme active (like Twenty Twenty-Two). +1. Clear the local storage of your browser. +2. Add the Mini Cart block to the header template part. +3. Don't see compatibility notice. +4. Create a new page > Add the Cart block to that page. +5. See the compatibility notice as normal. + +### Add new icon for mini cart block ([6784](https://github.com/woocommerce/woocommerce-blocks/pull/6784)) + +1. Make sure you have a blocks theme active (like Twenty Twenty-Two). +2. Navigate to **Appearance > Editor (Beta)** and add a Mini Cart block somewhere in your site. +3. Select the Mini Cart block in the editor and confirm the icon in the inserter and toolbar reflect the changes. + +| Before | After | +| ------ | ----- | +| ![CleanShot 2022-07-28 at 14 57 58](https://user-images.githubusercontent.com/481776/181622493-d618649c-e9ee-4649-9e10-a2aed6737fc5.png) | ![CleanShot 2022-07-28 at 15 31 41](https://user-images.githubusercontent.com/481776/181622516-4bade22f-944a-488e-aacc-6094afa97efe.png) | + +### Fix: Replace DropdownSelector with FormTokenField from Gutenberg ([6647](https://github.com/woocommerce/woocommerce-blocks/pull/6647)) + +1. Add the Filter Products by Attribute block and the All Products block into a post or page. +2. Change the display type of Filter Products by Attribute to `Dropdown`. +3. Ensure the block functions normally. +4. Enable the Filter button, and ensure the block functions normally. + +### Use the archive-product template to render product attributes pages ([6776](https://github.com/woocommerce/woocommerce-blocks/pull/6776)) + +1. Make sure you have a blocks theme active (like Twenty Twenty-Two). +2. Navigate to `Products` > `Attributes` and edit an existing one or create a new one. +3. Click the `Enable Archives` option and save, go back. +4. Click `Configure terms` next to your attribute. +5. Hover over one of the terms and click the `View` link of one of the attributes. +6. Check that the page is rendered with a header, a footer, and using a product grid. + +| Before | After | +| ------ | ----- | +| Screenshot 2022-07-27 at 16 38 51 | ![Screenshot 2022-07-27 at 16 38 41](https://user-images.githubusercontent.com/186112/181275933-3b712c54-1c6f-4578-8a25-659052cde175.png)| + +### All Products block: Migrate to block.json ([6754](https://github.com/woocommerce/woocommerce-blocks/pull/6754)) + +1. Add the All Products block to a post or page. +2. Verify it works as before in the editor and the frontend and there are no errors. + +### Start using block.json and convert to TS the Product by Category block ([6680](https://github.com/woocommerce/woocommerce-blocks/pull/6680)) + +Test that there are no regressions compared with the previous `Products by Category` block version. + +1. Create a page and add a `Products by Category` block. +2. Save the page and check it renders correctly the default config in the frontend. +3. Edit the page again and make some changes to the block (hiding some content, changing columns number, ordering, etc.). +4. Save the page and check it renders properly with the new config. + +### Start using block.json and convert to TS the Product Best Sellers block ([6683](https://github.com/woocommerce/woocommerce-blocks/pull/6683)) + +Test that there are no regressions compared with the previous `Product Best Sellers` block version. + +1. Create a page and add a `Product Best Sellers` block. +2. Save the page and check it renders correctly the default config in the frontend. +3. Edit the page again and make some changes to the block (hiding some content, changing columns number, ordering, etc.). +4. Save the page and check it renders properly with the new config. + +### Select the correct inner button for the "Featured Item" button to update its url ([6741](https://github.com/woocommerce/woocommerce-blocks/pull/6741)) + +1. Create a new page and add a `Featured Product` block. +2. Edit the block and select a different product. +3. Make sure the button URL on the block is updated to the new product link. +4. Duplicate the block and change the new block to a different product. +5. Make sure the button URL on the block is updated to the new product link. +6. Repeat 1-5 for the `Featured Category` block. + +### Fix: navigate through Mini Cart contents with keyboard ([6731](https://github.com/woocommerce/woocommerce-blocks/pull/6731)) + +1. In the site editor, add the Mini Cart block to your site header. +2. Edit the Mini Cart template part and add an image in the inner contents. +3. In the frontend, add some products to the Cart. +4. With the keyboard, open the Mini Cart. +5. With the Tab key try to navigate to the Mini Cart products. +6. Notice you can focus the Mini Cart products inner elements. + +### Fix: WooCommerce messages don't appear in block themes with Mini Cart block ([6728](https://github.com/woocommerce/woocommerce-blocks/pull/6728)) + +1. Switch to a block theme (ie: Twenty Twenty-Two), add the Mini Cart block to the header, and go to a product page. +2. Add the product to your cart. +3. Notice the add to cart success message is shown on the top of the page. + +### SearchListControl: Fix preserving case of original item ([6551](https://github.com/woocommerce/woocommerce-blocks/pull/6551)) + +1. Add a “Hand-picked Products” block to your page. +2. Type the name of one of your products with the incorrect case (e.g. if you have imported the sample data, type “hOoDiE”. +3. Make sure all matching products appear on the list. +4. Make sure all items on the list preserve their original case. + + +| Before | After | +| ------ | ----- | +| 172268138-7445fbf1-ad25-4716-8b5a-ee4b463af54b | ![Screenshot 2022-06-11 at 21 16 42](https://user-images.githubusercontent.com/1847066/173202019-aa3659e5-0dd4-454b-95bd-f2ead03ee40d.png) | + +## Feature plugin + +### Fix proceed to checkout button on Cart ([6804](https://github.com/woocommerce/woocommerce-blocks/pull/6804)) + +1. In a new page, insert Cart block. +2. Select Proceed to Checkout block. +3. In the sidebar, change the link to something else. +4. On frontend, add an item to cart, go that newly created cart page, and click the proceed to checkout button. +5. It should take you to your new page. + +### Ensure addresses sync correctly when loading the Checkout Shipping Address Block ([6773](https://github.com/woocommerce/woocommerce-blocks/pull/6773)) + +1. Add items to your cart. +2. Go to the Checkout Block +3. Uncheck "use shipping as billing" and fill out different addresses for shipping and billing. +4. Place the order and verify on the order confirmation screen that the addresses were different. +5. Add another item to your cart then go to the Checkout Block. +6. Leave "use shipping as billing" checked. +7. Place order, check the thank you page, ensure the billing and shipping addresses match. + +### Ensure shipping rate names show when multiple packages are used ([6753](https://github.com/woocommerce/woocommerce-blocks/pull/6753)) + +1. Install the ["Multiple Packages for WooCommerce" plugin](https://wordpress.org/plugins/multiple-packages-for-woocommerce/) +2. Navigate to WooCommerce -> Settings -> Multiple Packages +3. Adjust the settings to work based on "Per Product" +4. Add two/three/four different products to the cart and typically need shipping. +5. Go the checkout page and look at the shipping options, ensure there is a title for each one. +6. Disable the plugin and reload the Checkout Block, ensure the shipping section still looks OK. + +| Before | After | +| ------ | ----- | +| | image | + +### Fix missing translations in inspector ([6737](https://github.com/woocommerce/woocommerce-blocks/pull/6737)) + +1. Change your site language (I tested using French & NL) +2. Go to the C&C Blocks (Editor mode) +3. Select each inner block and make sure the `title` & `description` are translated in the inspector. See image below: + +![image](https://user-images.githubusercontent.com/14235870/181719689-f9decbdd-5bc6-4192-8612-4b2696a8d7c4.png) + + + +--- + +[We're hiring!](https://woocommerce.com/careers/) Come work with us! + +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/810.md) + + + diff --git a/docs/internal-developers/testing/releases/821.md b/docs/internal-developers/testing/releases/821.md new file mode 100644 index 000000000..bd77494dd --- /dev/null +++ b/docs/internal-developers/testing/releases/821.md @@ -0,0 +1,26 @@ +# Testing notes and ZIP for release 8.2.1 + +Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-blocks/files/9250889/woocommerce-gutenberg-products-block.zip) + +## Feature plugin + +### Ensure onChange is set for radio buttons in `SavedPaymentMethodOptions` ([6825](https://github.com/woocommerce/woocommerce-blocks/pull/6825)) + +1. Install Stripe, set it up so you can use it at Checkout. +2. Add items to your cart and go to checkout. Add a credit/debit card via stripe and choose `Save payment information to my account for future purchases.` +3. Check out. Repeat step 2 once more with a different card number. **Ensure the new card you use ends in four different numbers than the first one!** You can see test cards here: +4. Add items to your cart and go to checkout a third time. This time ensure you can switch between saved cards. + image +5. Check out successfully, and then go to the back end of your site. Go to the orders you made (WooCommerce -> Orders) and for each order check the payment method used (you'll need to follow this through to Stripe), and ensure the card number used matches the one you chose in the Checkout block. (Click the link on the order page) + image + + + +--- + +[We're hiring!](https://woocommerce.com/careers/) Come work with us! + +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/810.md) + + + diff --git a/docs/internal-developers/testing/releases/README.md b/docs/internal-developers/testing/releases/README.md index d63cff2c4..9a00db51f 100644 --- a/docs/internal-developers/testing/releases/README.md +++ b/docs/internal-developers/testing/releases/README.md @@ -83,6 +83,8 @@ Every release includes specific testing instructions for new features and bug fi - [7.9.0](./790.md) - [8.0.0](./800.md) - [8.1.0](./810.md) +- [8.2.0](./820.md) +- [8.2.1](./821.md) @@ -90,6 +92,7 @@ Every release includes specific testing instructions for new features and bug fi [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/releases/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/releases/README.md) + diff --git a/docs/internal-developers/testing/smoke-testing.md b/docs/internal-developers/testing/smoke-testing.md index 79882a908..78570e4e5 100644 --- a/docs/internal-developers/testing/smoke-testing.md +++ b/docs/internal-developers/testing/smoke-testing.md @@ -286,6 +286,7 @@ In the `wp:woocommerce/product-search` substitute the URL used for the `action` [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/smoke-testing.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/smoke-testing.md) + diff --git a/docs/internal-developers/testing/when-to-employ-e2e-testing.md b/docs/internal-developers/testing/when-to-employ-e2e-testing.md index d2350991f..7ca73db3f 100644 --- a/docs/internal-developers/testing/when-to-employ-e2e-testing.md +++ b/docs/internal-developers/testing/when-to-employ-e2e-testing.md @@ -20,6 +20,7 @@ An example of things that _should_ be tested with E2E tests: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/when-to-employ-e2e-testing.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/testing/when-to-employ-e2e-testing.md) + diff --git a/docs/internal-developers/translations/README.md b/docs/internal-developers/translations/README.md index 073bdc708..2a4f7e5c9 100644 --- a/docs/internal-developers/translations/README.md +++ b/docs/internal-developers/translations/README.md @@ -16,6 +16,7 @@ This folder contains documentation around translation handling of WooCommerce Bl [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/translations/README.md) + diff --git a/docs/internal-developers/translations/translation-basics.md b/docs/internal-developers/translations/translation-basics.md index 95c6182bd..6ad575ac7 100644 --- a/docs/internal-developers/translations/translation-basics.md +++ b/docs/internal-developers/translations/translation-basics.md @@ -54,6 +54,7 @@ See also + diff --git a/docs/internal-developers/translations/translation-loading.md b/docs/internal-developers/translations/translation-loading.md index ba75bbe4d..60812cafa 100644 --- a/docs/internal-developers/translations/translation-loading.md +++ b/docs/internal-developers/translations/translation-loading.md @@ -303,6 +303,7 @@ add_filter( 'load_script_translation_file', 'load_woocommerce_core_json_translat [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/translations/translation-loading.md) + diff --git a/docs/internal-developers/translations/translation-management.md b/docs/internal-developers/translations/translation-management.md index 63fea00df..e33a17d8f 100644 --- a/docs/internal-developers/translations/translation-management.md +++ b/docs/internal-developers/translations/translation-management.md @@ -69,6 +69,7 @@ See also + diff --git a/docs/internal-developers/translations/translations-for-lazy-loaded-components.md b/docs/internal-developers/translations/translations-for-lazy-loaded-components.md index 80b574ab9..d3ea9539c 100644 --- a/docs/internal-developers/translations/translations-for-lazy-loaded-components.md +++ b/docs/internal-developers/translations/translations-for-lazy-loaded-components.md @@ -145,6 +145,7 @@ Lazy-loading translations within the WooCommerce Blocks plugin changed over time [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/translations/translations-for-lazy-loaded-components.md) + diff --git a/docs/internal-developers/translations/translations-in-FSE-templates.md b/docs/internal-developers/translations/translations-in-FSE-templates.md index 25172100c..97c83f303 100644 --- a/docs/internal-developers/translations/translations-in-FSE-templates.md +++ b/docs/internal-developers/translations/translations-in-FSE-templates.md @@ -114,6 +114,7 @@ The PR for the implementation above can be found on + diff --git a/docs/internal-developers/translations/translations-in-JS-TS-files.md b/docs/internal-developers/translations/translations-in-JS-TS-files.md index 1205ee8e8..473f2f15a 100644 --- a/docs/internal-developers/translations/translations-in-JS-TS-files.md +++ b/docs/internal-developers/translations/translations-in-JS-TS-files.md @@ -105,6 +105,7 @@ See also + diff --git a/docs/internal-developers/translations/translations-in-PHP-files.md b/docs/internal-developers/translations/translations-in-PHP-files.md index 5087a96ca..9aa37bda5 100644 --- a/docs/internal-developers/translations/translations-in-PHP-files.md +++ b/docs/internal-developers/translations/translations-in-PHP-files.md @@ -197,6 +197,7 @@ See also . [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/testing/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/internal-developers/translations/translations-in-PHP-files.md) + diff --git a/docs/third-party-developers/extensibility/README.md b/docs/third-party-developers/extensibility/README.md index 475536176..c831ffecd 100644 --- a/docs/third-party-developers/extensibility/README.md +++ b/docs/third-party-developers/extensibility/README.md @@ -52,6 +52,7 @@ In addition to the reference material below, [please see the `block-checkout` pa [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/README.md) + diff --git a/docs/third-party-developers/extensibility/checkout-block/available-filters.md b/docs/third-party-developers/extensibility/checkout-block/available-filters.md index 36b7a6bb0..bf60fc758 100644 --- a/docs/third-party-developers/extensibility/checkout-block/available-filters.md +++ b/docs/third-party-developers/extensibility/checkout-block/available-filters.md @@ -268,6 +268,7 @@ The error will also be shown in your console. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/available-filters.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-block/available-filters.md) + diff --git a/docs/third-party-developers/extensibility/checkout-block/available-slot-fills.md b/docs/third-party-developers/extensibility/checkout-block/available-slot-fills.md index d3f197bfc..f0ce088a1 100644 --- a/docs/third-party-developers/extensibility/checkout-block/available-slot-fills.md +++ b/docs/third-party-developers/extensibility/checkout-block/available-slot-fills.md @@ -81,6 +81,7 @@ Checkout: [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/available-slot-fills.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-block/available-slot-fills.md) + diff --git a/docs/third-party-developers/extensibility/checkout-block/dom-events.md b/docs/third-party-developers/extensibility/checkout-block/dom-events.md index c6f78c6c4..bdf2bf956 100644 --- a/docs/third-party-developers/extensibility/checkout-block/dom-events.md +++ b/docs/third-party-developers/extensibility/checkout-block/dom-events.md @@ -47,6 +47,7 @@ _Example usage in WC Blocks:_ Cart and Mini Cart blocks (via the `useStoreCart() [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/dom-events.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-block/dom-events.md) + diff --git a/docs/third-party-developers/extensibility/checkout-block/integration-interface.md b/docs/third-party-developers/extensibility/checkout-block/integration-interface.md index 613a00721..7565d6b5a 100644 --- a/docs/third-party-developers/extensibility/checkout-block/integration-interface.md +++ b/docs/third-party-developers/extensibility/checkout-block/integration-interface.md @@ -210,6 +210,7 @@ The value returned here is a plain old JavaScript object, keyed by the keys of t [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/integration-interface.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-block/integration-interface.md) + diff --git a/docs/third-party-developers/extensibility/checkout-block/slot-fills.md b/docs/third-party-developers/extensibility/checkout-block/slot-fills.md index 4a1ea0489..ca58b301a 100644 --- a/docs/third-party-developers/extensibility/checkout-block/slot-fills.md +++ b/docs/third-party-developers/extensibility/checkout-block/slot-fills.md @@ -69,6 +69,7 @@ For this to work, your script must be enqueued after Cart and Checkout. You can [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/slot-fills.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-block/slot-fills.md) + diff --git a/docs/third-party-developers/extensibility/checkout-payment-methods/checkout-flow-and-events.md b/docs/third-party-developers/extensibility/checkout-payment-methods/checkout-flow-and-events.md index 73f5b9baf..3e772f4c5 100644 --- a/docs/third-party-developers/extensibility/checkout-payment-methods/checkout-flow-and-events.md +++ b/docs/third-party-developers/extensibility/checkout-payment-methods/checkout-flow-and-events.md @@ -12,6 +12,7 @@ [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/checkout-flow-and-events.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-payment-methods/checkout-flow-and-events.md) + diff --git a/docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md b/docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md index e2d918ba9..a19e5fea0 100644 --- a/docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md +++ b/docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md @@ -171,6 +171,7 @@ If you've added your payment method correctly with the correct `supports` values [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/filtering-payment-methods.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md) + diff --git a/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md b/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md index 895375bc7..a031f7309 100644 --- a/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md +++ b/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md @@ -244,6 +244,7 @@ As an example, you can see how the Stripe extension adds it's integration in thi [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/payment-method-integration.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md) + diff --git a/docs/third-party-developers/extensibility/hooks/actions.md b/docs/third-party-developers/extensibility/hooks/actions.md index 48f436d6e..a5c684192 100644 --- a/docs/third-party-developers/extensibility/hooks/actions.md +++ b/docs/third-party-developers/extensibility/hooks/actions.md @@ -6,45 +6,49 @@ ## Table of Contents -- [woocommerce_add_to_cart](#woocommerce_add_to_cart) -- [woocommerce_after_main_content](#woocommerce_after_main_content) -- [woocommerce_after_shop_loop](#woocommerce_after_shop_loop) -- [woocommerce_applied_coupon](#woocommerce_applied_coupon) -- [woocommerce_archive_description](#woocommerce_archive_description) -- [woocommerce_before_main_content](#woocommerce_before_main_content) -- [woocommerce_before_shop_loop](#woocommerce_before_shop_loop) -- [woocommerce_blocks_cart_enqueue_data](#woocommerce_blocks_cart_enqueue_data) -- [woocommerce_blocks_checkout_enqueue_data](#woocommerce_blocks_checkout_enqueue_data) -- [woocommerce_blocks_enqueue_cart_block_scripts_after](#woocommerce_blocks_enqueue_cart_block_scripts_after) -- [woocommerce_blocks_enqueue_cart_block_scripts_before](#woocommerce_blocks_enqueue_cart_block_scripts_before) -- [woocommerce_blocks_enqueue_checkout_block_scripts_after](#woocommerce_blocks_enqueue_checkout_block_scripts_after) -- [woocommerce_blocks_enqueue_checkout_block_scripts_before](#woocommerce_blocks_enqueue_checkout_block_scripts_before) -- [woocommerce*blocks*{\$this->registry_identifier}\_registration](#woocommerce_blocks_-this--registry_identifier-_registration) -- [woocommerce_check_cart_items](#-woocommerce_check_cart_items) -- [woocommerce_created_customer](#woocommerce_created_customer) -- [woocommerce_no_products_found](#woocommerce_no_products_found) -- [woocommerce_register_post](#woocommerce_register_post) -- [woocommerce_rest_checkout_process_payment_with_context](#woocommerce_rest_checkout_process_payment_with_context) -- [woocommerce_shop_loop](#woocommerce_shop_loop) -- [woocommerce_store_api_cart_errors](#woocommerce_store_api_cart_errors) -- [woocommerce_store_api_cart_update_customer_from_request](#woocommerce_store_api_cart_update_customer_from_request) -- [woocommerce_store_api_cart_update_order_from_request](#woocommerce_store_api_cart_update_order_from_request) -- [woocommerce_store_api_checkout_order_processed](#woocommerce_store_api_checkout_order_processed) -- [woocommerce_store_api_checkout_update_order_from_request](#woocommerce_store_api_checkout_update_order_from_request) -- [woocommerce_store_api_checkout_update_order_meta](#woocommerce_store_api_checkout_update_order_meta) -- [woocommerce_store_api_validate_add_to_cart](#woocommerce_store_api_validate_add_to_cart) -- [woocommerce_store_api_validate_cart_item](#woocommerce_store_api_validate_cart_item) + + - [woocommerce_add_to_cart](#woocommerce_add_to_cart) + - [woocommerce_after_main_content](#woocommerce_after_main_content) + - [woocommerce_after_shop_loop](#woocommerce_after_shop_loop) + - [woocommerce_applied_coupon](#woocommerce_applied_coupon) + - [woocommerce_archive_description](#woocommerce_archive_description) + - [woocommerce_before_main_content](#woocommerce_before_main_content) + - [woocommerce_before_shop_loop](#woocommerce_before_shop_loop) + - [woocommerce_blocks_cart_enqueue_data](#woocommerce_blocks_cart_enqueue_data) + - [woocommerce_blocks_checkout_enqueue_data](#woocommerce_blocks_checkout_enqueue_data) + - [woocommerce_blocks_enqueue_cart_block_scripts_after](#woocommerce_blocks_enqueue_cart_block_scripts_after) + - [woocommerce_blocks_enqueue_cart_block_scripts_before](#woocommerce_blocks_enqueue_cart_block_scripts_before) + - [woocommerce_blocks_enqueue_checkout_block_scripts_after](#woocommerce_blocks_enqueue_checkout_block_scripts_after) + - [woocommerce_blocks_enqueue_checkout_block_scripts_before](#woocommerce_blocks_enqueue_checkout_block_scripts_before) + - [woocommerce_blocks_{$this->registry_identifier}_registration](#woocommerce_blocks_-this--registry_identifier-_registration) + - [woocommerce_check_cart_items](#-woocommerce_check_cart_items) + - [woocommerce_created_customer](#woocommerce_created_customer) + - [woocommerce_no_products_found](#woocommerce_no_products_found) + - [woocommerce_register_post](#woocommerce_register_post) + - [woocommerce_rest_checkout_process_payment_with_context](#woocommerce_rest_checkout_process_payment_with_context) + - [woocommerce_shop_loop](#woocommerce_shop_loop) + - [woocommerce_store_api_cart_errors](#woocommerce_store_api_cart_errors) + - [woocommerce_store_api_cart_update_customer_from_request](#woocommerce_store_api_cart_update_customer_from_request) + - [woocommerce_store_api_cart_update_order_from_request](#woocommerce_store_api_cart_update_order_from_request) + - [woocommerce_store_api_checkout_order_processed](#woocommerce_store_api_checkout_order_processed) + - [woocommerce_store_api_checkout_update_customer_from_request](#woocommerce_store_api_checkout_update_customer_from_request) + - [woocommerce_store_api_checkout_update_order_from_request](#woocommerce_store_api_checkout_update_order_from_request) + - [woocommerce_store_api_checkout_update_order_meta](#woocommerce_store_api_checkout_update_order_meta) + - [woocommerce_store_api_validate_add_to_cart](#woocommerce_store_api_validate_add_to_cart) + - [woocommerce_store_api_validate_cart_item](#woocommerce_store_api_validate_cart_item) --- ## woocommerce_add_to_cart + Fires when an item is added to the cart. ```php do_action( 'woocommerce_add_to_cart', string $cart_id, integer $product_id, integer $request_quantity, integer $variation_id, array $variation, array $cart_item_data ) ``` + **Note: Matches action name in WooCommerce core.** ### Description @@ -53,23 +57,25 @@ do_action( 'woocommerce_add_to_cart', string $cart_id, integer $product_id, inte ### Parameters -| Argument | Type | Description | -| ------------------ | ------- | ---------------------------------------------- | -| \$cart_id | string | ID of the item in the cart. | -| \$product_id | integer | ID of the product added to the cart. | -| \$request_quantity | integer | Quantity of the item added to the cart. | -| \$variation_id | integer | Variation ID of the product added to the cart. | -| \$variation | array | Array of variation data. | -| \$cart_item_data | array | Array of other cart item data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $cart_id | string | ID of the item in the cart. | +| $product_id | integer | ID of the product added to the cart. | +| $request_quantity | integer | Quantity of the item added to the cart. | +| $variation_id | integer | Variation ID of the product added to the cart. | +| $variation | array | Array of variation data. | +| $cart_item_data | array | Array of other cart item data. | ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_after_main_content + Hook: woocommerce_after_main_content ```php @@ -82,17 +88,20 @@ do_action( 'woocommerce_after_main_content' ) ### See -- woocommerce_output_content_wrapper_end() - Outputs closing DIV for the content (priority 10) + + - woocommerce_output_content_wrapper_end() - Outputs closing DIV for the content (priority 10) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_after_shop_loop + Hook: woocommerce_after_shop_loop. ```php @@ -101,38 +110,44 @@ do_action( 'woocommerce_after_shop_loop' ) ### See -- woocommerce_pagination() - Renders pagination (priority 10) + + - woocommerce_pagination() - Renders pagination (priority 10) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_applied_coupon + Fires after a coupon has been applied to the cart. ```php do_action( 'woocommerce_applied_coupon', string $coupon_code ) ``` + **Note: Matches action name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ------------- | ------ | --------------------------------- | -| \$coupon_code | string | The coupon code that was applied. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $coupon_code | string | The coupon code that was applied. | ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_archive_description + Hook: woocommerce_archive_description. ```php @@ -141,17 +156,20 @@ do_action( 'woocommerce_archive_description' ) ### See -- woocommerce_taxonomy_archive_description() - Renders the taxonomy archive description (priority 10) -- woocommerce_product_archive_description() - Renders the product archive description (priority 10) + + - woocommerce_taxonomy_archive_description() - Renders the taxonomy archive description (priority 10) + - woocommerce_product_archive_description() - Renders the product archive description (priority 10) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_before_main_content + Hook: woocommerce_before_main_content ```php @@ -164,19 +182,22 @@ do_action( 'woocommerce_before_main_content' ) ### See -- woocommerce_output_content_wrapper() - Outputs opening DIV for the content (priority 10) -- woocommerce_breadcrumb() - Outputs breadcrumb trail to the current product (priority 20) -- WC_Structured_Data::generate_website_data() - Outputs schema markup (priority 30) + + - woocommerce_output_content_wrapper() - Outputs opening DIV for the content (priority 10) + - woocommerce_breadcrumb() - Outputs breadcrumb trail to the current product (priority 20) + - WC_Structured_Data::generate_website_data() - Outputs schema markup (priority 30) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_before_shop_loop + Hook: woocommerce_before_shop_loop. ```php @@ -185,18 +206,21 @@ do_action( 'woocommerce_before_shop_loop' ) ### See -- woocommerce_output_all_notices() - Render error notices (priority 10) -- woocommerce_result_count() - Show number of results found (priority 20) -- woocommerce_catalog_ordering() - Show form to control sort order (priority 30) + + - woocommerce_output_all_notices() - Render error notices (priority 10) + - woocommerce_result_count() - Show number of results found (priority 20) + - woocommerce_catalog_ordering() - Show form to control sort order (priority 30) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_blocks_cart_enqueue_data + Fires after cart block data is registered. ```php @@ -205,13 +229,15 @@ do_action( 'woocommerce_blocks_cart_enqueue_data' ) ### Source -- [BlockTypes/MiniCart.php](../../src/BlockTypes/MiniCart.php) -- [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) + + - [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) + - [BlockTypes/MiniCart.php](../../src/BlockTypes/MiniCart.php) --- ## woocommerce_blocks_checkout_enqueue_data + Fires after checkout block data is registered. ```php @@ -220,12 +246,14 @@ do_action( 'woocommerce_blocks_checkout_enqueue_data' ) ### Source -- [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) + + - [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) --- ## woocommerce_blocks_enqueue_cart_block_scripts_after + Fires after cart block scripts are enqueued. ```php @@ -234,12 +262,14 @@ do_action( 'woocommerce_blocks_enqueue_cart_block_scripts_after' ) ### Source -- [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) + + - [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) --- ## woocommerce_blocks_enqueue_cart_block_scripts_before + Fires before cart block scripts are enqueued. ```php @@ -248,12 +278,14 @@ do_action( 'woocommerce_blocks_enqueue_cart_block_scripts_before' ) ### Source -- [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) + + - [BlockTypes/Cart.php](../../src/BlockTypes/Cart.php) --- ## woocommerce_blocks_enqueue_checkout_block_scripts_after + Fires after checkout block scripts are enqueued. ```php @@ -262,12 +294,14 @@ do_action( 'woocommerce_blocks_enqueue_checkout_block_scripts_after' ) ### Source -- [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) + + - [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) --- ## woocommerce_blocks_enqueue_checkout_block_scripts_before + Fires before checkout block scripts are enqueued. ```php @@ -276,11 +310,13 @@ do_action( 'woocommerce_blocks_enqueue_checkout_block_scripts_before' ) ### Source -- [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) + + - [BlockTypes/Checkout.php](../../src/BlockTypes/Checkout.php) --- -## woocommerce*blocks*{\$this->registry_identifier}\_registration +## woocommerce_blocks_{$this->registry_identifier}_registration + Fires when the IntegrationRegistry is initialized. @@ -294,26 +330,30 @@ do_action( 'woocommerce_blocks_{$this->registry_identifier}_registration', \Auto ### Parameters -| Argument | Type | Description | -| -------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| \$this | \Automattic\WooCommerce\Blocks\Integrations\IntegrationRegistry | Instance of the IntegrationRegistry class which exposes the IntegrationRegistry::register() method. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $this | \Automattic\WooCommerce\Blocks\Integrations\IntegrationRegistry | Instance of the IntegrationRegistry class which exposes the IntegrationRegistry::register() method. | ### Source -- [Integrations/IntegrationRegistry.php](../../src/Integrations/IntegrationRegistry.php) + + - [Integrations/IntegrationRegistry.php](../../src/Integrations/IntegrationRegistry.php) --- ## ~~woocommerce_check_cart_items~~ + Fires when cart items are being validated. ```php do_action( 'woocommerce_check_cart_items' ) ``` + **Deprecated: This hook is deprecated and will be removed** + **Note: Matches action name in WooCommerce core.** ### Description @@ -322,18 +362,21 @@ do_action( 'woocommerce_check_cart_items' ) ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_created_customer + Fires after a customer account has been registered. ```php do_action( 'woocommerce_created_customer', integer $customer_id, array $new_customer_data, string $password_generated ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -342,20 +385,22 @@ do_action( 'woocommerce_created_customer', integer $customer_id, array $new_cust ### Parameters -| Argument | Type | Description | -| -------------------- | ------- | --------------------------------------- | -| \$customer_id | integer | New customer (user) ID. | -| \$new_customer_data | array | Array of customer (user) data. | -| \$password_generated | string | The generated password for the account. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $customer_id | integer | New customer (user) ID. | +| $new_customer_data | array | Array of customer (user) data. | +| $password_generated | string | The generated password for the account. | ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_no_products_found + Hook: woocommerce_no_products_found. ```php @@ -364,22 +409,26 @@ do_action( 'woocommerce_no_products_found' ) ### See -- wc_no_products_found() - Default no products found content (priority 10) + + - wc_no_products_found() - Default no products found content (priority 10) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_register_post + Fires before a customer account is registered. ```php do_action( 'woocommerce_register_post', string $username, string $user_email, \WP_Error $errors ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -388,20 +437,22 @@ do_action( 'woocommerce_register_post', string $username, string $user_email, \W ### Parameters -| Argument | Type | Description | -| ------------ | --------- | ----------------------- | -| \$username | string | Customer username. | -| \$user_email | string | Customer email address. | -| \$errors | \WP_Error | Error object. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $username | string | Customer username. | +| $user_email | string | Customer email address. | +| $errors | \WP_Error | Error object. | ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_rest_checkout_process_payment_with_context + Process payment with context. ```php @@ -410,23 +461,26 @@ do_action_ref_array( 'woocommerce_rest_checkout_process_payment_with_context', [ ### Parameters -| Argument | Type | Description | -| ---------------- | -------------------------------------------------------- | --------------------------------------------------------------------- | -| \$context | \Automattic\WooCommerce\StoreApi\Payments\PaymentContext | Holds context for the payment, including order ID and payment method. | -| \$payment_result | \Automattic\WooCommerce\StoreApi\Payments\PaymentResult | Result object for the transaction. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $context | \Automattic\WooCommerce\StoreApi\Payments\PaymentContext | Holds context for the payment, including order ID and payment method. | +| $payment_result | \Automattic\WooCommerce\StoreApi\Payments\PaymentResult | Result object for the transaction. | ### Exceptions + `\Exception` If there is an error taking payment, an \Exception object can be thrown with an error message. ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_shop_loop + Hook: woocommerce_shop_loop. ```php @@ -435,12 +489,14 @@ do_action( 'woocommerce_shop_loop' ) ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_store_api_cart_errors + Fires an action to validate the cart. ```php @@ -453,13 +509,15 @@ do_action( 'woocommerce_store_api_cart_errors', \WP_Error $errors, \WC_Cart $car ### Parameters -| Argument | Type | Description | -| -------- | --------- | ---------------- | -| \$errors | \WP_Error | WP_Error object. | -| \$cart | \WC_Cart | Cart object. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $errors | \WP_Error | WP_Error object. | +| $cart | \WC_Cart | Cart object. | ### Example +# Validate Cart + ```php // The action callback function. function my_function_callback( $errors, $cart ) { @@ -473,14 +531,17 @@ function my_function_callback( $errors, $cart ) { add_action( 'woocommerce_store_api_cart_errors', 'my_function_callback', 10 ); ``` + ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_store_api_cart_update_customer_from_request + Fires when the Checkout Block/Store API updates a customer from the API request data. ```php @@ -489,19 +550,21 @@ do_action( 'woocommerce_store_api_cart_update_customer_from_request', \WC_Custom ### Parameters -| Argument | Type | Description | -| ---------- | ---------------- | ------------------------------- | -| \$customer | \WC_Customer | Customer object. | -| \$request | \WP_REST_Request | Full details about the request. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $customer | \WC_Customer | Customer object. | +| $request | \WP_REST_Request | Full details about the request. | ### Source -- [StoreApi/Routes/V1/CartUpdateCustomer.php](../../src/StoreApi/Routes/V1/CartUpdateCustomer.php) + + - [StoreApi/Routes/V1/CartUpdateCustomer.php](../../src/StoreApi/Routes/V1/CartUpdateCustomer.php) --- ## woocommerce_store_api_cart_update_order_from_request + Fires when the order is synced with cart data from a cart route. ```php @@ -510,20 +573,22 @@ do_action( 'woocommerce_store_api_cart_update_order_from_request', \WC_Order $dr ### Parameters -| Argument | Type | Description | -| ------------- | ---------------- | ------------------------------- | -| \$draft_order | \WC_Order | Order object. | -| \$customer | \WC_Customer | Customer object. | -| \$request | \WP_REST_Request | Full details about the request. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $draft_order | \WC_Order | Order object. | +| $customer | \WC_Customer | Customer object. | +| $request | \WP_REST_Request | Full details about the request. | ### Source -- [StoreApi/Routes/V1/AbstractCartRoute.php](../../src/StoreApi/Routes/V1/AbstractCartRoute.php) + + - [StoreApi/Routes/V1/AbstractCartRoute.php](../../src/StoreApi/Routes/V1/AbstractCartRoute.php) --- ## woocommerce_store_api_checkout_order_processed + Fires before an order is processed by the Checkout Block/Store API. ```php @@ -536,12 +601,14 @@ do_action( 'woocommerce_store_api_checkout_order_processed', \WC_Order $order ) ### Parameters -| Argument | Type | Description | -| -------- | --------- | ------------- | -| \$order | \WC_Order | Order object. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $order | \WC_Order | Order object. | ### Example +# Checkout Order Processed + ```php // The action callback function. function my_function_callback( $order ) { @@ -552,18 +619,45 @@ function my_function_callback( $order ) { add_action( 'woocommerce_blocks_checkout_order_processed', 'my_function_callback', 10 ); ``` + ### See -- https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3238 + + - https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3238 ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + +--- + +## woocommerce_store_api_checkout_update_customer_from_request + + +Fires when the Checkout Block/Store API updates a customer from the API request data. + +```php +do_action( 'woocommerce_store_api_checkout_update_customer_from_request', \WC_Customer $customer, \WP_REST_Request $request ) +``` + +### Parameters + +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $customer | \WC_Customer | Customer object. | +| $request | \WP_REST_Request | Full details about the request. | + +### Source + + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_store_api_checkout_update_order_from_request + Fires when the Checkout Block/Store API updates an order's from the API request data. ```php @@ -576,19 +670,21 @@ do_action( 'woocommerce_store_api_checkout_update_order_from_request', \WC_Order ### Parameters -| Argument | Type | Description | -| --------- | ---------------- | ------------------------------- | -| \$order | \WC_Order | Order object. | -| \$request | \WP_REST_Request | Full details about the request. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $order | \WC_Order | Order object. | +| $request | \WP_REST_Request | Full details about the request. | ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_store_api_checkout_update_order_meta + Fires when the Checkout Block/Store API updates an order's meta data. ```php @@ -601,22 +697,25 @@ do_action( 'woocommerce_store_api_checkout_update_order_meta', \WC_Order $order ### Parameters -| Argument | Type | Description | -| -------- | --------- | ------------- | -| \$order | \WC_Order | Order object. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $order | \WC_Order | Order object. | ### See -- https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3686 + + - https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3686 ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_store_api_validate_add_to_cart + Fires during validation when adding an item to the cart via the Store API. ```php @@ -629,19 +728,21 @@ do_action( 'woocommerce_store_api_validate_add_to_cart', \WC_Product $product, a ### Parameters -| Argument | Type | Description | -| --------- | ----------- | ---------------------------------------------------------------------------- | -| \$product | \WC_Product | Product object being added to the cart. | -| \$request | array | Add to cart request params including id, quantity, and variation attributes. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $product | \WC_Product | Product object being added to the cart. | +| $request | array | Add to cart request params including id, quantity, and variation attributes. | ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_store_api_validate_cart_item + Fire action to validate add to cart. Functions hooking into this should throw an \Exception to prevent add to cart from occurring. ```php @@ -650,23 +751,24 @@ do_action( 'woocommerce_store_api_validate_cart_item', \WC_Product $product, arr ### Parameters -| Argument | Type | Description | -| ----------- | ----------- | --------------------------------------- | -| \$product | \WC_Product | Product object being added to the cart. | -| \$cart_item | array | Cart item array. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $product | \WC_Product | Product object being added to the cart. | +| $cart_item | array | Cart item array. | ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) ---- + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) +--- --- [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/actions.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/hooks/actions.md) + diff --git a/docs/third-party-developers/extensibility/hooks/filters.md b/docs/third-party-developers/extensibility/hooks/filters.md index 4bcf4033f..1c6546e12 100644 --- a/docs/third-party-developers/extensibility/hooks/filters.md +++ b/docs/third-party-developers/extensibility/hooks/filters.md @@ -6,36 +6,38 @@ ## Table of Contents -- [\_\_experimental_woocommerce_blocks_add_data_attributes_to_block](#__experimental_woocommerce_blocks_add_data_attributes_to_block) -- [\_\_experimental_woocommerce_blocks_add_data_attributes_to_namespace](#__experimental_woocommerce_blocks_add_data_attributes_to_namespace) -- [\_\_experimental_woocommerce_blocks_payment_gateway_features_list](#__experimental_woocommerce_blocks_payment_gateway_features_list) -- [woocommerce_add_cart_item](#woocommerce_add_cart_item) -- [woocommerce_add_cart_item_data](#woocommerce_add_cart_item_data) -- [woocommerce_add_to_cart_sold_individually_quantity](#woocommerce_add_to_cart_sold_individually_quantity) -- [woocommerce_add_to_cart_validation](#-woocommerce_add_to_cart_validation) -- [woocommerce_adjust_non_base_location_prices](#woocommerce_adjust_non_base_location_prices) -- [woocommerce_admin_disabled](#woocommerce_admin_disabled) -- [woocommerce_apply_individual_use_coupon](#woocommerce_apply_individual_use_coupon) -- [woocommerce_apply_with_individual_use_coupon](#woocommerce_apply_with_individual_use_coupon) -- [woocommerce_blocks_product_grid_is_cacheable](#woocommerce_blocks_product_grid_is_cacheable) -- [woocommerce_blocks_product_grid_item_html](#woocommerce_blocks_product_grid_item_html) -- [woocommerce_blocks_register_script_dependencies](#woocommerce_blocks_register_script_dependencies) -- [woocommerce_cart_contents_changed](#woocommerce_cart_contents_changed) -- [woocommerce_ga_disable_tracking](#woocommerce_ga_disable_tracking) -- [woocommerce_get_item_data](#woocommerce_get_item_data) -- [woocommerce_new_customer_data](#woocommerce_new_customer_data) -- [woocommerce_registration_errors](#woocommerce_registration_errors) -- [woocommerce_shared_settings](#-woocommerce_shared_settings) -- [woocommerce_shipping_package_name](#woocommerce_shipping_package_name) -- [woocommerce_show_page_title](#woocommerce_show_page_title) -- [woocommerce_store_api_disable_nonce_check](#woocommerce_store_api_disable_nonce_check) -- [woocommerce_store_api_product_quantity_limit](#woocommerce_store_api_product_quantity_limit) -- [woocommerce*store_api_product_quantity*{\$value_type}](#woocommerce_store_api_product_quantity_-value_type) -- [woocommerce_variation_option_name](#woocommerce_variation_option_name) + + - [__experimental_woocommerce_blocks_add_data_attributes_to_block](#__experimental_woocommerce_blocks_add_data_attributes_to_block) + - [__experimental_woocommerce_blocks_add_data_attributes_to_namespace](#__experimental_woocommerce_blocks_add_data_attributes_to_namespace) + - [__experimental_woocommerce_blocks_payment_gateway_features_list](#__experimental_woocommerce_blocks_payment_gateway_features_list) + - [woocommerce_add_cart_item](#woocommerce_add_cart_item) + - [woocommerce_add_cart_item_data](#woocommerce_add_cart_item_data) + - [woocommerce_add_to_cart_sold_individually_quantity](#woocommerce_add_to_cart_sold_individually_quantity) + - [woocommerce_add_to_cart_validation](#-woocommerce_add_to_cart_validation) + - [woocommerce_adjust_non_base_location_prices](#woocommerce_adjust_non_base_location_prices) + - [woocommerce_admin_disabled](#woocommerce_admin_disabled) + - [woocommerce_apply_individual_use_coupon](#woocommerce_apply_individual_use_coupon) + - [woocommerce_apply_with_individual_use_coupon](#woocommerce_apply_with_individual_use_coupon) + - [woocommerce_blocks_product_grid_is_cacheable](#woocommerce_blocks_product_grid_is_cacheable) + - [woocommerce_blocks_product_grid_item_html](#woocommerce_blocks_product_grid_item_html) + - [woocommerce_blocks_register_script_dependencies](#woocommerce_blocks_register_script_dependencies) + - [woocommerce_cart_contents_changed](#woocommerce_cart_contents_changed) + - [woocommerce_ga_disable_tracking](#woocommerce_ga_disable_tracking) + - [woocommerce_get_item_data](#woocommerce_get_item_data) + - [woocommerce_new_customer_data](#woocommerce_new_customer_data) + - [woocommerce_registration_errors](#woocommerce_registration_errors) + - [woocommerce_shared_settings](#-woocommerce_shared_settings) + - [woocommerce_shipping_package_name](#woocommerce_shipping_package_name) + - [woocommerce_show_page_title](#woocommerce_show_page_title) + - [woocommerce_store_api_disable_nonce_check](#woocommerce_store_api_disable_nonce_check) + - [woocommerce_store_api_product_quantity_limit](#woocommerce_store_api_product_quantity_limit) + - [woocommerce_store_api_product_quantity_{$value_type}](#woocommerce_store_api_product_quantity_-value_type) + - [woocommerce_variation_option_name](#woocommerce_variation_option_name) --- -## \_\_experimental_woocommerce_blocks_add_data_attributes_to_block +## __experimental_woocommerce_blocks_add_data_attributes_to_block + Filters the list of allowed Block Names @@ -49,17 +51,19 @@ apply_filters( '__experimental_woocommerce_blocks_add_data_attributes_to_block', ### Parameters -| Argument | Type | Description | -| -------------------- | ----- | ------------------- | -| \$allowed_namespaces | array | List of namespaces. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $allowed_namespaces | array | List of namespaces. | ### Source -- [BlockTypesController.php](../../src/BlockTypesController.php) + + - [BlockTypesController.php](../../src/BlockTypesController.php) --- -## \_\_experimental_woocommerce_blocks_add_data_attributes_to_namespace +## __experimental_woocommerce_blocks_add_data_attributes_to_namespace + Filters the list of allowed block namespaces. @@ -73,17 +77,19 @@ apply_filters( '__experimental_woocommerce_blocks_add_data_attributes_to_namespa ### Parameters -| Argument | Type | Description | -| -------------------- | ----- | ------------------- | -| \$allowed_namespaces | array | List of namespaces. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $allowed_namespaces | array | List of namespaces. | ### Source -- [BlockTypesController.php](../../src/BlockTypesController.php) + + - [BlockTypesController.php](../../src/BlockTypesController.php) --- -## \_\_experimental_woocommerce_blocks_payment_gateway_features_list +## __experimental_woocommerce_blocks_payment_gateway_features_list + Filter to control what features are available for each payment gateway. @@ -93,17 +99,20 @@ apply_filters( '__experimental_woocommerce_blocks_payment_gateway_features_list' ### Parameters -| Argument | Type | Description | -| ---------- | ------ | --------------------------- | -| \$features | array | List of supported features. | -| \$name | string | Gateway name. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $features | array | List of supported features. | +| $name | string | Gateway name. | ### Returns + `array` Updated list of supported features. ### Example +# Payment Gateway Featured List + ```php // The action callback function. function my_function_callback( $features, $gateway ) { @@ -117,106 +126,122 @@ function my_function_callback( $features, $gateway ) { add_filter( '__experimental_woocommerce_blocks_payment_gateway_features_list', 'my_function_callback', 10, 2 ); ``` + ### Source -- [Payments/Integrations/PayPal.php](../../src/Payments/Integrations/PayPal.php) + + - [Payments/Integrations/PayPal.php](../../src/Payments/Integrations/PayPal.php) --- ## woocommerce_add_cart_item + Filters the item being added to the cart. ```php apply_filters( 'woocommerce_add_cart_item', array $cart_item_data, string $cart_id ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ---------------- | ------ | ------------------------------------------------ | -| \$cart_item_data | array | Array of cart item data being added to the cart. | -| \$cart_id | string | Id of the item in the cart. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $cart_item_data | array | Array of cart item data being added to the cart. | +| $cart_id | string | Id of the item in the cart. | ### Returns + `array` Updated cart item data. ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_add_cart_item_data + Filter cart item data for add to cart requests. ```php apply_filters( 'woocommerce_add_cart_item_data', array $cart_item_data, integer $product_id, integer $variation_id, integer $quantity ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ---------------- | ------- | ---------------------------------------------- | -| \$cart_item_data | array | Array of other cart item data. | -| \$product_id | integer | ID of the product added to the cart. | -| \$variation_id | integer | Variation ID of the product added to the cart. | -| \$quantity | integer | Quantity of the item added to the cart. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $cart_item_data | array | Array of other cart item data. | +| $product_id | integer | ID of the product added to the cart. | +| $variation_id | integer | Variation ID of the product added to the cart. | +| $quantity | integer | Quantity of the item added to the cart. | ### Returns -`array` + +`array` ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_add_to_cart_sold_individually_quantity + Filter sold individually quantity for add to cart requests. ```php apply_filters( 'woocommerce_add_to_cart_sold_individually_quantity', integer $sold_individually_quantity, integer $quantity, integer $product_id, integer $variation_id, array $cart_item_data ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ---------------------------- | ------- | ---------------------------------------------- | -| \$sold_individually_quantity | integer | Defaults to 1. | -| \$quantity | integer | Quantity of the item added to the cart. | -| \$product_id | integer | ID of the product added to the cart. | -| \$variation_id | integer | Variation ID of the product added to the cart. | -| \$cart_item_data | array | Array of other cart item data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $sold_individually_quantity | integer | Defaults to 1. | +| $quantity | integer | Quantity of the item added to the cart. | +| $product_id | integer | ID of the product added to the cart. | +| $variation_id | integer | Variation ID of the product added to the cart. | +| $cart_item_data | array | Array of other cart item data. | ### Returns -`integer` + +`integer` ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## ~~woocommerce_add_to_cart_validation~~ + Filters if an item being added to the cart passed validation checks. ```php apply_filters( 'woocommerce_add_to_cart_validation', boolean $passed_validation, integer $product_id, integer $quantity, integer $variation_id, array $variation ) ``` + **Deprecated: This hook is deprecated and will be removed** ### Description @@ -225,32 +250,36 @@ apply_filters( 'woocommerce_add_to_cart_validation', boolean $passed_validation, ### Parameters -| Argument | Type | Description | -| ------------------- | ------- | ------------------------------------- | -| \$passed_validation | boolean | True if the item passed validation. | -| \$product_id | integer | Product ID being validated. | -| \$quantity | integer | Quantity added to the cart. | -| \$variation_id | integer | Variation ID being added to the cart. | -| \$variation | array | Variation data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $passed_validation | boolean | True if the item passed validation. | +| $product_id | integer | Product ID being validated. | +| $quantity | integer | Quantity added to the cart. | +| $variation_id | integer | Variation ID being added to the cart. | +| $variation | array | Variation data. | ### Returns -`boolean` + +`boolean` ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_adjust_non_base_location_prices + Filters if taxes should be removed from locations outside the store base location. ```php apply_filters( 'woocommerce_adjust_non_base_location_prices', boolean $adjust_non_base_location_prices ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -259,91 +288,106 @@ apply_filters( 'woocommerce_adjust_non_base_location_prices', boolean $adjust_no ### Parameters -| Argument | Type | Description | -| --------------------------------- | ------- | ---------------- | -| \$adjust_non_base_location_prices | boolean | True by default. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $adjust_non_base_location_prices | boolean | True by default. | ### Returns -`boolean` + +`boolean` ### Source -- [StoreApi/Utilities/ProductQuery.php](../../src/StoreApi/Utilities/ProductQuery.php) + + - [StoreApi/Utilities/ProductQuery.php](../../src/StoreApi/Utilities/ProductQuery.php) --- ## woocommerce_admin_disabled + + + ```php apply_filters( 'woocommerce_admin_disabled' ) ``` ### Source -- [InboxNotifications.php](../../src/InboxNotifications.php) + + - [InboxNotifications.php](../../src/InboxNotifications.php) --- ## woocommerce_apply_individual_use_coupon + Filter coupons to remove when applying an individual use coupon. ```php apply_filters( 'woocommerce_apply_individual_use_coupon', array $coupons, \WC_Coupon $coupon, array $applied_coupons ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ----------------- | ---------- | ----------------------------------------------------- | -| \$coupons | array | Array of coupons to remove from the cart. | -| \$coupon | \WC_Coupon | Coupon object applied to the cart. | -| \$applied_coupons | array | Array of applied coupons already applied to the cart. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $coupons | array | Array of coupons to remove from the cart. | +| $coupon | \WC_Coupon | Coupon object applied to the cart. | +| $applied_coupons | array | Array of applied coupons already applied to the cart. | ### Returns -`array` + +`array` ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_apply_with_individual_use_coupon + Filters if a coupon can be applied alongside other individual use coupons. ```php apply_filters( 'woocommerce_apply_with_individual_use_coupon', boolean $apply_with_individual_use_coupon, \WC_Coupon $coupon, \WC_Coupon $individual_use_coupon, array $applied_coupons ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ---------------------------------- | ---------- | ----------------------------------------------------- | -| \$apply_with_individual_use_coupon | boolean | Defaults to false. | -| \$coupon | \WC_Coupon | Coupon object applied to the cart. | -| \$individual_use_coupon | \WC_Coupon | Individual use coupon already applied to the cart. | -| \$applied_coupons | array | Array of applied coupons already applied to the cart. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $apply_with_individual_use_coupon | boolean | Defaults to false. | +| $coupon | \WC_Coupon | Coupon object applied to the cart. | +| $individual_use_coupon | \WC_Coupon | Individual use coupon already applied to the cart. | +| $applied_coupons | array | Array of applied coupons already applied to the cart. | ### Returns -`boolean` + +`boolean` ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_blocks_product_grid_is_cacheable + Filters whether or not the product grid is cacheable. ```php @@ -352,23 +396,26 @@ apply_filters( 'woocommerce_blocks_product_grid_is_cacheable', boolean $is_cache ### Parameters -| Argument | Type | Description | -| -------------- | ------- | ---------------------------------------------------------- | -| \$is_cacheable | boolean | The list of script dependencies. | -| \$query_args | array | Query args for the products query passed to BlocksWpQuery. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $is_cacheable | boolean | The list of script dependencies. | +| $query_args | array | Query args for the products query passed to BlocksWpQuery. | ### Returns + `array` True to enable cache, false to disable cache. ### Source -- [BlockTypes/AbstractProductGrid.php](../../src/BlockTypes/AbstractProductGrid.php) + + - [BlockTypes/AbstractProductGrid.php](../../src/BlockTypes/AbstractProductGrid.php) --- ## woocommerce_blocks_product_grid_item_html + Filters the HTML for products in the grid. ```php @@ -377,24 +424,27 @@ apply_filters( 'woocommerce_blocks_product_grid_item_html', string $html, array ### Parameters -| Argument | Type | Description | -| --------- | ----------- | ------------------------------------ | -| \$html | string | Product grid item HTML. | -| \$data | array | Product data passed to the template. | -| \$product | \WC_Product | Product object. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $html | string | Product grid item HTML. | +| $data | array | Product data passed to the template. | +| $product | \WC_Product | Product object. | ### Returns + `string` Updated product grid item HTML. ### Source -- [BlockTypes/AbstractProductGrid.php](../../src/BlockTypes/AbstractProductGrid.php) + + - [BlockTypes/AbstractProductGrid.php](../../src/BlockTypes/AbstractProductGrid.php) --- ## woocommerce_blocks_register_script_dependencies + Filters the list of script dependencies. ```php @@ -403,77 +453,88 @@ apply_filters( 'woocommerce_blocks_register_script_dependencies', array $depende ### Parameters -| Argument | Type | Description | -| -------------- | ------ | -------------------------------- | -| \$dependencies | array | The list of script dependencies. | -| \$handle | string | The script's handle. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $dependencies | array | The list of script dependencies. | +| $handle | string | The script's handle. | ### Returns -`array` + +`array` ### Source -- [Assets/Api.php](../../src/Assets/Api.php) + + - [Assets/Api.php](../../src/Assets/Api.php) --- ## woocommerce_cart_contents_changed + Filters the entire cart contents when the cart changes. ```php apply_filters( 'woocommerce_cart_contents_changed', array $cart_contents ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| --------------- | ----- | ------------------------ | -| \$cart_contents | array | Array of all cart items. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $cart_contents | array | Array of all cart items. | ### Returns + `array` Updated array of all cart items. ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_ga_disable_tracking + Filter to disable Google Analytics tracking. ```php apply_filters( 'woocommerce_ga_disable_tracking', boolean $disable_tracking ) ``` + **Note: Matches filter name in GA extension.** ### Parameters -| Argument | Type | Description | -| ------------------ | ------- | ----------------------------------- | -| \$disable_tracking | boolean | If true, tracking will be disabled. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $disable_tracking | boolean | If true, tracking will be disabled. | ### Source -- [Domain/Services/GoogleAnalytics.php](../../src/Domain/Services/GoogleAnalytics.php) + + - [Domain/Services/GoogleAnalytics.php](../../src/Domain/Services/GoogleAnalytics.php) --- ## woocommerce_get_item_data + Filters cart item data. ```php apply_filters( 'woocommerce_get_item_data', array $item_data, array $cart_item ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -482,23 +543,26 @@ apply_filters( 'woocommerce_get_item_data', array $item_data, array $cart_item ) ### Parameters -| Argument | Type | Description | -| ----------- | ----- | --------------------------------- | -| \$item_data | array | Cart item data. Empty by default. | -| \$cart_item | array | Cart item array. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $item_data | array | Cart item data. Empty by default. | +| $cart_item | array | Cart item array. | ### Returns -`array` + +`array` ### Source -- [StoreApi/Schemas/V1/CartItemSchema.php](../../src/StoreApi/Schemas/V1/CartItemSchema.php) + + - [StoreApi/Schemas/V1/CartItemSchema.php](../../src/StoreApi/Schemas/V1/CartItemSchema.php) --- ## woocommerce_new_customer_data + Filters customer data before a customer account is registered. ```php @@ -511,28 +575,32 @@ apply_filters( 'woocommerce_new_customer_data', array $customer_data ) ### Parameters -| Argument | Type | Description | -| --------------- | ----- | --------------------------------- | -| \$customer_data | array | An array of customer (user) data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $customer_data | array | An array of customer (user) data. | ### Returns -`array` + +`array` ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## woocommerce_registration_errors + Filters registration errors before a customer account is registered. ```php apply_filters( 'woocommerce_registration_errors', \WP_Error $errors, string $username, string $user_email ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -541,30 +609,34 @@ apply_filters( 'woocommerce_registration_errors', \WP_Error $errors, string $use ### Parameters -| Argument | Type | Description | -| ------------ | --------- | ----------------------- | -| \$errors | \WP_Error | Error object. | -| \$username | string | Customer username. | -| \$user_email | string | Customer email address. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $errors | \WP_Error | Error object. | +| $username | string | Customer username. | +| $user_email | string | Customer email address. | ### Returns -`\WP_Error` + +`\WP_Error` ### Source -- [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) + + - [StoreApi/Routes/V1/Checkout.php](../../src/StoreApi/Routes/V1/Checkout.php) --- ## ~~woocommerce_shared_settings~~ + Filters the array of shared settings. ```php apply_filters( 'woocommerce_shared_settings', array $data ) ``` + **Deprecated: This hook is deprecated and will be removed** ### Description @@ -573,50 +645,57 @@ apply_filters( 'woocommerce_shared_settings', array $data ) ### Parameters -| Argument | Type | Description | -| -------- | ----- | -------------- | -| \$data | array | Settings data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $data | array | Settings data. | ### Returns -`array` + +`array` ### Source -- [Assets/AssetDataRegistry.php](../../src/Assets/AssetDataRegistry.php) + + - [Assets/AssetDataRegistry.php](../../src/Assets/AssetDataRegistry.php) --- ## woocommerce_shipping_package_name + Filters the shipping package name. ```php apply_filters( 'woocommerce_shipping_package_name', string $shipping_package_name, string $package_id, array $package ) ``` + **Note: Matches filter name in WooCommerce core.** ### Parameters -| Argument | Type | Description | -| ----------------------- | ------ | ---------------------------------- | -| \$shipping_package_name | string | Shipping package name. | -| \$package_id | string | Shipping package ID. | -| \$package | array | Shipping package from WooCommerce. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $shipping_package_name | string | Shipping package name. | +| $package_id | string | Shipping package ID. | +| $package | array | Shipping package from WooCommerce. | ### Returns + `string` Shipping package name. ### Source -- [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) + + - [StoreApi/Utilities/CartController.php](../../src/StoreApi/Utilities/CartController.php) --- ## woocommerce_show_page_title + We need to load the scripts here because when using block templates wp_head() gets run after the block template. As a result we are trying to enqueue required scripts before we have even registered them. ```php @@ -625,16 +704,19 @@ apply_filters( 'woocommerce_show_page_title' ) ### See -- + + - https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/5328#issuecomment-989013447 ### Source -- [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) + + - [BlockTypes/ClassicTemplate.php](../../src/BlockTypes/ClassicTemplate.php) --- ## woocommerce_store_api_disable_nonce_check + Filters the Store API nonce check. ```php @@ -647,22 +729,25 @@ apply_filters( 'woocommerce_store_api_disable_nonce_check', boolean $disable_non ### Parameters -| Argument | Type | Description | -| --------------------- | ------- | --------------------------------------- | -| \$disable_nonce_check | boolean | If true, nonce checks will be disabled. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $disable_nonce_check | boolean | If true, nonce checks will be disabled. | ### Returns -`boolean` + +`boolean` ### Source -- [StoreApi/Routes/V1/AbstractCartRoute.php](../../src/StoreApi/Routes/V1/AbstractCartRoute.php) + + - [StoreApi/Routes/V1/AbstractCartRoute.php](../../src/StoreApi/Routes/V1/AbstractCartRoute.php) --- ## woocommerce_store_api_product_quantity_limit + Filters the quantity limit for a product being added to the cart via the Store API. ```php @@ -675,22 +760,25 @@ apply_filters( 'woocommerce_store_api_product_quantity_limit', integer $quantity ### Parameters -| Argument | Type | Description | -| ---------------- | ----------- | ------------------------------------------------------------- | -| \$quantity_limit | integer | Quantity limit which defaults to 99 unless sold individually. | -| \$product | \WC_Product | Product instance. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $quantity_limit | integer | Quantity limit which defaults to 9999 unless sold individually. | +| $product | \WC_Product | Product instance. | ### Returns -`integer` + +`integer` ### Source -- [StoreApi/Utilities/QuantityLimits.php](../../src/StoreApi/Utilities/QuantityLimits.php) + + - [StoreApi/Utilities/QuantityLimits.php](../../src/StoreApi/Utilities/QuantityLimits.php) --- -## woocommerce*store_api_product_quantity*{\$value_type} +## woocommerce_store_api_product_quantity_{$value_type} + Filters the quantity minimum for a cart item in Store API. This allows extensions to control the minimum qty of items already within the cart. @@ -704,30 +792,34 @@ apply_filters( 'woocommerce_store_api_product_quantity_{$value_type}', mixed $va ### Parameters -| Argument | Type | Description | -| ----------- | ----------- | --------------------------------------------------------- | -| \$value | mixed | The value being filtered. | -| \$product | \WC_Product | The product object. | -| \$cart_item | array, null | The cart item if the product exists in the cart, or null. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $value | mixed | The value being filtered. | +| $product | \WC_Product | The product object. | +| $cart_item | array, null | The cart item if the product exists in the cart, or null. | ### Returns -`mixed` + +`mixed` ### Source -- [StoreApi/Utilities/QuantityLimits.php](../../src/StoreApi/Utilities/QuantityLimits.php) + + - [StoreApi/Utilities/QuantityLimits.php](../../src/StoreApi/Utilities/QuantityLimits.php) --- ## woocommerce_variation_option_name + Filters the variation option name. ```php apply_filters( 'woocommerce_variation_option_name', string $value, null $unused, string $taxonomy, \WC_Product $product ) ``` + **Note: Matches filter name in WooCommerce core.** ### Description @@ -736,29 +828,31 @@ apply_filters( 'woocommerce_variation_option_name', string $value, null $unused, ### Parameters -| Argument | Type | Description | -| ---------- | ----------- | ------------------------------------------------ | -| \$value | string | The name to display. | -| \$unused | null | Unused because this is not a variation taxonomy. | -| \$taxonomy | string | Taxonomy or product attribute name. | -| \$product | \WC_Product | Product data. | +| Argument | Type | Description | +| -------- | ---- | ----------- | +| $value | string | The name to display. | +| $unused | null | Unused because this is not a variation taxonomy. | +| $taxonomy | string | Taxonomy or product attribute name. | +| $product | \WC_Product | Product data. | ### Returns -`string` + +`string` ### Source -- [StoreApi/Schemas/V1/CartItemSchema.php](../../src/StoreApi/Schemas/V1/CartItemSchema.php) ---- + - [StoreApi/Schemas/V1/CartItemSchema.php](../../src/StoreApi/Schemas/V1/CartItemSchema.php) +--- --- [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/filters.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/hooks/filters.md) + diff --git a/docs/third-party-developers/extensibility/rest-api/available-endpoints-to-extend.md b/docs/third-party-developers/extensibility/rest-api/available-endpoints-to-extend.md index 962526fd4..483e8b809 100644 --- a/docs/third-party-developers/extensibility/rest-api/available-endpoints-to-extend.md +++ b/docs/third-party-developers/extensibility/rest-api/available-endpoints-to-extend.md @@ -59,6 +59,7 @@ The main products endpoint is extensible via ExtendSchema. The data is available [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/available-endpoints-to-extend.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/rest-api/available-endpoints-to-extend.md) + diff --git a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-data.md b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-data.md index 5bbc5cb77..94fdf02d5 100644 --- a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-data.md +++ b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-data.md @@ -334,6 +334,7 @@ You may wish to use our pre-existing Formatters to ensure your data is passed th [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/extend-rest-api-add-data.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-data.md) + diff --git a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-formatters.md b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-formatters.md index eaa117548..c3337397e 100644 --- a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-formatters.md +++ b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-formatters.md @@ -139,6 +139,7 @@ alert('bad script!') This “coffee” is very strong. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/extend-rest-api-formatters.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/rest-api/extend-rest-api-formatters.md) + diff --git a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-new-endpoint.md b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-new-endpoint.md index 648114499..b715a1dda 100644 --- a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-new-endpoint.md +++ b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-new-endpoint.md @@ -46,6 +46,7 @@ Extending a new endpoint is usually half the work, you will need to receive this [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/extend-rest-api-new-endpoint.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/rest-api/extend-rest-api-new-endpoint.md) + diff --git a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-update-cart.md b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-update-cart.md index 818aaaa02..0a87eb0e4 100644 --- a/docs/third-party-developers/extensibility/rest-api/extend-rest-api-update-cart.md +++ b/docs/third-party-developers/extensibility/rest-api/extend-rest-api-update-cart.md @@ -188,6 +188,7 @@ Now that this is registered, when the button is pressed, the `cart/extensions` e [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/extensibility/extend-rest-api-update-cart.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./docs/third-party-developers/extensibility/rest-api/extend-rest-api-update-cart.md) + diff --git a/package-lock.json b/package-lock.json index 6ecccf238..546603c8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@woocommerce/block-library", - "version": "8.2.0-dev", + "version": "8.3.0-dev", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@woocommerce/block-library", - "version": "8.2.0-dev", + "version": "8.3.0-dev", "hasInstallScript": true, "license": "GPL-3.0+", "dependencies": { @@ -19,7 +19,7 @@ "@wordpress/primitives": "3.0.4", "@wordpress/server-side-render": "3.10.0", "@wordpress/url": "3.13.0", - "@wordpress/wordcount": "3.12.0", + "@wordpress/wordcount": "3.13.0", "classnames": "2.3.1", "compare-versions": "4.1.3", "config": "3.3.7", @@ -39,8 +39,8 @@ "@actions/core": "1.9.0", "@actions/github": "5.0.3", "@automattic/color-studio": "2.5.0", - "@babel/cli": "7.18.6", - "@babel/core": "7.18.6", + "@babel/cli": "7.18.9", + "@babel/core": "7.18.9", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-syntax-jsx": "7.18.6", "@babel/polyfill": "7.12.1", @@ -60,7 +60,7 @@ "@types/classnames": "2.3.0", "@types/dinero.js": "1.9.0", "@types/gtag.js": "0.0.10", - "@types/jest": "27.4.1", + "@types/jest": "27.5.2", "@types/jest-environment-puppeteer": "5.0.2", "@types/jquery": "3.5.14", "@types/lodash": "4.14.182", @@ -68,17 +68,17 @@ "@types/react": "17.0.47", "@types/react-dom": "17.0.17", "@types/wordpress__block-editor": "6.0.6", - "@types/wordpress__blocks": "11.0.3", + "@types/wordpress__blocks": "11.0.5", "@types/wordpress__compose": "4.0.1", "@types/wordpress__data": "4.6.11", "@types/wordpress__data-controls": "2.2.0", "@typescript-eslint/eslint-plugin": "5.30.5", - "@typescript-eslint/parser": "5.30.5", + "@typescript-eslint/parser": "5.31.0", "@woocommerce/api": "0.2.0", "@woocommerce/e2e-utils": "0.2.0", "@woocommerce/eslint-plugin": "2.0.0", "@woocommerce/woocommerce-rest-api": "1.0.1", - "@wordpress/api-fetch": "6.9.0", + "@wordpress/api-fetch": "6.11.0", "@wordpress/babel-preset-default": "6.14.0", "@wordpress/base-styles": "4.0.4", "@wordpress/block-editor": "8.2.0", @@ -93,8 +93,8 @@ "@wordpress/element": "4.0.4", "@wordpress/env": "4.9.0", "@wordpress/html-entities": "3.12.0", - "@wordpress/i18n": "4.12.0", - "@wordpress/is-shallow-equal": "4.12.0", + "@wordpress/i18n": "4.14.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/prettier-config": "1.4.0", "@wordpress/scripts": "22.3.0", "autoprefixer": "10.4.7", @@ -137,7 +137,7 @@ "lodash": "4.17.21", "markdown-it": "13.0.1", "merge-config": "2.0.0", - "mini-css-extract-plugin": "1.3.6", + "mini-css-extract-plugin": "1.6.2", "patch-package": "6.4.7", "postcss": "8.4.14", "postcss-loader": "4.2.0", @@ -233,9 +233,9 @@ "dev": true }, "node_modules/@babel/cli": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.18.6.tgz", - "integrity": "sha512-jXNHoYCbxZ8rKy+2lyy0VjcaGxS4NPbN0qc95DjIiGZQL/mTNx3o2/yI0TG+X0VrrTuwmO7zH52T9NcNdbF9Uw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.18.9.tgz", + "integrity": "sha512-e7TOtHVrAXBJGNgoROVxqx0mathd01oJGXIDekRfxdrISnRqfM795APwkDtse9GdyPYivjg3iXiko3sF3W7f5Q==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.8", @@ -290,20 +290,20 @@ } }, "node_modules/@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", + "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", + "@babel/generator": "^7.18.9", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.9", "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -9823,9 +9823,9 @@ } }, "node_modules/@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, "dependencies": { "jest-matcher-utils": "^27.0.0", @@ -10248,9 +10248,9 @@ } }, "node_modules/@types/wordpress__blocks": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@types/wordpress__blocks/-/wordpress__blocks-11.0.3.tgz", - "integrity": "sha512-RdqPrwQB+m8noBAzhhMGadRLNwe1Z7DIhhQ4caoV2jshabAu5+vEMMz+vGNTmymc9GQv0QxxuuRjhe/l1iPx9g==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/wordpress__blocks/-/wordpress__blocks-11.0.5.tgz", + "integrity": "sha512-DO5PMIM+zhuLtLzykYD1Z92aBo7hoEpXbi9Rg3LwDeVphBDIBdU7T9t0hwJPVRCtAUZdzHwpq3dNPbx2yw2r2g==", "dev": true, "dependencies": { "@types/react": "*", @@ -10617,14 +10617,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.30.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.5.tgz", - "integrity": "sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.31.0.tgz", + "integrity": "sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.30.5", - "@typescript-eslint/types": "5.30.5", - "@typescript-eslint/typescript-estree": "5.30.5", + "@typescript-eslint/scope-manager": "5.31.0", + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/typescript-estree": "5.31.0", "debug": "^4.3.4" }, "engines": { @@ -10643,6 +10643,95 @@ } } }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz", + "integrity": "sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/visitor-keys": "5.31.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz", + "integrity": "sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz", + "integrity": "sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/visitor-keys": "5.31.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz", + "integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.31.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.30.5", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.5.tgz", @@ -11254,34 +11343,26 @@ "node": ">=12" } }, - "node_modules/@wordpress/a11y/node_modules/@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", + "node_modules/@wordpress/api-fetch": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.11.0.tgz", + "integrity": "sha512-C1HTWdJQ7ikhJ4mT+rONTODquJ/Xq5HteKak/VN+vf1VmLVfRX18wJ84kCAAZ83UNOIsE8EgjJrjJy//R+HWzg==", "dependencies": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - }, - "bin": { - "pot-to-php": "tools/pot-to-php.js" + "@wordpress/i18n": "^4.14.0", + "@wordpress/url": "^3.15.0" }, "engines": { "node": ">=12" } }, - "node_modules/@wordpress/api-fetch": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.9.0.tgz", - "integrity": "sha512-H0IvLlisBcfKFa4tlMgtqFy7s7Iz3SSe6cEzqAAesK1fg+j3NewDP4fcQz5Ooo6pL+Y2A8oUM5dawjJctmsnAA==", + "node_modules/@wordpress/api-fetch/node_modules/@wordpress/url": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.15.0.tgz", + "integrity": "sha512-LLlgCMbherqqnxAuK6kb997MKkzfnvkyQQ5RazBQKBn//RBXrW/w6BMVglm4QjV7L65N/IfqFd36QLZDMuiYDA==", "dependencies": { "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.12.0", - "@wordpress/url": "^3.13.0" + "remove-accents": "^0.4.2" }, "engines": { "node": ">=12" @@ -11803,7 +11884,7 @@ "@wordpress/compose": "^5.11.0", "@wordpress/deprecated": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/priority-queue": "^2.13.0", "@wordpress/redux-routine": "^4.13.0", "equivalent-key-map": "^0.2.2", @@ -11860,7 +11941,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -11917,17 +11998,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/data/node_modules/@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/date": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-4.13.0.tgz", @@ -13966,9 +14036,9 @@ } }, "node_modules/@wordpress/hooks": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.13.0.tgz", - "integrity": "sha512-N+82Dt3jsREtN0dCypehaWuwCjPOM3ljxyzVWULMDrIK9TaIvkunkHViIyoCkxWk3lolRRqh8XmD+ox/mF+n1A==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.14.0.tgz", + "integrity": "sha512-bcQXql4A1VI6gnTdNzMjdHLGTpnf8oWOQ1r8B8fcvtOF3dKictxJPobarWxFbtVTQoegizZT/lPCMoLsnVJpug==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -13989,12 +14059,12 @@ } }, "node_modules/@wordpress/i18n": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.12.0.tgz", - "integrity": "sha512-UTccrAOZ03nszzlG74G+ZkMR/kK0PoS1fqFa8NRFAhHneYadJOnsgCCd5YgDAsN+tAKA6QM7RPmpQMwujvIbzA==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.14.0.tgz", + "integrity": "sha512-46ryvPbh139RkLXQt8oey4aCcWo6HRKb1NLVHU4a4kJ4HRD/HLhAeTHKAMiZFWTg+QC1HZC32vGdEikqrpnlzQ==", "dependencies": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.12.0", + "@wordpress/hooks": "^3.14.0", "gettext-parser": "^1.3.1", "lodash": "^4.17.21", "memize": "^1.1.0", @@ -14022,9 +14092,9 @@ } }, "node_modules/@wordpress/is-shallow-equal": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.12.0.tgz", - "integrity": "sha512-jlpHXPLJw0mG13bcbZIJwOd1DQozJ5+fbkkKA2JeTO5d5PXs44Rw6EYdGMLUU97B44UxIwVbaui7tJGOvzF8Dw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", + "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -14158,26 +14228,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/keycodes/node_modules/@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - }, - "bin": { - "pot-to-php": "tools/pot-to-php.js" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/notices": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-3.12.0.tgz", @@ -14236,7 +14286,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -14306,17 +14356,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/plugins/node_modules/@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/plugins/node_modules/@wordpress/primitives": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.11.0.tgz", @@ -14440,7 +14479,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -14497,37 +14536,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/rich-text/node_modules/@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - }, - "bin": { - "pot-to-php": "tools/pot-to-php.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@wordpress/rich-text/node_modules/@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/rich-text/node_modules/rememo": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/rememo/-/rememo-4.0.1.tgz", @@ -16158,7 +16166,7 @@ "@wordpress/hooks": "^3.13.0", "@wordpress/html-entities": "^3.13.0", "@wordpress/i18n": "^4.13.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/shortcode": "^3.13.0", "colord": "^2.7.0", "hpq": "^1.3.0", @@ -16200,7 +16208,7 @@ "@wordpress/hooks": "^3.13.0", "@wordpress/i18n": "^4.13.0", "@wordpress/icons": "^9.4.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/primitives": "^3.11.0", "@wordpress/rich-text": "^5.11.0", @@ -16241,7 +16249,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -16309,26 +16317,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/server-side-render/node_modules/@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - }, - "bin": { - "pot-to-php": "tools/pot-to-php.js" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/server-side-render/node_modules/@wordpress/icons": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-9.4.0.tgz", @@ -16342,17 +16330,6 @@ "node": ">=12" } }, - "node_modules/@wordpress/server-side-render/node_modules/@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/server-side-render/node_modules/@wordpress/primitives": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.11.0.tgz", @@ -16673,9 +16650,9 @@ } }, "node_modules/@wordpress/wordcount": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-3.12.0.tgz", - "integrity": "sha512-noYFwkpzq7uCG85mYFSZueKF+eMXx9vGc6pgY6NX5tKiSsVrcea/SWWuwJcAA3XOtXcDxElf0kzYm7vPOGo1bg==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-3.13.0.tgz", + "integrity": "sha512-P0HJZ70BIqAXW5kUccHfSAD6xH/geTOwp5RhZdtyUAqnlj9UR3FPY71XG7EEc1CkCD82+0Bc+iw0wm+oV6PKIQ==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -37552,9 +37529,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", - "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", @@ -51708,9 +51685,9 @@ "dev": true }, "@babel/cli": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.18.6.tgz", - "integrity": "sha512-jXNHoYCbxZ8rKy+2lyy0VjcaGxS4NPbN0qc95DjIiGZQL/mTNx3o2/yI0TG+X0VrrTuwmO7zH52T9NcNdbF9Uw==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.18.9.tgz", + "integrity": "sha512-e7TOtHVrAXBJGNgoROVxqx0mathd01oJGXIDekRfxdrISnRqfM795APwkDtse9GdyPYivjg3iXiko3sF3W7f5Q==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.8", @@ -51746,20 +51723,20 @@ "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==" }, "@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", + "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", + "@babel/generator": "^7.18.9", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.9", "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -58975,9 +58952,9 @@ } }, "@types/jest": { - "version": "27.4.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", - "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, "requires": { "jest-matcher-utils": "^27.0.0", @@ -59396,9 +59373,9 @@ } }, "@types/wordpress__blocks": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@types/wordpress__blocks/-/wordpress__blocks-11.0.3.tgz", - "integrity": "sha512-RdqPrwQB+m8noBAzhhMGadRLNwe1Z7DIhhQ4caoV2jshabAu5+vEMMz+vGNTmymc9GQv0QxxuuRjhe/l1iPx9g==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/wordpress__blocks/-/wordpress__blocks-11.0.5.tgz", + "integrity": "sha512-DO5PMIM+zhuLtLzykYD1Z92aBo7hoEpXbi9Rg3LwDeVphBDIBdU7T9t0hwJPVRCtAUZdzHwpq3dNPbx2yw2r2g==", "dev": true, "requires": { "@types/react": "*", @@ -59685,15 +59662,67 @@ } }, "@typescript-eslint/parser": { - "version": "5.30.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.5.tgz", - "integrity": "sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.31.0.tgz", + "integrity": "sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.30.5", - "@typescript-eslint/types": "5.30.5", - "@typescript-eslint/typescript-estree": "5.30.5", + "@typescript-eslint/scope-manager": "5.31.0", + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/typescript-estree": "5.31.0", "debug": "^4.3.4" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz", + "integrity": "sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/visitor-keys": "5.31.0" + } + }, + "@typescript-eslint/types": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz", + "integrity": "sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz", + "integrity": "sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.31.0", + "@typescript-eslint/visitor-keys": "5.31.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz", + "integrity": "sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.31.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/scope-manager": { @@ -60210,34 +60239,29 @@ "@babel/runtime": "^7.16.0", "@wordpress/dom-ready": "^3.13.0", "@wordpress/i18n": "^4.13.0" + } + }, + "@wordpress/api-fetch": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.11.0.tgz", + "integrity": "sha512-C1HTWdJQ7ikhJ4mT+rONTODquJ/Xq5HteKak/VN+vf1VmLVfRX18wJ84kCAAZ83UNOIsE8EgjJrjJy//R+HWzg==", + "requires": { + "@babel/runtime": "^7.16.0", + "@wordpress/i18n": "^4.14.0", + "@wordpress/url": "^3.15.0" }, "dependencies": { - "@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", + "@wordpress/url": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.15.0.tgz", + "integrity": "sha512-LLlgCMbherqqnxAuK6kb997MKkzfnvkyQQ5RazBQKBn//RBXrW/w6BMVglm4QjV7L65N/IfqFd36QLZDMuiYDA==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" + "remove-accents": "^0.4.2" } } } }, - "@wordpress/api-fetch": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.9.0.tgz", - "integrity": "sha512-H0IvLlisBcfKFa4tlMgtqFy7s7Iz3SSe6cEzqAAesK1fg+j3NewDP4fcQz5Ooo6pL+Y2A8oUM5dawjJctmsnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.12.0", - "@wordpress/url": "^3.13.0" - } - }, "@wordpress/autop": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/@wordpress/autop/-/autop-3.12.0.tgz", @@ -60677,7 +60701,7 @@ "@wordpress/compose": "^5.11.0", "@wordpress/deprecated": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/priority-queue": "^2.13.0", "@wordpress/redux-routine": "^4.13.0", "equivalent-key-map": "^0.2.2", @@ -60699,7 +60723,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -60740,14 +60764,6 @@ "react": "^17.0.2", "react-dom": "^17.0.2" } - }, - "@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "requires": { - "@babel/runtime": "^7.16.0" - } } } }, @@ -62266,9 +62282,9 @@ } }, "@wordpress/hooks": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.13.0.tgz", - "integrity": "sha512-N+82Dt3jsREtN0dCypehaWuwCjPOM3ljxyzVWULMDrIK9TaIvkunkHViIyoCkxWk3lolRRqh8XmD+ox/mF+n1A==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.14.0.tgz", + "integrity": "sha512-bcQXql4A1VI6gnTdNzMjdHLGTpnf8oWOQ1r8B8fcvtOF3dKictxJPobarWxFbtVTQoegizZT/lPCMoLsnVJpug==", "requires": { "@babel/runtime": "^7.16.0" } @@ -62283,12 +62299,12 @@ } }, "@wordpress/i18n": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.12.0.tgz", - "integrity": "sha512-UTccrAOZ03nszzlG74G+ZkMR/kK0PoS1fqFa8NRFAhHneYadJOnsgCCd5YgDAsN+tAKA6QM7RPmpQMwujvIbzA==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.14.0.tgz", + "integrity": "sha512-46ryvPbh139RkLXQt8oey4aCcWo6HRKb1NLVHU4a4kJ4HRD/HLhAeTHKAMiZFWTg+QC1HZC32vGdEikqrpnlzQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.12.0", + "@wordpress/hooks": "^3.14.0", "gettext-parser": "^1.3.1", "lodash": "^4.17.21", "memize": "^1.1.0", @@ -62307,9 +62323,9 @@ } }, "@wordpress/is-shallow-equal": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.12.0.tgz", - "integrity": "sha512-jlpHXPLJw0mG13bcbZIJwOd1DQozJ5+fbkkKA2JeTO5d5PXs44Rw6EYdGMLUU97B44UxIwVbaui7tJGOvzF8Dw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", + "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", "requires": { "@babel/runtime": "^7.16.0" } @@ -62397,22 +62413,6 @@ "@babel/runtime": "^7.16.0", "@wordpress/i18n": "^4.13.0", "lodash": "^4.17.21" - }, - "dependencies": { - "@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - } } }, "@wordpress/notices": { @@ -62456,7 +62456,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -62508,14 +62508,6 @@ "@wordpress/primitives": "^3.11.0" } }, - "@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "@wordpress/primitives": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.11.0.tgz", @@ -62611,7 +62603,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -62653,28 +62645,6 @@ "react-dom": "^17.0.2" } }, - "@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "rememo": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/rememo/-/rememo-4.0.1.tgz", @@ -63878,7 +63848,7 @@ "@wordpress/hooks": "^3.13.0", "@wordpress/html-entities": "^3.13.0", "@wordpress/i18n": "^4.13.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/shortcode": "^3.13.0", "colord": "^2.7.0", "hpq": "^1.3.0", @@ -63914,7 +63884,7 @@ "@wordpress/hooks": "^3.13.0", "@wordpress/i18n": "^4.13.0", "@wordpress/icons": "^9.4.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/primitives": "^3.11.0", "@wordpress/rich-text": "^5.11.0", @@ -63948,7 +63918,7 @@ "@wordpress/deprecated": "^3.13.0", "@wordpress/dom": "^3.13.0", "@wordpress/element": "^4.11.0", - "@wordpress/is-shallow-equal": "^4.13.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/keycodes": "^3.13.0", "@wordpress/priority-queue": "^2.13.0", "clipboard": "^2.0.8", @@ -63998,20 +63968,6 @@ "@babel/runtime": "^7.16.0" } }, - "@wordpress/i18n": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.13.0.tgz", - "integrity": "sha512-25x0ylQzXxbaw3oM8afoahiPzzZfzikBNzkzlEJ4MuI9u61zmFedbkIrsmhXtYNlcZ/52RxeUcswHdVs4Hln9Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.13.0", - "gettext-parser": "^1.3.1", - "lodash": "^4.17.21", - "memize": "^1.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, "@wordpress/icons": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-9.4.0.tgz", @@ -64022,14 +63978,6 @@ "@wordpress/primitives": "^3.11.0" } }, - "@wordpress/is-shallow-equal": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.13.0.tgz", - "integrity": "sha512-oUoMbEZwnbd4nfEo6uxkvrNCc/LnqC9MIY6kK3iWtMhcykQNpbK3XY/i/NvJb+QpRf7U6XhXyw4//HcQv39iOA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "@wordpress/primitives": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.11.0.tgz", @@ -64284,9 +64232,9 @@ "integrity": "sha512-4648iMotdeNMe3vLKWTx5C/X1+4hey00GrxAClTiAufGMR3slCjE8nQhnWtFfyqYZi0bSpuF+kYd6ofsKrtcQg==" }, "@wordpress/wordcount": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-3.12.0.tgz", - "integrity": "sha512-noYFwkpzq7uCG85mYFSZueKF+eMXx9vGc6pgY6NX5tKiSsVrcea/SWWuwJcAA3XOtXcDxElf0kzYm7vPOGo1bg==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-3.13.0.tgz", + "integrity": "sha512-P0HJZ70BIqAXW5kUccHfSAD6xH/geTOwp5RhZdtyUAqnlj9UR3FPY71XG7EEc1CkCD82+0Bc+iw0wm+oV6PKIQ==", "requires": { "@babel/runtime": "^7.16.0" } @@ -80687,9 +80635,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", - "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", "dev": true, "requires": { "loader-utils": "^2.0.0", diff --git a/package.json b/package.json index b15dd3065..a4468377b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@woocommerce/block-library", "title": "WooCommerce Blocks", "author": "Automattic", - "version": "8.2.0-dev", + "version": "8.3.0-dev", "description": "WooCommerce blocks for the Gutenberg editor.", "homepage": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/", "keywords": [ @@ -84,8 +84,8 @@ "@actions/core": "1.9.0", "@actions/github": "5.0.3", "@automattic/color-studio": "2.5.0", - "@babel/cli": "7.18.6", - "@babel/core": "7.18.6", + "@babel/cli": "7.18.9", + "@babel/core": "7.18.9", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-syntax-jsx": "7.18.6", "@babel/polyfill": "7.12.1", @@ -105,7 +105,7 @@ "@types/classnames": "2.3.0", "@types/dinero.js": "1.9.0", "@types/gtag.js": "0.0.10", - "@types/jest": "27.4.1", + "@types/jest": "27.5.2", "@types/jest-environment-puppeteer": "5.0.2", "@types/jquery": "3.5.14", "@types/lodash": "4.14.182", @@ -113,17 +113,17 @@ "@types/react": "17.0.47", "@types/react-dom": "17.0.17", "@types/wordpress__block-editor": "6.0.6", - "@types/wordpress__blocks": "11.0.3", + "@types/wordpress__blocks": "11.0.5", "@types/wordpress__compose": "4.0.1", "@types/wordpress__data": "4.6.11", "@types/wordpress__data-controls": "2.2.0", "@typescript-eslint/eslint-plugin": "5.30.5", - "@typescript-eslint/parser": "5.30.5", + "@typescript-eslint/parser": "5.31.0", "@woocommerce/api": "0.2.0", "@woocommerce/e2e-utils": "0.2.0", "@woocommerce/eslint-plugin": "2.0.0", "@woocommerce/woocommerce-rest-api": "1.0.1", - "@wordpress/api-fetch": "6.9.0", + "@wordpress/api-fetch": "6.11.0", "@wordpress/babel-preset-default": "6.14.0", "@wordpress/base-styles": "4.0.4", "@wordpress/block-editor": "8.2.0", @@ -138,8 +138,8 @@ "@wordpress/element": "4.0.4", "@wordpress/env": "4.9.0", "@wordpress/html-entities": "3.12.0", - "@wordpress/i18n": "4.12.0", - "@wordpress/is-shallow-equal": "4.12.0", + "@wordpress/i18n": "4.14.0", + "@wordpress/is-shallow-equal": "4.13.0", "@wordpress/prettier-config": "1.4.0", "@wordpress/scripts": "22.3.0", "autoprefixer": "10.4.7", @@ -182,7 +182,7 @@ "lodash": "4.17.21", "markdown-it": "13.0.1", "merge-config": "2.0.0", - "mini-css-extract-plugin": "1.3.6", + "mini-css-extract-plugin": "1.6.2", "patch-package": "6.4.7", "postcss": "8.4.14", "postcss-loader": "4.2.0", @@ -220,7 +220,7 @@ "@wordpress/primitives": "3.0.4", "@wordpress/server-side-render": "3.10.0", "@wordpress/url": "3.13.0", - "@wordpress/wordcount": "3.12.0", + "@wordpress/wordcount": "3.13.0", "classnames": "2.3.1", "compare-versions": "4.1.3", "config": "3.3.7", diff --git a/packages/checkout/README.md b/packages/checkout/README.md index d88518a2d..bac61f7aa 100644 --- a/packages/checkout/README.md +++ b/packages/checkout/README.md @@ -59,6 +59,7 @@ This package contains the following directories. Navigate to a directory for mor [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/README.md) + diff --git a/packages/checkout/blocks-registry/README.md b/packages/checkout/blocks-registry/README.md index bf0f89cfc..6dad7920e 100644 --- a/packages/checkout/blocks-registry/README.md +++ b/packages/checkout/blocks-registry/README.md @@ -209,6 +209,7 @@ const isValid = hasInnerBlocks( 'woocommerce/checkout-totals-block' ); // true [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/blocks-registry/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/blocks-registry/README.md) + diff --git a/packages/checkout/components/README.md b/packages/checkout/components/README.md index 1b22a69e0..305ebeb19 100644 --- a/packages/checkout/components/README.md +++ b/packages/checkout/components/README.md @@ -26,6 +26,7 @@ These components are here so they can be consumed by extensions. [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/components/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/components/README.md) + diff --git a/packages/checkout/components/order-shipping-packages/index.js b/packages/checkout/components/order-shipping-packages/index.js index d07a6e958..220e15e11 100644 --- a/packages/checkout/components/order-shipping-packages/index.js +++ b/packages/checkout/components/order-shipping-packages/index.js @@ -23,9 +23,10 @@ const Slot = ( { cart, components, context, + shippingRates, } ) => { const { fills } = useSlot( slotName ); - const hasMultiplePackages = fills.length > 1; + const hasMultiplePackages = fills.length > 1 || shippingRates?.length > 1; return ( + diff --git a/packages/checkout/slot/README.md b/packages/checkout/slot/README.md index 3b74fb8fe..4b3322648 100644 --- a/packages/checkout/slot/README.md +++ b/packages/checkout/slot/README.md @@ -189,6 +189,7 @@ Slot Fills are implemented throughout the Cart and Checkout Blocks, as well as s [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/slot/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/slot/README.md) + diff --git a/packages/checkout/utils/README.md b/packages/checkout/utils/README.md index 0d60ffbfe..a6bb6be57 100644 --- a/packages/checkout/utils/README.md +++ b/packages/checkout/utils/README.md @@ -78,6 +78,7 @@ What value must contain. If this is not found within `value`, and error will be [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/utils/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/utils/README.md) + diff --git a/readme.txt b/readme.txt index a8438b3fc..c834b932a 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: gutenberg, woocommerce, woo commerce, products, blocks, woocommerce blocks Requires at least: 6.0 Tested up to: 6.0 Requires PHP: 7.0 -Stable tag: 8.2.0-dev +Stable tag: 8.3.0-dev License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html @@ -86,6 +86,35 @@ Release and roadmap notes available on the [WooCommerce Developers Blog](https:/ == Changelog == += 8.2.1 - 2022-08-03 = + +#### Bug Fixes + +- Fixed an issue where shoppers could not switch between different saved payment methods. ([6825](https://github.com/woocommerce/woocommerce-blocks/pull/6825)) + += 8.2.0 - 2022-08-02 = + +#### Enhancements + +- Add update_customer_from_request action to Checkout flow. ([6792](https://github.com/woocommerce/woocommerce-blocks/pull/6792)) +- Update: New block icon for the Mini Cart block. ([6784](https://github.com/woocommerce/woocommerce-blocks/pull/6784)) +- Introduce `productNameFormat` filter for cart items in Cart and Checkout blocks. ([4993](https://github.com/woocommerce/woocommerce-blocks/pull/4993)) + +#### Bug Fixes + +- Fix proceed to checkout button not working for custom links. ([6804](https://github.com/woocommerce/woocommerce-blocks/pull/6804)) +- Mini Cart block: Remove the compatibility notice. ([6803](https://github.com/woocommerce/woocommerce-blocks/pull/6803)) +- Fix: Render the product attribute archive page using the `archive-product` template. ([6776](https://github.com/woocommerce/woocommerce-blocks/pull/6776)) +- Ensure using the "Use shipping as billing" checkbox in the Checkout Block correctly syncs the addresses when making the order. ([6773](https://github.com/woocommerce/woocommerce-blocks/pull/6773)) +- Ensure shipping package names are shown correctly in the Checkout Block when a cart contains multiple packages. ([6753](https://github.com/woocommerce/woocommerce-blocks/pull/6753)) +- Select the correct inner button for the "Featured Item" button to update its URL. ([6741](https://github.com/woocommerce/woocommerce-blocks/pull/6741)) +- Fix the spacing between separate shipping packages in the Checkout Block. ([6740](https://github.com/woocommerce/woocommerce-blocks/pull/6740)) +- Fix missing translations in the inspector (editor mode). ([6737](https://github.com/woocommerce/woocommerce-blocks/pull/6737)) +- Fix: Navigate through Mini Cart contents with keyboard. ([6731](https://github.com/woocommerce/woocommerce-blocks/pull/6731)) +- Fix: Ensure add to cart notices are displayed on pages containing the Mini Cart block. ([6728](https://github.com/woocommerce/woocommerce-blocks/pull/6728)) +- Fix Cart an d Checkout blocks compatiblity issue with wordpress.com in which blocks wouldn't load in the editor. ([6718](https://github.com/woocommerce/woocommerce-blocks/pull/6718)) +- Fixes an issue where search lists would not preserve the case of the original item. ([6551](https://github.com/woocommerce/woocommerce-blocks/pull/6551)) + = 8.1.0 - 2022-07-18 = #### Enhancements diff --git a/renovate.json b/renovate.json deleted file mode 100644 index c9759d494..000000000 --- a/renovate.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "extends": [ "config:base" ], - "lockFileMaintenance": { "enabled": true }, - "ignoreDeps": [ "husky" ], - "prConcurrentLimit": 5, - "schedule": [ "before 3am on wednesday" ], - "composer": { - "enabled": false - }, - "labels": [ "type: dependencies", "skip-changelog" ], - "packageRules": [ - { - "packageNames": [ - "automattic/jetpack-autoloader", - "composer/installers" - ], - "rangeStrategy": "bump" - }, - { - "matchUpdateTypes": [ "patch", "pin", "digest" ], - "depTypeList": [ "dev" ], - "automerge": true - }, - { - "matchUpdateTypes": [ "major", "minor" ], - "depTypeList": [ "dev" ], - "automerge": false - }, - { - "matchUpdateTypes": [ "major", "minor", "patch", "pin", "digest" ], - "depTypeList": [ "devDependencies" ], - "automerge": true, - "prPriority": 1 - } - ], - "rebaseWhen": "conflicted" -} diff --git a/src/BlockTemplatesController.php b/src/BlockTemplatesController.php index 38a10c96b..adc8af65c 100644 --- a/src/BlockTemplatesController.php +++ b/src/BlockTemplatesController.php @@ -300,6 +300,7 @@ public function get_block_templates_from_woocommerce( $slugs, $already_found_tem foreach ( $template_files as $template_file ) { // Skip the template if it's blockified, and we should only use classic ones. // Until the blockified Product Grid Block is implemented, we need to always skip the blockified templates. + // phpcs:ignore Squiz.PHP.CommentedOutCode if ( // $this->package->is_experimental_build() && // ! BlockTemplateUtils::should_use_blockified_product_grid_templates() && strpos( $template_file, 'blockified' ) !== false ) { @@ -425,6 +426,11 @@ public function render_block_template() { $this->block_template_is_available( 'taxonomy-product_tag' ) ) { add_filter( 'woocommerce_has_block_template', '__return_true', 10, 0 ); + } elseif ( taxonomy_is_product_attribute( get_query_var( 'taxonomy' ) ) && + ! BlockTemplateUtils::theme_has_template( 'archive-product' ) && + $this->block_template_is_available( 'archive-product' ) + ) { + add_filter( 'woocommerce_has_block_template', '__return_true', 10, 0 ); } elseif ( ( is_post_type_archive( 'product' ) || is_page( wc_get_page_id( 'shop' ) ) ) && ! BlockTemplateUtils::theme_has_template( 'archive-product' ) && diff --git a/src/BlockTypes/AbstractInnerBlock.php b/src/BlockTypes/AbstractInnerBlock.php new file mode 100644 index 000000000..3b992d5f7 --- /dev/null +++ b/src/BlockTypes/AbstractInnerBlock.php @@ -0,0 +1,57 @@ + $this->get_block_type_render_callback(), + 'editor_style' => $this->get_block_type_editor_style(), + 'style' => $this->get_block_type_style(), + ]; + + if ( isset( $this->api_version ) && '2' === $this->api_version ) { + $block_settings['api_version'] = 2; + } + + $metadata_path = $this->asset_api->get_block_metadata_path( $this->block_name ); + // Prefer to register with metadata if the path is set in the block's class. + register_block_type_from_metadata( + $metadata_path, + $block_settings + ); + } + + /** + * For lazy loaded inner blocks, we don't want to enqueue the script but rather leave it for webpack to do that. + * + * @see $this->register_block_type() + * @param string $key Data to get, or default to everything. + * @return array|string|null + */ + protected function get_block_type_script( $key = null ) { + + if ( $this->is_lazy_loaded ) { + return null; + } + + return parent::get_block_type_script( $key ); + } + +} diff --git a/src/BlockTypes/AbstractProductGrid.php b/src/BlockTypes/AbstractProductGrid.php index cab1aa3df..ed9d79ea5 100644 --- a/src/BlockTypes/AbstractProductGrid.php +++ b/src/BlockTypes/AbstractProductGrid.php @@ -81,6 +81,15 @@ protected function render( $attributes = array(), $content = '' ) { return ''; } + /** + * Override product description to prevent infinite loop. + * + * @see https://github.com/woocommerce/woocommerce-blocks/pull/6849 + */ + foreach ( $products as $product ) { + $product->set_description( '' ); + } + /** * Product List Render event. * diff --git a/src/BlockTypes/Cart.php b/src/BlockTypes/Cart.php index 15aad499b..dc0c831b2 100644 --- a/src/BlockTypes/Cart.php +++ b/src/BlockTypes/Cart.php @@ -246,4 +246,35 @@ protected function register_block_type_assets() { $this->register_chunk_translations( array_merge( $chunks, $vendor_chunks ) ); } + + /** + * Get list of Cart block & its inner-block types. + * + * @return array; + */ + public static function get_cart_block_types() { + $block_types = []; + + if ( Package::feature()->is_feature_plugin_build() ) { + $block_types[] = 'Cart'; + $block_types[] = 'CartOrderSummaryTaxesBlock'; + $block_types[] = 'CartOrderSummarySubtotalBlock'; + $block_types[] = 'FilledCartBlock'; + $block_types[] = 'EmptyCartBlock'; + $block_types[] = 'CartTotalsBlock'; + $block_types[] = 'CartItemsBlock'; + $block_types[] = 'CartLineItemsBlock'; + $block_types[] = 'CartOrderSummaryBlock'; + $block_types[] = 'CartExpressPaymentBlock'; + $block_types[] = 'ProceedToCheckoutBlock'; + $block_types[] = 'CartAcceptedPaymentMethodsBlock'; + $block_types[] = 'CartOrderSummaryCouponFormBlock'; + $block_types[] = 'CartOrderSummaryDiscountBlock'; + $block_types[] = 'CartOrderSummaryFeeBlock'; + $block_types[] = 'CartOrderSummaryHeadingBlock'; + $block_types[] = 'CartOrderSummaryShippingBlock'; + } + + return $block_types; + } } diff --git a/src/BlockTypes/CartAcceptedPaymentMethodsBlock.php b/src/BlockTypes/CartAcceptedPaymentMethodsBlock.php new file mode 100644 index 000000000..e92e38b67 --- /dev/null +++ b/src/BlockTypes/CartAcceptedPaymentMethodsBlock.php @@ -0,0 +1,14 @@ +register_chunk_translations( array_merge( $chunks, $vendor_chunks, $shared_chunks ) ); } + + /** + * Get list of Checkout block & its inner-block types. + * + * @return array; + */ + public static function get_checkout_block_types() { + $block_types = []; + + if ( Package::feature()->is_feature_plugin_build() ) { + $block_types[] = 'Checkout'; + $block_types[] = 'CheckoutActionsBlock'; + $block_types[] = 'CheckoutBillingAddressBlock'; + $block_types[] = 'CheckoutContactInformationBlock'; + $block_types[] = 'CheckoutExpressPaymentBlock'; + $block_types[] = 'CheckoutFieldsBlock'; + $block_types[] = 'CheckoutOrderNoteBlock'; + $block_types[] = 'CheckoutOrderSummaryBlock'; + $block_types[] = 'CheckoutOrderSummaryCartItemsBlock'; + $block_types[] = 'CheckoutOrderSummaryCouponFormBlock'; + $block_types[] = 'CheckoutOrderSummaryDiscountBlock'; + $block_types[] = 'CheckoutOrderSummaryFeeBlock'; + $block_types[] = 'CheckoutOrderSummaryShippingBlock'; + $block_types[] = 'CheckoutOrderSummarySubtotalBlock'; + $block_types[] = 'CheckoutOrderSummaryTaxesBlock'; + $block_types[] = 'CheckoutPaymentBlock'; + $block_types[] = 'CheckoutShippingAddressBlock'; + $block_types[] = 'CheckoutShippingMethodsBlock'; + $block_types[] = 'CheckoutTermsBlock'; + $block_types[] = 'CheckoutTotalsBlock'; + } + + return $block_types; + } } diff --git a/src/BlockTypes/CheckoutActionsBlock.php b/src/BlockTypes/CheckoutActionsBlock.php new file mode 100644 index 000000000..67e132b87 --- /dev/null +++ b/src/BlockTypes/CheckoutActionsBlock.php @@ -0,0 +1,14 @@ +get_cart_controller(); + $cart = $cart_controller->get_cart_instance(); + $cart_contents_total = $cart->get_subtotal(); + $typography_styles = isset( StyleAttributesUtils::get_font_weight_class_and_style( $attributes )['style'] ) ? StyleAttributesUtils::get_font_weight_class_and_style( $attributes )['style'] : null; + + return '' . esc_html( wp_strip_all_tags( wc_price( $cart_contents_total ) ) ) . ' + ' . $this->get_include_tax_label_markup(); + } + /** * Returns the markup for render the tax label. * @@ -360,8 +381,7 @@ protected function get_markup( $attributes ) { '; - $button_html = '' . esc_html( wp_strip_all_tags( wc_price( $cart_contents_total ) ) ) . ' - ' . $this->get_include_tax_label_markup() . ' + $button_html = $this->get_cart_price_markup( $attributes ) . ' ' . $icon . ' ' . $cart_contents_count . ' diff --git a/src/BlockTypes/ProceedToCheckoutBlock.php b/src/BlockTypes/ProceedToCheckoutBlock.php new file mode 100644 index 000000000..e2a883eec --- /dev/null +++ b/src/BlockTypes/ProceedToCheckoutBlock.php @@ -0,0 +1,26 @@ +asset_data_registry->register_page_id( isset( $attributes['checkoutPageId'] ) ? $attributes['checkoutPageId'] : 0 ); + } +} diff --git a/src/BlockTypesController.php b/src/BlockTypesController.php index d2653ad22..79c0fe272 100644 --- a/src/BlockTypesController.php +++ b/src/BlockTypesController.php @@ -6,6 +6,8 @@ use Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry; use Automattic\WooCommerce\Blocks\Assets\Api as AssetApi; use Automattic\WooCommerce\Blocks\Integrations\IntegrationRegistry; +use Automattic\WooCommerce\Blocks\BlockTypes\Cart; +use Automattic\WooCommerce\Blocks\BlockTypes\Checkout; /** * BlockTypesController class. @@ -279,10 +281,7 @@ protected function get_block_types() { 'MiniCartContents', ]; - if ( Package::feature()->is_feature_plugin_build() ) { - $block_types[] = 'Checkout'; - $block_types[] = 'Cart'; - } + $block_types = array_merge( $block_types, Cart::get_cart_block_types(), Checkout::get_checkout_block_types() ); if ( Package::feature()->is_experimental_build() ) { $block_types[] = 'SingleProduct'; diff --git a/src/Domain/Bootstrap.php b/src/Domain/Bootstrap.php index 7dd7f3b80..186c18c52 100644 --- a/src/Domain/Bootstrap.php +++ b/src/Domain/Bootstrap.php @@ -22,6 +22,7 @@ use Automattic\WooCommerce\Blocks\Payments\Integrations\PayPal; use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry; use Automattic\WooCommerce\Blocks\Registry\Container; +use Automattic\WooCommerce\Blocks\Templates\ProductAttributeTemplate; use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\RoutesController; use Automattic\WooCommerce\StoreApi\SchemaController; @@ -116,6 +117,7 @@ function() { $this->container->get( BlockTypesController::class ); $this->container->get( BlockTemplatesController::class ); $this->container->get( ProductSearchResultsTemplate::class ); + $this->container->get( ProductAttributeTemplate::class ); $this->container->get( ClassicTemplatesCompatibility::class ); if ( $this->package->feature()->is_feature_plugin_build() ) { $this->container->get( PaymentsApi::class ); @@ -249,6 +251,12 @@ function () { return new ProductSearchResultsTemplate(); } ); + $this->container->register( + ProductAttributeTemplate::class, + function () { + return new ProductAttributeTemplate(); + } + ); $this->container->register( ClassicTemplatesCompatibility::class, function ( Container $container ) { diff --git a/src/Package.php b/src/Package.php index 2c539ce6c..23e2a0481 100644 --- a/src/Package.php +++ b/src/Package.php @@ -106,7 +106,7 @@ public static function container( $reset = false ) { NewPackage::class, function ( $container ) { // leave for automated version bumping. - $version = '8.2.0-dev'; + $version = '8.3.0-dev'; return new NewPackage( $version, dirname( __DIR__ ), diff --git a/src/StoreApi/README.md b/src/StoreApi/README.md index b4760294b..5fa712497 100644 --- a/src/StoreApi/README.md +++ b/src/StoreApi/README.md @@ -161,6 +161,7 @@ If the data is sensitive (for example, a core setting that should be private), o [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/README.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/README.md) + diff --git a/src/StoreApi/Routes/V1/Checkout.php b/src/StoreApi/Routes/V1/Checkout.php index 2fb34161c..c7dac9c02 100644 --- a/src/StoreApi/Routes/V1/Checkout.php +++ b/src/StoreApi/Routes/V1/Checkout.php @@ -411,6 +411,14 @@ private function update_customer_from_request( \WP_REST_Request $request ) { } } + /** + * Fires when the Checkout Block/Store API updates a customer from the API request data. + * + * @param \WC_Customer $customer Customer object. + * @param \WP_REST_Request $request Full details about the request. + */ + do_action( 'woocommerce_store_api_checkout_update_customer_from_request', $customer, $request ); + $customer->save(); } diff --git a/src/StoreApi/docs/cart-coupons.md b/src/StoreApi/docs/cart-coupons.md index 4605d5086..a8b1f8843 100644 --- a/src/StoreApi/docs/cart-coupons.md +++ b/src/StoreApi/docs/cart-coupons.md @@ -168,6 +168,7 @@ curl --request DELETE https://example-store.com/wp-json/wc/store/v1/cart/coupons [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart-coupons.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart-coupons.md) + diff --git a/src/StoreApi/docs/cart-items.md b/src/StoreApi/docs/cart-items.md index 3d54e4700..9d484d697 100644 --- a/src/StoreApi/docs/cart-items.md +++ b/src/StoreApi/docs/cart-items.md @@ -364,6 +364,7 @@ curl --request DELETE https://example-store.com/wp-json/wc/store/v1/cart/items [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart-items.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart-items.md) + diff --git a/src/StoreApi/docs/cart.md b/src/StoreApi/docs/cart.md index 9c077bab8..dc0eca053 100644 --- a/src/StoreApi/docs/cart.md +++ b/src/StoreApi/docs/cart.md @@ -475,6 +475,7 @@ Returns the full [Cart Response](#cart-response) on success, or an [Error Respon [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/cart.md) + diff --git a/src/StoreApi/docs/checkout.md b/src/StoreApi/docs/checkout.md index 578a31463..db6bf78bb 100644 --- a/src/StoreApi/docs/checkout.md +++ b/src/StoreApi/docs/checkout.md @@ -141,6 +141,7 @@ curl --header "Nonce: 12345" --request POST https://example-store.com/wp-json/wc [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/checkout.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/checkout.md) + diff --git a/src/StoreApi/docs/guiding-principles.md b/src/StoreApi/docs/guiding-principles.md index ec301ac04..a523b67e5 100644 --- a/src/StoreApi/docs/guiding-principles.md +++ b/src/StoreApi/docs/guiding-principles.md @@ -133,10 +133,11 @@ The version will not increase for bug fixes unless the scope of the bug causes a --- +--- [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/guiding-principles.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/guiding-principles.md) + diff --git a/src/StoreApi/docs/nonce-tokens.md b/src/StoreApi/docs/nonce-tokens.md index 50fb0a0c8..8ef6c96e0 100644 --- a/src/StoreApi/docs/nonce-tokens.md +++ b/src/StoreApi/docs/nonce-tokens.md @@ -53,6 +53,7 @@ NOTE: This should only be done on development sites where security is not import [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/nonce-tokens.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/nonce-tokens.md) + diff --git a/src/StoreApi/docs/product-attribute-terms.md b/src/StoreApi/docs/product-attribute-terms.md index 87edd2984..efb4c0555 100644 --- a/src/StoreApi/docs/product-attribute-terms.md +++ b/src/StoreApi/docs/product-attribute-terms.md @@ -40,6 +40,7 @@ curl "https://example-store.com/wp-json/wc/store/v1/products/attributes/1/terms" [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-attribute-terms.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-attribute-terms.md) + diff --git a/src/StoreApi/docs/product-attributes.md b/src/StoreApi/docs/product-attributes.md index dadc83b27..04e3c36d9 100644 --- a/src/StoreApi/docs/product-attributes.md +++ b/src/StoreApi/docs/product-attributes.md @@ -75,6 +75,7 @@ curl "https://example-store.com/wp-json/wc/store/v1/products/attributes/1" [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-attributes.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-attributes.md) + diff --git a/src/StoreApi/docs/product-collection-data.md b/src/StoreApi/docs/product-collection-data.md index f59e59478..1f1c93e25 100644 --- a/src/StoreApi/docs/product-collection-data.md +++ b/src/StoreApi/docs/product-collection-data.md @@ -63,6 +63,7 @@ curl "https://example-store.com/wp-json/wc/store/v1/products/collection-data?cal [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-collection-data.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/product-collection-data.md) + diff --git a/src/StoreApi/docs/products.md b/src/StoreApi/docs/products.md index d91fff43f..6e5eeeee2 100644 --- a/src/StoreApi/docs/products.md +++ b/src/StoreApi/docs/products.md @@ -197,6 +197,7 @@ curl "https://example-store.com/wp-json/wc/store/v1/products/34" [We're hiring!](https://woocommerce.com/careers/) Come work with us! -🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/products.md) +🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-blocks/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./src/StoreApi/docs/products.md) + diff --git a/src/Templates/ProductAttributeTemplate.php b/src/Templates/ProductAttributeTemplate.php new file mode 100644 index 000000000..62dc2defb --- /dev/null +++ b/src/Templates/ProductAttributeTemplate.php @@ -0,0 +1,39 @@ +init(); + } + + /** + * Initialization method. + */ + protected function init() { + add_filter( 'taxonomy_template_hierarchy', array( $this, 'update_taxonomy_template_hierarchy' ), 10, 3 ); + } + + /** + * Render the Archive Product Template for product attributes. + * + * @param array $templates Templates that match the product attributes taxonomy. + */ + public function update_taxonomy_template_hierarchy( $templates ) { + if ( taxonomy_is_product_attribute( get_query_var( 'taxonomy' ) ) && wc_current_theme_is_fse_theme() ) { + array_unshift( $templates, self::SLUG ); + } + + return $templates; + } +} diff --git a/src/Utils/BlocksWpQuery.php b/src/Utils/BlocksWpQuery.php index 4fe397ea3..fbf0ba0a5 100644 --- a/src/Utils/BlocksWpQuery.php +++ b/src/Utils/BlocksWpQuery.php @@ -24,25 +24,6 @@ class BlocksWpQuery extends WP_Query { public function __construct( $query = '' ) { if ( ! empty( $query ) ) { $this->init(); - - // Remove current product from query to avoid infinite loops and out of memory issues. - // That might happen if the store is using Gutenberg for product descriptions. - // See https://github.com/woocommerce/woocommerce-blocks/issues/6416. - global $post; - if ( $post && array_key_exists( 'post__in', $query ) && is_array( $query['post__in'] ) ) { - $global_post_id = $post->ID; - $filtered_post__in = array_filter( - $query['post__in'], - static function ( $post_id ) use ( $global_post_id ) { - if ( $global_post_id === $post_id ) { - return false; - } - return true; - } - ); - $query['post__in'] = $filtered_post__in; - } - $this->query = wp_parse_args( $query ); $this->query_vars = $this->query; $this->parse_query_vars(); diff --git a/src/Utils/StyleAttributesUtils.php b/src/Utils/StyleAttributesUtils.php index 52533191b..e8786c78f 100644 --- a/src/Utils/StyleAttributesUtils.php +++ b/src/Utils/StyleAttributesUtils.php @@ -37,6 +37,27 @@ public static function get_font_size_class_and_style( $attributes ) { return null; } + /** + * Get class and style for font-weight from attributes. + * + * @param array $attributes Block attributes. + * + * @return (array | null) + */ + public static function get_font_weight_class_and_style( $attributes ) { + + $custom_font_weight = $attributes['style']['typography']['fontWeight'] ?? ''; + + if ( '' !== $custom_font_weight ) { + return array( + 'class' => null, + 'style' => sprintf( 'font-weight: %s;', $custom_font_weight ), + ); + } + return null; + } + + /** * Get class and style for font-family from attributes. * @@ -340,6 +361,7 @@ public static function get_classes_and_styles_by_attributes( $attributes, $prope 'text_color' => self::get_text_color_class_and_style( $attributes ), 'font_size' => self::get_font_size_class_and_style( $attributes ), 'font_family' => self::get_font_family_class_and_style( $attributes ), + 'font_weight' => self::get_font_weight_class_and_style( $attributes ), 'link_color' => self::get_link_color_class_and_style( $attributes ), 'background_color' => self::get_background_color_class_and_style( $attributes ), 'border_color' => self::get_border_color_class_and_style( $attributes ), diff --git a/tests/e2e/specs/backend/mini-cart.test.js b/tests/e2e/specs/backend/mini-cart.test.js index 73bbe3729..24e910e8a 100644 --- a/tests/e2e/specs/backend/mini-cart.test.js +++ b/tests/e2e/specs/backend/mini-cart.test.js @@ -19,7 +19,6 @@ import { goToSiteEditor, useTheme, waitForCanvas, - addBlockToFSEArea, } from '../../utils.js'; const block = { @@ -30,8 +29,6 @@ const block = { insertButton: "//button//span[text()='Mini Cart']", insertButtonDisabled: "//button[@aria-disabled]//span[text()='Mini Cart']", - compatibilityNoticeTitle: - "//h1[contains(text(), 'Compatibility notice')]", }, }; @@ -40,14 +37,6 @@ if ( process.env.WOOCOMMERCE_BLOCKS_PHASE < 3 ) { test.only( `skipping ${ block.name } tests`, () => {} ); } -const removeDismissedCompatibilityNoticesFromLocalStorage = async () => { - await page.evaluate( () => { - window.localStorage.removeItem( - 'wc-blocks_dismissed_compatibility_notices' - ); - } ); -}; - const addBlockToWidgetsArea = async () => { await closeModalIfExists(); await openWidgetsEditorBlockInserter(); @@ -58,10 +47,6 @@ const addBlockToWidgetsArea = async () => { describe( `${ block.name } Block`, () => { describe( 'in widget editor', () => { - beforeAll( async () => { - await removeDismissedCompatibilityNoticesFromLocalStorage(); - } ); - beforeEach( async () => { await openWidgetEditor(); } ); @@ -73,28 +58,6 @@ describe( `${ block.name } Block`, () => { ); } ); - it( 'the compatibility notice appears', async () => { - await addBlockToWidgetsArea(); - const compatibilityNoticeTitle = await page.$x( - block.selectors.compatibilityNoticeTitle - ); - expect( compatibilityNoticeTitle.length ).toBe( 1 ); - } ); - - it( "after the compatibility notice is dismissed, it doesn't appear again", async () => { - await page.evaluate( () => { - window.localStorage.setItem( - 'wc-blocks_dismissed_compatibility_notices', - '["mini-cart"]' - ); - } ); - await addBlockToWidgetsArea(); - const compatibilityNoticeTitle = await page.$x( - block.selectors.compatibilityNoticeTitle - ); - expect( compatibilityNoticeTitle.length ).toBe( 0 ); - } ); - it( 'can only be inserted once', async () => { await addBlockToWidgetsArea(); const miniCartButton = await page.$x( @@ -109,11 +72,7 @@ describe( `${ block.name } Block`, () => { useTheme( 'emptytheme' ); beforeEach( async () => { - // TODO: Update to always use site-editor.php once WordPress 6.0 is released and fix is verified. - await goToSiteEditor( - process.env.GUTENBERG_EDITOR_CONTEXT || 'core' - ); - await removeDismissedCompatibilityNoticesFromLocalStorage(); + await goToSiteEditor(); await waitForCanvas(); } ); @@ -122,28 +81,6 @@ describe( `${ block.name } Block`, () => { await expect( canvas() ).toMatchElement( block.class ); } ); - it( 'the compatibility notice appears', async () => { - await addBlockToFSEArea( block.name ); - const compatibilityNoticeTitle = await page.$x( - block.selectors.compatibilityNoticeTitle - ); - expect( compatibilityNoticeTitle.length ).toBe( 1 ); - } ); - - it( "after the compatibility notice is dismissed, it doesn't appear again", async () => { - await page.evaluate( () => { - window.localStorage.setItem( - 'wc-blocks_dismissed_compatibility_notices', - '["mini-cart"]' - ); - } ); - await addBlockToFSEArea( block.name ); - const compatibilityNoticeTitle = await page.$x( - block.selectors.compatibilityNoticeTitle - ); - expect( compatibilityNoticeTitle.length ).toBe( 0 ); - } ); - it( 'can only be inserted once', async () => { await insertBlock( block.name ); await searchForFSEBlock( block.name ); diff --git a/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts b/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts index 0359b790e..2154af8a4 100644 --- a/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts +++ b/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts @@ -87,6 +87,8 @@ describe( `${ block.name } Block`, () => { it( 'should show only products that match the filter', async () => { const isRefreshed = jest.fn( () => void 0 ); page.on( 'load', isRefreshed ); + + await page.waitForSelector( selectors.frontend.filter ); await page.click( selectors.frontend.filter ); await waitForAllProductsBlockLoaded(); const products = await page.$$( selectors.frontend.productsList ); @@ -119,7 +121,6 @@ describe( `${ block.name } Block`, () => { ); await canvasEl.click( selectors.editor.doneButton ); await saveTemplate(); - await goToShopPage(); } ); afterAll( async () => { @@ -127,6 +128,10 @@ describe( `${ block.name } Block`, () => { await deleteAllTemplates( 'wp_template_part' ); } ); + beforeEach( async () => { + await goToShopPage(); + } ); + it( 'should render', async () => { const products = await page.$$( selectors.frontend.classicProductsList @@ -145,6 +150,8 @@ describe( `${ block.name } Block`, () => { expect( isRefreshed ).not.toBeCalled(); + await page.waitForSelector( selectors.frontend.filter ); + await Promise.all( [ page.waitForNavigation(), page.click( selectors.frontend.filter ), diff --git a/tests/e2e/specs/shopper/filter-products-by-price.test.ts b/tests/e2e/specs/shopper/filter-products-by-price.test.ts index 9d81d783f..87062c4e5 100644 --- a/tests/e2e/specs/shopper/filter-products-by-price.test.ts +++ b/tests/e2e/specs/shopper/filter-products-by-price.test.ts @@ -52,10 +52,10 @@ const goToShopPage = () => const setMaxPrice = async () => { await page.waitForSelector( selectors.frontend.priceMaxAmount ); await page.focus( selectors.frontend.priceMaxAmount ); - await page.$eval( - selectors.frontend.priceMaxAmount, - ( el ) => ( ( el as HTMLInputElement ).value = '' ) - ); + await page.keyboard.down( 'Shift' ); + await page.keyboard.press( 'Home' ); + await page.keyboard.up( 'Shift' ); + await page.keyboard.press( 'Backspace' ); await page.keyboard.type( '1.99' ); await page.keyboard.press( 'Tab' ); }; @@ -71,6 +71,7 @@ describe( `${ block.name } Block`, () => { await insertBlock( block.name ); await insertBlock( 'All Products' ); + await insertBlock( 'Active Product Filters' ); await publishPost(); const link = await page.evaluate( () => @@ -90,12 +91,18 @@ describe( `${ block.name } Block`, () => { const isRefreshed = jest.fn( () => void 0 ); page.on( 'load', isRefreshed ); await setMaxPrice(); + await expect( page ).toMatchElement( + '.wc-block-active-filters__title', + { + text: 'Active filters', + } + ); await waitForAllProductsBlockLoaded(); - await page.waitForSelector( selectors.frontend.productsList ); const products = await page.$$( selectors.frontend.productsList ); expect( isRefreshed ).not.toBeCalled(); + expect( products ).toHaveLength( 1 ); await expect( page ).toMatch( block.foundProduct ); diff --git a/tests/e2e/utils.js b/tests/e2e/utils.js index 0bf42c14d..3a4f127c1 100644 --- a/tests/e2e/utils.js +++ b/tests/e2e/utils.js @@ -64,7 +64,7 @@ const SELECTORS = { savePrompt: '.entities-saved-states__text-prompt', }, allProductsBlock: { - productsList: '.wc-block-grid__products > li > div:not(.is-loading)', + productsList: '.wc-block-grid__products:not(.is-loading-products)', }, }; @@ -157,46 +157,29 @@ export const isBlockInsertedInWidgetsArea = async ( blockName ) => { /** * Visits site editor dependening on used WordPress version and how Gutenberg is installed. * - * 1. `themes.php?page=gutenberg-edit-site` this is a legacy editor access used for WP <=5.8. - * 2. `site-editor.php` is the new way of accessing the editor in WP >=5.9+. - * - * @param {'core' | 'gutenberg'} [editorContext='core'] Whether to go to the Gutenberg URL or the Core one. * @param {Object} params Query parameters to add to the URL. * @param {string} [params.postId] ID of the template if we want to access template editor. * @param {'wp_template' | 'wp_template_part'} [params.postType='wp_template'] Type of template. */ -export async function goToSiteEditor( editorContext = 'core', params ) { - // There is a bug in Gutenberg/WPCore now that makes it impossible to rely on site-editor.php on setups - // with locally installed Gutenberg. Details in https://github.com/WordPress/gutenberg/issues/39639. - // TODO: Update to always use site-editor.php once WordPress 6.0 is released and fix is verified. - // Remove usage of goToSiteEditor and GUTENBERG_EDITOR_CONTEXT from from here and from workflows. - let editorPath; - const queryParams = { ...params }; - - if ( editorContext === 'gutenberg' ) { - editorPath = 'themes.php'; - queryParams.page = 'gutenberg-edit-site'; - } else { - editorPath = 'site-editor.php'; - } - - return await visitAdminPage( editorPath, addQueryArgs( '', queryParams ) ); +export async function goToSiteEditor( params = {} ) { + return await visitAdminPage( + 'site-editor.php', + addQueryArgs( '', params ) + ); } /** * Visits the Site Editor template edit view. * * @param {Object} params - * @param {string} params.postId ID of the template if we want to access template editor. - * @param {'core' | 'gutenberg'} [params.editorContext='core'] Whether to go to the Gutenberg URL or the Core one. + * @param {string} [params.postId] ID of the template if we want to access template editor. * @param {'wp_template' | 'wp_template_part'} [params.postType='wp_template'] Type of template. */ export async function goToTemplateEditor( { postId, postType = 'wp_template', - editorContext = GUTENBERG_EDITOR_CONTEXT, } = {} ) { - await goToSiteEditor( editorContext, { + await goToSiteEditor( { postType, postId, } ); @@ -209,16 +192,14 @@ export async function goToTemplateEditor( { * Visits the Site Editor templates list view. * * @param {Object} params - * @param {'core' | 'gutenberg'} [params.editorContext='core'] Whether to go to the Gutenberg URL or the Core one. * @param {'wp_template' | 'wp_template_part'} [params.postType='wp_template'] Type of template. * @param {'list' | 'actions'} [params.waitFor='false'] Wait for list or for actions to be present - tempalte actions can take a moment to load, we can wait for them to be present if needed. */ export async function goToTemplatesList( { postType = 'wp_template', - editorContext = GUTENBERG_EDITOR_CONTEXT, waitFor = 'list', } = {} ) { - await goToSiteEditor( editorContext, { postType } ); + await goToSiteEditor( { postType } ); if ( waitFor === 'actions' ) { await page.waitForSelector( @@ -456,5 +437,4 @@ export const openBlockEditorSettings = async ( { isFSEEditor = false } ) => { */ export const waitForAllProductsBlockLoaded = async () => { await page.waitForSelector( SELECTORS.allProductsBlock.productsList ); - await page.waitForTimeout( 5000 ); }; diff --git a/woocommerce-gutenberg-products-block.php b/woocommerce-gutenberg-products-block.php index bcbea62ea..d45b7efb2 100644 --- a/woocommerce-gutenberg-products-block.php +++ b/woocommerce-gutenberg-products-block.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce Blocks * Plugin URI: https://github.com/woocommerce/woocommerce-gutenberg-products-block * Description: WooCommerce blocks for the Gutenberg editor. - * Version: 8.2.0-dev + * Version: 8.3.0-dev * Author: Automattic * Author URI: https://woocommerce.com * Text Domain: woo-gutenberg-products-block