diff --git a/packages/js/onboarding/changelog/dev-refactor-onboarding-profiler b/packages/js/onboarding/changelog/dev-refactor-onboarding-profiler new file mode 100644 index 00000000000..74bf9420a11 --- /dev/null +++ b/packages/js/onboarding/changelog/dev-refactor-onboarding-profiler @@ -0,0 +1,4 @@ +Significance: minor +Type: dev + +Refactored core profiler loader to be more generalizable and moved to @woocommerce/onboarding diff --git a/packages/js/onboarding/package.json b/packages/js/onboarding/package.json index 2ce5d3cdce4..3efbf46491c 100644 --- a/packages/js/onboarding/package.json +++ b/packages/js/onboarding/package.json @@ -36,13 +36,17 @@ "@wordpress/components": "wp-6.0", "@wordpress/element": "wp-6.0", "@wordpress/i18n": "wp-6.0", + "classnames": "^2.3.1", "gridicons": "^3.4.0", + "react": "^17.0.2", "string-similarity": "4.0.4" }, "devDependencies": { "@babel/core": "^7.17.5", + "@storybook/addon-knobs": "^7.0.2", "@testing-library/react": "^12.1.3", "@types/jest": "^27.4.1", + "@types/react": "^17.0.2", "@types/string-similarity": "4.0.0", "@types/wordpress__components": "^19.10.3", "@types/wordpress__data": "^6.0.0", diff --git a/packages/js/onboarding/src/components/Loader/Loader.scss b/packages/js/onboarding/src/components/Loader/Loader.scss new file mode 100644 index 00000000000..12da5abc57b --- /dev/null +++ b/packages/js/onboarding/src/components/Loader/Loader.scss @@ -0,0 +1,62 @@ +.woocommerce-onboarding-progress-bar__container { + height: 8px; + width: 100%; +} + +// Min width equal to height. This means small values look like each other, but all bars have a consistent radius. +.woocommerce-onboarding-progress-bar__filler { + height: 100%; + min-width: 8px; +} + +// Loader page +.woocommerce-onboarding-loader { + min-height: 100vh; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + background-color: white; + @include breakpoint( '<782px' ) { + padding: 0 20px; + } + + .woocommerce-onboarding-loader__title { + padding: 0; + margin: 58px 0 0 0; + font-size: 28px; + font-weight: 500; + @include breakpoint( '<782px' ) { + font-size: 20px; + } + } + .woocommerce-onboarding-loader-wrapper { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 520px; + } + .woocommerce-onboarding-progress-bar { + width: 520px; + margin: 16px 0 16px 0; + @include breakpoint( '<782px' ) { + width: 100%; + } + } + .woocommerce-onboarding-progress-bar__container { + height: 4px; + } + + .woocommerce-onboarding-loader__paragraph { + font-size: 16px; + line-height: 24px; + color: #2f2f2f; + opacity: 0.8; + text-align: center; + @include breakpoint( '<782px' ) { + font-size: 14px; + line-height: 20px; + } + } +} \ No newline at end of file diff --git a/packages/js/onboarding/src/components/Loader/Loader.tsx b/packages/js/onboarding/src/components/Loader/Loader.tsx new file mode 100644 index 00000000000..4b62590136a --- /dev/null +++ b/packages/js/onboarding/src/components/Loader/Loader.tsx @@ -0,0 +1,132 @@ +/** + * External dependencies + */ +import classNames from 'classnames'; +import { + useState, + useEffect, + Children, + createElement, + Fragment, +} from '@wordpress/element'; +import type { ReactNode } from 'react'; + +/** + * Internal dependencies + */ +import ProgressBar from './ProgressBar'; + +export const Loader = ( { + children, + className, +}: { + children: ReactNode; + className?: string; +} ) => { + return ( +
+ { children } +
+ ); +}; + +type withClassName = { + className?: string; +}; + +type withReactChildren = { + children: ReactNode; +}; + +Loader.Layout = ( { + children, + className, +}: withClassName & withReactChildren ) => { + return ( +
+ { children } +
+ ); +}; + +Loader.Illustration = ( { children }: withReactChildren ) => { + return <>{ children }; +}; + +Loader.Title = ( { + children, + className, +}: withClassName & withReactChildren ) => { + return ( +

+ { children } +

+ ); +}; + +Loader.ProgressBar = ( { + progress, + className, +}: { progress: number } & withClassName ) => { + return ( + + ); +}; + +Loader.Subtext = ( { + children, + className, +}: withReactChildren & withClassName ) => { + return ( +

+ { children } +

+ ); +}; + +const LoaderSequence = ( { + interval, + children, +}: { interval: number } & withReactChildren ) => { + const [ index, setIndex ] = useState( 0 ); + + useEffect( () => { + const rotateInterval = setInterval( () => { + setIndex( + ( prevIndex ) => ( prevIndex + 1 ) % Children.count( children ) + ); + }, interval ); + + return () => clearInterval( rotateInterval ); + }, [ interval, children ] ); + + const childToDisplay = Children.toArray( children )[ index ]; + return <>{ childToDisplay }; +}; + +Loader.Sequence = LoaderSequence; // eslint rule-of-hooks can't handle the compound component definition directly diff --git a/packages/js/onboarding/src/components/Loader/ProgressBar.tsx b/packages/js/onboarding/src/components/Loader/ProgressBar.tsx new file mode 100644 index 00000000000..7832294cff3 --- /dev/null +++ b/packages/js/onboarding/src/components/Loader/ProgressBar.tsx @@ -0,0 +1,48 @@ +/** + * External dependencies + */ +import { createElement, HTMLAttributes } from 'react'; + +type ProgressBarProps = { + /** Component classname */ + className?: string; + /** Progress percentage (0 to 100) */ + percent?: number; + /** Color of the progress bar */ + color?: string; + /** Background color of the progress container */ + bgcolor?: string; +}; + +const ProgressBar = ( { + className = '', + percent = 0, + color = '#674399', + bgcolor = 'var(--wp-admin-theme-color)', +}: ProgressBarProps ) => { + const containerStyles = { + backgroundColor: bgcolor, + }; + + const fillerStyles: HTMLAttributes< HTMLDivElement >[ 'style' ] = { + backgroundColor: color, + width: `${ percent }%`, + display: percent === 0 ? 'none' : 'inherit', + }; + + return ( +
+
+
+
+
+ ); +}; + +export default ProgressBar; diff --git a/packages/js/onboarding/src/components/Loader/index.ts b/packages/js/onboarding/src/components/Loader/index.ts new file mode 100644 index 00000000000..d7027885251 --- /dev/null +++ b/packages/js/onboarding/src/components/Loader/index.ts @@ -0,0 +1 @@ +export { Loader } from './Loader'; diff --git a/packages/js/onboarding/src/components/Loader/stories/index.tsx b/packages/js/onboarding/src/components/Loader/stories/index.tsx new file mode 100644 index 00000000000..1e480f15ed8 --- /dev/null +++ b/packages/js/onboarding/src/components/Loader/stories/index.tsx @@ -0,0 +1,78 @@ +/** + * External dependencies + */ +import React, { createElement } from 'react'; + +/** + * Internal dependencies + */ +import { Loader } from '../'; + +/** Simple straightforward example of how to use the compound component */ +export const ExampleSimpleLoader = () => ( + + + + a cute kitteh + + Very Impressive Title + + + Message 1 + Message 2 + Message 3 + + + +); + +/** component story with controls */ +const Template = ( { progress, title, messages } ) => ( + + + + a cute kitteh + + { title } + + + { messages.map( ( message, index ) => ( + { message } + ) ) } + + + +); + +export const ExampleLoaderWithControls = Template.bind( {} ); +ExampleLoaderWithControls.args = { + title: 'Very Impressive Title', + progress: 30, + messages: [ 'Message 1', 'Message 2', 'Message 3' ], +}; + +export default { + title: 'WooCommerce Admin/Onboarding/Loader', + component: ExampleLoaderWithControls, + argTypes: { + title: { + control: 'text', + }, + progress: { + control: { + type: 'range', + min: 0, + max: 100, + }, + }, + messages: { + control: 'object', + }, + }, +}; diff --git a/packages/js/onboarding/src/index.ts b/packages/js/onboarding/src/index.ts index e0c973a7e83..cc868b1b1fc 100644 --- a/packages/js/onboarding/src/index.ts +++ b/packages/js/onboarding/src/index.ts @@ -16,3 +16,4 @@ export { WooOnboardingTaskListItem } from './components/WooOnboardingTaskListIte export { WooOnboardingTaskListHeader } from './components/WooOnboardingTaskListHeader'; export { WooOnboardingTask } from './components/WooOnboardingTask'; export * from './utils/countries'; +export { Loader } from './components/Loader'; diff --git a/packages/js/onboarding/src/style.scss b/packages/js/onboarding/src/style.scss index 358f3c4aef9..567ef9d1c2a 100644 --- a/packages/js/onboarding/src/style.scss +++ b/packages/js/onboarding/src/style.scss @@ -2,3 +2,4 @@ @import 'components/WCPayBanner/WCPayBanner.scss'; @import 'components/WCPayBenefits/WCPayBenefits.scss'; @import 'components/RecommendedRibbon/RecommendedRibbon.scss'; +@import 'components/Loader/Loader.scss'; diff --git a/plugins/woocommerce-admin/client/core-profiler/components/loader/Loader.tsx b/plugins/woocommerce-admin/client/core-profiler/components/loader/Loader.tsx new file mode 100644 index 00000000000..b95ecd7dceb --- /dev/null +++ b/plugins/woocommerce-admin/client/core-profiler/components/loader/Loader.tsx @@ -0,0 +1,62 @@ +/** + * External dependencies + */ +import React from 'react'; +import { Loader } from '@woocommerce/onboarding'; +/** + * Internal dependencies + */ +import { CoreProfilerStateMachineContext } from '../..'; +import { getLoaderStageMeta } from '../../utils/get-loader-stage-meta'; + +import './loader.scss'; + +export type Stage = { + title: string; + image?: string | JSX.Element; + paragraphs: Array< { + label: string; + text: string; + duration?: number; + element?: JSX.Element; + } >; +}; + +export type Stages = Array< Stage >; +export type LoaderContextProps = Pick< + CoreProfilerStateMachineContext, + 'loader' +>; + +export const CoreProfilerLoader = ( { + context, +}: { + context: LoaderContextProps; +} ) => { + const stages = getLoaderStageMeta( context.loader.useStages ?? 'default' ); + const currentStage = stages[ context.loader.stageIndex ?? 0 ]; + + return ( + + + + { currentStage.image } + + + { currentStage.title } + + + { currentStage.paragraphs.map( ( paragraph, index ) => ( + + { paragraph?.label } + { paragraph?.text } + { paragraph?.element } + + ) ) } + + + + ); +}; diff --git a/plugins/woocommerce-admin/client/core-profiler/components/loader/loader.scss b/plugins/woocommerce-admin/client/core-profiler/components/loader/loader.scss new file mode 100644 index 00000000000..f86b218f1e2 --- /dev/null +++ b/plugins/woocommerce-admin/client/core-profiler/components/loader/loader.scss @@ -0,0 +1,8 @@ +// Loader page +.woocommerce-onboarding-loader { + .loader-hearticon { + position: relative; + top: 2px; + left: 2px; + } +} diff --git a/plugins/woocommerce-admin/client/core-profiler/index.tsx b/plugins/woocommerce-admin/client/core-profiler/index.tsx index a9843f60d5f..e80e99e09e9 100644 --- a/plugins/woocommerce-admin/client/core-profiler/index.tsx +++ b/plugins/woocommerce-admin/client/core-profiler/index.tsx @@ -53,7 +53,7 @@ import { } from './pages/BusinessInfo'; import { BusinessLocation } from './pages/BusinessLocation'; import { getCountryStateOptions } from './services/country'; -import { Loader } from './pages/Loader'; +import { CoreProfilerLoader } from './components/loader/Loader'; import { Plugins } from './pages/Plugins'; import { getPluginSlug, useFullScreen } from '~/utils'; import './style.scss'; @@ -1123,7 +1123,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { }, }, meta: { - component: Loader, + component: CoreProfilerLoader, }, }, }, @@ -1188,7 +1188,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { ], }, meta: { - component: Loader, + component: CoreProfilerLoader, }, }, plugins: { @@ -1250,7 +1250,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { ], }, meta: { - component: Loader, + component: CoreProfilerLoader, progress: 100, }, }, @@ -1272,7 +1272,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { ], }, meta: { - component: Loader, + component: CoreProfilerLoader, progress: 100, }, }, @@ -1303,7 +1303,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { }, }, meta: { - component: Loader, + component: CoreProfilerLoader, progress: 100, }, }, @@ -1398,7 +1398,7 @@ export const coreProfilerStateMachineDefinition = createMachine( { }, }, meta: { - component: Loader, + component: CoreProfilerLoader, }, }, }, diff --git a/plugins/woocommerce-admin/client/core-profiler/pages/Loader.tsx b/plugins/woocommerce-admin/client/core-profiler/pages/Loader.tsx deleted file mode 100644 index 312869fd3fd..00000000000 --- a/plugins/woocommerce-admin/client/core-profiler/pages/Loader.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/** - * External dependencies - */ -import classNames from 'classnames'; -import { useState, useEffect } from '@wordpress/element'; -/** - * Internal dependencies - */ -import { CoreProfilerStateMachineContext } from '..'; -import ProgressBar from '../components/progress-bar/progress-bar'; -import { getLoaderStageMeta } from '../utils/get-loader-stage-meta'; - -export type Stage = { - title: string; - image?: string | JSX.Element; - paragraphs: Array< { - label: string; - text: string; - duration?: number; - element?: JSX.Element; - } >; -}; - -export type Stages = Array< Stage >; -export type LoaderContextProps = Pick< - CoreProfilerStateMachineContext, - 'loader' ->; - -export const Loader = ( { context }: { context: LoaderContextProps } ) => { - const stages = getLoaderStageMeta( context.loader.useStages ?? 'default' ); - const currentStage = stages[ context.loader.stageIndex ?? 0 ]; - const [ currentParagraph, setCurrentParagraph ] = useState( 0 ); - - useEffect( () => { - const interval = setInterval( () => { - setCurrentParagraph( ( _currentParagraph ) => - currentStage.paragraphs[ _currentParagraph + 1 ] - ? _currentParagraph + 1 - : 0 - ); - }, currentStage.paragraphs[ currentParagraph ]?.duration ?? 3000 ); - - return () => clearInterval( interval ); - }, [ currentParagraph, currentStage.paragraphs ] ); - - return ( -
-
- { currentStage.image && currentStage.image } - -

- { currentStage.title } -

- -

- - { currentStage.paragraphs[ currentParagraph ]?.label }{ ' ' } - - { currentStage.paragraphs[ currentParagraph ]?.text } - { currentStage.paragraphs[ currentParagraph ]?.element } -

-
-
- ); -}; diff --git a/plugins/woocommerce-admin/client/core-profiler/stories/Loader.tsx b/plugins/woocommerce-admin/client/core-profiler/stories/Loader.tsx index d12fb02adec..46de33c1c81 100644 --- a/plugins/woocommerce-admin/client/core-profiler/stories/Loader.tsx +++ b/plugins/woocommerce-admin/client/core-profiler/stories/Loader.tsx @@ -1,23 +1,25 @@ /** * Internal dependencies */ -import { Loader } from '../pages/Loader'; +import { CoreProfilerLoader } from '../components/loader/Loader'; import { WithSetupWizardLayout } from './WithSetupWizardLayout'; import '../style.scss'; export const Short = () => ( - ); export const Plugins = () => ( - + ); export default { title: 'WooCommerce Admin/Application/Core Profiler/Loader', - component: Loader, + component: CoreProfilerLoader, decorators: [ WithSetupWizardLayout ], }; diff --git a/plugins/woocommerce-admin/client/core-profiler/style.scss b/plugins/woocommerce-admin/client/core-profiler/style.scss index 85de10bc0f8..59bff6ff47e 100644 --- a/plugins/woocommerce-admin/client/core-profiler/style.scss +++ b/plugins/woocommerce-admin/client/core-profiler/style.scss @@ -273,63 +273,6 @@ } } -// Loader page -.woocommerce-profiler-loader { - min-height: 100vh; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - @include breakpoint( '<782px' ) { - padding: 0 20px; - } - - .loader-hearticon { - position: relative; - top: 2px; - left: 2px; - } - - h1 { - padding: 0; - margin: 58px 0 0 0; - font-size: 28px; - font-weight: 500; - @include breakpoint( '<782px' ) { - font-size: 20px; - } - } - .woocommerce-profiler-loader-wrapper { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - max-width: 520px; - } - .woocommerce-profiler-progress-bar { - width: 520px; - margin: 16px 0 16px 0; - @include breakpoint( '<782px' ) { - width: 100%; - } - } - .woocommerce-profiler-progress-bar__container { - height: 4px; - } - - .woocommerce-profiler-loader__paragraph { - font-size: 16px; - line-height: 24px; - color: #2f2f2f; - opacity: 0.8; - text-align: center; - @include breakpoint( '<782px' ) { - font-size: 14px; - line-height: 20px; - } - } -} - // User profile page .woocommerce-profiler-user-profile { .woocommerce-profiler-user-profile__content { diff --git a/plugins/woocommerce-admin/client/core-profiler/utils/get-loader-stage-meta.tsx b/plugins/woocommerce-admin/client/core-profiler/utils/get-loader-stage-meta.tsx index d312814bc3f..996d4c22f96 100644 --- a/plugins/woocommerce-admin/client/core-profiler/utils/get-loader-stage-meta.tsx +++ b/plugins/woocommerce-admin/client/core-profiler/utils/get-loader-stage-meta.tsx @@ -12,7 +12,7 @@ import LayoutImage from '../assets/images/loader-layout.svg'; import OpeningTheDoorsImage from '../assets/images/loader-openingthedoors.svg'; import Hearticon from '../assets/images/loader-hearticon.svg'; -import { Stages } from '../pages/Loader'; +import { Stages } from '../components/loader/Loader'; const LightbulbStage = { title: __( 'Turning on the lights', 'woocommerce' ), diff --git a/plugins/woocommerce/changelog/dev-refactor-onboarding-profiler b/plugins/woocommerce/changelog/dev-refactor-onboarding-profiler new file mode 100644 index 00000000000..74bf9420a11 --- /dev/null +++ b/plugins/woocommerce/changelog/dev-refactor-onboarding-profiler @@ -0,0 +1,4 @@ +Significance: minor +Type: dev + +Refactored core profiler loader to be more generalizable and moved to @woocommerce/onboarding diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f628f5b68ca..d86492de136 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1883,7 +1883,7 @@ importers: version: 6.3.1 '@wordpress/components': specifier: wp-6.0 - version: 19.8.5(@babel/core@7.17.8)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) + version: 19.8.5(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) '@wordpress/compose': specifier: wp-6.0 version: 5.4.1(react@17.0.2) @@ -2081,16 +2081,22 @@ importers: version: link:../tracks '@wordpress/components': specifier: wp-6.0 - version: 19.8.5(@babel/core@7.17.8)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) + version: 19.8.5(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) '@wordpress/element': specifier: wp-6.0 version: 4.4.1 '@wordpress/i18n': specifier: wp-6.0 version: 4.6.1 + classnames: + specifier: ^2.3.1 + version: 2.3.1 gridicons: specifier: ^3.4.0 version: 3.4.0(react@17.0.2) + react: + specifier: ^17.0.2 + version: 17.0.2 string-similarity: specifier: 4.0.4 version: 4.0.4 @@ -2098,12 +2104,18 @@ importers: '@babel/core': specifier: ^7.17.5 version: 7.17.8 + '@storybook/addon-knobs': + specifier: ^7.0.2 + version: 7.0.2(@babel/core@7.17.8)(@storybook/addons@7.3.1)(@storybook/api@7.3.1)(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/theming@7.3.1)(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) '@testing-library/react': specifier: ^12.1.3 version: 12.1.4(react-dom@16.14.0)(react@17.0.2) '@types/jest': specifier: ^27.4.1 version: 27.4.1 + '@types/react': + specifier: ^17.0.2 + version: 17.0.50 '@types/string-similarity': specifier: 4.0.0 version: 4.0.0 @@ -11225,6 +11237,12 @@ packages: /@floating-ui/core@1.0.1: resolution: {integrity: sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==} + /@floating-ui/core@1.4.1: + resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} + dependencies: + '@floating-ui/utils': 0.1.1 + dev: true + /@floating-ui/dom@0.4.5: resolution: {integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==} dependencies: @@ -11236,6 +11254,13 @@ packages: dependencies: '@floating-ui/core': 1.0.1 + /@floating-ui/dom@1.5.1: + resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} + dependencies: + '@floating-ui/core': 1.4.1 + '@floating-ui/utils': 0.1.1 + dev: true + /@floating-ui/react-dom@0.6.3(@types/react@17.0.50)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} peerDependencies: @@ -11260,6 +11285,21 @@ packages: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) + /@floating-ui/react-dom@2.0.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 1.5.1 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@floating-ui/utils@0.1.1: + resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} + dev: true + /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true @@ -12587,6 +12627,10 @@ packages: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + /@juggle/resize-observer@3.4.0: + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + dev: true + /@kwsites/file-exists@1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} dependencies: @@ -13557,6 +13601,552 @@ packages: /@popperjs/core@2.11.4: resolution: {integrity: sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==} + /@radix-ui/number@1.0.1: + resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} + dependencies: + '@babel/runtime': 7.21.0 + dev: true + + /@radix-ui/primitive@1.0.1: + resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} + dependencies: + '@babel/runtime': 7.21.0 + dev: true + + /@radix-ui/react-arrow@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-collection@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-slot': 1.0.2(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-compose-refs@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-context@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-direction@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-dismissable-layer@1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-focus-guards@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-focus-scope@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-id@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-popper@1.1.2(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@floating-ui/react-dom': 2.0.1(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-arrow': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-rect': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-size': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/rect': 1.0.1 + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-portal@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-primitive@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-slot': 1.0.2(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-roving-focus@1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-direction': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-id': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-select@1.2.2(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-direction': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-focus-scope': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-id': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-popper': 1.1.2(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-portal': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-slot': 1.0.2(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-use-previous': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + aria-hidden: 1.2.3 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + react-remove-scroll: 2.5.5(@types/react@17.0.50)(react@17.0.2) + dev: true + + /@radix-ui/react-separator@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-slot@1.0.2(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-toggle-group@1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-direction': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-roving-focus': 1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-toggle': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-toggle@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-toolbar@1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-direction': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-roving-focus': 1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-separator': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-toggle-group': 1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-previous@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-rect@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/rect': 1.0.1 + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-use-size@1.0.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.50)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + + /@radix-ui/react-visually-hidden@1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@types/react': 17.0.50 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@radix-ui/rect@1.0.1: + resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} + dependencies: + '@babel/runtime': 7.21.0 + dev: true + /@react-native-community/cli-clean@9.1.0: resolution: {integrity: sha512-3HznNw8EBQtLsVyV8b8+h76M9EeJcJgYn5wZVGQ5mghAOhqnSWVbwRvpDdb8ITXaiTIXFGNOxXnGKMXsu0CYTw==} dependencies: @@ -14234,6 +14824,45 @@ packages: react-select: 3.2.0(react-dom@17.0.2)(react@17.0.2) dev: true + /@storybook/addon-knobs@7.0.2(@babel/core@7.17.8)(@storybook/addons@7.3.1)(@storybook/api@7.3.1)(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/theming@7.3.1)(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-PzKuscxcBPhA2jpDxJ/F+BvBRqHJ8qBki1kS1IOjmJbAfE96WFnweXZ73ImyAJnRtmtReCL6p0ZmFkrNDMDpUw==} + peerDependencies: + '@storybook/addons': ^7.0.0 + '@storybook/api': ^7.0.0 + '@storybook/components': ^7.0.0 + '@storybook/core-events': ^7.0.0 + '@storybook/theming': ^7.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + '@storybook/addons': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/api': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/components': 7.3.1(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@storybook/core-events': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@16.14.0)(react@17.0.2) + copy-to-clipboard: 3.3.3 + core-js: 3.29.1 + escape-html: 1.0.3 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + prop-types: 15.8.1 + qs: 6.11.2 + react: 17.0.2 + react-colorful: 5.6.1(react-dom@16.14.0)(react@17.0.2) + react-dom: 16.14.0(react@17.0.2) + react-lifecycles-compat: 3.0.4 + react-select: 5.7.4(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + dev: true + /@storybook/addon-links@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-PHJughP/Tur0QpRmHdmvYSSvUosBGiDdN2i1Xa5zxRLIrlO2vmiagwj0NMb1dfR74SpJbtMZbQM3xVhlDo3SlA==} peerDependencies: @@ -14336,6 +14965,19 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@storybook/addons@7.3.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-NebVJI/E2Lw7XP0deazSpN9B5HUtgVgIo2wbdyzJsOzKYAHO7IY1gkgvRyJ84Xn9iVoszEOPIw/P/t0WUqX6dg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/manager-api': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/preview-api': 7.3.1 + '@storybook/types': 7.3.1 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + /@storybook/api@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-sj5XQXyTTxKDSqNVBlOO1h2+v8NO4EB7/7kBLOD8jpU4r4UUCLrf6G9b54j7R9/dIyi2XvrKVlp95q3yRE3zmg==} peerDependencies: @@ -14363,6 +15005,23 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/api@7.3.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-QYXX9NWV+Ud1nWVX3Tfjkmxb1Vi1bRxmSXlfIo3HYqhPm4rOwDlpN6nso21Kz3QyON4Hm9XqgQA5qUIZU19bVg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + '@storybook/client-logger': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@16.14.0)(react@17.0.2) + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + /@storybook/builder-webpack4@6.5.17-alpha.0(acorn@7.4.1)(eslint@8.32.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.1.6)(webpack-cli@3.3.12): resolution: {integrity: sha512-WMZ2obdoAo0TIxQIknR6NzQhCsthom9mfy/eExUqPSksVF/ifgCNeyhOaZt3hYOv+DAFTyK4uZYVk7kyG90rMw==} peerDependencies: @@ -14526,6 +15185,17 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/channels@7.3.1: + resolution: {integrity: sha512-DHdUdwfnMOSmtYv55Ixysklo/ZeD3TiTEQvyBaxhnMR3G0j7nb+TxqyfAn4fb7bntOPRNVB1Vz3nZXkkjrPNgw==} + dependencies: + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/global': 5.0.0 + qs: 6.10.3 + telejson: 7.1.0 + tiny-invariant: 1.3.1 + dev: true + /@storybook/client-api@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-YLnKb3ieDkt1Qq0GiPoYyH4+Laa0DhnvsRBqDRhqS0y3orAt4xLpbucCIJzZFxs0jBXva0MNh1j6NpGDn6a0gA==} peerDependencies: @@ -14563,6 +15233,12 @@ packages: global: 4.4.0 dev: true + /@storybook/client-logger@7.3.1: + resolution: {integrity: sha512-VfKi8C5Z1hquaP6xtVn9ngKcnXZjHNV6+RAqLbUJyAoGeO8fFaMblYgbY+tF7Xyf3bZKMLBo4QqtegTh2QjdAA==} + dependencies: + '@storybook/global': 5.0.0 + dev: true + /@storybook/components@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-RTeRq0bPdphq3XO3zTCyLKX/AI4IJ+xEt79k3eGnY7m56gAlwEcNAq6oUw1UuXZYQos78/G+tjS+MxaDMB/y4w==} peerDependencies: @@ -14581,6 +15257,30 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/components@7.3.1(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-8dk3WutobHvjxweVzA9Vqrp564vWOTQaV38JSi84ME8wzOdl20Xne9LoeMnqPHXFhnVZdm/Gkosfv4tqkDy4aw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@radix-ui/react-select': 1.2.2(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@radix-ui/react-toolbar': 1.0.4(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2) + '@storybook/client-logger': 7.3.1 + '@storybook/csf': 0.1.1 + '@storybook/global': 5.0.0 + '@storybook/icons': 1.1.6(react-dom@16.14.0)(react@17.0.2) + '@storybook/theming': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/types': 7.3.1 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + use-resize-observer: 9.1.0(react-dom@16.14.0)(react@17.0.2) + util-deprecate: 1.0.2 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + dev: true + /@storybook/core-client@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2)(typescript@5.1.6)(webpack@4.46.0): resolution: {integrity: sha512-j4UqRv16EwavjFUbFnB1CTdkJf70/yzAZNs78OZuTeMHAbTD8AuKpVZ/MBniymll11AIYV0ue7Hr1cwxYuTWDA==} peerDependencies: @@ -14732,6 +15432,10 @@ packages: core-js: 3.29.1 dev: true + /@storybook/core-events@7.3.1: + resolution: {integrity: sha512-7Pkgwmj/9B7Z3NNSn2swnviBrg9L1VeYSFw6JJKxtQskt8QoY8LxAsPzVMlHjqRmO6sO7lHo9FgpzIFxdmFaAA==} + dev: true + /@storybook/core-server@6.5.17-alpha.0(@storybook/builder-webpack5@6.5.17-alpha.0)(@storybook/manager-webpack5@6.5.17-alpha.0)(acorn@7.4.1)(eslint@8.32.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.1.6): resolution: {integrity: sha512-LPuxhg1UBdW1/GtZxKok0vg1Ch1fxXPSgmV7/Mw/78zaHcoxev1h9VSm388IJUkdqXlNCLxQCDBUyfYpQMjH5Q==} peerDependencies: @@ -14998,6 +15702,12 @@ packages: lodash: 4.17.21 dev: true + /@storybook/csf@0.1.1: + resolution: {integrity: sha512-4hE3AlNVxR60Wc5KSC68ASYzUobjPqtSKyhV6G+ge0FIXU55N5nTY7dXGRZHQGDBPq+XqchMkIdlkHPRs8nTHg==} + dependencies: + type-fest: 2.19.0 + dev: true + /@storybook/docs-tools@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-zhRwBRytPZ2unWxQIZDhyiRZ9Bb0+WGO0eTC6wyq7VZioxCa47PxWTmbRPh5BGD/LygEVn9J2qL8ySZaf/bJAA==} dependencies: @@ -15014,6 +15724,46 @@ packages: - supports-color dev: true + /@storybook/global@5.0.0: + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + dev: true + + /@storybook/icons@1.1.6(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-co5gDCYPojRAc5lRMnWxbjrR1V37/rTmAo9Vok4a1hDpHZIwkGTWesdzvYivSQXYFxZTpxdM1b5K3W87brnahw==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@storybook/manager-api@7.3.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-jFH0EfWasdwHW8X5DUzTbH5mpdCZBHU7lIEUj6lVMBcBxbTniqBiG7mkwbW9VLocqEbBZimLCb/2RtTpK1Ue3Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/csf': 0.1.1 + '@storybook/global': 5.0.0 + '@storybook/router': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/theming': 7.3.1(react-dom@16.14.0)(react@17.0.2) + '@storybook/types': 7.3.1 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + semver: 7.5.3 + store2: 2.14.2 + telejson: 7.1.0 + ts-dedent: 2.2.0 + dev: true + /@storybook/manager-webpack4@6.5.17-alpha.0(acorn@7.4.1)(eslint@8.32.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.1.6)(webpack-cli@3.3.12): resolution: {integrity: sha512-1sOZEFe073hVuZnNmvYj1pSUL2anLYSm7PuPewxBzVtvORk0vy+Mk0ZO/ToqV1KWYGZAHiFrfniQZXsamAfuMg==} peerDependencies: @@ -15185,6 +15935,25 @@ packages: core-js: 3.29.1 dev: true + /@storybook/preview-api@7.3.1: + resolution: {integrity: sha512-otFvUJBFxhg11O5XLiyqddTS1ge/tjIs4gA4Uli6M+a6PV+SdNuTE8OjpvvgjsFTFdhyciHKTimKSLAqvopcuw==} + dependencies: + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/csf': 0.1.1 + '@storybook/global': 5.0.0 + '@storybook/types': 7.3.1 + '@types/qs': 6.9.7 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.10.3 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/preview-web@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-aPGBojLY683+JxZmYNATT2eQ7eCxLDU61AN640MrsCN8Vsmi1fEvlh1lAcXK24rdDeQtC+ROjiSa/fl62wjT7A==} peerDependencies: @@ -15427,6 +16196,19 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@storybook/router@7.3.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-KY+Mo0oF2xcRUDCXPJjAB5xy7d8Hi2dh8VqLahGa14ZHwhsZ/RxqE2bypwLXXkRpEiyOpfMbSsG73+1ml3fIUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/client-logger': 7.3.1 + memoizerific: 1.11.3 + qs: 6.10.3 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + /@storybook/semver@7.3.2: resolution: {integrity: sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==} engines: {node: '>=10'} @@ -15522,6 +16304,29 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@storybook/theming@7.3.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-1CF6bT8o8pZcd/ptl1q4CiTGY4oLV19tE8Wnhd/TO934fdMp4fUx1FF4pFL6an98lxVeZT0JQ4uvkuaTvHJFRQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@17.0.2) + '@storybook/client-logger': 7.3.1 + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /@storybook/types@7.3.1: + resolution: {integrity: sha512-QR714i/Stus/RYqJ8chTCfWNt3RY6/64xRXxaMLqkx75OIq5+rtsmes9I5iUqM4FuupvE7YdlZ5xKvxLYLYgJQ==} + dependencies: + '@storybook/channels': 7.3.1 + '@types/babel__core': 7.1.16 + '@types/express': 4.17.14 + file-system-cache: 2.3.0 + dev: true + /@storybook/ui@6.5.17-alpha.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-L188HSal+Jq6MNZuy3HUN/QlEE75B7okNBYj/ZR3/s6LIs2zceOZuxp2lk92CEh0dggoJ4HTRqPmKqMHNsXA8g==} peerDependencies: @@ -18213,6 +19018,60 @@ packages: - react-with-direction dev: false + /@wordpress/components@19.8.5(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2): + resolution: {integrity: sha512-36d8fSk/nWfNv2nEZrC2gLx1rN9rGWFt425yXoH6JiakDvdXacN/04xcxZGBRkS+JDz6v22uyPMEol9TzwXOLg==} + engines: {node: '>=12'} + peerDependencies: + react: ^17.0.0 + react-dom: ^17.0.0 + dependencies: + '@babel/runtime': 7.21.0 + '@emotion/cache': 11.10.5 + '@emotion/css': 11.7.1(@babel/core@7.17.8) + '@emotion/react': 11.10.5(@babel/core@7.17.8)(@types/react@17.0.50)(react@17.0.2) + '@emotion/serialize': 1.1.1 + '@emotion/styled': 11.8.1(@babel/core@7.17.8)(@emotion/react@11.10.5)(@types/react@17.0.50)(react@17.0.2) + '@emotion/utils': 1.0.0 + '@use-gesture/react': 10.2.10(react@17.0.2) + '@wordpress/a11y': 3.6.1 + '@wordpress/compose': 5.4.1(react@17.0.2) + '@wordpress/date': 4.6.1 + '@wordpress/deprecated': 3.6.1 + '@wordpress/dom': 3.6.1 + '@wordpress/element': 4.4.1 + '@wordpress/escape-html': 2.34.0 + '@wordpress/hooks': 3.6.1 + '@wordpress/i18n': 4.6.1 + '@wordpress/icons': 8.2.3 + '@wordpress/is-shallow-equal': 4.28.0 + '@wordpress/keycodes': 3.6.1 + '@wordpress/primitives': 3.4.1 + '@wordpress/rich-text': 5.4.2(react@17.0.2) + '@wordpress/warning': 2.6.1 + classnames: 2.3.1 + colord: 2.9.2 + dom-scroll-into-view: 1.2.1 + downshift: 6.1.12(react@17.0.2) + framer-motion: 6.2.8(react-dom@16.14.0)(react@17.0.2) + gradient-parser: 0.1.5 + highlight-words-core: 1.2.2 + lodash: 4.17.21 + memize: 1.1.0 + moment: 2.29.4 + re-resizable: 6.9.5(react-dom@16.14.0)(react@17.0.2) + react: 17.0.2 + react-colorful: 5.5.1(react-dom@16.14.0)(react@17.0.2) + react-dates: 17.2.0(moment@2.29.4)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) + react-dom: 16.14.0(react@17.0.2) + react-resize-aware: 3.1.1(react@17.0.2) + reakit: 1.3.11(react-dom@16.14.0)(react@17.0.2) + uuid: 8.3.2 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + - react-with-direction + dev: false + /@wordpress/components@19.8.5(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@17.0.2)(react-with-direction@1.4.0)(react@17.0.2): resolution: {integrity: sha512-36d8fSk/nWfNv2nEZrC2gLx1rN9rGWFt425yXoH6JiakDvdXacN/04xcxZGBRkS+JDz6v22uyPMEol9TzwXOLg==} engines: {node: '>=12'} @@ -18267,60 +19126,6 @@ packages: - react-with-direction dev: false - /@wordpress/components@19.8.5(@babel/core@7.17.8)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2): - resolution: {integrity: sha512-36d8fSk/nWfNv2nEZrC2gLx1rN9rGWFt425yXoH6JiakDvdXacN/04xcxZGBRkS+JDz6v22uyPMEol9TzwXOLg==} - engines: {node: '>=12'} - peerDependencies: - react: ^17.0.0 - react-dom: ^17.0.0 - dependencies: - '@babel/runtime': 7.21.0 - '@emotion/cache': 11.10.5 - '@emotion/css': 11.7.1(@babel/core@7.17.8) - '@emotion/react': 11.10.5(@babel/core@7.17.8)(@types/react@17.0.50)(react@17.0.2) - '@emotion/serialize': 1.1.1 - '@emotion/styled': 11.8.1(@babel/core@7.17.8)(@emotion/react@11.10.5)(@types/react@17.0.50)(react@17.0.2) - '@emotion/utils': 1.0.0 - '@use-gesture/react': 10.2.10(react@17.0.2) - '@wordpress/a11y': 3.6.1 - '@wordpress/compose': 5.4.1(react@17.0.2) - '@wordpress/date': 4.6.1 - '@wordpress/deprecated': 3.6.1 - '@wordpress/dom': 3.6.1 - '@wordpress/element': 4.4.1 - '@wordpress/escape-html': 2.34.0 - '@wordpress/hooks': 3.6.1 - '@wordpress/i18n': 4.6.1 - '@wordpress/icons': 8.2.3 - '@wordpress/is-shallow-equal': 4.28.0 - '@wordpress/keycodes': 3.6.1 - '@wordpress/primitives': 3.4.1 - '@wordpress/rich-text': 5.4.2(react@17.0.2) - '@wordpress/warning': 2.6.1 - classnames: 2.3.1 - colord: 2.9.2 - dom-scroll-into-view: 1.2.1 - downshift: 6.1.12(react@17.0.2) - framer-motion: 6.2.8(react-dom@16.14.0)(react@17.0.2) - gradient-parser: 0.1.5 - highlight-words-core: 1.2.2 - lodash: 4.17.21 - memize: 1.1.0 - moment: 2.29.4 - re-resizable: 6.9.5(react-dom@16.14.0)(react@17.0.2) - react: 17.0.2 - react-colorful: 5.5.1(react-dom@16.14.0)(react@17.0.2) - react-dates: 17.2.0(moment@2.29.4)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2) - react-dom: 16.14.0(react@17.0.2) - react-resize-aware: 3.1.1(react@17.0.2) - reakit: 1.3.11(react-dom@16.14.0)(react@17.0.2) - uuid: 8.3.2 - transitivePeerDependencies: - - '@babel/core' - - '@types/react' - - react-with-direction - dev: false - /@wordpress/components@19.8.5(@babel/core@7.21.3)(@types/react@17.0.50)(react-dom@17.0.2)(react-with-direction@1.4.0)(react@17.0.2): resolution: {integrity: sha512-36d8fSk/nWfNv2nEZrC2gLx1rN9rGWFt425yXoH6JiakDvdXacN/04xcxZGBRkS+JDz6v22uyPMEol9TzwXOLg==} engines: {node: '>=12'} @@ -21148,6 +21953,13 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + /aria-hidden@1.2.3: + resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} + engines: {node: '>=10'} + dependencies: + tslib: 2.5.0 + dev: true + /aria-query@4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} @@ -24386,6 +25198,12 @@ packages: toggle-selection: 1.0.6 dev: true + /copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + dependencies: + toggle-selection: 1.0.6 + dev: true + /copy-webpack-plugin@10.2.4(webpack@5.70.0): resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} engines: {node: '>= 12.20.0'} @@ -25463,6 +26281,11 @@ packages: /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + /des.js@1.0.1: resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} dependencies: @@ -25505,6 +26328,10 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + /detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: true + /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -27736,6 +28563,13 @@ packages: ramda: 0.21.0 dev: true + /file-system-cache@2.3.0: + resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} + dependencies: + fs-extra: 11.1.1 + ramda: 0.29.0 + dev: true + /file-type@3.9.0: resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} engines: {node: '>=0.10.0'} @@ -28520,6 +29354,11 @@ packages: has: 1.0.3 has-symbols: 1.0.3 + /get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + dev: true + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -35289,7 +36128,6 @@ packages: /memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - dev: false /memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} @@ -39188,6 +40026,13 @@ packages: dependencies: side-channel: 1.0.4 + /qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + /qs@6.5.2: resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==} engines: {node: '>=0.6'} @@ -39243,6 +40088,10 @@ packages: resolution: {integrity: sha512-HGd5aczYKQXGILB+abY290V7Xz62eFajpa6AtMdwEmQSakJmgSO7ks4eI3HdR34j+X2Vz4Thp9VAJbrCAMbO2w==} dev: true + /ramda@0.29.0: + resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} + dev: true + /randexp@0.4.6: resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} engines: {node: '>=0.12'} @@ -39392,6 +40241,16 @@ packages: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) + /react-colorful@5.6.1(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + /react-dates@17.2.0(moment@2.29.4)(react-dom@16.14.0)(react-with-direction@1.4.0)(react@17.0.2): resolution: {integrity: sha512-RDlerU8DdRRrlYS0MQ7Z9igPWABGLDwz6+ykBNff67RM3Sset2TDqeuOr+R5o00Ggn5U47GeLsGcSDxlZd9cHw==} peerDependencies: @@ -39857,6 +40716,41 @@ packages: resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==} engines: {node: '>=0.10.0'} + /react-remove-scroll-bar@2.3.4(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + react: 17.0.2 + react-style-singleton: 2.2.1(@types/react@17.0.50)(react@17.0.2) + tslib: 2.5.0 + dev: true + + /react-remove-scroll@2.5.5(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + react: 17.0.2 + react-remove-scroll-bar: 2.3.4(@types/react@17.0.50)(react@17.0.2) + react-style-singleton: 2.2.1(@types/react@17.0.50)(react@17.0.2) + tslib: 2.5.0 + use-callback-ref: 1.3.0(@types/react@17.0.50)(react@17.0.2) + use-sidecar: 1.1.2(@types/react@17.0.50)(react@17.0.2) + dev: true + /react-resize-aware@3.1.1(react@17.0.2): resolution: {integrity: sha512-M8IyVLBN8D6tEUss+bxQlWte3ZYtNEGhg7rBxtCVG8yEBjUlZwUo5EFLq6tnvTZXcgAbCLjsQn+NCoTJKumRYg==} peerDependencies: @@ -39915,6 +40809,28 @@ packages: react-transition-group: 4.4.2(react-dom@17.0.2)(react@17.0.2) dev: true + /react-select@5.7.4(@babel/core@7.17.8)(@types/react@17.0.50)(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-NhuE56X+p9QDFh4BgeygHFIvJJszO1i1KSkg/JPcIJrbovyRtI+GuOEa4XzFCEpZRAEoEI8u/cAHK+jG/PgUzQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.21.0 + '@emotion/cache': 11.10.5 + '@emotion/react': 11.10.5(@babel/core@7.17.8)(@types/react@17.0.50)(react@17.0.2) + '@floating-ui/dom': 1.0.2 + '@types/react-transition-group': 4.4.4 + memoize-one: 6.0.0 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + react-transition-group: 4.4.2(react-dom@16.14.0)(react@17.0.2) + use-isomorphic-layout-effect: 1.1.2(@types/react@17.0.50)(react@17.0.2) + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + dev: true + /react-shallow-renderer@16.14.1(react@17.0.2): resolution: {integrity: sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==} peerDependencies: @@ -39942,6 +40858,23 @@ packages: throttle-debounce: 3.0.1 dev: true + /react-style-singleton@2.2.1(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 17.0.2 + tslib: 2.5.0 + dev: true + /react-syntax-highlighter@15.5.0(react@17.0.2): resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} peerDependencies: @@ -39978,6 +40911,20 @@ packages: react-shallow-renderer: 16.14.1(react@17.0.2) scheduler: 0.20.2 + /react-transition-group@4.4.2(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + dependencies: + '@babel/runtime': 7.21.0 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + /react-transition-group@4.4.2(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==} peerDependencies: @@ -42106,6 +43053,10 @@ packages: resolution: {integrity: sha512-CMtO2Uneg3SAz/d6fZ/6qbqqQHi2ynq6/KzMD/26gTkiEShCcpqFfTHgOxsE0egAq6SX3FmN4CeSqn8BzXQkJg==} dev: true + /store2@2.14.2: + resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} + dev: true + /stream-browserify@2.0.2: resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} dependencies: @@ -43077,6 +44028,12 @@ packages: memoizerific: 1.11.3 dev: true + /telejson@7.1.0: + resolution: {integrity: sha512-jFJO4P5gPebZAERPkJsqMAQ0IMA1Hi0AoSfxpnUaV6j6R2SZqlpkbS20U6dEUtA3RUYt2Ak/mTlkQzHH9Rv/hA==} + dependencies: + memoizerific: 1.11.3 + dev: true + /temp@0.8.3: resolution: {integrity: sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==} engines: {'0': node >=0.8.0} @@ -43376,6 +44333,10 @@ packages: /tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + /tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + dev: true + /tiny-lr@1.1.1: resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} dependencies: @@ -43983,6 +44944,11 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -44515,6 +45481,21 @@ packages: querystring: 0.2.0 dev: true + /use-callback-ref@1.3.0(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + react: 17.0.2 + tslib: 2.5.0 + dev: true + /use-debounce@3.4.3(react@17.0.2): resolution: {integrity: sha512-nxy+opOxDccWfhMl36J5BSCTpvcj89iaQk2OZWLAtBJQj7ISCtx1gh+rFbdjGfMl6vtCZf6gke/kYvrkVfHMoA==} peerDependencies: @@ -44536,6 +45517,19 @@ packages: react: 17.0.2 dev: false + /use-isomorphic-layout-effect@1.1.2(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + react: 17.0.2 + dev: true + /use-lilius@2.0.3(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-+Q7nspdv+QGnyHGVMd6yAdLrqv5EGB4n3ix4GJH0JEE27weKCLCLmZSuAr5Nw+yPBCZn/iZ+KjL5+UykLCWXrw==} peerDependencies: @@ -44553,6 +45547,33 @@ packages: dependencies: react: 17.0.2 + /use-resize-observer@9.1.0(react-dom@16.14.0)(react@17.0.2): + resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} + peerDependencies: + react: 16.8.0 - 18 + react-dom: 16.8.0 - 18 + dependencies: + '@juggle/resize-observer': 3.4.0 + react: 17.0.2 + react-dom: 16.14.0(react@17.0.2) + dev: true + + /use-sidecar@1.1.2(@types/react@17.0.50)(react@17.0.2): + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.50 + detect-node-es: 1.1.0 + react: 17.0.2 + tslib: 2.5.0 + dev: true + /use-subscription@1.6.0(react@17.0.2): resolution: {integrity: sha512-0Y/cTLlZfw547tJhJMoRA16OUbVqRm6DmvGpiGbmLST6BIA5KU5cKlvlz8DVMrACnWpyEjCkgmhLatthP4jUbA==} peerDependencies: diff --git a/tools/storybook/.storybook/main.js b/tools/storybook/.storybook/main.js index a71adf9ea84..1ad980cfe4b 100644 --- a/tools/storybook/.storybook/main.js +++ b/tools/storybook/.storybook/main.js @@ -9,6 +9,8 @@ module.exports = { '../../../packages/js/components/src/**/stories/*.@(js|tsx)', // WooCommerce Admin / @woocommerce/experimental components '../../../packages/js/experimental/src/**/stories/*.@(js|tsx)', + // WooCommerce Admin / @woocommerce/onboarding components + '../../../packages/js/onboarding/src/**/stories/*.@(js|tsx)', '../../../plugins/woocommerce-admin/client/**/stories/*.@(js|tsx)', ], addons: [ @@ -44,11 +46,13 @@ module.exports = { ? ` + ` : ` + ` } diff --git a/tools/storybook/webpack.config.js b/tools/storybook/webpack.config.js index 4a378bb03c0..dcaa867f73e 100644 --- a/tools/storybook/webpack.config.js +++ b/tools/storybook/webpack.config.js @@ -65,6 +65,13 @@ module.exports = ( storybookConfig ) => { ), to: `./component-css/[name][ext]`, }, + { + from: path.resolve( + __dirname, + `../../packages/js/onboarding/build-style/*.css` + ), + to: `./onboarding-css/[name][ext]`, + }, { from: path.resolve( __dirname,