From 0d7de08cc6be62ae7717100cff8513cecc9f0a06 Mon Sep 17 00:00:00 2001 From: Tung Du Date: Mon, 9 Jan 2023 23:44:53 +0700 Subject: [PATCH 01/19] Fix broken E2E tests cause by edit template button class name change in latest Gutenberg release (#8107) --- .../product-query/popular-filters.test.ts | 22 ++++++++++++------- .../filter-products-by-attribute.test.ts | 7 ++++-- .../shopper/filter-products-by-rating.test.ts | 1 + .../shopper/filter-products-by-stock.test.ts | 1 + tests/e2e/utils.js | 2 +- tests/utils/find-tools-panel-with-title.ts | 7 +----- tests/utils/get-form-element-id-by-label.ts | 9 ++------ tests/utils/get-toggle-id-by-label.ts | 9 ++------ 8 files changed, 27 insertions(+), 31 deletions(-) diff --git a/tests/e2e/specs/backend/product-query/popular-filters.test.ts b/tests/e2e/specs/backend/product-query/popular-filters.test.ts index 4847883e43b..86bb8241716 100644 --- a/tests/e2e/specs/backend/product-query/popular-filters.test.ts +++ b/tests/e2e/specs/backend/product-query/popular-filters.test.ts @@ -124,14 +124,20 @@ describeOrSkip( GUTENBERG_EDITOR_CONTEXT === 'gutenberg' )( filter: 'Newest', shortcode: '[products orderby="date" order="DESC" limit="9"]', }, - { - filter: 'Best Selling', - shortcode: '[products best_selling="true" limit="9"]', - }, - { - filter: 'Top Rated', - shortcode: '[products top_rated="true" limit="9"]', - }, + /** + * The following tests are commented out because they are flaky + * due to the lack of orders and reviews in the test environment. + * + * @see https://github.com/woocommerce/woocommerce-blocks/issues/8116 + */ + // { + // filter: 'Best Selling', + // shortcode: '[products best_selling="true" limit="9"]', + // }, + // { + // filter: 'Top Rated', + // shortcode: '[products top_rated="true" limit="9"]', + // }, ] )( '$filter', ( { filter, shortcode } ) => { beforeEach( async () => { await selectPopularFilter( filter ); 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 f9bfd49982b..2647ad8b908 100644 --- a/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts +++ b/tests/e2e/specs/shopper/filter-products-by-attribute.test.ts @@ -246,12 +246,15 @@ describe( `${ block.name } Block`, () => { await insertBlock( block.name ); await page.waitForNetworkIdle(); + await canvas().waitForSelector( + block.selectors.editor.firstAttributeInTheList + ); // It seems that .click doesn't work well with radio input element. - await page.$eval( + await canvas().$eval( block.selectors.editor.firstAttributeInTheList, ( el ) => ( el as HTMLInputElement ).click() ); - await page.click( selectors.editor.doneButton ); + await canvas().click( selectors.editor.doneButton ); await publishPost(); editorPageUrl = page.url(); diff --git a/tests/e2e/specs/shopper/filter-products-by-rating.test.ts b/tests/e2e/specs/shopper/filter-products-by-rating.test.ts index 443a35cf6a8..610f9b1cdec 100644 --- a/tests/e2e/specs/shopper/filter-products-by-rating.test.ts +++ b/tests/e2e/specs/shopper/filter-products-by-rating.test.ts @@ -265,6 +265,7 @@ describe( `${ block.name } Block`, () => { it( 'should refresh the page only if the user click on button', async () => { await page.goto( editorPageUrl ); + await waitForCanvas(); await ensureSidebarOpened(); await selectBlockByName( block.slug ); await setCheckbox( diff --git a/tests/e2e/specs/shopper/filter-products-by-stock.test.ts b/tests/e2e/specs/shopper/filter-products-by-stock.test.ts index b1558a9d4ce..d5cc56098c6 100644 --- a/tests/e2e/specs/shopper/filter-products-by-stock.test.ts +++ b/tests/e2e/specs/shopper/filter-products-by-stock.test.ts @@ -271,6 +271,7 @@ describe( `${ block.name } Block`, () => { it( 'should refresh the page only if the user clicks on button', async () => { await page.goto( editorPageUrl ); + await waitForCanvas(); await ensureSidebarOpened(); await selectBlockByName( block.slug ); await setCheckbox( diff --git a/tests/e2e/utils.js b/tests/e2e/utils.js index 077ed862419..a67a185230c 100644 --- a/tests/e2e/utils.js +++ b/tests/e2e/utils.js @@ -66,7 +66,7 @@ const SELECTORS = { }, templateEditor: { editButton: - '.edit-site-layout__edit-button[aria-label="Open the editor"]', + '.edit-site-site-hub__edit-button[aria-label="Open the editor"]', }, }; diff --git a/tests/utils/find-tools-panel-with-title.ts b/tests/utils/find-tools-panel-with-title.ts index 9620d217dd1..ca22aedb85a 100644 --- a/tests/utils/find-tools-panel-with-title.ts +++ b/tests/utils/find-tools-panel-with-title.ts @@ -1,10 +1,5 @@ -/** - * External dependencies - */ -import { canvas } from '@wordpress/e2e-test-utils'; - export const findToolsPanelWithTitle = async ( panelTitle: string ) => { const panelToggleSelector = `//div[contains(@class, "components-tools-panel-header")]//h2[contains(@class, "components-heading") and contains(text(),"${ panelTitle }")]`; const panelSelector = `${ panelToggleSelector }/ancestor::*[contains(concat(" ", @class, " "), " components-tools-panel ")]`; - return await canvas().waitForXPath( panelSelector ); + return await page.waitForXPath( panelSelector ); }; diff --git a/tests/utils/get-form-element-id-by-label.ts b/tests/utils/get-form-element-id-by-label.ts index c3400b80663..f107cff491b 100644 --- a/tests/utils/get-form-element-id-by-label.ts +++ b/tests/utils/get-form-element-id-by-label.ts @@ -1,8 +1,3 @@ -/** - * External dependencies - */ -import { canvas } from '@wordpress/e2e-test-utils'; - export const getFormElementIdByLabel = async ( text: string, className: string @@ -10,11 +5,11 @@ export const getFormElementIdByLabel = async ( // Remove leading dot if className is passed with it. className = className.replace( /^\./, '' ); - const labelElement = await canvas().waitForXPath( + const labelElement = await page.waitForXPath( `//label[contains(text(), "${ text }") and contains(@class, "${ className }")]`, { visible: true } ); - return await canvas().evaluate( + return await page.evaluate( ( label ) => `#${ label.getAttribute( 'for' ) }`, labelElement ); diff --git a/tests/utils/get-toggle-id-by-label.ts b/tests/utils/get-toggle-id-by-label.ts index 814204e6bf2..d67c7f4092b 100644 --- a/tests/utils/get-toggle-id-by-label.ts +++ b/tests/utils/get-toggle-id-by-label.ts @@ -1,8 +1,3 @@ -/** - * External dependencies - */ -import { canvas } from '@wordpress/e2e-test-utils'; - /** * Internal dependencies */ @@ -26,12 +21,12 @@ export const getToggleIdByLabel = async ( ): Promise< string > => { const delay = 1000; // Wait a bit for toggle to finish rerendering. - await canvas().waitForTimeout( delay ); + await page.waitForTimeout( delay ); const checkboxId = await getFormElementIdByLabel( label, 'components-toggle-control__label' ); - const checkbox = await canvas().$( checkboxId ); + const checkbox = await page.$( checkboxId ); if ( ! checkbox ) { if ( retry * delay < DEFAULT_TIMEOUT ) { return await getToggleIdByLabel( label, retry + 1 ); From cd3f0f6d6fe635a6893eaad9399a7f9545162672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Juh=C3=A9=20Lluveras?= Date: Mon, 9 Jan 2023 18:36:35 +0100 Subject: [PATCH 02/19] Add testing steps for WC Blocks 8.9.3 and 8.9.4 (#8123) --- .../testing/releases/893.md | 11 ++++++++ .../testing/releases/894.md | 25 +++++++++++++++++++ .../testing/releases/README.md | 2 ++ readme.txt | 13 ++++++++++ 4 files changed, 51 insertions(+) create mode 100644 docs/internal-developers/testing/releases/893.md create mode 100644 docs/internal-developers/testing/releases/894.md diff --git a/docs/internal-developers/testing/releases/893.md b/docs/internal-developers/testing/releases/893.md new file mode 100644 index 00000000000..86e18e4772e --- /dev/null +++ b/docs/internal-developers/testing/releases/893.md @@ -0,0 +1,11 @@ +# Testing notes and ZIP for release 8.9.3 + +Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-blocks/files/10332606/woocommerce-gutenberg-products-block.zip) + +## Feature plugin and package inclusion in WooCommerce + +### Replace additional instance of wp_is_block_theme() with wc_current_theme_is_fse_theme() [#7496](https://github.com/woocommerce/woocommerce-blocks/pull/7496) + +0. In WP 5.8. +1. Create a post or page. +2. Verify there is no fatal error and you can create the post or page and publish it. diff --git a/docs/internal-developers/testing/releases/894.md b/docs/internal-developers/testing/releases/894.md new file mode 100644 index 00000000000..d877306ab97 --- /dev/null +++ b/docs/internal-developers/testing/releases/894.md @@ -0,0 +1,25 @@ +# Testing notes and ZIP for release 8.9.4 + +Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-blocks/files/10346588/woocommerce-blocks.zip) + +## Feature plugin and package inclusion in WooCommerce + +### Refactor Filter Wrapper to remove usage of useInnerBlocksProps [#8095](https://github.com/woocommerce/woocommerce-blocks/pull/8095) and Add back ToggleButtonControl component in WC Blocks 8.9 so it supports WP 5.9 [#8101](https://github.com/woocommerce/woocommerce-blocks/pull/8101) + +1. In WP 5.8. +2. Create a post or page. +3. Add the Filter by Attribute block. +4. Select one of the attributes. +5. Verify the block is added correctly, you can publish the post/page and there is no error. +6. Play around with the block display settings and verify the block honors them: + + + +7. Test also these blocks (in all of them, interact with the toggles on the sidebar of the editor and verify the block doesn't crash and the settings are applied correctly): + * Feature Product + * Featured Category + * Product Image (you will need to add the All Products block, click on the pencil icon to edit its inner blocks, and select the image) + * Active Product Filters (you will need to select the Controls inner block) + * Filter by Price (you will need to select the Controls inner block) + * Product Categories List + diff --git a/docs/internal-developers/testing/releases/README.md b/docs/internal-developers/testing/releases/README.md index f37d42bcd0b..de8be7c3805 100644 --- a/docs/internal-developers/testing/releases/README.md +++ b/docs/internal-developers/testing/releases/README.md @@ -105,6 +105,8 @@ Every release includes specific testing instructions for new features and bug fi - [8.9.0](./890.md) - [8.9.1](./891.md) - [8.9.2](./892.md) + - [8.9.3](./893.md) + - [8.9.4](./894.md) - [9.0.0](./900.md) - [9.1.0](./910.md) - [9.1.1](./911.md) diff --git a/readme.txt b/readme.txt index 29a42d5900f..3faaa5cab36 100644 --- a/readme.txt +++ b/readme.txt @@ -220,6 +220,19 @@ Release and roadmap notes available on the [WooCommerce Developers Blog](https:/ - Change action type name for use shipping as billing option. ([7695](https://github.com/woocommerce/woocommerce-blocks/pull/7695)) - Block Checkout: Apply selected Local Pickup rate to entire order (all packages). ([7484](https://github.com/woocommerce/woocommerce-blocks/pull/7484)) += 8.9.4 - 2023-01-04 = + +#### Bug fixes + +- Fix hangs in the block editor with WordPress 5.8. [#8095](https://github.com/woocommerce/woocommerce-blocks/pull/8095) +- Fix Filter by Attribute block crashing in the editor of WordPress 5.8. [#8101](https://github.com/woocommerce/woocommerce-blocks/pull/8101) + += 8.9.3 - 2023-01-03 = + +#### Bug fixes + +- Fix fatal error in WordPress 5.8 when creating a post or page. [#7496](https://github.com/woocommerce/woocommerce-blocks/pull/7496) + = 8.9.2 - 2022-12-01 = #### Bug Fixes From dfd2902bd8a247b5d048577db6753c5e901fc60f Mon Sep 17 00:00:00 2001 From: Lucio Giannotta Date: Mon, 9 Jan 2023 19:21:09 +0100 Subject: [PATCH 03/19] Convert `Add to Cart` to TypeScript (#8077) * Add `@wordpress/components` types as `devDep` --- .../{attributes.js => attributes.ts} | 0 .../add-to-cart/{block.js => block.tsx} | 66 ++-- .../{constants.js => constants.tsx} | 0 .../add-to-cart/{frontend.js => frontend.ts} | 0 .../add-to-cart/{index.js => index.ts} | 0 .../{external.js => external.tsx} | 0 .../group-list/{index.js => index.tsx} | 0 .../grouped/{index.js => index.tsx} | 0 .../product-types/{index.js => index.ts} | 0 .../product-types/{simple.js => simple.tsx} | 1 + .../variable/{index.js => index.tsx} | 1 + .../product-types/variable/types.ts | 17 + ...tribute-picker.js => attribute-picker.tsx} | 22 +- ...ontrol.js => attribute-select-control.tsx} | 12 +- .../{index.js => index.tsx} | 18 +- .../test/{index.js => index.ts} | 16 +- .../{utils.js => utils.ts} | 161 ++++++--- ...-cart-button.js => add-to-cart-button.tsx} | 141 ++++---- .../add-to-cart/shared/{index.js => index.ts} | 0 ...unavailable.js => product-unavailable.tsx} | 0 .../add-to-cart/shared/quantity-input.js | 74 ---- .../add-to-cart/shared/quantity-input.tsx | 85 +++++ assets/js/base/components/button/index.tsx | 32 +- assets/js/types/type-defs/product-response.ts | 1 + assets/js/types/type-defs/utils.ts | 2 + package-lock.json | 327 +++++++++++++++++- package.json | 1 + 27 files changed, 699 insertions(+), 278 deletions(-) rename assets/js/atomic/blocks/product-elements/add-to-cart/{attributes.js => attributes.ts} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/{block.js => block.tsx} (85%) rename assets/js/atomic/blocks/product-elements/add-to-cart/{constants.js => constants.tsx} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/{frontend.js => frontend.ts} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/{index.js => index.ts} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/{external.js => external.tsx} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/group-list/{index.js => index.tsx} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/{index.js => index.tsx} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/{index.js => index.ts} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/{simple.js => simple.tsx} (95%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/{index.js => index.tsx} (96%) create mode 100644 assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/types.ts rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/{attribute-picker.js => attribute-picker.tsx} (83%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/{attribute-select-control.js => attribute-select-control.tsx} (90%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/{index.js => index.tsx} (66%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/{index.js => index.ts} (95%) rename assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/{utils.js => utils.ts} (62%) rename assets/js/atomic/blocks/product-elements/add-to-cart/shared/{add-to-cart-button.js => add-to-cart-button.tsx} (77%) rename assets/js/atomic/blocks/product-elements/add-to-cart/shared/{index.js => index.ts} (100%) rename assets/js/atomic/blocks/product-elements/add-to-cart/shared/{product-unavailable.js => product-unavailable.tsx} (100%) delete mode 100644 assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.js create mode 100644 assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/attributes.js b/assets/js/atomic/blocks/product-elements/add-to-cart/attributes.ts similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/attributes.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/attributes.ts diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/block.js b/assets/js/atomic/blocks/product-elements/add-to-cart/block.tsx similarity index 85% rename from assets/js/atomic/blocks/product-elements/add-to-cart/block.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/block.tsx index 7baba132098..50190e77eb9 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/block.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/block.tsx @@ -23,36 +23,16 @@ import { GroupedProductForm, } from './product-types'; -/** - * Product Add to Form Block Component. - * - * @param {Object} props Incoming props. - * @param {string} [props.className] CSS Class name for the component. - * @param {boolean} [props.showFormElements] Should form elements be shown? - * @return {*} The component. - */ -const Block = ( { className, showFormElements } ) => { - const { product } = useProductDataContext(); - const componentClass = classnames( - className, - 'wc-block-components-product-add-to-cart', - { - 'wc-block-components-product-add-to-cart--placeholder': - isEmpty( product ), - } - ); - - return ( - -
- -
-
- ); -}; +interface Props { + /** + * CSS Class name for the component. + */ + className?: string; + /** + * Whether or not to show form elements. + */ + showFormElements?: boolean; +} /** * Renders the add to cart form using useAddToCartFormContext. @@ -79,6 +59,32 @@ const AddToCartForm = () => { return ; }; +/** + * Product Add to Form Block Component. + */ +const Block = ( { className, showFormElements }: Props ) => { + const { product } = useProductDataContext(); + const componentClass = classnames( + className, + 'wc-block-components-product-add-to-cart', + { + 'wc-block-components-product-add-to-cart--placeholder': + isEmpty( product ), + } + ); + + return ( + +
+ +
+
+ ); +}; + Block.propTypes = { className: PropTypes.string, }; diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/constants.js b/assets/js/atomic/blocks/product-elements/add-to-cart/constants.tsx similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/constants.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/constants.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/frontend.js b/assets/js/atomic/blocks/product-elements/add-to-cart/frontend.ts similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/frontend.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/frontend.ts diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/index.ts similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/index.ts diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/external.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/external.tsx similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/external.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/external.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/group-list/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/group-list/index.tsx similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/group-list/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/group-list/index.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/index.tsx similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/grouped/index.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/index.ts similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/index.ts diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.tsx similarity index 95% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.tsx index ce3670bcd36..8dc707ef27d 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/simple.tsx @@ -13,6 +13,7 @@ import { AddToCartButton, QuantityInput, ProductUnavailable } from '../shared'; * Simple Product Add To Cart Form */ const Simple = () => { + // @todo Add types for `useAddToCartFormContext` const { product, quantity, diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.tsx similarity index 96% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.tsx index 4cc5e9e16fd..8aeb00f67ac 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/index.tsx @@ -18,6 +18,7 @@ import VariationAttributes from './variation-attributes'; * Variable Product Add To Cart Form */ const Variable = () => { + // @todo Add types for `useAddToCartFormContext` const { product, quantity, diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/types.ts b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/types.ts new file mode 100644 index 00000000000..0704b3ca06d --- /dev/null +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/types.ts @@ -0,0 +1,17 @@ +/** + * External dependencies + */ +import { Dictionary } from '@woocommerce/types'; + +export type AttributesMap = Record< + string, + { id: number; attributes: Dictionary } +>; + +export interface VariationParam { + id: number; + variation: { + attribute: string; + value: string; + }[]; +} diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.tsx similarity index 83% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.tsx index 6482dde7e43..0a0a48a629e 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-picker.tsx @@ -3,6 +3,8 @@ */ import { useState, useEffect, useMemo } from '@wordpress/element'; import { useShallowEqual } from '@woocommerce/base-hooks'; +import type { SelectControl } from '@wordpress/components'; +import { Dictionary, ProductResponseAttributeItem } from '@woocommerce/types'; /** * Internal dependencies @@ -13,21 +15,27 @@ import { getActiveSelectControlOptions, getDefaultAttributes, } from './utils'; +import { AttributesMap, VariationParam } from '../types'; + +interface Props { + attributes: Record< string, ProductResponseAttributeItem >; + setRequestParams: ( param: VariationParam ) => void; + variationAttributes: AttributesMap; +} /** * AttributePicker component. - * - * @param {*} props Component props. */ const AttributePicker = ( { attributes, variationAttributes, setRequestParams, -} ) => { +}: Props ) => { const currentAttributes = useShallowEqual( attributes ); const currentVariationAttributes = useShallowEqual( variationAttributes ); const [ variationId, setVariationId ] = useState( 0 ); - const [ selectedAttributes, setSelectedAttributes ] = useState( {} ); + const [ selectedAttributes, setSelectedAttributes ] = + useState< Dictionary >( {} ); const [ hasSetDefaults, setHasSetDefaults ] = useState( false ); // Get options for each attribute picker. @@ -99,7 +107,11 @@ const AttributePicker = ( { { setSelectedAttributes( { diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.tsx similarity index 90% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.tsx index 5bbf0fb89e7..52d419bae36 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.tsx @@ -4,12 +4,18 @@ import { __ } from '@wordpress/i18n'; import { decodeEntities } from '@wordpress/html-entities'; import { SelectControl } from 'wordpress-components'; +import type { SelectControl as SelectControlType } from '@wordpress/components'; import { useEffect } from 'react'; import classnames from 'classnames'; import { ValidationInputError } from '@woocommerce/blocks-checkout'; import { VALIDATION_STORE_KEY } from '@woocommerce/block-data'; import { useDispatch, useSelect } from '@wordpress/data'; +interface Props extends SelectControlType.Props< string > { + attributeName: string; + errorMessage?: string; +} + // Default option for select boxes. const selectAnOption = { value: '', @@ -18,19 +24,17 @@ const selectAnOption = { /** * VariationAttributeSelect component. - * - * @param {*} props Component props. */ const AttributeSelectControl = ( { attributeName, options = [], value = '', - onChange = () => {}, + onChange = () => void 0, errorMessage = __( 'Please select a value.', 'woo-gutenberg-products-block' ), -} ) => { +}: Props ) => { const errorId = attributeName; const { setValidationErrors, clearValidationError } = diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.tsx similarity index 66% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.tsx index 18e0b5eb4df..a83497dacc2 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/index.tsx @@ -1,3 +1,8 @@ +/** + * External dependencies + */ +import { ProductResponseItem } from '@woocommerce/types'; + /** * Internal dependencies */ @@ -5,19 +10,20 @@ import './style.scss'; import AttributePicker from './attribute-picker'; import { getAttributes, getVariationAttributes } from './utils'; +interface Props { + dispatchers: { setRequestParams: () => void }; + product: ProductResponseItem; +} + /** * VariationAttributes component. - * - * @param {Object} props Incoming props - * @param {Object} props.product Product - * @param {Object} props.dispatchers An object where values are dispatching functions. */ -const VariationAttributes = ( { product, dispatchers } ) => { +const VariationAttributes = ( { dispatchers, product }: Props ) => { const attributes = getAttributes( product.attributes ); const variationAttributes = getVariationAttributes( product.variations ); if ( Object.keys( attributes ).length === 0 || - variationAttributes.length === 0 + Object.keys( variationAttributes ).length === 0 ) { return null; } diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.ts similarity index 95% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.ts index cfc4490dbc8..d859338da97 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/test/index.ts @@ -1,3 +1,8 @@ +/** + * External dependencies + */ +import { ProductResponseAttributeItem } from '@woocommerce/types'; + /** * Internal dependencies */ @@ -10,7 +15,7 @@ import { getDefaultAttributes, } from '../utils'; -const rawAttributeData = [ +const rawAttributeData: ProductResponseAttributeItem[] = [ { id: 1, name: 'Color', @@ -40,7 +45,7 @@ const rawAttributeData = [ { id: 0, name: 'Logo', - taxonomy: null, + taxonomy: 'pa_logo', has_variations: true, terms: [ { @@ -60,7 +65,7 @@ const rawAttributeData = [ { id: 0, name: 'Non-variable attribute', - taxonomy: null, + taxonomy: 'pa_non-variable-attribute', has_variations: false, terms: [ { @@ -227,7 +232,7 @@ describe( 'Testing utils', () => { Logo: { id: 0, name: 'Logo', - taxonomy: null, + taxonomy: 'pa_logo', has_variations: true, terms: [ { @@ -471,8 +476,11 @@ describe( 'Testing utils', () => { } ); it( 'should return an empty object if given unexpected values', () => { + // @ts-expect-error Expected TS Error as we are checking how the function does with *unexpected values*. expect( getDefaultAttributes( [] ) ).toStrictEqual( {} ); + // @ts-expect-error Ditto above. expect( getDefaultAttributes( null ) ).toStrictEqual( {} ); + // @ts-expect-error Ditto above. expect( getDefaultAttributes( undefined ) ).toStrictEqual( {} ); } ); } ); diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.js b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.ts similarity index 62% rename from assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.ts index 6914d664612..15b452ff594 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/utils.ts @@ -3,14 +3,25 @@ */ import { keyBy } from 'lodash'; import { decodeEntities } from '@wordpress/html-entities'; -import { isObject } from '@woocommerce/types'; +import { + Dictionary, + isObject, + ProductResponseAttributeItem, + ProductResponseTermItem, + ProductResponseVariationsItem, +} from '@woocommerce/types'; + +/** + * Internal dependencies + */ +import { AttributesMap } from '../types'; /** * Key an array of attributes by name, - * - * @param {Object} attributes Attributes array. */ -export const getAttributes = ( attributes ) => { +export const getAttributes = ( + attributes?: ProductResponseAttributeItem[] | null +) => { return attributes ? keyBy( Object.values( attributes ).filter( @@ -26,15 +37,18 @@ export const getAttributes = ( attributes ) => { * * Note, each item is keyed by the variation ID with an id: prefix. This is to prevent the object * being reordered when iterated. - * - * @param {Object} variations List of Variation objects and attributes keyed by variation ID. */ -export const getVariationAttributes = ( variations ) => { +export const getVariationAttributes = ( + /** + * List of Variation objects and attributes keyed by variation ID. + */ + variations?: ProductResponseVariationsItem[] | null +) => { if ( ! variations ) { return {}; } - const attributesMap = {}; + const attributesMap: AttributesMap = {}; variations.forEach( ( { id, attributes } ) => { attributesMap[ `id:${ id }` ] = { @@ -42,7 +56,7 @@ export const getVariationAttributes = ( variations ) => { attributes: attributes.reduce( ( acc, { name, value } ) => { acc[ name ] = value; return acc; - }, {} ), + }, {} as Dictionary ), }; } ); @@ -55,20 +69,28 @@ export const getVariationAttributes = ( variations ) => { * Allows an attribute to be excluded by name. This is used to filter displayed options for * individual attribute selects. * - * @param {Object} attributes List of attribute names and terms. - * @param {Object} variationAttributes Attributes for each variation keyed by variation ID. - * @param {Object} selectedAttributes Attribute Name Value pairs of current selections by the user. - * @return {Array} List of matching variation IDs. + * @return List of matching variation IDs. */ export const getVariationsMatchingSelectedAttributes = ( - attributes, - variationAttributes, - selectedAttributes + /** + * List of attribute names and terms. + * + * As returned from {@link getAttributes()}. + */ + attributes: Record< string, ProductResponseAttributeItem >, + /** + * Attributes for each variation keyed by variation ID. + * + * As returned from {@link getVariationAttributes()}. + */ + variationAttributes: AttributesMap, + /** + * Attribute Name Value pairs of current selections by the user. + */ + selectedAttributes: Record< string, string | null > ) => { const variationIds = Object.values( variationAttributes ).map( - ( { id: variationId } ) => { - return variationId; - } + ( { id } ) => id ); // If nothing is selected yet, just return all variations. @@ -105,15 +127,25 @@ export const getVariationsMatchingSelectedAttributes = ( /** * Given a list of variations and a list of attribute values, returns the first matched variation ID. * - * @param {Object} attributes List of attribute names and terms. - * @param {Object} variationAttributes Attributes for each variation keyed by variation ID. - * @param {Object} selectedAttributes Attribute Name Value pairs of current selections by the user. - * @return {number} Variation ID. + * @return Variation ID. */ export const getVariationMatchingSelectedAttributes = ( - attributes, - variationAttributes, - selectedAttributes + /** + * List of attribute names and terms. + * + * As returned from {@link getAttributes()}. + */ + attributes: Record< string, ProductResponseAttributeItem >, + /** + * Attributes for each variation keyed by variation ID. + * + * As returned from {@link getVariationAttributes()}. + */ + variationAttributes: AttributesMap, + /** + * Attribute Name Value pairs of current selections by the user. + */ + selectedAttributes: Dictionary ) => { const matchingVariationIds = getVariationsMatchingSelectedAttributes( attributes, @@ -127,13 +159,18 @@ export const getVariationMatchingSelectedAttributes = ( * Given a list of terms, filter them and return valid options for the select boxes. * * @see getActiveSelectControlOptions - * @param {Object} attributeTerms List of attribute term objects. - * @param {?Array} validAttributeTerms Valid values if selections have been made already. - * @return {Array} Value/Label pairs of select box options. + * + * @return Value/Label pairs of select box options. */ const getValidSelectControlOptions = ( - attributeTerms, - validAttributeTerms = null + /** + * List of attribute term objects. + */ + attributeTerms: ProductResponseTermItem[], + /** + * Valid values if selections have been made already. + */ + validAttributeTerms: Array< string | null > | null = null ) => { return Object.values( attributeTerms ) .map( ( { name, slug } ) => { @@ -156,17 +193,30 @@ const getValidSelectControlOptions = ( * Given a list of terms, filter them and return active options for the select boxes. This factors in * which options should be hidden due to current selections. * - * @param {Object} attributes List of attribute names and terms. - * @param {Object} variationAttributes Attributes for each variation keyed by variation ID. - * @param {Object} selectedAttributes Attribute Name Value pairs of current selections by the user. - * @return {Object} Select box options. + * @return Select box options. */ export const getActiveSelectControlOptions = ( - attributes, - variationAttributes, - selectedAttributes + /** + * List of attribute names and terms. + * + * As returned from {@link getAttributes()}. + */ + attributes: Record< string, ProductResponseAttributeItem >, + /** + * Attributes for each variation keyed by variation ID. + * + * As returned from {@link getVariationAttributes()}. + */ + variationAttributes: AttributesMap, + /** + * Attribute Name Value pairs of current selections by the user. + */ + selectedAttributes: Dictionary ) => { - const options = {}; + const options: Record< + string, + Array< { label: string; value: string } | null > + > = {}; const attributeNames = Object.keys( attributes ); const hasSelectedAttributes = Object.values( selectedAttributes ).filter( Boolean ).length > 0; @@ -211,30 +261,35 @@ export const getActiveSelectControlOptions = ( /** * Return the default values of the given attributes in a format ready to be set in state. * - * @param {Object} attributes List of attribute names and terms. - * @return {Object} Default attributes. + * @return Default attributes. */ -export const getDefaultAttributes = ( attributes = {} ) => { +export const getDefaultAttributes = ( + /** + * List of attribute names and terms. + * + * As returned from {@link getAttributes()}. + */ + attributes: Record< string, ProductResponseAttributeItem > +) => { if ( ! isObject( attributes ) ) { return {}; } const attributeNames = Object.keys( attributes ); - const defaultsToSet = {}; if ( attributeNames.length === 0 ) { - return defaultsToSet; + return {}; } - attributeNames.forEach( ( attributeName ) => { - const currentAttribute = attributes[ attributeName ]; - const defaultValue = currentAttribute.terms.filter( - ( term ) => term.default - ); - if ( defaultValue.length > 0 ) { - defaultsToSet[ currentAttribute.name ] = defaultValue[ 0 ]?.slug; + const attributesEntries = Object.values( attributes ); + + return attributesEntries.reduce( ( acc, curr ) => { + const defaultValues = curr.terms.filter( ( term ) => term.default ); + + if ( defaultValues.length > 0 ) { + acc[ curr.name ] = defaultValues[ 0 ]?.slug; } - } ); - return defaultsToSet; + return acc; + }, {} as Dictionary ); }; diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.js b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.tsx similarity index 77% rename from assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.tsx index 27c4aa24aea..d36e7da5f2d 100644 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.js +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/add-to-cart-button.tsx @@ -2,7 +2,7 @@ * External dependencies */ import { __, _n, sprintf } from '@wordpress/i18n'; -import Button from '@woocommerce/base-components/button'; +import Button, { ButtonProps } from '@woocommerce/base-components/button'; import { Icon, check } from '@wordpress/icons'; import { useState, useEffect } from '@wordpress/element'; import { useAddToCartFormContext } from '@woocommerce/base-context'; @@ -12,10 +12,84 @@ import { } from '@woocommerce/base-context/hooks'; import { useInnerBlockLayoutContext } from '@woocommerce/shared-context'; +type LinkProps = Pick< ButtonProps, 'className' | 'href' | 'onClick' | 'text' >; + +interface ButtonComponentProps + extends Pick< ButtonProps, 'className' | 'onClick' > { + /** + * Whether the button is disabled or not. + */ + isDisabled: boolean; + /** + * Whether processing is done. + */ + isDone: boolean; + /** + * Whether processing action is occurring. + */ + isProcessing: ButtonProps[ 'showSpinner' ]; + /** + * Quantity of said item currently in the cart. + */ + quantityInCart: number; +} + +/** + * Button component for non-purchasable products. + */ +const LinkComponent = ( { className, href, text, onClick }: LinkProps ) => { + return ( + + ); +}; + +/** + * Button for purchasable products. + */ +const ButtonComponent = ( { + className, + quantityInCart, + isProcessing, + isDisabled, + isDone, + onClick, +}: ButtonComponentProps ) => { + return ( + + ); +}; + /** * Add to Cart Form Button Component. */ const AddToCartButton = () => { + // @todo Add types for `useAddToCartFormContext` const { showFormElements, productIsPurchasable, @@ -104,69 +178,4 @@ const AddToCartButton = () => { ); }; -/** - * Button component for non-purchasable products. - * - * @param {Object} props Incoming props. - * @param {string} props.className Css classnames. - * @param {string} props.href Link for button. - * @param {string} props.text Text content for button. - * @param {function():any} props.onClick Callback to execute when button is clicked. - */ -const LinkComponent = ( { className, href, text, onClick } ) => { - return ( - - ); -}; - -/** - * Button for purchasable products. - * - * @param {Object} props Incoming props for component - * @param {string} props.className Incoming css class name. - * @param {number} props.quantityInCart Quantity of item in cart. - * @param {boolean} props.isProcessing Whether processing action is occurring. - * @param {boolean} props.isDisabled Whether the button is disabled or not. - * @param {boolean} props.isDone Whether processing is done. - * @param {function():any} props.onClick Callback to execute when button is clicked. - */ -const ButtonComponent = ( { - className, - quantityInCart, - isProcessing, - isDisabled, - isDone, - onClick, -} ) => { - return ( - - ); -}; - export default AddToCartButton; diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/index.js b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/index.ts similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/shared/index.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/shared/index.ts diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/product-unavailable.js b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/product-unavailable.tsx similarity index 100% rename from assets/js/atomic/blocks/product-elements/add-to-cart/shared/product-unavailable.js rename to assets/js/atomic/blocks/product-elements/add-to-cart/shared/product-unavailable.tsx diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.js b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.js deleted file mode 100644 index c846567ea54..00000000000 --- a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * External dependencies - */ -import { useDebouncedCallback } from 'use-debounce'; - -/** - * Quantity Input Component. - * - * @param {Object} props Incoming props for component - * @param {boolean} props.disabled Whether input is disabled or not. - * @param {number} props.min Minimum value for input. - * @param {number} props.max Maximum value for input. - * @param {number} props.step Step attribute for input. - * @param {number} props.value Value for input. - * @param {function():any} props.onChange Function to call on input change event. - */ -const QuantityInput = ( { disabled, min, max, step = 1, value, onChange } ) => { - const hasMaximum = typeof max !== 'undefined'; - - /** - * The goal of this function is to normalize what was inserted, - * but after the customer has stopped typing. - * - * It's important to wait before normalizing or we end up with - * a frustrating experience, for example, if the minimum is 2 and - * the customer is trying to type "10", premature normalizing would - * always kick in at "1" and turn that into 2. - * - * Copied from - */ - const normalizeQuantity = useDebouncedCallback( ( initialValue ) => { - // We copy the starting value. - let newValue = initialValue; - - // We check if we have a maximum value, and select the lowest between what was inserted and the maximum. - if ( hasMaximum ) { - newValue = Math.min( - newValue, - // the maximum possible value in step increments. - Math.floor( max / step ) * step - ); - } - - // Select the biggest between what's inserted, the the minimum value in steps. - newValue = Math.max( newValue, Math.ceil( min / step ) * step ); - - // We round off the value to our steps. - newValue = Math.floor( newValue / step ) * step; - - // Only commit if the value has changed - if ( newValue !== initialValue ) { - onChange( newValue ); - } - }, 300 ); - - return ( - { - onChange( e.target.value ); - normalizeQuantity( e.target.value ); - } } - /> - ); -}; - -export default QuantityInput; diff --git a/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.tsx b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.tsx new file mode 100644 index 00000000000..a9c1e257ec4 --- /dev/null +++ b/assets/js/atomic/blocks/product-elements/add-to-cart/shared/quantity-input.tsx @@ -0,0 +1,85 @@ +/** + * External dependencies + */ +import { useDebouncedCallback } from 'use-debounce'; + +type JSXInputProps = JSX.IntrinsicElements[ 'input' ]; + +interface QuantityInputProps extends Omit< JSXInputProps, 'onChange' > { + max: number; + min: number; + onChange: ( val: number | string ) => void; + step: number; +} + +/** + * Quantity Input Component. + */ +const QuantityInput = ( { + disabled, + min, + max, + step = 1, + value, + onChange, +}: QuantityInputProps ) => { + const hasMaximum = typeof max !== 'undefined'; + + /** + * The goal of this function is to normalize what was inserted, + * but after the customer has stopped typing. + * + * It's important to wait before normalizing or we end up with + * a frustrating experience, for example, if the minimum is 2 and + * the customer is trying to type "10", premature normalizing would + * always kick in at "1" and turn that into 2. + * + * Copied from + */ + const normalizeQuantity = useDebouncedCallback< ( val: number ) => void >( + ( initialValue ) => { + // We copy the starting value. + let newValue = initialValue; + + // We check if we have a maximum value, and select the lowest between what was inserted and the maximum. + if ( hasMaximum ) { + newValue = Math.min( + newValue, + // the maximum possible value in step increments. + Math.floor( max / step ) * step + ); + } + + // Select the biggest between what's inserted, the the minimum value in steps. + newValue = Math.max( newValue, Math.ceil( min / step ) * step ); + + // We round off the value to our steps. + newValue = Math.floor( newValue / step ) * step; + + // Only commit if the value has changed + if ( newValue !== initialValue ) { + onChange?.( newValue ); + } + }, + 300 + ); + + return ( + { + onChange?.( e.target.value ); + normalizeQuantity( Number( e.target.value ) ); + } } + /> + ); +}; + +export default QuantityInput; diff --git a/assets/js/base/components/button/index.tsx b/assets/js/base/components/button/index.tsx index 223f44ae363..4caf1498e58 100644 --- a/assets/js/base/components/button/index.tsx +++ b/assets/js/base/components/button/index.tsx @@ -2,7 +2,7 @@ * External dependencies */ import { Button as WPButton } from 'wordpress-components'; -import type { ReactNode } from 'react'; +import type { Button as WPButtonType } from '@wordpress/components'; import classNames from 'classnames'; import Spinner from '@woocommerce/base-components/spinner'; @@ -11,39 +11,21 @@ import Spinner from '@woocommerce/base-components/spinner'; */ import './style.scss'; -export interface ButtonProps extends WPButton.ButtonProps { - /** - * Component wrapper classname - * - * @default 'wc-block-components-button' - */ - className?: string; +export interface ButtonProps + extends Omit< WPButtonType.ButtonProps, 'variant' > { /** * Show spinner * * @default false */ - showSpinner?: boolean; - /** - * Button content - */ - children?: ReactNode; - /** - * Button state - */ - disabled?: boolean; - /** - * Event handler triggered when the button is clicked - */ - onClick?: ( e: React.MouseEvent< HTMLButtonElement, MouseEvent > ) => void; - /** - * Button type - */ - type?: 'button' | 'input' | 'submit'; + showSpinner?: boolean | undefined; /** * Button variant */ variant?: 'text' | 'contained' | 'outlined'; +} + +export interface AnchorProps extends Omit< ButtonProps, 'href' > { /** * Button href */ diff --git a/assets/js/types/type-defs/product-response.ts b/assets/js/types/type-defs/product-response.ts index f875cf42eee..f19d0e1df7b 100644 --- a/assets/js/types/type-defs/product-response.ts +++ b/assets/js/types/type-defs/product-response.ts @@ -31,6 +31,7 @@ export interface ProductResponseImageItem { } export interface ProductResponseTermItem { + default?: boolean; id: number; name: string; slug: string; diff --git a/assets/js/types/type-defs/utils.ts b/assets/js/types/type-defs/utils.ts index f23dd1e23c2..cc698db9fcf 100644 --- a/assets/js/types/type-defs/utils.ts +++ b/assets/js/types/type-defs/utils.ts @@ -1,3 +1,5 @@ +export type Dictionary = Record< string, string >; + /** * Allow for the entire object to be passed, with only some properties * required. diff --git a/package-lock.json b/package-lock.json index 85743d3f825..3d098dba675 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,6 +71,7 @@ "@types/react-dom": "18.0.9", "@types/wordpress__block-editor": "6.0.6", "@types/wordpress__blocks": "11.0.7", + "@types/wordpress__components": "^23.0.0", "@types/wordpress__core-data": "^2.4.5", "@types/wordpress__data": "^6.0.1", "@types/wordpress__data-controls": "2.2.0", @@ -11329,20 +11330,175 @@ } }, "node_modules/@types/wordpress__components": { - "version": "19.3.2", + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/@types/wordpress__components/-/wordpress__components-23.0.0.tgz", + "integrity": "sha512-60S432ZMp9mIv74n+J91fZPFphnSZa6r8r1/QuoNeUHXIFPw3c28hL0kDl3i0GYvYTGlTkbvhGgUJvJA0GMW6g==", "dev": true, - "license": "MIT", "dependencies": { "@types/react": "*", "@types/tinycolor2": "*", "@types/wordpress__components": "*", "@types/wordpress__notices": "*", "@types/wordpress__rich-text": "*", - "@wordpress/element": "^4.1.0", + "@wordpress/element": "^5.0.0", "downshift": "^6.0.15", "re-resizable": "^6.4.0" } }, + "node_modules/@types/wordpress__components/node_modules/@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/wordpress__components/node_modules/@wordpress/element": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.0.0.tgz", + "integrity": "sha512-u1DhVIdb6VEe8wzxKCrLfRWbeFLrlhYTFSOY6yrtl2z9vr9bCdlLp9aAppTxLNUs8cFcdoCEMpakVRYFyfZwTQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.0", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", + "@wordpress/escape-html": "^2.23.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/wordpress__components/node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@types/wordpress__components/node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "node_modules/@types/wordpress__components/node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@types/wordpress__components/node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@types/wordpress__components/node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/wordpress__components/node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/@types/wordpress__components/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/@types/wordpress__components/node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/@types/wordpress__components/node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@types/wordpress__components/node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/@types/wordpress__components/node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/@types/wordpress__core-data": { "version": "2.4.5", "dev": true, @@ -15470,9 +15626,9 @@ } }, "node_modules/@wordpress/escape-html": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.22.0.tgz", - "integrity": "sha512-GUo6VLugIZxen1rdYuotvz6Vqa+5fNtVelNjXLwDqRu0iY2RXeoTux9V5bZWXPnGb54ryqfYmR4gH6F8xZhWzQ==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.23.0.tgz", + "integrity": "sha512-QmMGJVEoVu3+s46Ya7saYZI8D1jPOKN18eFJX21y59/99tAVvmcWWz0k0uTO5bciDQ7R6ACm9AJS6RiZycODkg==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -57842,7 +57998,9 @@ } }, "@types/wordpress__components": { - "version": "19.3.2", + "version": "23.0.0", + "resolved": "https://registry.npmjs.org/@types/wordpress__components/-/wordpress__components-23.0.0.tgz", + "integrity": "sha512-60S432ZMp9mIv74n+J91fZPFphnSZa6r8r1/QuoNeUHXIFPw3c28hL0kDl3i0GYvYTGlTkbvhGgUJvJA0GMW6g==", "dev": true, "requires": { "@types/react": "*", @@ -57850,9 +58008,156 @@ "@types/wordpress__components": "*", "@types/wordpress__notices": "*", "@types/wordpress__rich-text": "*", - "@wordpress/element": "^4.1.0", + "@wordpress/element": "^5.0.0", "downshift": "^6.0.15", "re-resizable": "^6.4.0" + }, + "dependencies": { + "@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@wordpress/element": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.0.0.tgz", + "integrity": "sha512-u1DhVIdb6VEe8wzxKCrLfRWbeFLrlhYTFSOY6yrtl2z9vr9bCdlLp9aAppTxLNUs8cFcdoCEMpakVRYFyfZwTQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.16.0", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", + "@wordpress/escape-html": "^2.23.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, + "change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + } } }, "@types/wordpress__core-data": { @@ -60777,9 +61082,9 @@ } }, "@wordpress/escape-html": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.22.0.tgz", - "integrity": "sha512-GUo6VLugIZxen1rdYuotvz6Vqa+5fNtVelNjXLwDqRu0iY2RXeoTux9V5bZWXPnGb54ryqfYmR4gH6F8xZhWzQ==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.23.0.tgz", + "integrity": "sha512-QmMGJVEoVu3+s46Ya7saYZI8D1jPOKN18eFJX21y59/99tAVvmcWWz0k0uTO5bciDQ7R6ACm9AJS6RiZycODkg==", "requires": { "@babel/runtime": "^7.16.0" } diff --git a/package.json b/package.json index b469a1ac539..5c268ed0c69 100644 --- a/package.json +++ b/package.json @@ -123,6 +123,7 @@ "@types/react-dom": "18.0.9", "@types/wordpress__block-editor": "6.0.6", "@types/wordpress__blocks": "11.0.7", + "@types/wordpress__components": "^23.0.0", "@types/wordpress__core-data": "^2.4.5", "@types/wordpress__data": "^6.0.1", "@types/wordpress__data-controls": "2.2.0", From 34146c3c389a7cc523af6df20737e90f7a28f822 Mon Sep 17 00:00:00 2001 From: Thomas Roberts <5656702+opr@users.noreply.github.com> Date: Mon, 9 Jan 2023 23:01:49 +0000 Subject: [PATCH 04/19] Add thunk support for < WP 5.9 (#8136) --- assets/js/data/cart/index.ts | 1 + assets/js/data/checkout/index.ts | 1 + assets/js/data/payment/index.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/assets/js/data/cart/index.ts b/assets/js/data/cart/index.ts index 47ba38793ae..5ddd7de7793 100644 --- a/assets/js/data/cart/index.ts +++ b/assets/js/data/cart/index.ts @@ -29,6 +29,7 @@ const registeredStore = registerStore< State >( STORE_KEY, { controls: dataControls, selectors, resolvers, + __experimentalUseThunks: true, } ); registeredStore.subscribe( pushChanges ); diff --git a/assets/js/data/checkout/index.ts b/assets/js/data/checkout/index.ts index cd26412a047..267bcd78b94 100644 --- a/assets/js/data/checkout/index.ts +++ b/assets/js/data/checkout/index.ts @@ -16,6 +16,7 @@ export const config = { reducer, selectors, actions, + __experimentalUseThunks: true, }; const store = createReduxStore( STORE_KEY, config ); diff --git a/assets/js/data/payment/index.ts b/assets/js/data/payment/index.ts index 9d7820d15b4..2e3abf8d45a 100644 --- a/assets/js/data/payment/index.ts +++ b/assets/js/data/payment/index.ts @@ -20,6 +20,7 @@ export const config = { actions, // eslint-disable-next-line @typescript-eslint/no-explicit-any controls: { ...dataControls, ...sharedControls } as any, + __experimentalUseThunks: true, }; const store = createReduxStore( STORE_KEY, config ); From 37ff92c41b740557ab96ef30cacfba3dc5b27a82 Mon Sep 17 00:00:00 2001 From: Tung Du Date: Tue, 10 Jan 2023 17:14:43 +0700 Subject: [PATCH 05/19] Fix: unable to customize All Products block (#8140) --- .../js/blocks/cart-checkout-shared/sidebar-notices/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/blocks/cart-checkout-shared/sidebar-notices/index.tsx b/assets/js/blocks/cart-checkout-shared/sidebar-notices/index.tsx index 391cb424b1f..1fb2e516e07 100644 --- a/assets/js/blocks/cart-checkout-shared/sidebar-notices/index.tsx +++ b/assets/js/blocks/cart-checkout-shared/sidebar-notices/index.tsx @@ -36,7 +36,7 @@ const withSidebarNotices = createHigherOrderComponent( // Show sidebar notices only when a WooCommerce block is selected. if ( ! blockName.startsWith( 'woocommerce/' ) || ! isBlockSelected ) { - return ; + return ; } const [ @@ -115,7 +115,7 @@ const withSidebarNotices = createHigherOrderComponent( ) } - + ); }, From f55d8e89da50eebac0b954e5ce21c7a96f685ac9 Mon Sep 17 00:00:00 2001 From: Patricia Hillebrandt Date: Tue, 10 Jan 2023 15:17:51 +0100 Subject: [PATCH 06/19] useCollection hook: Do not bail early if isEditor (#8079) --- .../hooks/collections/use-collection-data.ts | 1 - .../context/hooks/collections/use-collection.ts | 14 +------------- assets/js/blocks/attribute-filter/block.tsx | 1 - 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/assets/js/base/context/hooks/collections/use-collection-data.ts b/assets/js/base/context/hooks/collections/use-collection-data.ts index a6d9ddc8ff2..74ff53eebcc 100644 --- a/assets/js/base/context/hooks/collections/use-collection-data.ts +++ b/assets/js/base/context/hooks/collections/use-collection-data.ts @@ -171,6 +171,5 @@ export const useCollectionData = ( { ...collectionDataQueryVars, }, shouldSelect: debouncedShouldSelect, - isEditor, } ); }; diff --git a/assets/js/base/context/hooks/collections/use-collection.ts b/assets/js/base/context/hooks/collections/use-collection.ts index 172fd11963f..656de8a6a31 100644 --- a/assets/js/base/context/hooks/collections/use-collection.ts +++ b/assets/js/base/context/hooks/collections/use-collection.ts @@ -5,7 +5,7 @@ import { COLLECTIONS_STORE_KEY as storeKey } from '@woocommerce/block-data'; import { useSelect } from '@wordpress/data'; import { useRef } from '@wordpress/element'; import { useShallowEqual, useThrowError } from '@woocommerce/base-hooks'; -import { isError, isObject } from '@woocommerce/types'; +import { isError } from '@woocommerce/types'; /** * This is a custom hook that is wired up to the `wc/store/collections` data @@ -61,7 +61,6 @@ export const useCollection = ( resourceValues = [], query = {}, shouldSelect = true, - isEditor = false, } = options; if ( ! namespace || ! resourceName ) { throw new Error( @@ -79,17 +78,6 @@ export const useCollection = ( const throwError = useThrowError(); const results = useSelect( ( select ) => { - if ( - isEditor && - isObject( currentResults?.current?.results ) && - Object.keys( currentResults.current.results ).length > 0 - ) { - return { - results: currentResults.current.results, - isLoading: false, - }; - } - if ( ! shouldSelect ) { return null; } diff --git a/assets/js/blocks/attribute-filter/block.tsx b/assets/js/blocks/attribute-filter/block.tsx index 2dcbd2db0d5..6c6ae94e74c 100644 --- a/assets/js/blocks/attribute-filter/block.tsx +++ b/assets/js/blocks/attribute-filter/block.tsx @@ -138,7 +138,6 @@ const AttributeFilterBlock = ( { resourceName: 'products/attributes/terms', resourceValues: [ attributeObject?.id || 0 ], shouldSelect: blockAttributes.attributeId > 0, - isEditor, } ); const filterAvailableTerms = From 3feda779b71c83c8eca5728fd62eb4977a486583 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Jan 2023 16:35:29 +0100 Subject: [PATCH 07/19] Bump @types/react-dom from 18.0.9 to 18.0.10 (#8127) Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.9 to 18.0.10. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) --- updated-dependencies: - dependency-name: "@types/react-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kmanijak --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3d098dba675..9602ad0d20d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,7 @@ "@types/lodash": "4.14.182", "@types/puppeteer": "5.4.6", "@types/react": "17.0.47", - "@types/react-dom": "18.0.9", + "@types/react-dom": "18.0.10", "@types/wordpress__block-editor": "6.0.6", "@types/wordpress__blocks": "11.0.7", "@types/wordpress__components": "^23.0.0", @@ -11094,9 +11094,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", - "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", "dev": true, "dependencies": { "@types/react": "*" @@ -57793,9 +57793,9 @@ } }, "@types/react-dom": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", - "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", "dev": true, "requires": { "@types/react": "*" diff --git a/package.json b/package.json index 5c268ed0c69..0dd47d90442 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,7 @@ "@types/lodash": "4.14.182", "@types/puppeteer": "5.4.6", "@types/react": "17.0.47", - "@types/react-dom": "18.0.9", + "@types/react-dom": "18.0.10", "@types/wordpress__block-editor": "6.0.6", "@types/wordpress__blocks": "11.0.7", "@types/wordpress__components": "^23.0.0", From a88e9c64b9660f6c37fce1c2dd05869dd854aa91 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Jan 2023 17:17:18 +0100 Subject: [PATCH 08/19] Bump @storybook/react from 6.5.13 to 6.5.15 (#8124) Bumps [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/app/react) from 6.5.13 to 6.5.15. - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.15/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v6.5.15/app/react) --- updated-dependencies: - dependency-name: "@storybook/react" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kmanijak --- package-lock.json | 1746 ++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 874 insertions(+), 874 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9602ad0d20d..6b942e6138e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@storybook/addon-storysource": "6.5.9", "@storybook/addons": "6.5.9", "@storybook/client-api": "6.5.14", - "@storybook/react": "6.5.13", + "@storybook/react": "6.5.15", "@testing-library/jest-dom": "5.16.4", "@testing-library/react": "12.1.5", "@testing-library/react-hooks": "7.0.2", @@ -6275,28 +6275,28 @@ } }, "node_modules/@storybook/builder-webpack4": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.13.tgz", - "integrity": "sha512-Agqy3IKPv3Nl8QqdS7PjtqLp+c0BD8+/3A2ki/YfKqVz+F+J34EpbZlh3uU053avm1EoNQHSmhZok3ZlWH6O7A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.15.tgz", + "integrity": "sha512-1ZkMECUUdiYplhlgyUF5fqW3XU7eWNDJbuPUguyDOeidgJ111WZzBcLuKj+SNrzdNNgXwROCWAFybiNnX33YHQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", - "@storybook/addons": "6.5.13", - "@storybook/api": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-api": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/components": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/core-events": "6.5.13", - "@storybook/node-logger": "6.5.13", - "@storybook/preview-web": "6.5.13", - "@storybook/router": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/api": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-api": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/components": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/core-events": "6.5.15", + "@storybook/node-logger": "6.5.15", + "@storybook/preview-web": "6.5.15", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", - "@storybook/theming": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/store": "6.5.15", + "@storybook/theming": "6.5.15", + "@storybook/ui": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/webpack": "^4.41.26", "autoprefixer": "^9.8.6", @@ -6343,18 +6343,18 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -6370,18 +6370,18 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -6403,14 +6403,14 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/channel-postmessage": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.13.tgz", - "integrity": "sha512-R79MBs0mQ7TV8M/a6x/SiTRyvZBidDfMEEthG7Cyo9p35JYiKOhj2535zhW4qlVMESBu95pwKYBibTjASoStPw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.15.tgz", + "integrity": "sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "qs": "^6.10.0", @@ -6422,9 +6422,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -6437,18 +6437,18 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/client-api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.13.tgz", - "integrity": "sha512-uH1mAWbidPiuuTdMUVEiuaNOfrYXm+9QLSP1MMYTKULqEOZI5MSOGkEDqRfVWxbYv/iWBOPTQ+OM9TQ6ecYacg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.15.tgz", + "integrity": "sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/qs": "^6.9.5", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", @@ -6473,9 +6473,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -6487,14 +6487,14 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/components": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.13.tgz", - "integrity": "sha512-6Hhx70JK5pGfKCkqMU4yq/BBH+vRTmzj7tZKfPwba+f8VmTMoOr/2ysTQFRtXryiHB6Z15xBYgfq5x2pIwQzLQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.15.tgz", + "integrity": "sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -6511,9 +6511,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -6538,7 +6538,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -6654,9 +6654,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -6667,9 +6667,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -6684,17 +6684,17 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/preview-web": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.13.tgz", - "integrity": "sha512-GNNYVzw4SmRua3dOc52Ye6Us4iQbq5GKQ56U3iwnzZM3TBdJB+Rft94Fn1/pypHujEHS8hl5Xgp9td6C1lLCow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.15.tgz", + "integrity": "sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", "global": "^4.4.0", @@ -6716,12 +6716,12 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -6737,14 +6737,14 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -6768,12 +6768,12 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -7256,9 +7256,9 @@ } }, "node_modules/@storybook/builder-webpack4/node_modules/terser": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", - "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -7342,13 +7342,13 @@ } }, "node_modules/@storybook/channel-websocket": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.13.tgz", - "integrity": "sha512-kwh667H+tzCiNvs92GNwYOwVXdj9uHZyieRAN5rJtTBJ7XgLzGkpTEU50mWlbc0nDKhgE0qYvzyr5H393Iy5ug==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.15.tgz", + "integrity": "sha512-K85KEgzo5ahzJNJjyUbSNyuRmkeC8glJX2hCg2j9HiJ9rasX53qugkODrKDlWAeheulo3kR13VSuAqIuwVbmbw==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "telejson": "^6.0.8" @@ -7359,9 +7359,9 @@ } }, "node_modules/@storybook/channel-websocket/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -7374,9 +7374,9 @@ } }, "node_modules/@storybook/channel-websocket/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -7693,13 +7693,13 @@ } }, "node_modules/@storybook/core": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.13.tgz", - "integrity": "sha512-kw1lCgbsxzUimGww6t5rmuWJmFPe9kGGyzIqvj4RC4BBcEsP40LEu9XhSfvnb8vTOLIULFZeZpdRFfJs4TYbUw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.15.tgz", + "integrity": "sha512-T9TjLxbb5P/XvLEoj0dnbtexJa0V3pqCifRlIUNkTJO0nU3PdGLMcKMSyIYWjkthAJ9oBrajnodV0UveM/epTg==", "dev": true, "dependencies": { - "@storybook/core-client": "6.5.13", - "@storybook/core-server": "6.5.13" + "@storybook/core-client": "6.5.15", + "@storybook/core-server": "6.5.15" }, "funding": { "type": "opencollective", @@ -7723,21 +7723,21 @@ } }, "node_modules/@storybook/core-client": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.13.tgz", - "integrity": "sha512-YuELbRokTBdqjbx/R4/7O4rou9kvbBIOJjlUkor9hdLLuJ3P0yGianERGNkZFfvcfMBAxU0p52o7QvDldSR3kA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.15.tgz", + "integrity": "sha512-i9t4WONy2MxJwLI1FIp5ck7b52EXyJfALnxUn4O/3GTkw09J0NOKi2DPjefUsi7IB5MzFpDjDH9vw/XiTM+OZw==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channel-websocket": "6.5.13", - "@storybook/client-api": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channel-websocket": "6.5.15", + "@storybook/client-api": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/preview-web": "6.5.13", - "@storybook/store": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/preview-web": "6.5.15", + "@storybook/store": "6.5.15", + "@storybook/ui": "6.5.15", "airbnb-js-shims": "^2.2.1", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", @@ -7765,18 +7765,18 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -7792,18 +7792,18 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -7825,14 +7825,14 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/channel-postmessage": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.13.tgz", - "integrity": "sha512-R79MBs0mQ7TV8M/a6x/SiTRyvZBidDfMEEthG7Cyo9p35JYiKOhj2535zhW4qlVMESBu95pwKYBibTjASoStPw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.15.tgz", + "integrity": "sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "qs": "^6.10.0", @@ -7844,9 +7844,9 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -7859,18 +7859,18 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/client-api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.13.tgz", - "integrity": "sha512-uH1mAWbidPiuuTdMUVEiuaNOfrYXm+9QLSP1MMYTKULqEOZI5MSOGkEDqRfVWxbYv/iWBOPTQ+OM9TQ6ecYacg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.15.tgz", + "integrity": "sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/qs": "^6.9.5", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", @@ -7895,9 +7895,9 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -7909,9 +7909,9 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -7922,17 +7922,17 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/preview-web": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.13.tgz", - "integrity": "sha512-GNNYVzw4SmRua3dOc52Ye6Us4iQbq5GKQ56U3iwnzZM3TBdJB+Rft94Fn1/pypHujEHS8hl5Xgp9td6C1lLCow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.15.tgz", + "integrity": "sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", "global": "^4.4.0", @@ -7954,12 +7954,12 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -7975,14 +7975,14 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -8006,12 +8006,12 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -8139,23 +8139,23 @@ } }, "node_modules/@storybook/core-server": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.13.tgz", - "integrity": "sha512-vs7tu3kAnFwuINio1p87WyqDNlFyZESmeh9s7vvrZVbe/xS/ElqDscr9DT5seW+jbtxufAaHsx+JUTver1dheQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.15.tgz", + "integrity": "sha512-m+pZwHhCjwryeqTptyyKHSbIjnnPGKoRSnkqLTOpKQf8llZMnNQWUFrn4fx6UDKzxFQ2st2+laV8O2QbMs8qwQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-webpack4": "6.5.13", - "@storybook/core-client": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/builder-webpack4": "6.5.15", + "@storybook/core-client": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/csf-tools": "6.5.13", - "@storybook/manager-webpack4": "6.5.13", - "@storybook/node-logger": "6.5.13", + "@storybook/csf-tools": "6.5.15", + "@storybook/manager-webpack4": "6.5.15", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", - "@storybook/telemetry": "6.5.13", + "@storybook/store": "6.5.15", + "@storybook/telemetry": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/node-fetch": "^2.5.7", "@types/pretty-hrtime": "^1.0.0", @@ -8211,18 +8211,18 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -8238,18 +8238,18 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -8271,9 +8271,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -8286,9 +8286,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -8300,9 +8300,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -8327,7 +8327,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -8371,9 +8371,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -8384,9 +8384,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -8401,12 +8401,12 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -8422,14 +8422,14 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -8453,12 +8453,12 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -8520,9 +8520,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.13.tgz", - "integrity": "sha512-63Ev+VmBqzwSwfUzbuXOLKBD5dMTK2zBYLQ9anTVw70FuTikwTsGIbPgb098K0vsxRCgxl7KM7NpivHqtZtdjw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.15.tgz", + "integrity": "sha512-2LwSD7yE/ccXBc58K4vdKw/oJJg6IpC4WD51rBt2mAl5JUCkxhOq7wG/Z8Wy1lZw2LVuKNTmjVou5blGRI/bTg==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -8587,20 +8587,20 @@ } }, "node_modules/@storybook/manager-webpack4": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.13.tgz", - "integrity": "sha512-pURzS5W3XM0F7bCBWzpl7TRsuy+OXFwLXiWLaexuvo0POZe31Ueo2A1R4rx3MT5Iee8O9mYvG2XTmvK9MlLefQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.15.tgz", + "integrity": "sha512-zRvBTMoaFO6MvHDsDLnt3tsFENhpY3k+e/UIPdqbIDMbUPGGQzxJucAM9aS/kbVSO5IVs8IflVxbeeB/uTIIfA==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", "@babel/plugin-transform-template-literals": "^7.12.1", "@babel/preset-react": "^7.12.10", - "@storybook/addons": "6.5.13", - "@storybook/core-client": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/node-logger": "6.5.13", - "@storybook/theming": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/core-client": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/node-logger": "6.5.15", + "@storybook/theming": "6.5.15", + "@storybook/ui": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/webpack": "^4.41.26", "babel-loader": "^8.0.0", @@ -8643,18 +8643,18 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -8670,18 +8670,18 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -8703,9 +8703,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -8718,9 +8718,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -8732,9 +8732,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -8759,7 +8759,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -8803,9 +8803,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -8816,9 +8816,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -8833,12 +8833,12 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -8854,12 +8854,12 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -9023,9 +9023,9 @@ } }, "node_modules/@storybook/manager-webpack4/node_modules/terser": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", - "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -9166,24 +9166,24 @@ } }, "node_modules/@storybook/react": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.13.tgz", - "integrity": "sha512-4gO8qihEkVZ8RNm9iQd7G2iZz4rRAHizJ6T5m58Sn21fxfyg9zAMzhgd0JzXuPXR8lTTj4AvRyPv1Qx7b43smg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.15.tgz", + "integrity": "sha512-iQta2xOs/oK0sw/zpn3g/huvOmvggzi8z2/WholmUmmRiSQRo9lOhRXH0u13T4ja4fEa+u7m58G83xOG6i73Kw==", "dev": true, "dependencies": { "@babel/preset-flow": "^7.12.1", "@babel/preset-react": "^7.12.10", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core": "6.5.13", - "@storybook/core-common": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core": "6.5.15", + "@storybook/core-common": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/docs-tools": "6.5.13", - "@storybook/node-logger": "6.5.13", + "@storybook/docs-tools": "6.5.15", + "@storybook/node-logger": "6.5.15", "@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/estree": "^0.0.51", "@types/node": "^14.14.20 || ^16.0.0", "@types/webpack-env": "^1.16.0", @@ -9247,18 +9247,18 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -9274,18 +9274,18 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -9307,9 +9307,9 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -9322,9 +9322,9 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -9336,9 +9336,9 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -9363,7 +9363,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -9480,9 +9480,9 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -9493,14 +9493,14 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/docs-tools": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.13.tgz", - "integrity": "sha512-hB+hk+895ny4SW84j3X5iV55DHs3bCfTOp7cDdcZJdQrlm0wuDb4A6d4ffNC7ZLh9VkUjU6ST4VEV5Bb0Cptow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.15.tgz", + "integrity": "sha512-8w78NFOtlJGuIa9vPPsr87J9iQUGmLFh7CrMS2+t9LxW+0oH5MZ8QqPQUHNuTuKsYN3r+QAmmi2pj0auZmCoKA==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "core-js": "^3.8.2", "doctrine": "^3.0.0", "lodash": "^4.17.21", @@ -9512,9 +9512,9 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -9547,12 +9547,12 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -9568,14 +9568,14 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -9599,12 +9599,12 @@ } }, "node_modules/@storybook/react/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -9916,13 +9916,13 @@ } }, "node_modules/@storybook/telemetry": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.13.tgz", - "integrity": "sha512-PFJEfGbunmfFWabD3rdCF8EHH+45578OHOkMPpXJjqXl94vPQxUH2XTVKQgEQJbYrgX0Vx9Z4tSkdMHuzYDbWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.15.tgz", + "integrity": "sha512-WHMRG6xMkEGscn1q4SotwzV8hxM1g3zHyXPN77iosY5zpOIn/qAzvkmW28V1DPH9jPWMZMizBgG1TIQvUpduXg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", - "@storybook/core-common": "6.5.13", + "@storybook/client-logger": "6.5.15", + "@storybook/core-common": "6.5.15", "chalk": "^4.1.0", "core-js": "^3.8.2", "detect-package-manager": "^2.0.1", @@ -9940,9 +9940,9 @@ } }, "node_modules/@storybook/telemetry/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -9954,9 +9954,9 @@ } }, "node_modules/@storybook/telemetry/node_modules/@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", @@ -9981,7 +9981,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -10025,9 +10025,9 @@ } }, "node_modules/@storybook/telemetry/node_modules/@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -10085,20 +10085,20 @@ } }, "node_modules/@storybook/ui": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.13.tgz", - "integrity": "sha512-MklJuSg4Bc+MWjwhZVmZhJaucaeEBUMMa2V9oRWbIgZOdRHqdW72S2vCbaarDAYfBQdnfaoq1GkSQiw+EnWOzA==", - "dev": true, - "dependencies": { - "@storybook/addons": "6.5.13", - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/components": "6.5.13", - "@storybook/core-events": "6.5.13", - "@storybook/router": "6.5.13", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.15.tgz", + "integrity": "sha512-OO+TWZmI8ebWA1C3JBKNvbUbsgvt4GppqsGlkf5CTBZrT/MzmMlYiooLAtlY1ZPcMtTd5ynLxvroHWBEnMOk2A==", + "dev": true, + "dependencies": { + "@storybook/addons": "6.5.15", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/components": "6.5.15", + "@storybook/core-events": "6.5.15", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -10115,18 +10115,18 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "dependencies": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -10142,18 +10142,18 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "dependencies": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -10175,9 +10175,9 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -10190,9 +10190,9 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "dependencies": { "core-js": "^3.8.2", @@ -10204,14 +10204,14 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/components": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.13.tgz", - "integrity": "sha512-6Hhx70JK5pGfKCkqMU4yq/BBH+vRTmzj7tZKfPwba+f8VmTMoOr/2ysTQFRtXryiHB6Z15xBYgfq5x2pIwQzLQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.15.tgz", + "integrity": "sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -10228,9 +10228,9 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "dependencies": { "core-js": "^3.8.2" @@ -10241,12 +10241,12 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -10262,12 +10262,12 @@ } }, "node_modules/@storybook/ui/node_modules/@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "dependencies": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -18175,9 +18175,9 @@ } }, "node_modules/address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "dev": true, "engines": { "node": ">= 10.0.0" @@ -24983,9 +24983,9 @@ } }, "node_modules/es6-shim": { - "version": "0.35.6", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.6.tgz", - "integrity": "sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==", + "version": "0.35.7", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.7.tgz", + "integrity": "sha512-baZkUfTDSx7X69+NA8imbvGrsPfqH0MX7ADdIDjqwsI8lkTgLIiD2QWrUCSGsUQ0YMnSCA/4pNgSyXdnLHWf3A==", "dev": true }, "node_modules/escalade": { @@ -54336,28 +54336,28 @@ } }, "@storybook/builder-webpack4": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.13.tgz", - "integrity": "sha512-Agqy3IKPv3Nl8QqdS7PjtqLp+c0BD8+/3A2ki/YfKqVz+F+J34EpbZlh3uU053avm1EoNQHSmhZok3ZlWH6O7A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.15.tgz", + "integrity": "sha512-1ZkMECUUdiYplhlgyUF5fqW3XU7eWNDJbuPUguyDOeidgJ111WZzBcLuKj+SNrzdNNgXwROCWAFybiNnX33YHQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", - "@storybook/addons": "6.5.13", - "@storybook/api": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-api": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/components": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/core-events": "6.5.13", - "@storybook/node-logger": "6.5.13", - "@storybook/preview-web": "6.5.13", - "@storybook/router": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/api": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-api": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/components": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/core-events": "6.5.15", + "@storybook/node-logger": "6.5.15", + "@storybook/preview-web": "6.5.15", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", - "@storybook/theming": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/store": "6.5.15", + "@storybook/theming": "6.5.15", + "@storybook/ui": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/webpack": "^4.41.26", "autoprefixer": "^9.8.6", @@ -54391,18 +54391,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -54410,18 +54410,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -54435,14 +54435,14 @@ } }, "@storybook/channel-postmessage": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.13.tgz", - "integrity": "sha512-R79MBs0mQ7TV8M/a6x/SiTRyvZBidDfMEEthG7Cyo9p35JYiKOhj2535zhW4qlVMESBu95pwKYBibTjASoStPw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.15.tgz", + "integrity": "sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "qs": "^6.10.0", @@ -54450,9 +54450,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -54461,18 +54461,18 @@ } }, "@storybook/client-api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.13.tgz", - "integrity": "sha512-uH1mAWbidPiuuTdMUVEiuaNOfrYXm+9QLSP1MMYTKULqEOZI5MSOGkEDqRfVWxbYv/iWBOPTQ+OM9TQ6ecYacg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.15.tgz", + "integrity": "sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/qs": "^6.9.5", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", @@ -54489,9 +54489,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -54499,14 +54499,14 @@ } }, "@storybook/components": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.13.tgz", - "integrity": "sha512-6Hhx70JK5pGfKCkqMU4yq/BBH+vRTmzj7tZKfPwba+f8VmTMoOr/2ysTQFRtXryiHB6Z15xBYgfq5x2pIwQzLQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.15.tgz", + "integrity": "sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -54515,9 +54515,9 @@ } }, "@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -54542,7 +54542,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -54616,18 +54616,18 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -54638,17 +54638,17 @@ } }, "@storybook/preview-web": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.13.tgz", - "integrity": "sha512-GNNYVzw4SmRua3dOc52Ye6Us4iQbq5GKQ56U3iwnzZM3TBdJB+Rft94Fn1/pypHujEHS8hl5Xgp9td6C1lLCow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.15.tgz", + "integrity": "sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", "global": "^4.4.0", @@ -54662,12 +54662,12 @@ } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -54675,14 +54675,14 @@ } }, "@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -54698,12 +54698,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -55072,9 +55072,9 @@ "dev": true }, "terser": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", - "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -55136,22 +55136,22 @@ } }, "@storybook/channel-websocket": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.13.tgz", - "integrity": "sha512-kwh667H+tzCiNvs92GNwYOwVXdj9uHZyieRAN5rJtTBJ7XgLzGkpTEU50mWlbc0nDKhgE0qYvzyr5H393Iy5ug==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.15.tgz", + "integrity": "sha512-K85KEgzo5ahzJNJjyUbSNyuRmkeC8glJX2hCg2j9HiJ9rasX53qugkODrKDlWAeheulo3kR13VSuAqIuwVbmbw==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "telejson": "^6.0.8" }, "dependencies": { "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55160,9 +55160,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55391,31 +55391,31 @@ } }, "@storybook/core": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.13.tgz", - "integrity": "sha512-kw1lCgbsxzUimGww6t5rmuWJmFPe9kGGyzIqvj4RC4BBcEsP40LEu9XhSfvnb8vTOLIULFZeZpdRFfJs4TYbUw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.15.tgz", + "integrity": "sha512-T9TjLxbb5P/XvLEoj0dnbtexJa0V3pqCifRlIUNkTJO0nU3PdGLMcKMSyIYWjkthAJ9oBrajnodV0UveM/epTg==", "dev": true, "requires": { - "@storybook/core-client": "6.5.13", - "@storybook/core-server": "6.5.13" + "@storybook/core-client": "6.5.15", + "@storybook/core-server": "6.5.15" } }, "@storybook/core-client": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.13.tgz", - "integrity": "sha512-YuELbRokTBdqjbx/R4/7O4rou9kvbBIOJjlUkor9hdLLuJ3P0yGianERGNkZFfvcfMBAxU0p52o7QvDldSR3kA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.15.tgz", + "integrity": "sha512-i9t4WONy2MxJwLI1FIp5ck7b52EXyJfALnxUn4O/3GTkw09J0NOKi2DPjefUsi7IB5MzFpDjDH9vw/XiTM+OZw==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channel-websocket": "6.5.13", - "@storybook/client-api": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channel-websocket": "6.5.15", + "@storybook/client-api": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/preview-web": "6.5.13", - "@storybook/store": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/preview-web": "6.5.15", + "@storybook/store": "6.5.15", + "@storybook/ui": "6.5.15", "airbnb-js-shims": "^2.2.1", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", @@ -55429,18 +55429,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -55448,18 +55448,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -55473,14 +55473,14 @@ } }, "@storybook/channel-postmessage": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.13.tgz", - "integrity": "sha512-R79MBs0mQ7TV8M/a6x/SiTRyvZBidDfMEEthG7Cyo9p35JYiKOhj2535zhW4qlVMESBu95pwKYBibTjASoStPw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.15.tgz", + "integrity": "sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "core-js": "^3.8.2", "global": "^4.4.0", "qs": "^6.10.0", @@ -55488,9 +55488,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55499,18 +55499,18 @@ } }, "@storybook/client-api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.13.tgz", - "integrity": "sha512-uH1mAWbidPiuuTdMUVEiuaNOfrYXm+9QLSP1MMYTKULqEOZI5MSOGkEDqRfVWxbYv/iWBOPTQ+OM9TQ6ecYacg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.15.tgz", + "integrity": "sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/qs": "^6.9.5", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", @@ -55527,9 +55527,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55537,26 +55537,26 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/preview-web": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.13.tgz", - "integrity": "sha512-GNNYVzw4SmRua3dOc52Ye6Us4iQbq5GKQ56U3iwnzZM3TBdJB+Rft94Fn1/pypHujEHS8hl5Xgp9td6C1lLCow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.15.tgz", + "integrity": "sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/channel-postmessage": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/channel-postmessage": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", "global": "^4.4.0", @@ -55570,12 +55570,12 @@ } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -55583,14 +55583,14 @@ } }, "@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -55606,12 +55606,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -55705,23 +55705,23 @@ } }, "@storybook/core-server": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.13.tgz", - "integrity": "sha512-vs7tu3kAnFwuINio1p87WyqDNlFyZESmeh9s7vvrZVbe/xS/ElqDscr9DT5seW+jbtxufAaHsx+JUTver1dheQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.15.tgz", + "integrity": "sha512-m+pZwHhCjwryeqTptyyKHSbIjnnPGKoRSnkqLTOpKQf8llZMnNQWUFrn4fx6UDKzxFQ2st2+laV8O2QbMs8qwQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-webpack4": "6.5.13", - "@storybook/core-client": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/builder-webpack4": "6.5.15", + "@storybook/core-client": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/csf-tools": "6.5.13", - "@storybook/manager-webpack4": "6.5.13", - "@storybook/node-logger": "6.5.13", + "@storybook/csf-tools": "6.5.15", + "@storybook/manager-webpack4": "6.5.15", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", - "@storybook/telemetry": "6.5.13", + "@storybook/store": "6.5.15", + "@storybook/telemetry": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/node-fetch": "^2.5.7", "@types/pretty-hrtime": "^1.0.0", @@ -55758,18 +55758,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -55777,18 +55777,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -55802,9 +55802,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55813,9 +55813,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -55823,9 +55823,9 @@ } }, "@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -55850,7 +55850,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -55881,18 +55881,18 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -55903,12 +55903,12 @@ } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -55916,14 +55916,14 @@ } }, "@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -55939,12 +55939,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -55990,9 +55990,9 @@ } }, "@storybook/csf-tools": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.13.tgz", - "integrity": "sha512-63Ev+VmBqzwSwfUzbuXOLKBD5dMTK2zBYLQ9anTVw70FuTikwTsGIbPgb098K0vsxRCgxl7KM7NpivHqtZtdjw==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.15.tgz", + "integrity": "sha512-2LwSD7yE/ccXBc58K4vdKw/oJJg6IpC4WD51rBt2mAl5JUCkxhOq7wG/Z8Wy1lZw2LVuKNTmjVou5blGRI/bTg==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -56039,20 +56039,20 @@ } }, "@storybook/manager-webpack4": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.13.tgz", - "integrity": "sha512-pURzS5W3XM0F7bCBWzpl7TRsuy+OXFwLXiWLaexuvo0POZe31Ueo2A1R4rx3MT5Iee8O9mYvG2XTmvK9MlLefQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.15.tgz", + "integrity": "sha512-zRvBTMoaFO6MvHDsDLnt3tsFENhpY3k+e/UIPdqbIDMbUPGGQzxJucAM9aS/kbVSO5IVs8IflVxbeeB/uTIIfA==", "dev": true, "requires": { "@babel/core": "^7.12.10", "@babel/plugin-transform-template-literals": "^7.12.1", "@babel/preset-react": "^7.12.10", - "@storybook/addons": "6.5.13", - "@storybook/core-client": "6.5.13", - "@storybook/core-common": "6.5.13", - "@storybook/node-logger": "6.5.13", - "@storybook/theming": "6.5.13", - "@storybook/ui": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/core-client": "6.5.15", + "@storybook/core-common": "6.5.15", + "@storybook/node-logger": "6.5.15", + "@storybook/theming": "6.5.15", + "@storybook/ui": "6.5.15", "@types/node": "^14.0.10 || ^16.0.0", "@types/webpack": "^4.41.26", "babel-loader": "^8.0.0", @@ -56082,18 +56082,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -56101,18 +56101,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -56126,9 +56126,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -56137,9 +56137,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -56147,9 +56147,9 @@ } }, "@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -56174,7 +56174,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -56205,18 +56205,18 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -56227,12 +56227,12 @@ } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -56240,12 +56240,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -56363,9 +56363,9 @@ "dev": true }, "terser": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", - "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -56467,24 +56467,24 @@ } }, "@storybook/react": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.13.tgz", - "integrity": "sha512-4gO8qihEkVZ8RNm9iQd7G2iZz4rRAHizJ6T5m58Sn21fxfyg9zAMzhgd0JzXuPXR8lTTj4AvRyPv1Qx7b43smg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.15.tgz", + "integrity": "sha512-iQta2xOs/oK0sw/zpn3g/huvOmvggzi8z2/WholmUmmRiSQRo9lOhRXH0u13T4ja4fEa+u7m58G83xOG6i73Kw==", "dev": true, "requires": { "@babel/preset-flow": "^7.12.1", "@babel/preset-react": "^7.12.10", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core": "6.5.13", - "@storybook/core-common": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core": "6.5.15", + "@storybook/core-common": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/docs-tools": "6.5.13", - "@storybook/node-logger": "6.5.13", + "@storybook/docs-tools": "6.5.15", + "@storybook/node-logger": "6.5.15", "@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "@types/estree": "^0.0.51", "@types/node": "^14.14.20 || ^16.0.0", "@types/webpack-env": "^1.16.0", @@ -56510,18 +56510,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -56529,18 +56529,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -56554,9 +56554,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -56565,9 +56565,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -56575,9 +56575,9 @@ } }, "@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -56602,7 +56602,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -56681,23 +56681,23 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/docs-tools": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.13.tgz", - "integrity": "sha512-hB+hk+895ny4SW84j3X5iV55DHs3bCfTOp7cDdcZJdQrlm0wuDb4A6d4ffNC7ZLh9VkUjU6ST4VEV5Bb0Cptow==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.15.tgz", + "integrity": "sha512-8w78NFOtlJGuIa9vPPsr87J9iQUGmLFh7CrMS2+t9LxW+0oH5MZ8QqPQUHNuTuKsYN3r+QAmmi2pj0auZmCoKA==", "dev": true, "requires": { "@babel/core": "^7.12.10", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.13", + "@storybook/store": "6.5.15", "core-js": "^3.8.2", "doctrine": "^3.0.0", "lodash": "^4.17.21", @@ -56705,9 +56705,9 @@ } }, "@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -56731,12 +56731,12 @@ } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -56744,14 +56744,14 @@ } }, "@storybook/store": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.13.tgz", - "integrity": "sha512-GG6lm+8fBX1tNUnX7x3raBOjYhhf14bPWLtYiPlxDTFEMs3sJte7zWKZq6NQ79MoBLL6jjzTeolBfDCBw6fiWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.15.tgz", + "integrity": "sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==", "dev": true, "requires": { - "@storybook/addons": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/addons": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -56767,12 +56767,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -56963,13 +56963,13 @@ } }, "@storybook/telemetry": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.13.tgz", - "integrity": "sha512-PFJEfGbunmfFWabD3rdCF8EHH+45578OHOkMPpXJjqXl94vPQxUH2XTVKQgEQJbYrgX0Vx9Z4tSkdMHuzYDbWQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.15.tgz", + "integrity": "sha512-WHMRG6xMkEGscn1q4SotwzV8hxM1g3zHyXPN77iosY5zpOIn/qAzvkmW28V1DPH9jPWMZMizBgG1TIQvUpduXg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", - "@storybook/core-common": "6.5.13", + "@storybook/client-logger": "6.5.15", + "@storybook/core-common": "6.5.15", "chalk": "^4.1.0", "core-js": "^3.8.2", "detect-package-manager": "^2.0.1", @@ -56983,9 +56983,9 @@ }, "dependencies": { "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -56993,9 +56993,9 @@ } }, "@storybook/core-common": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.13.tgz", - "integrity": "sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.15.tgz", + "integrity": "sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -57020,7 +57020,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.13", + "@storybook/node-logger": "6.5.15", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10 || ^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -57051,9 +57051,9 @@ } }, "@storybook/node-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.13.tgz", - "integrity": "sha512-/r5aVZAqZRoy5FyNk/G4pj7yKJd3lJfPbAaOHVROv2IF7PJP/vtRaDkcfh0g2U6zwuDxGIqSn80j+qoEli9m5A==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.15.tgz", + "integrity": "sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -57094,20 +57094,20 @@ } }, "@storybook/ui": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.13.tgz", - "integrity": "sha512-MklJuSg4Bc+MWjwhZVmZhJaucaeEBUMMa2V9oRWbIgZOdRHqdW72S2vCbaarDAYfBQdnfaoq1GkSQiw+EnWOzA==", - "dev": true, - "requires": { - "@storybook/addons": "6.5.13", - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/components": "6.5.13", - "@storybook/core-events": "6.5.13", - "@storybook/router": "6.5.13", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.15.tgz", + "integrity": "sha512-OO+TWZmI8ebWA1C3JBKNvbUbsgvt4GppqsGlkf5CTBZrT/MzmMlYiooLAtlY1ZPcMtTd5ynLxvroHWBEnMOk2A==", + "dev": true, + "requires": { + "@storybook/addons": "6.5.15", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/components": "6.5.15", + "@storybook/core-events": "6.5.15", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -57116,18 +57116,18 @@ }, "dependencies": { "@storybook/addons": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.13.tgz", - "integrity": "sha512-18CqzNnrGMfeZtiKz+R/3rHtSNnfNwz6y6prIQIbWseK16jY8ELTfIFGviwO5V2OqpbHDQi5+xQQ63QAIb89YA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.15.tgz", + "integrity": "sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==", "dev": true, "requires": { - "@storybook/api": "6.5.13", - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/api": "6.5.15", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", - "@storybook/theming": "6.5.13", + "@storybook/router": "6.5.15", + "@storybook/theming": "6.5.15", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -57135,18 +57135,18 @@ } }, "@storybook/api": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.13.tgz", - "integrity": "sha512-xVSmB7/IuFd6G7eiJjbI2MuS7SZunoUM6d+YCWpjiehfMeX47MXt1gZtOwFrgJC1ShZlefXFahq/dvxwtmWs+w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.15.tgz", + "integrity": "sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==", "dev": true, "requires": { - "@storybook/channels": "6.5.13", - "@storybook/client-logger": "6.5.13", - "@storybook/core-events": "6.5.13", + "@storybook/channels": "6.5.15", + "@storybook/client-logger": "6.5.15", + "@storybook/core-events": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.13", + "@storybook/router": "6.5.15", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -57160,9 +57160,9 @@ } }, "@storybook/channels": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.13.tgz", - "integrity": "sha512-sGYSilE30bz0jG+HdHnkv0B4XkAv2hP+KRZr4xmnv+MOOQpRnZpJ5Z3HVU16s17cj/83NWihKj6BuKcEVzyilg==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.15.tgz", + "integrity": "sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -57171,9 +57171,9 @@ } }, "@storybook/client-logger": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.13.tgz", - "integrity": "sha512-F2SMW3LWFGXLm2ENTwTitrLWJgmMXRf3CWQXdN2EbkNCIBHy5Zcbt+91K4OX8e2e5h9gjGfrdYbyYDYOoUCEfA==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.15.tgz", + "integrity": "sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -57181,14 +57181,14 @@ } }, "@storybook/components": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.13.tgz", - "integrity": "sha512-6Hhx70JK5pGfKCkqMU4yq/BBH+vRTmzj7tZKfPwba+f8VmTMoOr/2ysTQFRtXryiHB6Z15xBYgfq5x2pIwQzLQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.15.tgz", + "integrity": "sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.13", + "@storybook/theming": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -57197,21 +57197,21 @@ } }, "@storybook/core-events": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.13.tgz", - "integrity": "sha512-kL745tPpRKejzHToA3/CoBNbI+NPRVk186vGxXBmk95OEg0TlwgQExP8BnqEtLlRZMbW08e4+6kilc1M1M4N5w==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.15.tgz", + "integrity": "sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/router": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.13.tgz", - "integrity": "sha512-sf5aogfirH5ucD0d0hc2mKf2iyWsZsvXhr5kjxUQmgkcoflkGUWhc34sbSQVRQ1i8K5lkLIDH/q2s1Zr2SbzhQ==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.15.tgz", + "integrity": "sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "qs": "^6.10.0", @@ -57219,12 +57219,12 @@ } }, "@storybook/theming": { - "version": "6.5.13", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.13.tgz", - "integrity": "sha512-oif5NGFAUQhizo50r+ctw2hZNLWV4dPHai+L/gFvbaSeRBeHSNkIcMoZ2FlrO566HdGZTDutYXcR+xus8rI28g==", + "version": "6.5.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.15.tgz", + "integrity": "sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==", "dev": true, "requires": { - "@storybook/client-logger": "6.5.13", + "@storybook/client-logger": "6.5.15", "core-js": "^3.8.2", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" @@ -62765,9 +62765,9 @@ "dev": true }, "address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "dev": true }, "adm-zip": { @@ -67471,9 +67471,9 @@ } }, "es6-shim": { - "version": "0.35.6", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.6.tgz", - "integrity": "sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==", + "version": "0.35.7", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.7.tgz", + "integrity": "sha512-baZkUfTDSx7X69+NA8imbvGrsPfqH0MX7ADdIDjqwsI8lkTgLIiD2QWrUCSGsUQ0YMnSCA/4pNgSyXdnLHWf3A==", "dev": true }, "escalade": { diff --git a/package.json b/package.json index 0dd47d90442..461f444e42f 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "@storybook/addon-storysource": "6.5.9", "@storybook/addons": "6.5.9", "@storybook/client-api": "6.5.14", - "@storybook/react": "6.5.13", + "@storybook/react": "6.5.15", "@testing-library/jest-dom": "5.16.4", "@testing-library/react": "12.1.5", "@testing-library/react-hooks": "7.0.2", From 5494f5d79bd0eb83020861514976de837cd60dc9 Mon Sep 17 00:00:00 2001 From: Lucio Giannotta Date: Thu, 5 Jan 2023 22:23:34 +0100 Subject: [PATCH 09/19] =?UTF-8?q?Remove=20the=20=E2=80=9CProducts=20(Beta)?= =?UTF-8?q?=E2=80=9D=20block=20from=20WP=206.0=20or=20lower=20(#8112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove the Products block from WP < 6.0 Too many APIs which are required for the Products block experience are just plainly unavailable in versions lower than 6.0. (cherry picked from commit 2d36c40176f86cd90a55592927530347d6ed357b) (cherry picked from commit fb61a0cb12af01f32c24c1666750778c56bdfa80) --- .../blocks/product-elements/rating/style.scss | 1 - assets/js/blocks/product-query/constants.ts | 6 +- assets/js/blocks/product-query/index.tsx | 13 ++-- .../variations/product-query.tsx | 59 ++++++++++--------- 4 files changed, 41 insertions(+), 38 deletions(-) diff --git a/assets/js/atomic/blocks/product-elements/rating/style.scss b/assets/js/atomic/blocks/product-elements/rating/style.scss index a94e66f86a1..1181aafc0c8 100644 --- a/assets/js/atomic/blocks/product-elements/rating/style.scss +++ b/assets/js/atomic/blocks/product-elements/rating/style.scss @@ -4,7 +4,6 @@ margin-bottom: $gap-small; &__stars { - display: inline-block; overflow: hidden; position: relative; width: 5.3em; diff --git a/assets/js/blocks/product-query/constants.ts b/assets/js/blocks/product-query/constants.ts index b78163cbb73..39c84b8539d 100644 --- a/assets/js/blocks/product-query/constants.ts +++ b/assets/js/blocks/product-query/constants.ts @@ -1,7 +1,7 @@ /** * External dependencies */ -import { getSetting, isWpVersion } from '@woocommerce/settings'; +import { getSetting } from '@woocommerce/settings'; import type { InnerBlockTemplate } from '@wordpress/blocks'; /** @@ -110,7 +110,5 @@ export const INNER_BLOCKS_TEMPLATE: InnerBlockTemplate[] = [ }, [], ], - ...( isWpVersion( '6.0', '>=' ) - ? [ [ 'core/query-no-results' ] as InnerBlockTemplate ] - : [] ), + [ 'core/query-no-results' ], ]; diff --git a/assets/js/blocks/product-query/index.tsx b/assets/js/blocks/product-query/index.tsx index 725a3067ccd..312ce2af40d 100644 --- a/assets/js/blocks/product-query/index.tsx +++ b/assets/js/blocks/product-query/index.tsx @@ -3,6 +3,7 @@ */ import type { Block } from '@wordpress/blocks'; import { addFilter } from '@wordpress/hooks'; +import { isWpVersion } from '@woocommerce/settings'; /** * Internal dependencies @@ -39,8 +40,10 @@ function registerProductQueryElementsNamespace( return props; } -addFilter( - 'blocks.registerBlockType', - 'core/custom-class-name/attribute', - registerProductQueryElementsNamespace -); +if ( isWpVersion( '6.1', '>=' ) ) { + addFilter( + 'blocks.registerBlockType', + 'core/custom-class-name/attribute', + registerProductQueryElementsNamespace + ); +} diff --git a/assets/js/blocks/product-query/variations/product-query.tsx b/assets/js/blocks/product-query/variations/product-query.tsx index c993c6903ed..73362b8bf0d 100644 --- a/assets/js/blocks/product-query/variations/product-query.tsx +++ b/assets/js/blocks/product-query/variations/product-query.tsx @@ -5,6 +5,7 @@ import { registerBlockVariation } from '@wordpress/blocks'; import { Icon } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { stacks } from '@woocommerce/icons'; +import { isWpVersion } from '@woocommerce/settings'; /** * Internal dependencies @@ -18,31 +19,33 @@ import { const VARIATION_NAME = 'woocommerce/product-query'; -registerBlockVariation( QUERY_LOOP_ID, { - description: __( - 'A block that displays a selection of products in your store.', - 'woo-gutenberg-products-block' - ), - name: VARIATION_NAME, - /* translators: “Products“ is the name of the block. */ - title: __( 'Products (Beta)', 'woo-gutenberg-products-block' ), - isActive: ( blockAttributes ) => - blockAttributes.namespace === VARIATION_NAME, - icon: ( - - ), - attributes: { - ...QUERY_DEFAULT_ATTRIBUTES, - namespace: VARIATION_NAME, - }, - // Gutenberg doesn't support this type yet, discussion here: - // https://github.com/WordPress/gutenberg/pull/43632 - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - allowedControls: DEFAULT_ALLOWED_CONTROLS, - innerBlocks: INNER_BLOCKS_TEMPLATE, - scope: [ 'inserter' ], -} ); +if ( isWpVersion( '6.1', '>=' ) ) { + registerBlockVariation( QUERY_LOOP_ID, { + description: __( + 'A block that displays a selection of products in your store.', + 'woo-gutenberg-products-block' + ), + name: VARIATION_NAME, + /* translators: “Products“ is the name of the block. */ + title: __( 'Products (Beta)', 'woo-gutenberg-products-block' ), + isActive: ( blockAttributes ) => + blockAttributes.namespace === VARIATION_NAME, + icon: ( + + ), + attributes: { + ...QUERY_DEFAULT_ATTRIBUTES, + namespace: VARIATION_NAME, + }, + // Gutenberg doesn't support this type yet, discussion here: + // https://github.com/WordPress/gutenberg/pull/43632 + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + allowedControls: DEFAULT_ALLOWED_CONTROLS, + innerBlocks: INNER_BLOCKS_TEMPLATE, + scope: [ 'inserter' ], + } ); +} From a77cc95b95522d93f7f894d3495f5af1726fd7ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jan 2023 11:14:51 +0100 Subject: [PATCH 10/19] Bump @wordpress/api-fetch from 6.19.0 to 6.21.0 (#8125) Bumps [@wordpress/api-fetch](https://github.com/WordPress/gutenberg/tree/HEAD/packages/api-fetch) from 6.19.0 to 6.21.0. - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/api-fetch/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/api-fetch@6.21.0/packages/api-fetch) --- updated-dependencies: - dependency-name: "@wordpress/api-fetch" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kmanijak --- package-lock.json | 59 ++++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 18 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b942e6138e..1a341c5786d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -84,7 +84,7 @@ "@woocommerce/e2e-utils": "0.2.0", "@woocommerce/eslint-plugin": "2.2.0", "@woocommerce/woocommerce-rest-api": "1.0.1", - "@wordpress/api-fetch": "6.19.0", + "@wordpress/api-fetch": "6.21.0", "@wordpress/babel-preset-default": "6.14.0", "@wordpress/base-styles": "4.14.0", "@wordpress/block-editor": "8.2.0", @@ -12855,22 +12855,22 @@ } }, "node_modules/@wordpress/api-fetch": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.19.0.tgz", - "integrity": "sha512-nidem0S47aulcXzIjy5oQrC/nKrVtSkEEE0nmHQAp/bx2ZYBu7UwByiTfbI3bxLKRPhtdgLBkQfyA7eUlegGPQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.21.0.tgz", + "integrity": "sha512-OfSmuqNOkzDbHr9lxhUjGmyTWncmoGQCK+SvbUPpJLLZyTVzUGObcMWvWkQhKBmnygScF7A/31I24bflLkuvGQ==", "dependencies": { "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.22.0", - "@wordpress/url": "^3.23.0" + "@wordpress/i18n": "^4.24.0", + "@wordpress/url": "^3.25.0" }, "engines": { "node": ">=12" } }, "node_modules/@wordpress/api-fetch/node_modules/@wordpress/url": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.23.0.tgz", - "integrity": "sha512-JBNrzSUg7+b4cpJQjDVTHAw8x77EcdLWOAxLlKqI37Pd2EHUZXWnlVU5EqbNLLhXVJ+/6QMzS3QqNILhjIiqdw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.25.0.tgz", + "integrity": "sha512-2W4CP3Tyj7IRrPTb2XzUUvbckkimcW31v1g9Ly8ud1K0qSO4PvBrVxHfkEemkD9jI/KSvm3iPku++bhKY502wg==", "dependencies": { "@babel/runtime": "^7.16.0", "remove-accents": "^0.4.2" @@ -13555,20 +13555,6 @@ "puppeteer-core": ">=11" } }, - "node_modules/@wordpress/e2e-test-utils/node_modules/@wordpress/api-fetch": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.20.0.tgz", - "integrity": "sha512-FZxugM4PZT778I3NZM9z+JmskPG+xCNdAwxFtetjurgMvlflB5dJ8FrXvGNSawA+HONdbK2KTlF4wVAtzkieRA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.23.0", - "@wordpress/url": "^3.24.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/e2e-test-utils/node_modules/@wordpress/url": { "version": "3.24.0", "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.24.0.tgz", @@ -59125,19 +59111,19 @@ } }, "@wordpress/api-fetch": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.19.0.tgz", - "integrity": "sha512-nidem0S47aulcXzIjy5oQrC/nKrVtSkEEE0nmHQAp/bx2ZYBu7UwByiTfbI3bxLKRPhtdgLBkQfyA7eUlegGPQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.21.0.tgz", + "integrity": "sha512-OfSmuqNOkzDbHr9lxhUjGmyTWncmoGQCK+SvbUPpJLLZyTVzUGObcMWvWkQhKBmnygScF7A/31I24bflLkuvGQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.22.0", - "@wordpress/url": "^3.23.0" + "@wordpress/i18n": "^4.24.0", + "@wordpress/url": "^3.25.0" }, "dependencies": { "@wordpress/url": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.23.0.tgz", - "integrity": "sha512-JBNrzSUg7+b4cpJQjDVTHAw8x77EcdLWOAxLlKqI37Pd2EHUZXWnlVU5EqbNLLhXVJ+/6QMzS3QqNILhjIiqdw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.25.0.tgz", + "integrity": "sha512-2W4CP3Tyj7IRrPTb2XzUUvbckkimcW31v1g9Ly8ud1K0qSO4PvBrVxHfkEemkD9jI/KSvm3iPku++bhKY502wg==", "requires": { "@babel/runtime": "^7.16.0", "remove-accents": "^0.4.2" @@ -59661,17 +59647,6 @@ "node-fetch": "^2.6.0" }, "dependencies": { - "@wordpress/api-fetch": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.20.0.tgz", - "integrity": "sha512-FZxugM4PZT778I3NZM9z+JmskPG+xCNdAwxFtetjurgMvlflB5dJ8FrXvGNSawA+HONdbK2KTlF4wVAtzkieRA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.23.0", - "@wordpress/url": "^3.24.0" - } - }, "@wordpress/url": { "version": "3.24.0", "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.24.0.tgz", diff --git a/package.json b/package.json index 461f444e42f..97f74d4255b 100644 --- a/package.json +++ b/package.json @@ -136,7 +136,7 @@ "@woocommerce/e2e-utils": "0.2.0", "@woocommerce/eslint-plugin": "2.2.0", "@woocommerce/woocommerce-rest-api": "1.0.1", - "@wordpress/api-fetch": "6.19.0", + "@wordpress/api-fetch": "6.21.0", "@wordpress/babel-preset-default": "6.14.0", "@wordpress/base-styles": "4.14.0", "@wordpress/block-editor": "8.2.0", From f2b0397b1af426abbe7b6e95d124ce7546ed80a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jan 2023 12:38:26 +0100 Subject: [PATCH 11/19] Bump @wordpress/is-shallow-equal from 4.13.0 to 4.24.0 (#8126) Bumps [@wordpress/is-shallow-equal](https://github.com/WordPress/gutenberg/tree/HEAD/packages/is-shallow-equal) from 4.13.0 to 4.24.0. - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/is-shallow-equal/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/is-shallow-equal@4.24.0/packages/is-shallow-equal) --- updated-dependencies: - dependency-name: "@wordpress/is-shallow-equal" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kmanijak --- package-lock.json | 79 +++++------------------------------------------ package.json | 2 +- 2 files changed, 8 insertions(+), 73 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a341c5786d..cc603e3e6b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "@wordpress/env": "^4.9.0", "@wordpress/html-entities": "3.24.0", "@wordpress/i18n": "4.24.0", - "@wordpress/is-shallow-equal": "4.13.0", + "@wordpress/is-shallow-equal": "4.24.0", "@wordpress/prettier-config": "1.4.0", "@wordpress/scripts": "22.3.0", "autoprefixer": "10.4.7", @@ -12611,17 +12611,6 @@ "node": ">=12" } }, - "node_modules/@woocommerce/navigation/node_modules/@wordpress/is-shallow-equal": { - "version": "4.14.0", - "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@woocommerce/navigation/node_modules/@wordpress/primitives": { "version": "3.12.0", "dev": true, @@ -13359,17 +13348,6 @@ "react": "^17.0.0" } }, - "node_modules/@wordpress/core-data/node_modules/@wordpress/is-shallow-equal": { - "version": "4.14.0", - "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/core-data/node_modules/@wordpress/url": { "version": "3.15.0", "dev": true, @@ -13464,16 +13442,6 @@ "react": "^17.0.0" } }, - "node_modules/@wordpress/data/node_modules/@wordpress/is-shallow-equal": { - "version": "4.14.0", - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/date": { "version": "4.14.0", "license": "GPL-2.0-or-later", @@ -15732,8 +15700,9 @@ } }, "node_modules/@wordpress/is-shallow-equal": { - "version": "4.13.0", - "license": "GPL-2.0-or-later", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.24.0.tgz", + "integrity": "sha512-Y61kXn4g3zy5u20EtstvifOjznPCC08Pb1SjJ8QZajGhE4ghy/1q8xpalIkrsCaA+GEVYyq1q5D5rApNnyxKLw==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -16128,16 +16097,6 @@ "react": "^17.0.0" } }, - "node_modules/@wordpress/rich-text/node_modules/@wordpress/is-shallow-equal": { - "version": "4.14.0", - "license": "GPL-2.0-or-later", - "dependencies": { - "@babel/runtime": "^7.16.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@wordpress/rich-text/node_modules/rememo": { "version": "4.0.1", "license": "MIT" @@ -58930,13 +58889,6 @@ "@wordpress/primitives": "^3.12.0" } }, - "@wordpress/is-shallow-equal": { - "version": "4.14.0", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "@wordpress/primitives": { "version": "3.12.0", "dev": true, @@ -59510,13 +59462,6 @@ "uuid": "^8.3.0" } }, - "@wordpress/is-shallow-equal": { - "version": "4.14.0", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "@wordpress/url": { "version": "3.15.0", "dev": true, @@ -59566,12 +59511,6 @@ "mousetrap": "^1.6.5", "use-memo-one": "^1.1.1" } - }, - "@wordpress/is-shallow-equal": { - "version": "4.14.0", - "requires": { - "@babel/runtime": "^7.16.0" - } } } }, @@ -61134,7 +61073,9 @@ } }, "@wordpress/is-shallow-equal": { - "version": "4.13.0", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.24.0.tgz", + "integrity": "sha512-Y61kXn4g3zy5u20EtstvifOjznPCC08Pb1SjJ8QZajGhE4ghy/1q8xpalIkrsCaA+GEVYyq1q5D5rApNnyxKLw==", "requires": { "@babel/runtime": "^7.16.0" } @@ -61401,12 +61342,6 @@ "use-memo-one": "^1.1.1" } }, - "@wordpress/is-shallow-equal": { - "version": "4.14.0", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, "rememo": { "version": "4.0.1" } diff --git a/package.json b/package.json index 97f74d4255b..fb79be3409a 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "@wordpress/env": "^4.9.0", "@wordpress/html-entities": "3.24.0", "@wordpress/i18n": "4.24.0", - "@wordpress/is-shallow-equal": "4.13.0", + "@wordpress/is-shallow-equal": "4.24.0", "@wordpress/prettier-config": "1.4.0", "@wordpress/scripts": "22.3.0", "autoprefixer": "10.4.7", From a295bffd68607f430a011c7bf240199082280b36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Juh=C3=A9=20Lluveras?= Date: Wed, 11 Jan 2023 17:11:41 +0100 Subject: [PATCH 12/19] Use DAY_IN_SECONDS constant instead of calculating the value (#8156) --- src/StoreApi/Routes/V1/AbstractCartRoute.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/StoreApi/Routes/V1/AbstractCartRoute.php b/src/StoreApi/Routes/V1/AbstractCartRoute.php index 036d420df73..0b0ff119904 100644 --- a/src/StoreApi/Routes/V1/AbstractCartRoute.php +++ b/src/StoreApi/Routes/V1/AbstractCartRoute.php @@ -193,7 +193,7 @@ protected function get_cart_token_secret() { * @return int */ protected function get_cart_token_expiration() { - return time() + intval( apply_filters( 'wc_session_expiration', 60 * 60 * 48 ) ); + return time() + intval( apply_filters( 'wc_session_expiration', DAY_IN_SECONDS * 2 ) ); } /** From b38c6e91546b36a34e517668129bbc2794d74f7f Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 11 Jan 2023 17:12:06 +0000 Subject: [PATCH 13/19] Avoid usage of `@wordpress/components` inside base components (#7996) * Use local package rather than WP package in base components * Missing type on imports * Move hasSpecingStyleSupport inline to avoid polluting utils with the block-editor external * Use local wordpress-block-editor import to avoid the external * Add readme to base directory to warn against using editor/components externals * Check functions exist * Revert "Check functions exist" This reverts commit ce95800b79ddb48369cd22d2b7854384db0d8891. * Revert wordpress-block-editor import * Add todos to the hooks that need refactoring * Update assets/js/atomic/blocks/product-elements/button/supports.ts Co-authored-by: Saad Tarhi * Update assets/js/atomic/blocks/product-elements/image/supports.ts Co-authored-by: Saad Tarhi * Update assets/js/atomic/blocks/product-elements/rating/support.ts Co-authored-by: Saad Tarhi * Update assets/js/atomic/blocks/product-elements/sale-badge/support.ts Co-authored-by: Saad Tarhi * Update assets/js/atomic/blocks/product-elements/title/index.ts Co-authored-by: Saad Tarhi * Reference issue * Update assets/js/base/README.MD Co-authored-by: kmanijak * spacing Co-authored-by: Saad Tarhi Co-authored-by: kmanijak --- .../atomic/blocks/product-elements/button/supports.ts | 9 +++------ .../atomic/blocks/product-elements/image/supports.ts | 5 +++-- .../atomic/blocks/product-elements/rating/support.ts | 9 +++------ .../blocks/product-elements/sale-badge/support.ts | 9 +++------ .../js/atomic/blocks/product-elements/title/index.ts | 6 ++++-- assets/js/base/README.MD | 11 +++++++++++ assets/js/base/components/drawer/index.tsx | 2 +- assets/js/base/hooks/use-border-props.ts | 2 ++ assets/js/base/hooks/use-color-props.ts | 2 ++ assets/js/base/hooks/use-spacing-props.ts | 5 +++-- assets/js/types/type-defs/blocks.ts | 2 +- assets/js/types/type-defs/cart-response.ts | 2 +- assets/js/types/type-defs/cart.ts | 2 +- assets/js/types/type-defs/checkout.ts | 2 +- assets/js/types/type-defs/hooks.ts | 2 +- assets/js/types/type-defs/payment-method-interface.ts | 2 +- assets/js/types/type-defs/payments.ts | 2 +- assets/js/types/type-defs/product-response.ts | 2 +- assets/js/types/type-guards/attributes.ts | 2 +- assets/js/types/type-guards/cart-response-totals.ts | 2 +- assets/js/utils/global-style.js | 8 -------- assets/js/utils/index.ts | 1 - 22 files changed, 45 insertions(+), 44 deletions(-) create mode 100644 assets/js/base/README.MD delete mode 100644 assets/js/utils/global-style.js diff --git a/assets/js/atomic/blocks/product-elements/button/supports.ts b/assets/js/atomic/blocks/product-elements/button/supports.ts index df0be2fb742..00db65027b1 100644 --- a/assets/js/atomic/blocks/product-elements/button/supports.ts +++ b/assets/js/atomic/blocks/product-elements/button/supports.ts @@ -1,12 +1,9 @@ +/* eslint-disable @wordpress/no-unsafe-wp-apis */ /** * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; - -/** - * Internal dependencies - */ -import { hasSpacingStyleSupport } from '../../../../utils/global-style'; +import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; export const supports = { ...( isFeaturePluginBuild() && { @@ -20,7 +17,7 @@ export const supports = { radius: true, __experimentalSkipSerialization: true, }, - ...( hasSpacingStyleSupport() && { + ...( typeof __experimentalGetSpacingClassesAndStyles === 'function' && { spacing: { margin: true, padding: true, diff --git a/assets/js/atomic/blocks/product-elements/image/supports.ts b/assets/js/atomic/blocks/product-elements/image/supports.ts index 0a60da1c953..1180ce0da40 100644 --- a/assets/js/atomic/blocks/product-elements/image/supports.ts +++ b/assets/js/atomic/blocks/product-elements/image/supports.ts @@ -1,8 +1,9 @@ +/* eslint-disable @wordpress/no-unsafe-wp-apis */ /** * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; -import { hasSpacingStyleSupport } from '@woocommerce/utils'; +import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; /** * Internal dependencies @@ -19,7 +20,7 @@ export const supports = { fontSize: true, __experimentalSkipSerialization: true, }, - ...( hasSpacingStyleSupport() && { + ...( typeof __experimentalGetSpacingClassesAndStyles === 'function' && { spacing: { margin: true, __experimentalSkipSerialization: true, diff --git a/assets/js/atomic/blocks/product-elements/rating/support.ts b/assets/js/atomic/blocks/product-elements/rating/support.ts index 9bae7aa379f..f68350a0581 100644 --- a/assets/js/atomic/blocks/product-elements/rating/support.ts +++ b/assets/js/atomic/blocks/product-elements/rating/support.ts @@ -1,12 +1,9 @@ +/* eslint-disable @wordpress/no-unsafe-wp-apis */ /** * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; - -/** - * Internal dependencies - */ -import { hasSpacingStyleSupport } from '../../../../utils/global-style'; +import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; export const supports = { ...( isFeaturePluginBuild() && { @@ -20,7 +17,7 @@ export const supports = { fontSize: true, __experimentalSkipSerialization: true, }, - ...( hasSpacingStyleSupport() && { + ...( typeof __experimentalGetSpacingClassesAndStyles === 'function' && { spacing: { margin: true, __experimentalSkipSerialization: true, diff --git a/assets/js/atomic/blocks/product-elements/sale-badge/support.ts b/assets/js/atomic/blocks/product-elements/sale-badge/support.ts index 17dccf98b06..a8a45113b3a 100644 --- a/assets/js/atomic/blocks/product-elements/sale-badge/support.ts +++ b/assets/js/atomic/blocks/product-elements/sale-badge/support.ts @@ -1,12 +1,9 @@ +/* eslint-disable @wordpress/no-unsafe-wp-apis */ /** * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; - -/** - * Internal dependencies - */ -import { hasSpacingStyleSupport } from '../../../../utils/global-style'; +import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; export const supports = { html: false, @@ -27,7 +24,7 @@ export const supports = { width: true, __experimentalSkipSerialization: true, }, - ...( hasSpacingStyleSupport() && { + ...( typeof __experimentalGetSpacingClassesAndStyles === 'function' && { spacing: { padding: true, __experimentalSkipSerialization: true, diff --git a/assets/js/atomic/blocks/product-elements/title/index.ts b/assets/js/atomic/blocks/product-elements/title/index.ts index 6bb40a70f33..222cdf5ae17 100644 --- a/assets/js/atomic/blocks/product-elements/title/index.ts +++ b/assets/js/atomic/blocks/product-elements/title/index.ts @@ -1,9 +1,11 @@ +/* eslint-disable @wordpress/no-unsafe-wp-apis */ /** * External dependencies */ import { registerBlockType } from '@wordpress/blocks'; import type { BlockConfiguration } from '@wordpress/blocks'; import { isFeaturePluginBuild } from '@woocommerce/block-settings'; +import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; /** * Internal dependencies @@ -17,7 +19,6 @@ import { BLOCK_DESCRIPTION as description, } from './constants'; import { Save } from './save'; -import { hasSpacingStyleSupport } from '../../../../utils/global-style'; const blockConfig: BlockConfiguration = { ...sharedConfig, @@ -45,7 +46,8 @@ const blockConfig: BlockConfiguration = { gradients: true, __experimentalSkipSerialization: true, }, - ...( hasSpacingStyleSupport() && { + ...( typeof __experimentalGetSpacingClassesAndStyles === + 'function' && { spacing: { margin: true, __experimentalSkipSerialization: true, diff --git a/assets/js/base/README.MD b/assets/js/base/README.MD new file mode 100644 index 00000000000..64302efd50b --- /dev/null +++ b/assets/js/base/README.MD @@ -0,0 +1,11 @@ +# Base Components/Context/Hooks + +Base components are designed to be used on the frontend of a store. Due to this, we need to avoid using heavy WordPress externals as dependencies (wp-components, wp-block-editor, etc). To get around this, import from a local package instead. + +e.g. Instead of importing from `@wordpress/components`, use: + +```js +import { Component } from 'wordpress-components'; +``` + +Check the built `*.assets.php` files to ensure extra dependencies aren't being added to the build. diff --git a/assets/js/base/components/drawer/index.tsx b/assets/js/base/components/drawer/index.tsx index d0f5f034e39..5c27fbb5717 100644 --- a/assets/js/base/components/drawer/index.tsx +++ b/assets/js/base/components/drawer/index.tsx @@ -2,7 +2,7 @@ * External dependencies */ import { __ } from '@wordpress/i18n'; -import { Modal } from '@wordpress/components'; +import { Modal } from 'wordpress-components'; import { useDebounce } from 'use-debounce'; import classNames from 'classnames'; diff --git a/assets/js/base/hooks/use-border-props.ts b/assets/js/base/hooks/use-border-props.ts index a7a0a7decc7..efcf467eb32 100644 --- a/assets/js/base/hooks/use-border-props.ts +++ b/assets/js/base/hooks/use-border-props.ts @@ -15,6 +15,8 @@ type WithStyle = { style: Record< string, unknown >; }; +// @todo The @wordpress/block-editor dependency should never be used on the frontend of the store due to excessive side and its dependency on @wordpress/components +// @see https://github.com/woocommerce/woocommerce-blocks/issues/8071 export const useBorderProps = ( attributes: unknown ): WithStyle & WithClass => { diff --git a/assets/js/base/hooks/use-color-props.ts b/assets/js/base/hooks/use-color-props.ts index 8afacb64009..3254b7f2f01 100644 --- a/assets/js/base/hooks/use-color-props.ts +++ b/assets/js/base/hooks/use-color-props.ts @@ -15,6 +15,8 @@ type WithStyle = { style: Record< string, unknown >; }; +// @todo The @wordpress/block-editor dependency should never be used on the frontend of the store due to excessive side and its dependency on @wordpress/components +// @see https://github.com/woocommerce/woocommerce-blocks/issues/8071 export const useColorProps = ( attributes: unknown ): WithStyle & WithClass => { if ( ! isFeaturePluginBuild() ) { return { diff --git a/assets/js/base/hooks/use-spacing-props.ts b/assets/js/base/hooks/use-spacing-props.ts index a9d08ec4c5e..4bc7049467c 100644 --- a/assets/js/base/hooks/use-spacing-props.ts +++ b/assets/js/base/hooks/use-spacing-props.ts @@ -5,15 +5,16 @@ import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; import { isFeaturePluginBuild } from '@woocommerce/block-settings'; import { isObject } from '@woocommerce/types'; -import { hasSpacingStyleSupport } from '@woocommerce/utils'; import { parseStyle } from '@woocommerce/base-utils'; type WithStyle = { style: Record< string, unknown >; }; +// @todo The @wordpress/block-editor dependency should never be used on the frontend of the store due to excessive side and its dependency on @wordpress/components +// @see https://github.com/woocommerce/woocommerce-blocks/issues/8071 export const useSpacingProps = ( attributes: unknown ): WithStyle => { - if ( ! isFeaturePluginBuild() || ! hasSpacingStyleSupport() ) { + if ( ! isFeaturePluginBuild() ) { return { style: {}, }; diff --git a/assets/js/types/type-defs/blocks.ts b/assets/js/types/type-defs/blocks.ts index aa6e6c0d844..5451fbb50dc 100644 --- a/assets/js/types/type-defs/blocks.ts +++ b/assets/js/types/type-defs/blocks.ts @@ -2,7 +2,7 @@ * External dependencies */ import type { BlockEditProps, BlockInstance } from '@wordpress/blocks'; -import { LazyExoticComponent } from 'react'; +import type { LazyExoticComponent } from 'react'; export type EditorBlock< T > = BlockInstance< T > & BlockEditProps< T >; diff --git a/assets/js/types/type-defs/cart-response.ts b/assets/js/types/type-defs/cart-response.ts index 13e6f583f31..162ca604042 100644 --- a/assets/js/types/type-defs/cart-response.ts +++ b/assets/js/types/type-defs/cart-response.ts @@ -1,7 +1,7 @@ /** * Internal dependencies */ -import { CurrencyResponse } from './currency'; +import type { CurrencyResponse } from './currency'; import type { CartItem } from './cart'; import type { ProductResponseItem } from './product-response'; diff --git a/assets/js/types/type-defs/cart.ts b/assets/js/types/type-defs/cart.ts index 9582ca73ffb..e7b639d39aa 100644 --- a/assets/js/types/type-defs/cart.ts +++ b/assets/js/types/type-defs/cart.ts @@ -1,7 +1,7 @@ /** * External dependencies */ -import { CurrencyCode } from '@woocommerce/types'; +import type { CurrencyCode } from '@woocommerce/types'; /** * Internal dependencies diff --git a/assets/js/types/type-defs/checkout.ts b/assets/js/types/type-defs/checkout.ts index 41a49eef0c3..01437b484cd 100644 --- a/assets/js/types/type-defs/checkout.ts +++ b/assets/js/types/type-defs/checkout.ts @@ -1,7 +1,7 @@ /** * External dependencies */ -import { ShippingAddress, BillingAddress } from '@woocommerce/settings'; +import type { ShippingAddress, BillingAddress } from '@woocommerce/settings'; /** * Internal dependencies diff --git a/assets/js/types/type-defs/hooks.ts b/assets/js/types/type-defs/hooks.ts index 64f0949b937..d57ddff68b4 100644 --- a/assets/js/types/type-defs/hooks.ts +++ b/assets/js/types/type-defs/hooks.ts @@ -1,7 +1,7 @@ /** * External dependencies */ -import { ProductResponseItem } from '@woocommerce/types'; +import type { ProductResponseItem } from '@woocommerce/types'; /** * Internal dependencies diff --git a/assets/js/types/type-defs/payment-method-interface.ts b/assets/js/types/type-defs/payment-method-interface.ts index 84dd7ef4c49..b711c1552b0 100644 --- a/assets/js/types/type-defs/payment-method-interface.ts +++ b/assets/js/types/type-defs/payment-method-interface.ts @@ -5,7 +5,7 @@ import type PaymentMethodLabel from '@woocommerce/base-components/cart-checkout/payment-method-label'; import type PaymentMethodIcons from '@woocommerce/base-components/cart-checkout/payment-method-icons'; import type LoadingMask from '@woocommerce/base-components/loading-mask'; -import { ValidationInputError } from '@woocommerce/blocks-checkout'; +import type { ValidationInputError } from '@woocommerce/blocks-checkout'; /** * Internal dependencies diff --git a/assets/js/types/type-defs/payments.ts b/assets/js/types/type-defs/payments.ts index 814ee419e3c..fd9be00562b 100644 --- a/assets/js/types/type-defs/payments.ts +++ b/assets/js/types/type-defs/payments.ts @@ -7,7 +7,7 @@ import type { ReactNode } from 'react'; * Internal dependencies */ import type { CartTotals, Cart } from './cart'; -import { +import type { CartResponseBillingAddress, CartResponseShippingAddress, } from './cart-response'; diff --git a/assets/js/types/type-defs/product-response.ts b/assets/js/types/type-defs/product-response.ts index f19d0e1df7b..7746e2f6ca1 100644 --- a/assets/js/types/type-defs/product-response.ts +++ b/assets/js/types/type-defs/product-response.ts @@ -1,7 +1,7 @@ /** * Internal dependencies */ -import { CurrencyResponse } from './currency'; +import type { CurrencyResponse } from './currency'; export interface ProductResponseItemPrices extends CurrencyResponse { price: string; diff --git a/assets/js/types/type-guards/attributes.ts b/assets/js/types/type-guards/attributes.ts index c9ed9e3454b..3906d1c1592 100644 --- a/assets/js/types/type-guards/attributes.ts +++ b/assets/js/types/type-guards/attributes.ts @@ -1,7 +1,7 @@ /** * Internal dependencies */ -import { AttributeTerm, AttributeQuery } from '../type-defs'; +import type { AttributeTerm, AttributeQuery } from '../type-defs'; import { objectHasProp } from './object'; export const isAttributeTerm = ( term: unknown ): term is AttributeTerm => { diff --git a/assets/js/types/type-guards/cart-response-totals.ts b/assets/js/types/type-guards/cart-response-totals.ts index faa2ac3ad69..c7764ceff3b 100644 --- a/assets/js/types/type-guards/cart-response-totals.ts +++ b/assets/js/types/type-guards/cart-response-totals.ts @@ -1,7 +1,7 @@ /** * Internal dependencies */ -import { CartResponseTotals } from '../type-defs'; +import type { CartResponseTotals } from '../type-defs'; import { isObject } from './object'; // It is the only way to create a type that contains all the object's keys and gets type-checking. diff --git a/assets/js/utils/global-style.js b/assets/js/utils/global-style.js deleted file mode 100644 index 0a05b0378bd..00000000000 --- a/assets/js/utils/global-style.js +++ /dev/null @@ -1,8 +0,0 @@ -/* eslint-disable @wordpress/no-unsafe-wp-apis */ -/** - * External dependencies - */ -import { __experimentalGetSpacingClassesAndStyles } from '@wordpress/block-editor'; - -export const hasSpacingStyleSupport = () => - typeof __experimentalGetSpacingClassesAndStyles === 'function'; diff --git a/assets/js/utils/index.ts b/assets/js/utils/index.ts index 3b398bf58f3..5a9042e0749 100644 --- a/assets/js/utils/index.ts +++ b/assets/js/utils/index.ts @@ -1,7 +1,6 @@ export * from './attributes-query'; export * from './attributes'; export * from './filters'; -export * from './global-style'; export * from './notices'; export * from './products'; export * from './shared-attributes'; From 641b83fdd1abd6d5a783e891ae16720db45e8fef Mon Sep 17 00:00:00 2001 From: kmanijak Date: Thu, 12 Jan 2023 08:34:45 +0100 Subject: [PATCH 14/19] Order blocks alphabetically in webpack-entries and BlockTypesController (#8109) * Order blocks in webpack-entries alphabetically * Order blocks in BlockTypesController.php alphabetically --- bin/webpack-entries.js | 68 ++++++++++++++++++------------------ src/BlockTypesController.php | 44 +++++++++++------------ 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/bin/webpack-entries.js b/bin/webpack-entries.js index 40e30c2cd12..a1ee686e060 100644 --- a/bin/webpack-entries.js +++ b/bin/webpack-entries.js @@ -12,57 +12,57 @@ const glob = require( 'glob' ); // If a block is experimental, it should be marked with the `isExperimental` // property. const blocks = { - 'handpicked-products': {}, - 'product-best-sellers': {}, - 'product-category': {}, - 'product-categories': {}, - 'product-new': {}, - 'product-on-sale': {}, - 'product-top-rated': {}, - 'products-by-attribute': {}, - 'featured-product': { - customDir: 'featured-items/featured-product', + 'active-filters': {}, + 'all-products': { + customDir: 'products/all-products', }, 'all-reviews': { customDir: 'reviews/all-reviews', }, - 'reviews-by-product': { - customDir: 'reviews/reviews-by-product', - }, - 'reviews-by-category': { - customDir: 'reviews/reviews-by-category', - }, - 'product-search': {}, - 'product-tag': {}, + 'attribute-filter': {}, + cart: {}, + checkout: {}, + 'customer-account': {}, 'featured-category': { customDir: 'featured-items/featured-category', }, - 'all-products': { - customDir: 'products/all-products', + 'featured-product': { + customDir: 'featured-items/featured-product', + }, + 'filter-wrapper': {}, + 'handpicked-products': {}, + // We need to keep the legacy-template id, so we need to add a custom config to point to the renamed classic-template folder + 'legacy-template': { + customDir: 'classic-template', }, - 'price-filter': {}, - 'attribute-filter': {}, - 'stock-filter': {}, - 'active-filters': {}, - 'rating-filter': {}, - cart: {}, - checkout: {}, 'mini-cart': {}, 'mini-cart-contents': { customDir: 'mini-cart/mini-cart-contents', }, - 'single-product': { + 'price-filter': {}, + 'product-best-sellers': {}, + 'product-category': {}, + 'product-categories': {}, + 'product-new': {}, + 'product-on-sale': {}, + 'product-query': { isExperimental: true, }, - // We need to keep the legacy-template id, so we need to add a custom config to point to the renamed classic-template folder - 'legacy-template': { - customDir: 'classic-template', + 'product-search': {}, + 'product-tag': {}, + 'product-top-rated': {}, + 'products-by-attribute': {}, + 'rating-filter': {}, + 'reviews-by-category': { + customDir: 'reviews/reviews-by-category', }, - 'product-query': { + 'reviews-by-product': { + customDir: 'reviews/reviews-by-product', + }, + 'single-product': { isExperimental: true, }, - 'filter-wrapper': {}, - 'customer-account': {}, + 'stock-filter': {}, }; // Returns the entries for each block given a relative path (ie: `index.js`, diff --git a/src/BlockTypesController.php b/src/BlockTypesController.php index 615f5894823..0814208ad89 100644 --- a/src/BlockTypesController.php +++ b/src/BlockTypesController.php @@ -164,45 +164,45 @@ protected function get_block_types() { global $pagenow; $block_types = [ + 'ActiveFilters', + 'AllProducts', 'AllReviews', + 'AttributeFilter', + 'ClassicTemplate', + 'CustomerAccount', 'FeaturedCategory', 'FeaturedProduct', + 'FilterWrapper', 'HandpickedProducts', - 'ProductBestSellers', - 'ProductCategories', - 'ProductCategory', - 'ProductNew', - 'ProductOnSale', - 'ProductsByAttribute', - 'ProductTopRated', - 'ReviewsByProduct', - 'ReviewsByCategory', - 'ProductSearch', - 'ProductTag', - 'AllProducts', + 'MiniCart', + 'MiniCartContents', 'PriceFilter', - 'AttributeFilter', - 'StockFilter', - 'RatingFilter', - 'ActiveFilters', - 'ClassicTemplate', 'ProductAddToCart', + 'ProductBestSellers', 'ProductButton', + 'ProductCategories', + 'ProductCategory', 'ProductCategoryList', 'ProductImage', + 'ProductNew', + 'ProductOnSale', 'ProductPrice', + 'ProductQuery', 'ProductRating', 'ProductSaleBadge', + 'ProductSearch', 'ProductSKU', 'ProductStockIndicator', 'ProductSummary', + 'ProductTag', 'ProductTagList', 'ProductTitle', - 'MiniCart', - 'MiniCartContents', - 'ProductQuery', - 'FilterWrapper', - 'CustomerAccount', + 'ProductTopRated', + 'ProductsByAttribute', + 'RatingFilter', + 'ReviewsByCategory', + 'ReviewsByProduct', + 'StockFilter', ]; $block_types = array_merge( $block_types, Cart::get_cart_block_types(), Checkout::get_checkout_block_types() ); From e3c2dbdd6844d6e460271c9a945f0688304f1e40 Mon Sep 17 00:00:00 2001 From: Daniel Dudzic Date: Thu, 12 Jan 2023 12:39:01 +0100 Subject: [PATCH 15/19] Product Elements [Variations]: Change block icon colors to match the core blocks. Fixes #8084 (#8155) --- .../product-query/variations/elements/product-summary.tsx | 5 +++-- .../product-query/variations/elements/product-title.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/assets/js/blocks/product-query/variations/elements/product-summary.tsx b/assets/js/blocks/product-query/variations/elements/product-summary.tsx index b4b22d7c4da..69e0f33f775 100644 --- a/assets/js/blocks/product-query/variations/elements/product-summary.tsx +++ b/assets/js/blocks/product-query/variations/elements/product-summary.tsx @@ -2,11 +2,12 @@ * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; +import { Icon } from '@wordpress/components'; import { BLOCK_DESCRIPTION, - BLOCK_ICON, BLOCK_TITLE, } from '@woocommerce/atomic-blocks/product-elements/summary/constants'; +import { page } from '@wordpress/icons'; /** * Internal dependencies @@ -19,7 +20,7 @@ export const VARIATION_NAME = 'woocommerce/product-query/product-summary'; if ( isFeaturePluginBuild() ) { registerElementVariation( CORE_NAME, { blockDescription: BLOCK_DESCRIPTION, - blockIcon: BLOCK_ICON, + blockIcon: , blockTitle: BLOCK_TITLE, variationName: VARIATION_NAME, } ); diff --git a/assets/js/blocks/product-query/variations/elements/product-title.tsx b/assets/js/blocks/product-query/variations/elements/product-title.tsx index cbb6ebbc5c0..98e16e4e725 100644 --- a/assets/js/blocks/product-query/variations/elements/product-title.tsx +++ b/assets/js/blocks/product-query/variations/elements/product-title.tsx @@ -2,11 +2,12 @@ * External dependencies */ import { isFeaturePluginBuild } from '@woocommerce/block-settings'; +import { Icon } from '@wordpress/components'; import { BLOCK_DESCRIPTION, - BLOCK_ICON, BLOCK_TITLE, } from '@woocommerce/atomic-blocks/product-elements/title/constants'; +import { heading } from '@wordpress/icons'; /** * Internal dependencies @@ -19,7 +20,7 @@ export const VARIATION_NAME = 'woocommerce/product-query/product-title'; if ( isFeaturePluginBuild() ) { registerElementVariation( CORE_NAME, { blockDescription: BLOCK_DESCRIPTION, - blockIcon: BLOCK_ICON, + blockIcon: , blockTitle: BLOCK_TITLE, variationName: VARIATION_NAME, } ); From 1cab6f25fae75d23266aa2b27dacc5893f722345 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Jan 2023 12:39:37 +0100 Subject: [PATCH 16/19] Bump @wordpress/babel-preset-default from 6.14.0 to 7.8.0 (#8113) Bumps [@wordpress/babel-preset-default](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default) from 6.14.0 to 7.8.0. - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/babel-preset-default/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/babel-preset-default@7.8.0/packages/babel-preset-default) --- updated-dependencies: - dependency-name: "@wordpress/babel-preset-default" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kmanijak --- package-lock.json | 478 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 454 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index cc603e3e6b4..7ccbae032e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -85,7 +85,7 @@ "@woocommerce/eslint-plugin": "2.2.0", "@woocommerce/woocommerce-rest-api": "1.0.1", "@wordpress/api-fetch": "6.21.0", - "@wordpress/babel-preset-default": "6.14.0", + "@wordpress/babel-preset-default": "7.8.0", "@wordpress/base-styles": "4.14.0", "@wordpress/block-editor": "8.2.0", "@wordpress/blocks": "11.1.5", @@ -12890,9 +12890,10 @@ } }, "node_modules/@wordpress/babel-preset-default": { - "version": "6.14.0", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.8.0.tgz", + "integrity": "sha512-phaMgxfJic1t1FS0qfUk+xkg/07/l1FGOxbsmqMmiNp82mwSYMnAaYX8wWLynaBgR6baRskFaXGLpzD1s0fuZA==", "dev": true, - "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-transform-react-jsx": "^7.16.0", @@ -12900,25 +12901,192 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-typescript": "^7.16.0", "@babel/runtime": "^7.16.0", - "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", - "@wordpress/browserslist-config": "^4.1.2", - "@wordpress/element": "^4.10.0", - "@wordpress/warning": "^2.12.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^4.7.0", + "@wordpress/browserslist-config": "^5.7.0", + "@wordpress/element": "^5.1.0", + "@wordpress/warning": "^2.24.0", "browserslist": "^4.17.6", "core-js": "^3.19.1" }, "engines": { - "node": ">=12" + "node": ">=14" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/@wordpress/babel-plugin-import-jsx-pragma": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.7.0.tgz", + "integrity": "sha512-I5STe1MCM3z6yV8QyAZPAXe3ahJADAJJsQOYhO/6FEyhToWSMHFqIKRg4qhRQjSvt2dkyL8gqg2cIcjwvVvrcQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@babel/core": "^7.12.9" } }, "node_modules/@wordpress/babel-preset-default/node_modules/@wordpress/browserslist-config": { - "version": "4.1.3", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.7.0.tgz", + "integrity": "sha512-d0wx5DXjGsMDurijJe006lm4FFKjbj2mM9I3MoXR0HCzMy8xk5fl6ZY2574yx4pea+f/UTKfDBi8ArUvhsjGOA==", "dev": true, - "license": "GPL-2.0-or-later", + "engines": { + "node": ">=14" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/@wordpress/element": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.1.0.tgz", + "integrity": "sha512-Q7kfxl2W6Ht1sfhFYlbVR0tIxDppoCrzpAC+UCYcu3uvw+sXzcTbh/Y2+nl2SaZBxF28eAFottoD3ek1fFJUsg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.0", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", + "@wordpress/escape-html": "^2.24.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, "engines": { "node": ">=12" } }, + "node_modules/@wordpress/babel-preset-default/node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/@wordpress/babel-preset-default/node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/@wordpress/base-styles": { "version": "4.14.0", "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-4.14.0.tgz", @@ -15580,9 +15748,9 @@ } }, "node_modules/@wordpress/escape-html": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.23.0.tgz", - "integrity": "sha512-QmMGJVEoVu3+s46Ya7saYZI8D1jPOKN18eFJX21y59/99tAVvmcWWz0k0uTO5bciDQ7R6ACm9AJS6RiZycODkg==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.24.0.tgz", + "integrity": "sha512-50EAQmgCVP3Q1i2C2ZVQ+DA1zpvCMrampd/9RrN+tH5QUOz6qW1Y8yqTLofiBQpSTt/oGtJqDnv/dsYie4TPyg==", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -15632,6 +15800,38 @@ } } }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/babel-preset-default": { + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.17.0.tgz", + "integrity": "sha512-mBB1KHWT2vN+maKIPYLQSxhhAzW6CNwYiJNRSNaNBALie9TULe7etrnwoZ1eqPVsuYvBlXB4XKcPaSm3/FW+qQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-transform-react-jsx": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/element": "^4.13.0", + "@wordpress/warning": "^2.15.0", + "browserslist": "^4.17.6", + "core-js": "^3.19.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/eslint-plugin/node_modules/@wordpress/browserslist-config": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-4.1.3.tgz", + "integrity": "sha512-M4WQ0C4zCfMWyCmK40git3rfPdNkRwg5boGjoTL4LSdhrY+rtchFAtfOHS9KovAZ5ZzTB0gyZsCu/QKZlPClog==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@wordpress/eslint-plugin/node_modules/globals": { "version": "13.13.0", "dev": true, @@ -16508,6 +16708,29 @@ } } }, + "node_modules/@wordpress/scripts/node_modules/@wordpress/babel-preset-default": { + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.17.0.tgz", + "integrity": "sha512-mBB1KHWT2vN+maKIPYLQSxhhAzW6CNwYiJNRSNaNBALie9TULe7etrnwoZ1eqPVsuYvBlXB4XKcPaSm3/FW+qQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-transform-react-jsx": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/element": "^4.13.0", + "@wordpress/warning": "^2.15.0", + "browserslist": "^4.17.6", + "core-js": "^3.19.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@wordpress/scripts/node_modules/@wordpress/browserslist-config": { "version": "4.1.3", "dev": true, @@ -17990,8 +18213,9 @@ } }, "node_modules/@wordpress/warning": { - "version": "2.14.0", - "license": "GPL-2.0-or-later", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.24.0.tgz", + "integrity": "sha512-z+sTG5Ml3SivJsV+YAYXYmsh54HLicA5pwzsCzjf852gOhfkaPKxfALvbb4ITx791asNowC8BFb4esIm49ZNQQ==", "engines": { "node": ">=12" } @@ -59095,7 +59319,9 @@ "requires": {} }, "@wordpress/babel-preset-default": { - "version": "6.14.0", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.8.0.tgz", + "integrity": "sha512-phaMgxfJic1t1FS0qfUk+xkg/07/l1FGOxbsmqMmiNp82mwSYMnAaYX8wWLynaBgR6baRskFaXGLpzD1s0fuZA==", "dev": true, "requires": { "@babel/core": "^7.16.0", @@ -59104,17 +59330,171 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-typescript": "^7.16.0", "@babel/runtime": "^7.16.0", - "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", - "@wordpress/browserslist-config": "^4.1.2", - "@wordpress/element": "^4.10.0", - "@wordpress/warning": "^2.12.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^4.7.0", + "@wordpress/browserslist-config": "^5.7.0", + "@wordpress/element": "^5.1.0", + "@wordpress/warning": "^2.24.0", "browserslist": "^4.17.6", "core-js": "^3.19.1" }, "dependencies": { + "@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@wordpress/babel-plugin-import-jsx-pragma": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.7.0.tgz", + "integrity": "sha512-I5STe1MCM3z6yV8QyAZPAXe3ahJADAJJsQOYhO/6FEyhToWSMHFqIKRg4qhRQjSvt2dkyL8gqg2cIcjwvVvrcQ==", + "dev": true, + "requires": {} + }, "@wordpress/browserslist-config": { - "version": "4.1.3", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.7.0.tgz", + "integrity": "sha512-d0wx5DXjGsMDurijJe006lm4FFKjbj2mM9I3MoXR0HCzMy8xk5fl6ZY2574yx4pea+f/UTKfDBi8ArUvhsjGOA==", "dev": true + }, + "@wordpress/element": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.1.0.tgz", + "integrity": "sha512-Q7kfxl2W6Ht1sfhFYlbVR0tIxDppoCrzpAC+UCYcu3uvw+sXzcTbh/Y2+nl2SaZBxF28eAFottoD3ek1fFJUsg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.16.0", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", + "@wordpress/escape-html": "^2.24.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, + "change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } } } }, @@ -60996,9 +61376,9 @@ } }, "@wordpress/escape-html": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.23.0.tgz", - "integrity": "sha512-QmMGJVEoVu3+s46Ya7saYZI8D1jPOKN18eFJX21y59/99tAVvmcWWz0k0uTO5bciDQ7R6ACm9AJS6RiZycODkg==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.24.0.tgz", + "integrity": "sha512-50EAQmgCVP3Q1i2C2ZVQ+DA1zpvCMrampd/9RrN+tH5QUOz6qW1Y8yqTLofiBQpSTt/oGtJqDnv/dsYie4TPyg==", "requires": { "@babel/runtime": "^7.16.0" } @@ -61026,6 +61406,32 @@ "requireindex": "^1.2.0" }, "dependencies": { + "@wordpress/babel-preset-default": { + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.17.0.tgz", + "integrity": "sha512-mBB1KHWT2vN+maKIPYLQSxhhAzW6CNwYiJNRSNaNBALie9TULe7etrnwoZ1eqPVsuYvBlXB4XKcPaSm3/FW+qQ==", + "dev": true, + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-transform-react-jsx": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/element": "^4.13.0", + "@wordpress/warning": "^2.15.0", + "browserslist": "^4.17.6", + "core-js": "^3.19.1" + } + }, + "@wordpress/browserslist-config": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-4.1.3.tgz", + "integrity": "sha512-M4WQ0C4zCfMWyCmK40git3rfPdNkRwg5boGjoTL4LSdhrY+rtchFAtfOHS9KovAZ5ZzTB0gyZsCu/QKZlPClog==", + "dev": true + }, "globals": { "version": "13.13.0", "dev": true, @@ -61663,6 +62069,26 @@ "dev": true, "requires": {} }, + "@wordpress/babel-preset-default": { + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-6.17.0.tgz", + "integrity": "sha512-mBB1KHWT2vN+maKIPYLQSxhhAzW6CNwYiJNRSNaNBALie9TULe7etrnwoZ1eqPVsuYvBlXB4XKcPaSm3/FW+qQ==", + "dev": true, + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-transform-react-jsx": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^3.2.0", + "@wordpress/browserslist-config": "^4.1.2", + "@wordpress/element": "^4.13.0", + "@wordpress/warning": "^2.15.0", + "browserslist": "^4.17.6", + "core-js": "^3.19.1" + } + }, "@wordpress/browserslist-config": { "version": "4.1.3", "dev": true @@ -62593,7 +63019,9 @@ } }, "@wordpress/warning": { - "version": "2.14.0" + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.24.0.tgz", + "integrity": "sha512-z+sTG5Ml3SivJsV+YAYXYmsh54HLicA5pwzsCzjf852gOhfkaPKxfALvbb4ITx791asNowC8BFb4esIm49ZNQQ==" }, "@wordpress/wordcount": { "version": "3.13.0", diff --git a/package.json b/package.json index fb79be3409a..02f2035e59d 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "@woocommerce/eslint-plugin": "2.2.0", "@woocommerce/woocommerce-rest-api": "1.0.1", "@wordpress/api-fetch": "6.21.0", - "@wordpress/babel-preset-default": "6.14.0", + "@wordpress/babel-preset-default": "7.8.0", "@wordpress/base-styles": "4.14.0", "@wordpress/block-editor": "8.2.0", "@wordpress/blocks": "11.1.5", From f6cf00e10b98d5514d7ce84cd1f743af057d0c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Juh=C3=A9=20Lluveras?= Date: Thu, 12 Jan 2023 12:57:53 +0100 Subject: [PATCH 17/19] Update minimum PHP required version to 7.2 (#8154) --- phpcs.xml | 2 +- readme.txt | 4 ++-- woocommerce-gutenberg-products-block.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/phpcs.xml b/phpcs.xml index 23c196507f2..9e07ff8366d 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -9,7 +9,7 @@ - + diff --git a/readme.txt b/readme.txt index 3faaa5cab36..0c7fcd218ee 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: automattic, woocommerce, claudiulodro, tiagonoronha, jameskoster, Tags: gutenberg, woocommerce, woo commerce, products, blocks, woocommerce blocks Requires at least: 6.1.1 Tested up to: 6.1.1 -Requires PHP: 7.0 +Requires PHP: 7.2 Stable tag: 9.4.0-dev License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html @@ -49,7 +49,7 @@ Use this plugin if you want access to the bleeding edge of available blocks for = Minimum Requirements = * Latest release versions of WordPress and WooCommerce ([read more here](https://developer.woocommerce.com/?p=9998)) -* PHP version 7.0 or greater (PHP 7.4 or greater is recommended) +* PHP version 7.2 or greater (PHP 7.4 or greater is recommended) * MySQL version 5.6 or greater Visit the [WooCommerce server requirements documentation](https://docs.woocommerce.com/document/server-requirements/) for a detailed list of server requirements. diff --git a/woocommerce-gutenberg-products-block.php b/woocommerce-gutenberg-products-block.php index a2d97a399c1..d6c179c044f 100644 --- a/woocommerce-gutenberg-products-block.php +++ b/woocommerce-gutenberg-products-block.php @@ -8,7 +8,7 @@ * Author URI: https://woocommerce.com * Text Domain: woo-gutenberg-products-block * Requires at least: 6.1.1 - * Requires PHP: 7.0 + * Requires PHP: 7.2 * WC requires at least: 7.1 * WC tested up to: 7.2 * From 4d3080b4a38c03a549b4d42c4622829fe660b421 Mon Sep 17 00:00:00 2001 From: Tarun Vijwani Date: Thu, 12 Jan 2023 16:16:32 +0400 Subject: [PATCH 18/19] Convert tabs component to TypeScript (#7865) * Convert tabs component to TypeScript * Add tabs component story * Add desciptions in comments to the Tab props * Rename and export tabs component to display descriptions in Storybook Renamed Tabs component to __Tabs as a sign it should not be used directly. Since we were using withInstanceId as the default export and were not exporting the Tabs component, Storybook could not retrieve the description and default values. We have renamed and exported the component to make sure Storybook can pick up the descriptions and default values. * Rename exported Tabs component Changed the exported Tabs component from __Tabs to __TabsWithoutInstanceId to make it more descriptive. --- .../components/tabs/{index.js => index.tsx} | 49 +++++++++++++++-- .../js/base/components/tabs/stories/index.tsx | 54 +++++++++++++++++++ 2 files changed, 100 insertions(+), 3 deletions(-) rename assets/js/base/components/tabs/{index.js => index.tsx} (67%) create mode 100644 assets/js/base/components/tabs/stories/index.tsx diff --git a/assets/js/base/components/tabs/index.js b/assets/js/base/components/tabs/index.tsx similarity index 67% rename from assets/js/base/components/tabs/index.js rename to assets/js/base/components/tabs/index.tsx index 61bfcf7eb73..e70e6e3e8a0 100644 --- a/assets/js/base/components/tabs/index.js +++ b/assets/js/base/components/tabs/index.tsx @@ -10,7 +10,50 @@ import { useTabState, Tab, TabList, TabPanel } from 'reakit/Tab'; */ import './style.scss'; -const Tabs = ( { +export interface TabsProps { + /** + * Component wrapper classname + */ + className?: string; + /** + * Event handler triggered when a tab is selected + */ + onSelect?: ( tabName: string ) => void; + /** + * Array of tab objects + */ + tabs: Array< { + name: string; + title: string; + content: JSX.Element; + ariaLabel?: string; + } >; + /** + * Classname to be applied to the active tab + */ + activeClass?: string; + /** + * Name of the tab to be selected by default + */ + initialTabName?: string | undefined; + /** + * Aria label for the tablist + */ + ariaLabel?: string; + /** + * Instance ID for the component + */ + instanceId: number; + /** + * ID for the component + */ + id?: string; +} + +/** + * Exporting the component for Storybook. Use the default export instead. + */ +export const __TabsWithoutInstanceId = ( { className, onSelect = () => null, tabs, @@ -19,7 +62,7 @@ const Tabs = ( { ariaLabel = __( 'Tabbed Content', 'woo-gutenberg-products-block' ), instanceId, id, -} ) => { +}: TabsProps ): JSX.Element | null => { const initialTab = initialTabName ? { selectedId: `${ instanceId }-${ initialTabName }` } : undefined; @@ -77,4 +120,4 @@ const Tabs = ( { ); }; -export default withInstanceId( Tabs ); +export default withInstanceId( __TabsWithoutInstanceId ); diff --git a/assets/js/base/components/tabs/stories/index.tsx b/assets/js/base/components/tabs/stories/index.tsx new file mode 100644 index 00000000000..880c2c54230 --- /dev/null +++ b/assets/js/base/components/tabs/stories/index.tsx @@ -0,0 +1,54 @@ +/** + * External dependencies + */ +import type { Story, Meta } from '@storybook/react'; +import { useState } from '@wordpress/element'; + +/** + * Internal dependencies + */ +import { __TabsWithoutInstanceId as Tabs, TabsProps } from '..'; + +export default { + title: 'WooCommerce Blocks/@base-components/Tabs', + component: Tabs, + args: { + tabs: [ + { + name: 'firstTab', + title: 'First Tab', + content:
Content of the first tab
, + }, + { + name: 'secondTab', + title: 'Second Tab', + content:
Content of the second tab
, + }, + ], + initialTabName: 'firstTab', + }, + argTypes: { + initialTabName: { + control: { + type: 'select', + options: [ 'firstTab', 'secondTab' ], + }, + }, + }, +} as Meta< TabsProps >; + +const Template: Story< TabsProps > = ( args ) => { + const [ initialTab, setInitialTab ] = useState( args.initialTabName ); + + return ( + { + setInitialTab( newTabName ); + } } + { ...args } + /> + ); +}; + +export const Default = Template.bind( {} ); From b65df7d1fd2f31fd5d79e0f3b28d2d5398a90922 Mon Sep 17 00:00:00 2001 From: Thomas Roberts <5656702+opr@users.noreply.github.com> Date: Thu, 12 Jan 2023 12:44:26 +0000 Subject: [PATCH 19/19] Remove old cart notices before showing new ones (#7363) * Remove cart notices before showing new ones * bot: update checkstyle.xml * Update deps for useEffect * Remove outdated notices from mini cart * Add comment to note that this functionality is also present in mini cart Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../filled-cart-block/frontend.tsx | 32 ++++++++++++++++--- .../frontend.tsx | 30 +++++++++++++++-- checkstyle.xml | 3 ++ 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/assets/js/blocks/cart/inner-blocks/filled-cart-block/frontend.tsx b/assets/js/blocks/cart/inner-blocks/filled-cart-block/frontend.tsx index 03ef72c9e34..4dcf59c6cad 100644 --- a/assets/js/blocks/cart/inner-blocks/filled-cart-block/frontend.tsx +++ b/assets/js/blocks/cart/inner-blocks/filled-cart-block/frontend.tsx @@ -6,7 +6,7 @@ import { SidebarLayout } from '@woocommerce/base-components/sidebar-layout'; import { useStoreCart } from '@woocommerce/base-context/hooks'; import { useEffect } from '@wordpress/element'; import { decodeEntities } from '@wordpress/html-entities'; -import { useDispatch } from '@wordpress/data'; +import { useDispatch, useSelect } from '@wordpress/data'; /** * Internal dependencies @@ -22,10 +22,29 @@ const FrontendBlock = ( { } ): JSX.Element | null => { const { cartItems, cartIsLoading, cartItemErrors } = useStoreCart(); const { hasDarkControls } = useCartBlockContext(); - const { createErrorNotice } = useDispatch( 'core/notices' ); + const { createErrorNotice, removeNotice } = useDispatch( 'core/notices' ); + + /* + * The code for removing old notices is also present in the filled-mini-cart-contents-block/frontend.tsx file and + * will take care of removing outdated errors in the Mini Cart block. + */ + const currentlyDisplayedErrorNoticeCodes = useSelect( ( select ) => { + return select( 'core/notices' ) + .getNotices( 'wc/cart' ) + .filter( + ( notice ) => + notice.status === 'error' && notice.type === 'default' + ) + .map( ( notice ) => notice.id ); + } ); - // Ensures any cart errors listed in the API response get shown. useEffect( () => { + // Clear errors out of the store before adding the new ones from the response. + currentlyDisplayedErrorNoticeCodes.forEach( ( id ) => { + removeNotice( id, 'wc/cart' ); + } ); + + // Ensures any cart errors listed in the API response get shown. cartItemErrors.forEach( ( error ) => { createErrorNotice( decodeEntities( error.message ), { isDismissible: true, @@ -33,7 +52,12 @@ const FrontendBlock = ( { context: 'wc/cart', } ); } ); - }, [ createErrorNotice, cartItemErrors ] ); + }, [ + createErrorNotice, + cartItemErrors, + currentlyDisplayedErrorNoticeCodes, + removeNotice, + ] ); if ( cartIsLoading || cartItems.length >= 1 ) { return ( diff --git a/assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/filled-mini-cart-contents-block/frontend.tsx b/assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/filled-mini-cart-contents-block/frontend.tsx index 2b9b52dc92f..2434856fd18 100644 --- a/assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/filled-mini-cart-contents-block/frontend.tsx +++ b/assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/filled-mini-cart-contents-block/frontend.tsx @@ -4,7 +4,7 @@ import { StoreNoticesContainer } from '@woocommerce/blocks-checkout'; import { useStoreCart } from '@woocommerce/base-context/hooks'; -import { useDispatch } from '@wordpress/data'; +import { useDispatch, useSelect } from '@wordpress/data'; import { useEffect } from '@wordpress/element'; import { decodeEntities } from '@wordpress/html-entities'; @@ -19,10 +19,29 @@ const FilledMiniCartContentsBlock = ( { }: FilledMiniCartContentsBlockProps ): JSX.Element | null => { const { cartItems, cartItemErrors } = useStoreCart(); - const { createErrorNotice } = useDispatch( 'core/notices' ); + const { createErrorNotice, removeNotice } = useDispatch( 'core/notices' ); + + /* + * The code for removing old notices is also present in the filled-cart-block/frontend.tsx file and will take care + * of removing outdated errors in the Cart block. + */ + const currentlyDisplayedErrorNoticeCodes = useSelect( ( select ) => { + return select( 'core/notices' ) + .getNotices( 'wc/cart' ) + .filter( + ( notice ) => + notice.status === 'error' && notice.type === 'default' + ) + .map( ( notice ) => notice.id ); + } ); // Ensures any cart errors listed in the API response get shown. useEffect( () => { + // Clear errors out of the store before adding the new ones from the response. + currentlyDisplayedErrorNoticeCodes.forEach( ( id ) => { + removeNotice( id, 'wc/cart' ); + } ); + cartItemErrors.forEach( ( error ) => { createErrorNotice( decodeEntities( error.message ), { isDismissible: false, @@ -30,7 +49,12 @@ const FilledMiniCartContentsBlock = ( { context: 'wc/cart', } ); } ); - }, [ createErrorNotice, cartItemErrors ] ); + }, [ + createErrorNotice, + cartItemErrors, + currentlyDisplayedErrorNoticeCodes, + removeNotice, + ] ); if ( cartItems.length === 0 ) { return null; diff --git a/checkstyle.xml b/checkstyle.xml index 309aa9161dd..9374abadfea 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -2337,6 +2337,9 @@ Target requires 1 element(s) but source may have fewer." source="TS2322" /> + + +