From acfdfdbd95550a76b947a3e0ab621f60cfc59cdf Mon Sep 17 00:00:00 2001 From: sarahgm Date: Wed, 4 May 2022 08:57:52 +0200 Subject: [PATCH 01/26] saves --- packages/components/src/Dialog/Dialog.tsx | 11 +++++++++-- packages/components/src/Dialog/ModalDialog.tsx | 7 +++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index 78b8e60606..36b4fb8cd4 100755 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -1,4 +1,5 @@ import React, { RefObject } from 'react'; +import { ThemeExtension } from '@marigold/system'; import { ComponentProps } from '@marigold/types'; import { useOverlayTriggerState } from '@react-stately/overlays'; import { OverlayContainer } from '@react-aria/overlays'; @@ -11,6 +12,10 @@ import { Headline } from '../Headline'; import { ModalDialog, ModalDialogProps } from './ModalDialog'; +// Theme Extension +// --------------- +export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} + // Props // --------------- export interface DialogProps extends ModalDialogProps, ComponentProps<'div'> { @@ -19,12 +24,13 @@ export interface DialogProps extends ModalDialogProps, ComponentProps<'div'> { isOpen: boolean; title?: string; variant?: string; + size?: string; role?: 'dialog' | 'alertdialog'; } // Component // --------------- -export const Dialog: React.FC = ({ +export const Dialog = ({ backdropVariant, children, className, @@ -32,8 +38,9 @@ export const Dialog: React.FC = ({ isOpen, title, variant, + size, ...props -}) => { +}: DialogProps) => { const closeButtonRef = React.useRef() as RefObject; // useButton ensures that focus management is handled correctly, diff --git a/packages/components/src/Dialog/ModalDialog.tsx b/packages/components/src/Dialog/ModalDialog.tsx index e566040d1b..1851e39c42 100644 --- a/packages/components/src/Dialog/ModalDialog.tsx +++ b/packages/components/src/Dialog/ModalDialog.tsx @@ -15,17 +15,20 @@ import { Box } from '../Box'; // --------------- export interface ModalDialogProps extends OverlayProps, AriaDialogProps { variant?: string; + size?: string; backdropVariant?: string; + children?: React.ReactNode; } // Component // --------------- -export const ModalDialog: React.FC = ({ +export const ModalDialog = ({ variant, + size, backdropVariant = 'backdrop', children, ...props -}) => { +}: ModalDialogProps) => { const { isDismissable, isOpen, onClose, ...restProps } = props; // Handle interacting outside the dialog and pressing From 0a8471e02513ecafe492eb05907bf499817b0734 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 11:45:44 +0200 Subject: [PATCH 02/26] mostly working Co-authored-by: sarahgm --- .../src/Dialog-old/Dialog.stories.tsx | 88 + .../{Dialog => Dialog-old}/Dialog.test.tsx | 0 packages/components/src/Dialog-old/Dialog.tsx | 133 + .../{Dialog => Dialog-old}/ModalDialog.tsx | 0 packages/components/src/Dialog-old/index.ts | 1 + .../components/src/Dialog/Dialog.stories.tsx | 102 +- packages/components/src/Dialog/Dialog.tsx | 125 +- .../components/src/Dialog/DialogTrigger.tsx | 50 + packages/components/src/Overlay/Modal.tsx | 74 + packages/components/src/Overlay/Underlay.tsx | 30 + packages/components/src/Overlay/index.ts | 1 + packages/components/src/theme.ts | 6 +- pnpm-lock.yaml | 2533 +++++++++++------ .../theme-b2b/src/components/Dialog.style.ts | 5 + .../src/components/Underlay.style.ts | 8 + themes/theme-b2b/src/components/index.ts | 2 + 16 files changed, 2033 insertions(+), 1125 deletions(-) create mode 100644 packages/components/src/Dialog-old/Dialog.stories.tsx rename packages/components/src/{Dialog => Dialog-old}/Dialog.test.tsx (100%) create mode 100755 packages/components/src/Dialog-old/Dialog.tsx rename packages/components/src/{Dialog => Dialog-old}/ModalDialog.tsx (100%) create mode 100644 packages/components/src/Dialog-old/index.ts mode change 100755 => 100644 packages/components/src/Dialog/Dialog.tsx create mode 100644 packages/components/src/Dialog/DialogTrigger.tsx create mode 100644 packages/components/src/Overlay/Modal.tsx create mode 100644 packages/components/src/Overlay/Underlay.tsx create mode 100644 themes/theme-b2b/src/components/Dialog.style.ts create mode 100644 themes/theme-b2b/src/components/Underlay.style.ts diff --git a/packages/components/src/Dialog-old/Dialog.stories.tsx b/packages/components/src/Dialog-old/Dialog.stories.tsx new file mode 100644 index 0000000000..6646d69bd3 --- /dev/null +++ b/packages/components/src/Dialog-old/Dialog.stories.tsx @@ -0,0 +1,88 @@ +import React from 'react'; +import type { Meta, ComponentStory } from '@storybook/react'; +import { Dialog, useDialogButtonProps } from './Dialog'; +import { Button } from '../Button'; +import { Text } from '../Text'; + +export default { + title: 'Components/Dialog', + parameters: { + actions: { + handles: ['click'], + }, + }, + argTypes: { + isOpen: { + control: { + type: 'boolean', + }, + description: 'handled by state from useDialogButtonProps', + options: [true, false], + table: { + defaultValue: { + summary: false, + }, + }, + }, + title: { + control: { + type: 'text', + }, + description: 'set dialog title', + }, + close: { + control: { + type: 'text', + }, + description: 'handled by state from useDialogButtonProps', + }, + variant: { + control: { + type: 'text', + }, + description: 'Dialog variant', + table: { + defaultValue: { + summary: '__default', + }, + }, + }, + backdropVariant: { + control: { + type: 'text', + }, + description: 'Dialog backdrop variant', + table: { + defaultValue: { + summary: 'backdrop', + }, + }, + }, + }, +} as Meta; + +export const Basic: ComponentStory = args => { + const { state, openButtonProps, openButtonRef } = useDialogButtonProps(); + return ( + <> + + {state.isOpen && ( + + Dialog content + + )} + + ); +}; diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog-old/Dialog.test.tsx similarity index 100% rename from packages/components/src/Dialog/Dialog.test.tsx rename to packages/components/src/Dialog-old/Dialog.test.tsx diff --git a/packages/components/src/Dialog-old/Dialog.tsx b/packages/components/src/Dialog-old/Dialog.tsx new file mode 100755 index 0000000000..36b4fb8cd4 --- /dev/null +++ b/packages/components/src/Dialog-old/Dialog.tsx @@ -0,0 +1,133 @@ +import React, { RefObject } from 'react'; +import { ThemeExtension } from '@marigold/system'; +import { ComponentProps } from '@marigold/types'; +import { useOverlayTriggerState } from '@react-stately/overlays'; +import { OverlayContainer } from '@react-aria/overlays'; +import { useButton } from '@react-aria/button'; +import { Close } from '@marigold/icons'; + +import { Box } from '../Box'; +import { Button } from '../Button'; +import { Headline } from '../Headline'; + +import { ModalDialog, ModalDialogProps } from './ModalDialog'; + +// Theme Extension +// --------------- +export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} + +// Props +// --------------- +export interface DialogProps extends ModalDialogProps, ComponentProps<'div'> { + backdropVariant?: string; + close: ComponentProps['onClick']; + isOpen: boolean; + title?: string; + variant?: string; + size?: string; + role?: 'dialog' | 'alertdialog'; +} + +// Component +// --------------- +export const Dialog = ({ + backdropVariant, + children, + className, + close, + isOpen, + title, + variant, + size, + ...props +}: DialogProps) => { + const closeButtonRef = React.useRef() as RefObject; + + // useButton ensures that focus management is handled correctly, + // across all browsers. Focus is restored to the button once the + // dialog closes. + const { buttonProps: closeButtonProps } = useButton( + { + onPress: () => close(), + }, + closeButtonRef + ); + + return ( + + + + + {title && {title}} + {children} + + + + + + + + + + ); +}; + +// get the overlayTriggerState and openButton props for using the dialog component +export const useDialogButtonProps = () => { + const state = useOverlayTriggerState({}); + const openButtonRef = React.useRef() as RefObject; + const { buttonProps: openButtonProps } = useButton( + { + onPress: () => state.open(), + }, + openButtonRef + ); + + return { + state, + openButtonProps, + openButtonRef, + }; +}; diff --git a/packages/components/src/Dialog/ModalDialog.tsx b/packages/components/src/Dialog-old/ModalDialog.tsx similarity index 100% rename from packages/components/src/Dialog/ModalDialog.tsx rename to packages/components/src/Dialog-old/ModalDialog.tsx diff --git a/packages/components/src/Dialog-old/index.ts b/packages/components/src/Dialog-old/index.ts new file mode 100644 index 0000000000..a5d3159726 --- /dev/null +++ b/packages/components/src/Dialog-old/index.ts @@ -0,0 +1 @@ +export * from './Dialog'; diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index 6646d69bd3..fdd2849f15 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -1,88 +1,44 @@ import React from 'react'; import type { Meta, ComponentStory } from '@storybook/react'; -import { Dialog, useDialogButtonProps } from './Dialog'; + import { Button } from '../Button'; +import { Headline } from '../Headline'; import { Text } from '../Text'; +import { Dialog } from './Dialog'; +import { TextField } from '../TextField'; export default { title: 'Components/Dialog', - parameters: { - actions: { - handles: ['click'], - }, - }, - argTypes: { - isOpen: { - control: { - type: 'boolean', - }, - description: 'handled by state from useDialogButtonProps', - options: [true, false], - table: { - defaultValue: { - summary: false, - }, - }, - }, - title: { - control: { - type: 'text', - }, - description: 'set dialog title', - }, - close: { - control: { - type: 'text', - }, - description: 'handled by state from useDialogButtonProps', - }, - variant: { - control: { - type: 'text', - }, - description: 'Dialog variant', - table: { - defaultValue: { - summary: '__default', - }, - }, - }, - backdropVariant: { - control: { - type: 'text', - }, - description: 'Dialog backdrop variant', - table: { - defaultValue: { - summary: 'backdrop', - }, - }, - }, - }, + argTypes: {}, } as Meta; -export const Basic: ComponentStory = args => { - const { state, openButtonProps, openButtonRef } = useDialogButtonProps(); +export const Basic: ComponentStory = args => { + return ( + <> + + + + This is a headline! + This is some not so very long text. + + + + ); +}; + +export const Form: ComponentStory = args => { return ( <> - - {state.isOpen && ( - - Dialog content + + + + Please log into account + + + + - )} + ); }; diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx old mode 100755 new mode 100644 index 36b4fb8cd4..b4683e338f --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -1,16 +1,8 @@ -import React, { RefObject } from 'react'; -import { ThemeExtension } from '@marigold/system'; -import { ComponentProps } from '@marigold/types'; -import { useOverlayTriggerState } from '@react-stately/overlays'; -import { OverlayContainer } from '@react-aria/overlays'; -import { useButton } from '@react-aria/button'; -import { Close } from '@marigold/icons'; +import React, { ReactNode } from 'react'; -import { Box } from '../Box'; -import { Button } from '../Button'; -import { Headline } from '../Headline'; +import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; -import { ModalDialog, ModalDialogProps } from './ModalDialog'; +import { DialogTrigger } from './DialogTrigger'; // Theme Extension // --------------- @@ -18,116 +10,21 @@ export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} // Props // --------------- -export interface DialogProps extends ModalDialogProps, ComponentProps<'div'> { - backdropVariant?: string; - close: ComponentProps['onClick']; - isOpen: boolean; - title?: string; +export interface DialogProps { + children?: ReactNode; variant?: string; size?: string; - role?: 'dialog' | 'alertdialog'; } // Component // --------------- -export const Dialog = ({ - backdropVariant, - children, - className, - close, - isOpen, - title, - variant, - size, - ...props -}: DialogProps) => { - const closeButtonRef = React.useRef() as RefObject; - - // useButton ensures that focus management is handled correctly, - // across all browsers. Focus is restored to the button once the - // dialog closes. - const { buttonProps: closeButtonProps } = useButton( - { - onPress: () => close(), - }, - closeButtonRef - ); - +export const Dialog = ({ children, variant, size }: DialogProps) => { + const styles = useComponentStyles('Dialog', { variant, size }); return ( - - - - - {title && {title}} - {children} - - - - - - - - - + + {children} + ); }; -// get the overlayTriggerState and openButton props for using the dialog component -export const useDialogButtonProps = () => { - const state = useOverlayTriggerState({}); - const openButtonRef = React.useRef() as RefObject; - const { buttonProps: openButtonProps } = useButton( - { - onPress: () => state.open(), - }, - openButtonRef - ); - - return { - state, - openButtonProps, - openButtonRef, - }; -}; +Dialog.Trigger = DialogTrigger; diff --git a/packages/components/src/Dialog/DialogTrigger.tsx b/packages/components/src/Dialog/DialogTrigger.tsx new file mode 100644 index 0000000000..ae4a8d4fa9 --- /dev/null +++ b/packages/components/src/Dialog/DialogTrigger.tsx @@ -0,0 +1,50 @@ +import React, { ReactNode, useRef } from 'react'; +import { PressResponder } from '@react-aria/interactions'; +import { useOverlayTriggerState } from '@react-stately/overlays'; +import { useOverlayTrigger } from '@react-aria/overlays'; +import { Modal } from '../Overlay/Modal'; + +export interface DialogTriggerProps { + children: [trigger: ReactNode, menu: ReactNode]; + dismissable?: boolean; + keyboardDismissDisabled?: boolean; +} + +export const DialogTrigger = ({ + children, + dismissable = true, + keyboardDismissDisabled = true, +}: DialogTriggerProps) => { + const [dialogTrigger, dialog] = React.Children.toArray(children); + + const dialogTriggerRef = useRef(null); + + const state = useOverlayTriggerState({}); + const { triggerProps, overlayProps } = useOverlayTrigger( + { type: 'dialog' }, + state, + dialogTriggerRef + ); + + return ( + <> + + {dialogTrigger} + + + {dialog} + + + ); +}; diff --git a/packages/components/src/Overlay/Modal.tsx b/packages/components/src/Overlay/Modal.tsx new file mode 100644 index 0000000000..12408168de --- /dev/null +++ b/packages/components/src/Overlay/Modal.tsx @@ -0,0 +1,74 @@ +import React, { forwardRef, ReactNode } from 'react'; +import { FocusScope } from '@react-aria/focus'; +import { + OverlayProps, + useModal, + useOverlay, + usePreventScroll, +} from '@react-aria/overlays'; +import { mergeProps, useObjectRef } from '@react-aria/utils'; +import { Overlay } from './Overlay'; +import { Underlay } from './Underlay'; +import { Box } from '@marigold/system'; + +// Props +// --------------- +export interface ModalProps + extends Omit< + OverlayProps, + 'isOpen' | 'isDismissable' | 'isKeyboardDismissDisabled' + > { + children?: ReactNode; + open?: boolean; + dismissable?: boolean; + keyboardDismissDisabled?: boolean; +} + +// Component +// --------------- +export const Modal = forwardRef( + ({ children, open, dismissable, keyboardDismissDisabled, ...props }, ref) => { + // FIXME: Do we have to pass variant and size to the Underlay? + const modalRef = useObjectRef(ref); + const { overlayProps, underlayProps } = useOverlay( + { + isOpen: open, + isDismissable: dismissable, + isKeyboardDismissDisabled: keyboardDismissDisabled, + ...props, + }, + modalRef + ); + + /** + * Prevent scrolling in the background and hide content + * outside the container from screen readers. + */ + usePreventScroll(); + const { modalProps } = useModal({}); + + return ( + + + + + {children} + + + + ); + } +); diff --git a/packages/components/src/Overlay/Underlay.tsx b/packages/components/src/Overlay/Underlay.tsx new file mode 100644 index 0000000000..7f3fc863cb --- /dev/null +++ b/packages/components/src/Overlay/Underlay.tsx @@ -0,0 +1,30 @@ +import React, { HTMLAttributes } from 'react'; +import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; + +// Theme Extension +// --------------- +export interface UnderlayThemeExtension extends ThemeExtension<'Underlay'> {} + +// Props +// --------------- +export interface UnderlayProps extends HTMLAttributes { + variant?: string; + size?: string; +} + +// Component +// --------------- +export const Underlay = ({ size, variant, ...props }: UnderlayProps) => { + const styles = useComponentStyles('Underlay', { size, variant }); + return ( + + ); +}; diff --git a/packages/components/src/Overlay/index.ts b/packages/components/src/Overlay/index.ts index 758b883cee..01c5f232f8 100644 --- a/packages/components/src/Overlay/index.ts +++ b/packages/components/src/Overlay/index.ts @@ -1,2 +1,3 @@ export * from './Overlay'; export * from './Popover'; +export * from './Underlay'; diff --git a/packages/components/src/theme.ts b/packages/components/src/theme.ts index c84c5acb99..ae0547a6c4 100644 --- a/packages/components/src/theme.ts +++ b/packages/components/src/theme.ts @@ -14,6 +14,7 @@ import type { CheckboxGroupThemeExtension, } from './Checkbox'; import type { ContentThemeExtension } from './Content'; +import type { DialogThemeExtension } from './Dialog'; import type { DividerThemeExtension } from './Divider'; import type { FooterThemeExtension } from './Footer'; import type { HeaderThemeExtension } from './Header'; @@ -26,6 +27,7 @@ import type { LinkThemeExtension } from './Link'; import type { ListBoxThemeExtension } from './ListBox'; import type { MenuThemeExtension } from './Menu'; import type { MessageThemeExtension } from './Message'; +import type { UnderlayThemeExtension } from './Overlay'; import type { RadioThemeExtension, RadioGroupThemeExtension } from './Radio'; import type { SelectThemeExtension } from './Select'; import type { SliderThemeExtension } from './Slider'; @@ -46,6 +48,7 @@ interface ComponentStyles CheckboxThemeExtension, CheckboxGroupThemeExtension, ContentThemeExtension, + DialogThemeExtension, DividerThemeExtension, FooterThemeExtension, HeaderThemeExtension, @@ -65,7 +68,8 @@ interface ComponentStyles SwitchThemeExtension, TableThemeExtension, TextThemeExtension, - TextAreaThemeExtension {} + TextAreaThemeExtension, + UnderlayThemeExtension {} export interface Theme extends Scales, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7879b0bb0..f52040ba8d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 importers: @@ -37,10 +37,10 @@ importers: '@marigold/jest-config': link:config/jest '@marigold/prettier-config': link:config/prettier '@marigold/tsconfig': link:config/tsconfig - '@storybook/react': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/react': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu '@testing-library/jest-dom': 5.16.4 - '@testing-library/react': 12.1.5_react-dom@17.0.2+react@17.0.2 - '@testing-library/react-hooks': 7.0.2_react-dom@17.0.2+react@17.0.2 + '@testing-library/react': 12.1.5_sfoxds7t5ydpegc3knd667wn6m + '@testing-library/react-hooks': 7.0.2_sfoxds7t5ydpegc3knd667wn6m '@testing-library/user-event': 13.5.0 '@types/node': 16.11.31 all-contributors-cli: 6.20.0 @@ -78,19 +78,19 @@ importers: dependencies: '@babel/plugin-syntax-flow': 7.16.7 '@babel/plugin-transform-react-jsx': 7.17.3 - '@typescript-eslint/eslint-plugin': 5.18.0_a07dca3bdfc4bfa60f4dda0c1f9e3287 - '@typescript-eslint/parser': 5.18.0_eslint@8.12.0+typescript@4.6.3 - babel-eslint: 10.1.0_eslint@8.12.0 - eslint-config-prettier: 8.5.0_eslint@8.12.0 - eslint-config-react-app: 7.0.0_dd4c43c1685b81f22a5592c66a4e9789 - eslint-plugin-flowtype: 8.0.3_208f7be97c72158078ddc5718ecd0567 - eslint-plugin-import: 2.25.4_eslint@8.12.0 - eslint-plugin-jest: 26.1.4_71e92d3245f17c343e06baf3e5a2c467 - eslint-plugin-jsx-a11y: 6.5.1_eslint@8.12.0 - eslint-plugin-prettier: 4.0.0_f2c91d0f54113167d2bd9214a5ab5a36 - eslint-plugin-react: 7.29.4_eslint@8.12.0 - eslint-plugin-react-hooks: 4.5.0_eslint@8.12.0 - eslint-plugin-testing-library: 5.2.1_eslint@8.12.0+typescript@4.6.3 + '@typescript-eslint/eslint-plugin': 5.18.0_5owwzll6rlyjmcufangbazwbi4 + '@typescript-eslint/parser': 5.18.0 + babel-eslint: 10.1.0 + eslint-config-prettier: 8.5.0 + eslint-config-react-app: 7.0.0_nnpafia5vqa3rofqqo6s2bssgq + eslint-plugin-flowtype: 8.0.3_nnpafia5vqa3rofqqo6s2bssgq + eslint-plugin-import: 2.25.4 + eslint-plugin-jest: 26.1.4_jqyyv4uqb5k5wsbewcbdkn54ui + eslint-plugin-jsx-a11y: 6.5.1 + eslint-plugin-prettier: 4.0.0_ttcikbw5yztdadzhevg6ml5cuy + eslint-plugin-react: 7.29.4 + eslint-plugin-react-hooks: 4.5.0 + eslint-plugin-testing-library: 5.2.1 config/jest: specifiers: @@ -109,10 +109,10 @@ importers: '@types/jest': 27.4.1 babel-jest: 27.5.1 find-up: 5.0.0 - jest-watch-typeahead: 1.0.0_jest@27.5.1 + jest-watch-typeahead: 1.0.0 merge-deep: 3.0.3 - react-test-renderer: 17.0.2_react@17.0.2 - ts-jest: 27.1.4_bf370b71d3b4bea78ef36e085ff3557d + react-test-renderer: 17.0.2 + ts-jest: 27.1.4_anspghl4ozet2fzw5safdiztum config/prettier: specifiers: {} @@ -140,15 +140,15 @@ importers: '@marigold/theme-b2b': link:../../themes/theme-b2b '@marigold/theme-core': link:../../themes/theme-core '@marigold/theme-unicorn': link:../../themes/theme-unicorn - '@mdx-js/react': 1.6.22_react@17.0.2 - '@storybook/addon-a11y': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-essentials': 6.4.22_508ce2a3a78896ca8dbae9d86216c562 - '@storybook/addon-interactions': 6.4.22_f20e6186fe6af3f477ab127b79656e9d - '@storybook/jest': 0.0.10_react-dom@17.0.2+react@17.0.2 - '@storybook/testing-library': 0.0.9_react-dom@17.0.2+react@17.0.2 + '@mdx-js/react': 1.6.22 + '@storybook/addon-a11y': 6.4.22 + '@storybook/addon-essentials': 6.4.22_y4q5iv3tmvbudcmznxqwomyigi + '@storybook/addon-interactions': 6.4.22 + '@storybook/jest': 0.0.10 + '@storybook/testing-library': 0.0.9 babel-loader: 8.2.5_@babel+core@7.17.10 find-up: 5.0.0 - storybook-addon-themes: 6.1.0_react-dom@17.0.2+react@17.0.2 + storybook-addon-themes: 6.1.0 tsconfig-paths-webpack-plugin: 3.5.2 config/tsconfig: @@ -202,20 +202,20 @@ importers: '@marigold/types': link:../packages/types '@mdx-js/mdx': 1.6.22 '@mdx-js/react': 1.6.22_react@17.0.2 - '@mui/material': 5.5.3_b49bddbe4b905ced4713cb857cca91fa - '@mui/styles': 5.5.3_c8e45b4eb687790dba17b4e1c4b4273f + '@mui/material': 5.5.3_wsn53pslsboo2rytzocxzsur7i + '@mui/styles': 5.5.3_zdsfwtvwq54q3oqxwtq4jnbhh4 babel-preset-gatsby: 2.11.1 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 - gatsby-plugin-image: 2.11.1_f7864ef0bcea373833bd2a438072b4fe + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m + gatsby-plugin-image: 2.11.1_66de54f45i3tqm55fjbya4vu7y gatsby-plugin-manifest: 4.11.1_gatsby@4.11.1 - gatsby-plugin-mdx: 3.11.1_ee23a59bf2e1789fbc8eee222995a207 + gatsby-plugin-mdx: 3.11.1_5yr2lg7s4f4j7peo5yrctfnca4 gatsby-plugin-pnpm: 1.2.10_gatsby@4.11.1 - gatsby-plugin-react-helmet: 5.11.0_gatsby@4.11.1+react-helmet@6.1.0 + gatsby-plugin-react-helmet: 5.11.0_dqulzhecxay4n55igjmilxol74 gatsby-plugin-remove-serviceworker: 1.0.0 gatsby-plugin-sharp: 4.11.1_gatsby@4.11.1 - gatsby-plugin-sitemap: 5.11.1_85188e69289d8a06a6aae695f8dcfd89 + gatsby-plugin-sitemap: 5.11.1_qumi42jitwfanjvk42k7rxh5re gatsby-source-filesystem: 4.11.1_gatsby@4.11.1 - gatsby-transformer-sharp: 4.11.0_2014847d7a170ff6fd751e309b11e74d + gatsby-transformer-sharp: 4.11.0_eakii7l2c4h7n7lvdyyjwephju gh-pages: 3.2.3 git-rev-sync: 3.0.2 mdx-utils: 0.2.0 @@ -228,7 +228,7 @@ importers: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-helmet: 6.1.0_react@17.0.2 - react-live: 2.4.1_react-dom@17.0.2+react@17.0.2 + react-live: 2.4.1_sfoxds7t5ydpegc3knd667wn6m devDependencies: '@types/mdx-js__react': 1.5.5 '@types/react': 17.0.44 @@ -287,48 +287,48 @@ importers: '@marigold/system': link:../system '@marigold/tokens': link:../tokens '@marigold/types': link:../types - '@react-aria/button': 3.4.3_react@17.0.2 - '@react-aria/checkbox': 3.3.3_react@17.0.2 - '@react-aria/dialog': 3.1.8_react@17.0.2 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/link': 3.2.4_react@17.0.2 - '@react-aria/listbox': 3.4.4_react@17.0.2 - '@react-aria/menu': 3.4.3_react-dom@17.0.2+react@17.0.2 - '@react-aria/overlays': 3.8.1_react-dom@17.0.2+react@17.0.2 - '@react-aria/radio': 3.1.10_react@17.0.2 - '@react-aria/select': 3.6.4_react-dom@17.0.2+react@17.0.2 - '@react-aria/separator': 3.1.6_react@17.0.2 - '@react-aria/slider': 3.0.7_react@17.0.2 - '@react-aria/ssr': 3.1.2_react@17.0.2 - '@react-aria/switch': 3.1.7_react@17.0.2 - '@react-aria/table': 3.2.4_react-dom@17.0.2+react@17.0.2 - '@react-aria/textfield': 3.5.4_react@17.0.2 - '@react-aria/tooltip': 3.1.7_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-aria/visually-hidden': 3.2.7_react@17.0.2 - '@react-stately/checkbox': 3.0.6_react@17.0.2 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/list': 3.4.4_react@17.0.2 - '@react-stately/menu': 3.2.6_react@17.0.2 - '@react-stately/overlays': 3.1.6_react@17.0.2 - '@react-stately/radio': 3.3.5_react@17.0.2 - '@react-stately/select': 3.1.6_react@17.0.2 - '@react-stately/slider': 3.0.7_react@17.0.2 - '@react-stately/table': 3.1.3_react@17.0.2 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-stately/tooltip': 3.0.8_react@17.0.2 - '@react-stately/tree': 3.2.3_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/dialog': 3.3.4_react@17.0.2 - '@react-types/radio': 3.1.5_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/tooltip': 3.1.5_react@17.0.2 + '@react-aria/button': 3.4.3 + '@react-aria/checkbox': 3.3.3 + '@react-aria/dialog': 3.1.8 + '@react-aria/focus': 3.5.4 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/link': 3.2.4 + '@react-aria/listbox': 3.4.4 + '@react-aria/menu': 3.4.3 + '@react-aria/overlays': 3.8.1 + '@react-aria/radio': 3.1.10 + '@react-aria/select': 3.6.4 + '@react-aria/separator': 3.1.6 + '@react-aria/slider': 3.0.7 + '@react-aria/ssr': 3.1.2 + '@react-aria/switch': 3.1.7 + '@react-aria/table': 3.2.4 + '@react-aria/textfield': 3.5.4 + '@react-aria/tooltip': 3.1.7 + '@react-aria/utils': 3.11.3 + '@react-aria/visually-hidden': 3.2.7 + '@react-stately/checkbox': 3.0.6 + '@react-stately/collections': 3.3.7 + '@react-stately/list': 3.4.4 + '@react-stately/menu': 3.2.6 + '@react-stately/overlays': 3.1.6 + '@react-stately/radio': 3.3.5 + '@react-stately/select': 3.1.6 + '@react-stately/slider': 3.0.7 + '@react-stately/table': 3.1.3 + '@react-stately/toggle': 3.2.6 + '@react-stately/tooltip': 3.0.8 + '@react-stately/tree': 3.2.3 + '@react-types/checkbox': 3.2.6 + '@react-types/dialog': 3.3.4 + '@react-types/radio': 3.1.5 + '@react-types/shared': 3.11.2 + '@react-types/tooltip': 3.1.5 react-is: 17.0.2 devDependencies: '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages/create-theme: specifiers: @@ -343,7 +343,7 @@ importers: '@marigold/components': link:../components '@marigold/system': link:../system '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages/icons: specifiers: @@ -354,7 +354,7 @@ importers: '@marigold/system': link:../system devDependencies: '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages/system: specifiers: @@ -367,7 +367,7 @@ importers: react-fast-compare: ^3.2.0 tsup: 5.12.6 dependencies: - '@emotion/react': 11.9.0_react@17.0.2 + '@emotion/react': 11.9.0 '@marigold/types': link:../types '@theme-ui/css': 0.14.4_@emotion+react@11.9.0 csstype: 3.0.11 @@ -375,7 +375,7 @@ importers: react-fast-compare: 3.2.0 devDependencies: '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages/tokens: specifiers: @@ -383,7 +383,7 @@ importers: tsup: 5.12.6 devDependencies: '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages/types: specifiers: @@ -402,7 +402,7 @@ importers: devDependencies: '@marigold/components': link:../../packages/components '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 themes/theme-core: specifiers: @@ -412,7 +412,7 @@ importers: devDependencies: '@marigold/components': link:../../packages/components '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 themes/theme-unicorn: specifiers: @@ -422,7 +422,7 @@ importers: devDependencies: '@marigold/components': link:../../packages/components '@marigold/tsconfig': link:../../config/tsconfig - tsup: 5.12.6_typescript@4.6.3 + tsup: 5.12.6 packages: @@ -512,7 +512,7 @@ packages: - supports-color dev: false - /@babel/eslint-parser/7.17.0_077185f1ec748bc0e08edf523a661db0: + /@babel/eslint-parser/7.17.0_@babel+core@7.17.10: resolution: {integrity: sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -520,13 +520,12 @@ packages: eslint: ^7.5.0 || ^8.0.0 dependencies: '@babel/core': 7.17.10 - eslint: 8.12.0 eslint-scope: 5.1.1 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: false - /@babel/eslint-parser/7.17.0_5bbe72039de6d93fbabf1e4c6b1a59c4: + /@babel/eslint-parser/7.17.0_lo7hea4543mt7ov7dzggwgszyq: resolution: {integrity: sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -3173,6 +3172,19 @@ packages: stylis: 4.0.13 dev: false + /@emotion/core/10.3.1: + resolution: {integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==} + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.17.9 + '@emotion/cache': 10.0.29 + '@emotion/css': 10.0.27 + '@emotion/serialize': 0.11.16 + '@emotion/sheet': 0.9.4 + '@emotion/utils': 0.11.3 + dev: false + /@emotion/core/10.3.1_react@17.0.2: resolution: {integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==} peerDependencies: @@ -3219,7 +3231,7 @@ packages: resolution: {integrity: sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==} dev: false - /@emotion/react/11.9.0_react@17.0.2: + /@emotion/react/11.9.0: resolution: {integrity: sha512-lBVSF5d0ceKtfKCDQJveNAtkC7ayxpVlgOohLgXqRwqWr9bOf4TZAFFyIcNngnV6xK6X4x2ZeXq7vliHkoVkxQ==} peerDependencies: '@babel/core': ^7.0.0 @@ -3238,7 +3250,6 @@ packages: '@emotion/utils': 1.1.0 '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 - react: 17.0.2 dev: false /@emotion/serialize/0.11.16: @@ -3269,7 +3280,20 @@ packages: resolution: {integrity: sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==} dev: false - /@emotion/styled-base/10.3.0_316248eb6686a2fd4fbadcfd00de37f3: + /@emotion/styled-base/10.3.0_@emotion+core@10.3.1: + resolution: {integrity: sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==} + peerDependencies: + '@emotion/core': ^10.0.28 + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.17.9 + '@emotion/core': 10.3.1 + '@emotion/is-prop-valid': 0.8.8 + '@emotion/serialize': 0.11.16 + '@emotion/utils': 0.11.3 + dev: false + + /@emotion/styled-base/10.3.0_gfrer23gq2rp2t523t6qbxrx6m: resolution: {integrity: sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==} peerDependencies: '@emotion/core': ^10.0.28 @@ -3283,14 +3307,25 @@ packages: react: 17.0.2 dev: false - /@emotion/styled/10.3.0_316248eb6686a2fd4fbadcfd00de37f3: + /@emotion/styled/10.3.0_@emotion+core@10.3.1: + resolution: {integrity: sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==} + peerDependencies: + '@emotion/core': ^10.0.27 + react: '>=16.3.0' + dependencies: + '@emotion/core': 10.3.1 + '@emotion/styled-base': 10.3.0_@emotion+core@10.3.1 + babel-plugin-emotion: 10.2.2 + dev: false + + /@emotion/styled/10.3.0_gfrer23gq2rp2t523t6qbxrx6m: resolution: {integrity: sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==} peerDependencies: '@emotion/core': ^10.0.27 react: '>=16.3.0' dependencies: '@emotion/core': 10.3.1_react@17.0.2 - '@emotion/styled-base': 10.3.0_316248eb6686a2fd4fbadcfd00de37f3 + '@emotion/styled-base': 10.3.0_gfrer23gq2rp2t523t6qbxrx6m babel-plugin-emotion: 10.2.2 react: 17.0.2 dev: false @@ -3315,7 +3350,7 @@ packages: resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} dev: false - /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_e33933e3ebf8a14a1c896f2cc77e2366: + /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_cosmiconfig@7.0.0: resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} engines: {node: '>=10.0.0'} peerDependencies: @@ -3324,7 +3359,7 @@ packages: cosmiconfig: 7.0.0 lodash.get: 4.4.2 make-error: 1.3.6 - ts-node: 9.1.1_typescript@4.6.3 + ts-node: 9.1.1 tslib: 2.4.0 transitivePeerDependencies: - typescript @@ -3402,7 +3437,7 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: false - /@gatsbyjs/parcel-namer-relative-to-cwd/0.0.2_1eaf07174904e1db30b88eca89ba1d12: + /@gatsbyjs/parcel-namer-relative-to-cwd/0.0.2_d2xqof2jatq5wmfyr3fitoq5ci: resolution: {integrity: sha512-ZeGxCbx13+zjpE/0HuJ/tjox9zfiYq9fGoAAi+RHP5vHSJCmJVO5hZbexQ/umlUyAkkkzC4p1WIpw1cYQTA8SA==} engines: {node: '>=14.15.0', parcel: 2.x} peerDependencies: @@ -3422,7 +3457,7 @@ packages: jimp: 0.16.1 dev: false - /@gatsbyjs/reach-router/1.3.7_react-dom@17.0.2+react@17.0.2: + /@gatsbyjs/reach-router/1.3.7_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-KQ5FvMb4BZUlSo+yQgd4t4WB8vkVPWfKjTpSl+Bx/FZhU6OL4lpwgfX7fXAY/18DogqyJCFiNAjV5eo3rQ5Alw==} peerDependencies: react: 15.x || 16.x || 17.x || 18.x @@ -3541,7 +3576,7 @@ packages: value-or-promise: 1.0.6 dev: false - /@graphql-tools/url-loader/6.10.1_23a9246980341bd24d7442a87f2e9d52: + /@graphql-tools/url-loader/6.10.1_graphql@15.8.0: resolution: {integrity: sha512-DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 @@ -3560,7 +3595,7 @@ packages: is-promise: 4.0.0 isomorphic-ws: 4.0.1_ws@7.4.5 lodash: 4.17.21 - meros: 1.1.4_@types+node@16.11.31 + meros: 1.1.4 subscriptions-transport-ws: 0.9.19_graphql@15.8.0 sync-fetch: 0.3.0 tslib: 2.2.0 @@ -4109,7 +4144,7 @@ packages: tinycolor2: 1.4.2 dev: false - /@jimp/plugin-contain/0.14.0_04f2eb7c5fcee3779cc9de0411145f1d: + /@jimp/plugin-contain/0.14.0_atzow7c7z3rxphgj3ycbcfc7du: resolution: {integrity: sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4121,11 +4156,11 @@ packages: '@jimp/custom': 0.14.0 '@jimp/plugin-blit': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-resize': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-scale': 0.14.0_1b5204e571b7e69f994f3f739149c190 + '@jimp/plugin-scale': 0.14.0_dnjajzlrw7tj7gkph5zzcsobsa '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-contain/0.16.1_38e919e7cde018834207f15ee7b0ce6a: + /@jimp/plugin-contain/0.16.1_hdurtz6n4amigqqh6fpopmgoni: resolution: {integrity: sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4137,11 +4172,11 @@ packages: '@jimp/custom': 0.16.1 '@jimp/plugin-blit': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 + '@jimp/plugin-scale': 0.16.1_yobdog5u6yhkf7jbdico3cvr4i '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-cover/0.14.0_132cab346e98a8a22cf9ce3f0298c53c: + /@jimp/plugin-cover/0.14.0_cmwkwndotcukelhzzy7qfggfhq: resolution: {integrity: sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4153,11 +4188,11 @@ packages: '@jimp/custom': 0.14.0 '@jimp/plugin-crop': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-resize': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-scale': 0.14.0_1b5204e571b7e69f994f3f739149c190 + '@jimp/plugin-scale': 0.14.0_dnjajzlrw7tj7gkph5zzcsobsa '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-cover/0.16.1_3d13feed36f5fd86198de47b78b25314: + /@jimp/plugin-cover/0.16.1_huj753jw6x6ymgmn4r5xrmstcq: resolution: {integrity: sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4169,7 +4204,7 @@ packages: '@jimp/custom': 0.16.1 '@jimp/plugin-crop': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 + '@jimp/plugin-scale': 0.16.1_yobdog5u6yhkf7jbdico3cvr4i '@jimp/utils': 0.16.1 dev: false @@ -4253,7 +4288,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-flip/0.14.0_21b3d863db80a865c28da82979224ca7: + /@jimp/plugin-flip/0.14.0_egz5qy63qcuglqunvauxsismu4: resolution: {integrity: sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4261,11 +4296,11 @@ packages: dependencies: '@babel/runtime': 7.17.9 '@jimp/custom': 0.14.0 - '@jimp/plugin-rotate': 0.14.0_6a26553348442491f47014d5048cf1c5 + '@jimp/plugin-rotate': 0.14.0_nitfkm2iiqsjd5dqctkqjdhryu '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-flip/0.16.1_205f1d9ec51496ff93f52ac5618c3660: + /@jimp/plugin-flip/0.16.1_ebpr3hwfcslp7e7vflcwddbwma: resolution: {integrity: sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4273,7 +4308,7 @@ packages: dependencies: '@babel/runtime': 7.17.9 '@jimp/custom': 0.16.1 - '@jimp/plugin-rotate': 0.16.1_37f4bc9bbdbf41c03b931ee8408b3361 + '@jimp/plugin-rotate': 0.16.1_g72lzg55x5a4ao4td3uebcztme '@jimp/utils': 0.16.1 dev: false @@ -4357,7 +4392,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-print/0.14.0_59cf2c48948cca49b82b3ff5e6e0e538: + /@jimp/plugin-print/0.14.0_lhhsyseurtfetoblh726nyhfha: resolution: {integrity: sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4370,7 +4405,7 @@ packages: load-bmfont: 1.4.1 dev: false - /@jimp/plugin-print/0.16.1_5191b610a3eb861d3baa10a735e89ecc: + /@jimp/plugin-print/0.16.1_kgi3mefd5odb2o5kccttl2e6zq: resolution: {integrity: sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4403,7 +4438,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-rotate/0.14.0_6a26553348442491f47014d5048cf1c5: + /@jimp/plugin-rotate/0.14.0_nitfkm2iiqsjd5dqctkqjdhryu: resolution: {integrity: sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4419,7 +4454,7 @@ packages: '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-rotate/0.16.1_37f4bc9bbdbf41c03b931ee8408b3361: + /@jimp/plugin-rotate/0.16.1_g72lzg55x5a4ao4td3uebcztme: resolution: {integrity: sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4435,7 +4470,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-scale/0.14.0_1b5204e571b7e69f994f3f739149c190: + /@jimp/plugin-scale/0.14.0_dnjajzlrw7tj7gkph5zzcsobsa: resolution: {integrity: sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4447,7 +4482,7 @@ packages: '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-scale/0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2: + /@jimp/plugin-scale/0.16.1_yobdog5u6yhkf7jbdico3cvr4i: resolution: {integrity: sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4459,7 +4494,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-shadow/0.14.0_49f3f5687a96d0ff4a4adf2a40083cb6: + /@jimp/plugin-shadow/0.14.0_jhz7k2d2s3ip6ssk34veacb4wy: resolution: {integrity: sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4473,7 +4508,7 @@ packages: '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-shadow/0.16.1_82540ab48d5f83680494f34d0dac907f: + /@jimp/plugin-shadow/0.16.1_qjkavnenl6bwqbeu6ngq3leqp4: resolution: {integrity: sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4487,7 +4522,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-threshold/0.14.0_c55f475b14d9d0f52e32180be908a3e5: + /@jimp/plugin-threshold/0.14.0_yvpuowyu3hipklrsdaf6scfd4u: resolution: {integrity: sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4501,7 +4536,7 @@ packages: '@jimp/utils': 0.14.0 dev: false - /@jimp/plugin-threshold/0.16.1_ec0c83f3603149a8780f87045f821922: + /@jimp/plugin-threshold/0.16.1_5qgih43agfe2q6apq4cf7aqzei: resolution: {integrity: sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -4526,23 +4561,23 @@ packages: '@jimp/plugin-blur': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-circle': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-color': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-contain': 0.14.0_04f2eb7c5fcee3779cc9de0411145f1d - '@jimp/plugin-cover': 0.14.0_132cab346e98a8a22cf9ce3f0298c53c + '@jimp/plugin-contain': 0.14.0_atzow7c7z3rxphgj3ycbcfc7du + '@jimp/plugin-cover': 0.14.0_cmwkwndotcukelhzzy7qfggfhq '@jimp/plugin-crop': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-displace': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-dither': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-fisheye': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-flip': 0.14.0_21b3d863db80a865c28da82979224ca7 + '@jimp/plugin-flip': 0.14.0_egz5qy63qcuglqunvauxsismu4 '@jimp/plugin-gaussian': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-invert': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-mask': 0.14.0_@jimp+custom@0.14.0 '@jimp/plugin-normalize': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-print': 0.14.0_59cf2c48948cca49b82b3ff5e6e0e538 + '@jimp/plugin-print': 0.14.0_lhhsyseurtfetoblh726nyhfha '@jimp/plugin-resize': 0.14.0_@jimp+custom@0.14.0 - '@jimp/plugin-rotate': 0.14.0_6a26553348442491f47014d5048cf1c5 - '@jimp/plugin-scale': 0.14.0_1b5204e571b7e69f994f3f739149c190 - '@jimp/plugin-shadow': 0.14.0_49f3f5687a96d0ff4a4adf2a40083cb6 - '@jimp/plugin-threshold': 0.14.0_c55f475b14d9d0f52e32180be908a3e5 + '@jimp/plugin-rotate': 0.14.0_nitfkm2iiqsjd5dqctkqjdhryu + '@jimp/plugin-scale': 0.14.0_dnjajzlrw7tj7gkph5zzcsobsa + '@jimp/plugin-shadow': 0.14.0_jhz7k2d2s3ip6ssk34veacb4wy + '@jimp/plugin-threshold': 0.14.0_yvpuowyu3hipklrsdaf6scfd4u timm: 1.7.1 dev: false @@ -4557,23 +4592,23 @@ packages: '@jimp/plugin-blur': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-circle': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-color': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-contain': 0.16.1_38e919e7cde018834207f15ee7b0ce6a - '@jimp/plugin-cover': 0.16.1_3d13feed36f5fd86198de47b78b25314 + '@jimp/plugin-contain': 0.16.1_hdurtz6n4amigqqh6fpopmgoni + '@jimp/plugin-cover': 0.16.1_huj753jw6x6ymgmn4r5xrmstcq '@jimp/plugin-crop': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-displace': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-dither': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-fisheye': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-flip': 0.16.1_205f1d9ec51496ff93f52ac5618c3660 + '@jimp/plugin-flip': 0.16.1_ebpr3hwfcslp7e7vflcwddbwma '@jimp/plugin-gaussian': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-invert': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-mask': 0.16.1_@jimp+custom@0.16.1 '@jimp/plugin-normalize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-print': 0.16.1_5191b610a3eb861d3baa10a735e89ecc + '@jimp/plugin-print': 0.16.1_kgi3mefd5odb2o5kccttl2e6zq '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-rotate': 0.16.1_37f4bc9bbdbf41c03b931ee8408b3361 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 - '@jimp/plugin-shadow': 0.16.1_82540ab48d5f83680494f34d0dac907f - '@jimp/plugin-threshold': 0.16.1_ec0c83f3603149a8780f87045f821922 + '@jimp/plugin-rotate': 0.16.1_g72lzg55x5a4ao4td3uebcztme + '@jimp/plugin-scale': 0.16.1_yobdog5u6yhkf7jbdico3cvr4i + '@jimp/plugin-shadow': 0.16.1_qjkavnenl6bwqbeu6ngq3leqp4 + '@jimp/plugin-threshold': 0.16.1_5qgih43agfe2q6apq4cf7aqzei timm: 1.7.1 dev: false @@ -4722,11 +4757,11 @@ packages: read-yaml-file: 1.1.0 dev: false - /@mdx-js/loader/1.6.22_react@17.0.2: + /@mdx-js/loader/1.6.22: resolution: {integrity: sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==} dependencies: '@mdx-js/mdx': 1.6.22 - '@mdx-js/react': 1.6.22_react@17.0.2 + '@mdx-js/react': 1.6.22 loader-utils: 2.0.0 transitivePeerDependencies: - react @@ -4759,6 +4794,12 @@ packages: - supports-color dev: false + /@mdx-js/react/1.6.22: + resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} + peerDependencies: + react: ^16.13.1 || ^17.0.0 + dev: false + /@mdx-js/react/1.6.22_react@17.0.2: resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} peerDependencies: @@ -4792,7 +4833,7 @@ packages: glob-to-regexp: 0.3.0 dev: false - /@mui/base/5.0.0-alpha.74_b49bddbe4b905ced4713cb857cca91fa: + /@mui/base/5.0.0-alpha.74_wsn53pslsboo2rytzocxzsur7i: resolution: {integrity: sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4816,7 +4857,7 @@ packages: react-is: 17.0.2 dev: false - /@mui/material/5.5.3_b49bddbe4b905ced4713cb857cca91fa: + /@mui/material/5.5.3_wsn53pslsboo2rytzocxzsur7i: resolution: {integrity: sha512-eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4834,8 +4875,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.17.9 - '@mui/base': 5.0.0-alpha.74_b49bddbe4b905ced4713cb857cca91fa - '@mui/system': 5.6.4_c8e45b4eb687790dba17b4e1c4b4273f + '@mui/base': 5.0.0-alpha.74_wsn53pslsboo2rytzocxzsur7i + '@mui/system': 5.6.4_zdsfwtvwq54q3oqxwtq4jnbhh4 '@mui/types': 7.1.3_@types+react@17.0.44 '@mui/utils': 5.6.1_react@17.0.2 '@types/react': 17.0.44 @@ -4847,10 +4888,10 @@ packages: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-is: 17.0.2 - react-transition-group: 4.4.2_react-dom@17.0.2+react@17.0.2 + react-transition-group: 4.4.2_sfoxds7t5ydpegc3knd667wn6m dev: false - /@mui/private-theming/5.6.2_c8e45b4eb687790dba17b4e1c4b4273f: + /@mui/private-theming/5.6.2_zdsfwtvwq54q3oqxwtq4jnbhh4: resolution: {integrity: sha512-IbrSfFXfiZdyhRMC2bgGTFtb16RBQ5mccmjeh3MtAERWuepiCK7gkW5D9WhEsfTu6iez+TEjeUKSgmMHlsM2mg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4886,7 +4927,7 @@ packages: react: 17.0.2 dev: false - /@mui/styles/5.5.3_c8e45b4eb687790dba17b4e1c4b4273f: + /@mui/styles/5.5.3_zdsfwtvwq54q3oqxwtq4jnbhh4: resolution: {integrity: sha512-jxiXgyzYXDh5pUdfKvs5ZTJqQRNFUgbG9Q/hOPh0nHrKYmlrikt2Z3b9Rjrkp2QCh9R3kuy8LHlv/u+QjnnIqg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4898,7 +4939,7 @@ packages: dependencies: '@babel/runtime': 7.17.9 '@emotion/hash': 0.8.0 - '@mui/private-theming': 5.6.2_c8e45b4eb687790dba17b4e1c4b4273f + '@mui/private-theming': 5.6.2_zdsfwtvwq54q3oqxwtq4jnbhh4 '@mui/types': 7.1.3_@types+react@17.0.44 '@mui/utils': 5.6.1_react@17.0.2 '@types/react': 17.0.44 @@ -4917,7 +4958,7 @@ packages: react: 17.0.2 dev: false - /@mui/system/5.6.4_c8e45b4eb687790dba17b4e1c4b4273f: + /@mui/system/5.6.4_zdsfwtvwq54q3oqxwtq4jnbhh4: resolution: {integrity: sha512-7rsWED1wMFMePySJobsBerFZNu7ga580QSi3Zd6sJR8nVj12qD3yIdfvxA70/PxJ/805KbIT0GX7edKI+hpyhA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4934,7 +4975,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.17.9 - '@mui/private-theming': 5.6.2_c8e45b4eb687790dba17b4e1c4b4273f + '@mui/private-theming': 5.6.2_zdsfwtvwq54q3oqxwtq4jnbhh4 '@mui/styled-engine': 5.6.1_react@17.0.2 '@mui/types': 7.1.3_@types+react@17.0.44 '@mui/utils': 5.6.1_react@17.0.2 @@ -5555,7 +5596,7 @@ packages: nullthrows: 1.1.1 dev: false - /@pmmmwh/react-refresh-webpack-plugin/0.4.3_ad215394b92be37ab5bb82482aa97917: + /@pmmmwh/react-refresh-webpack-plugin/0.4.3_vuqvhffzfprxvnn3qjecvklzc4: resolution: {integrity: sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==} engines: {node: '>= 10.x'} peerDependencies: @@ -5591,7 +5632,7 @@ packages: webpack: 5.72.0 dev: false - /@pmmmwh/react-refresh-webpack-plugin/0.5.5_06cd85ae30adde416cafc06517ba554d: + /@pmmmwh/react-refresh-webpack-plugin/0.5.5_a3gyllrqvxpec3fpybsrposvju: resolution: {integrity: sha512-RbG7h6TuP6nFFYKJwbcToA1rjC1FyPg25NR2noAZ0vKI+la01KTSRPkuVPE+U88jXv7javx2JHglUcL1MHcshQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5634,85 +5675,79 @@ packages: resolution: {integrity: sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==} dev: false - /@react-aria/button/3.4.3_react@17.0.2: + /@react-aria/button/3.4.3: resolution: {integrity: sha512-OMUuMu9UrBPv89DtAytRKDjD1YYkBY+Q2BCDs0OkRC1wjuWagCXji/f7ro7p6BSccIDRBdE6Lsi9OZmSJeTcqw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-types/button': 3.4.4_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-stately/toggle': 3.2.6 + '@react-types/button': 3.4.4 dev: false - /@react-aria/checkbox/3.3.3_react@17.0.2: + /@react-aria/checkbox/3.3.3: resolution: {integrity: sha512-01sWUwiDJyfRnAx899WTUeyjtiixN3TfdDAxV7q2oKUk5MVk0RD+izFRUlvOiPE7Uenh0r/5vFRrQezCiAqMKg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/toggle': 3.2.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/checkbox': 3.0.6_react@17.0.2 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - react: 17.0.2 + '@react-aria/label': 3.2.4 + '@react-aria/toggle': 3.2.3 + '@react-aria/utils': 3.11.3 + '@react-stately/checkbox': 3.0.6 + '@react-stately/toggle': 3.2.6 + '@react-types/checkbox': 3.2.6 dev: false - /@react-aria/dialog/3.1.8_react@17.0.2: + /@react-aria/dialog/3.1.8: resolution: {integrity: sha512-jWoApTZc1QSkfu3B/9H5Zj2DNnSG71PjC6cFrGwo2Eir1jQ0u9OjIpqeSqVtHoNFTqR0av0SyqhJsZx1dpjeVw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/overlays': 3.1.6_react@17.0.2 - '@react-types/dialog': 3.3.4_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/utils': 3.11.3 + '@react-stately/overlays': 3.1.6 + '@react-types/dialog': 3.3.4 dev: false - /@react-aria/focus/3.5.4_react@17.0.2: + /@react-aria/focus/3.5.4: resolution: {integrity: sha512-N70J6boUPUKjBfGnYDwUXi1r0HKjvo7RmD381QbDBqZNy/j5v/pgQ+aauSuIlsHa/TmmiRuynIm4Q0sWN4/hbQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 clsx: 1.1.1 - react: 17.0.2 dev: false - /@react-aria/grid/3.2.5_react-dom@17.0.2+react@17.0.2: + /@react-aria/grid/3.2.5: resolution: {integrity: sha512-wtE+ufepg96bZW2pAEQD2MpBg0VMo0BrAuN4LDoviP3gqc9ViEUxIUu1hoSgsQqkCJI4ZIKrS+2ITH/G60W9lw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/live-announcer': 3.0.5_react-dom@17.0.2+react@17.0.2 - '@react-aria/selection': 3.8.1_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/grid': 3.1.3_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-stately/virtualizer': 3.1.8_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/grid': 3.0.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: false - - /@react-aria/i18n/3.3.8_react@17.0.2: + '@react-aria/focus': 3.5.4 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/live-announcer': 3.0.5 + '@react-aria/selection': 3.8.1 + '@react-aria/utils': 3.11.3 + '@react-stately/grid': 3.1.3 + '@react-stately/selection': 3.9.3 + '@react-stately/virtualizer': 3.1.8 + '@react-types/checkbox': 3.2.6 + '@react-types/grid': 3.0.3 + '@react-types/shared': 3.11.2 + dev: false + + /@react-aria/i18n/3.3.8: resolution: {integrity: sha512-9yEaBRJ6Lxd20mUPvzorIJraYp3TD1yKRo4BTTuO/Om9BPSp1VW8JhUuyMZNouo1oQffxddFXqppuayLPwhJlQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 @@ -5721,672 +5756,612 @@ packages: '@internationalized/date': 3.0.0-alpha.4 '@internationalized/message': 3.0.5 '@internationalized/number': 3.0.6 - '@react-aria/ssr': 3.1.2_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/ssr': 3.1.2 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/interactions/3.8.3_react@17.0.2: + /@react-aria/interactions/3.8.3: resolution: {integrity: sha512-zffWRqhEk4SQNbr5sv3BnMIsmQjtdhXvv3FLn9Ch0HxxGb8VStjrVPEv7r9OtVodab+ThcUehL4NJ8zU/U/4ew==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/label/3.2.4_react@17.0.2: + /@react-aria/label/3.2.4: resolution: {integrity: sha512-aE1oQSTBX++uG0SRKt99FQqGGzVjxUk/he8Ek+L1vX9BDuiESWTrix688WEUYeKU1B6+bduJlO2JwmcEWjafyA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/label': 3.5.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/utils': 3.11.3 + '@react-types/label': 3.5.3 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/link/3.2.4_react@17.0.2: + /@react-aria/link/3.2.4: resolution: {integrity: sha512-4RdZLxtanxxF9gzBVBoqZHTbH/U5LgvOb54sum8ZvI06RYvgJSYlYfMK5bp2Hq6fyCqUwT35tUabvrgrZ7NRsA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/link': 3.2.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-types/link': 3.2.4 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/listbox/3.4.4_react@17.0.2: + /@react-aria/listbox/3.4.4: resolution: {integrity: sha512-ccyqWPAcglzHxP0frSqal9G+C25mMgsxvo0edIiV1dJatv+SPZYIB59n7dJoAu1uO3hPnvDsqtNNU+pdfVpxEg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/selection': 3.8.1_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/list': 3.4.4_react@17.0.2 - '@react-types/listbox': 3.2.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 - dev: false - - /@react-aria/live-announcer/3.0.5_react-dom@17.0.2+react@17.0.2: + '@react-aria/focus': 3.5.4 + '@react-aria/interactions': 3.8.3 + '@react-aria/label': 3.2.4 + '@react-aria/selection': 3.8.1 + '@react-aria/utils': 3.11.3 + '@react-stately/collections': 3.3.7 + '@react-stately/list': 3.4.4 + '@react-types/listbox': 3.2.4 + '@react-types/shared': 3.11.2 + dev: false + + /@react-aria/live-announcer/3.0.5: resolution: {integrity: sha512-soIfCI8koNu3ZFlXzeYFnw3nzYqXt/yMDq9lhGXe/XbJ7Zq8m5Q4f+JhMhnAMN2OmazysJafXuq7rLp8wCv/TA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-aria/visually-hidden': 3.2.7_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + '@react-aria/utils': 3.11.3 + '@react-aria/visually-hidden': 3.2.7 dev: false - /@react-aria/menu/3.4.3_react-dom@17.0.2+react@17.0.2: + /@react-aria/menu/3.4.3: resolution: {integrity: sha512-pGuuXsf+LjFRj0KQTkQNXY3RY0VO2ebF91LwRuLLMNtSFaTGzwNWM+Wq/ObjK84jycH6SuJuZ6llz+6itcYBww==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/overlays': 3.8.1_react-dom@17.0.2+react@17.0.2 - '@react-aria/selection': 3.8.1_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/menu': 3.2.6_react@17.0.2 - '@react-stately/tree': 3.2.3_react@17.0.2 - '@react-types/button': 3.4.4_react@17.0.2 - '@react-types/menu': 3.5.2_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: false - - /@react-aria/overlays/3.8.1_react-dom@17.0.2+react@17.0.2: + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/overlays': 3.8.1 + '@react-aria/selection': 3.8.1 + '@react-aria/utils': 3.11.3 + '@react-stately/collections': 3.3.7 + '@react-stately/menu': 3.2.6 + '@react-stately/tree': 3.2.3 + '@react-types/button': 3.4.4 + '@react-types/menu': 3.5.2 + '@react-types/shared': 3.11.2 + dev: false + + /@react-aria/overlays/3.8.1: resolution: {integrity: sha512-6r86wO7DlcYXOwufzxuYWkh/lwgwpKYAhKHL8z8DcErX7mbauoeh2Z3wX+6a27rSrkqRksmsWYJR3nsg55u1DA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-aria/visually-hidden': 3.2.7_react@17.0.2 - '@react-stately/overlays': 3.1.6_react@17.0.2 - '@react-types/button': 3.4.4_react@17.0.2 - '@react-types/overlays': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-aria/visually-hidden': 3.2.7 + '@react-stately/overlays': 3.1.6 + '@react-types/button': 3.4.4 + '@react-types/overlays': 3.5.4 + '@react-types/shared': 3.11.2 dom-helpers: 3.4.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 dev: false - /@react-aria/radio/3.1.10_react@17.0.2: + /@react-aria/radio/3.1.10: resolution: {integrity: sha512-AZfzKhqzUUaiVLJ9APqQMrNgsoOqnV7jJeHqwEfSl+epBI+WtG6cbJtXroHlYr6hfwEjRzv0wg5CMzip0nJEaA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/radio': 3.3.5_react@17.0.2 - '@react-types/radio': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/label': 3.2.4 + '@react-aria/utils': 3.11.3 + '@react-stately/radio': 3.3.5 + '@react-types/radio': 3.1.5 dev: false - /@react-aria/select/3.6.4_react-dom@17.0.2+react@17.0.2: + /@react-aria/select/3.6.4: resolution: {integrity: sha512-JDNqE7qS4n+ruT3SbLWhp1toB4Op4UBVCAohB3lWTo4mdqxz6v3H/ArGmXDZZ/8l7bPPj3LmTw2O1b1/nULfVQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/listbox': 3.4.4_react@17.0.2 - '@react-aria/menu': 3.4.3_react-dom@17.0.2+react@17.0.2 - '@react-aria/selection': 3.8.1_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-aria/visually-hidden': 3.2.7_react@17.0.2 - '@react-stately/select': 3.1.6_react@17.0.2 - '@react-types/button': 3.4.4_react@17.0.2 - '@react-types/select': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: false - - /@react-aria/selection/3.8.1_react@17.0.2: + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/label': 3.2.4 + '@react-aria/listbox': 3.4.4 + '@react-aria/menu': 3.4.3 + '@react-aria/selection': 3.8.1 + '@react-aria/utils': 3.11.3 + '@react-aria/visually-hidden': 3.2.7 + '@react-stately/select': 3.1.6 + '@react-types/button': 3.4.4 + '@react-types/select': 3.5.4 + '@react-types/shared': 3.11.2 + dev: false + + /@react-aria/selection/3.8.1: resolution: {integrity: sha512-Nt6CtP+fZw4/oj/x9Ql+y41uaRGCA8qtyLIthFWorj+zniP4j0EPgT3iWuePgjk5mBxW5rQPdIJbg1pFFuEU8w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-stately/collections': 3.3.7 + '@react-stately/selection': 3.9.3 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/separator/3.1.6_react@17.0.2: + /@react-aria/separator/3.1.6: resolution: {integrity: sha512-7hovAsArYnVL5UcG+/hJwSbN0/GQQzZGi/kGMYVQ60XyyEK55mSfghT6LKb0Spv6I/Mplsx5wmcwiLtuC9g3vg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 dev: false - /@react-aria/slider/3.0.7_react@17.0.2: + /@react-aria/slider/3.0.7: resolution: {integrity: sha512-goGxfpculq9SErQyRlTrsA4TDsaO53nEU/7sDgvaRXSd1Pnuti3ORy5t6WJso3SZ+i1YRVDPLg1ng1WQWeZaKQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/radio': 3.3.5_react@17.0.2 - '@react-stately/slider': 3.0.7_react@17.0.2 - '@react-types/radio': 3.1.5_react@17.0.2 - '@react-types/slider': 3.0.5_react@17.0.2 - react: 17.0.2 - dev: false - - /@react-aria/ssr/3.1.2_react@17.0.2: + '@react-aria/focus': 3.5.4 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/label': 3.2.4 + '@react-aria/utils': 3.11.3 + '@react-stately/radio': 3.3.5 + '@react-stately/slider': 3.0.7 + '@react-types/radio': 3.1.5 + '@react-types/slider': 3.0.5 + dev: false + + /@react-aria/ssr/3.1.2: resolution: {integrity: sha512-amXY11ImpokvkTMeKRHjsSsG7v1yzzs6yeqArCyBIk60J3Yhgxwx9Cah+Uu/804ATFwqzN22AXIo7SdtIaMP+g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - react: 17.0.2 dev: false - /@react-aria/switch/3.1.7_react@17.0.2: + /@react-aria/switch/3.1.7: resolution: {integrity: sha512-0E2zFSaxPvgVBuM7Ipz0kSXCp9Q6r0H/3qdxNgn/btdJtRANQza4YxLSSkSC/wSs035bcTk/3FoDH8v83NZIwg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/toggle': 3.2.3_react@17.0.2 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-types/switch': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-aria/toggle': 3.2.3 + '@react-stately/toggle': 3.2.6 + '@react-types/switch': 3.1.5 dev: false - /@react-aria/table/3.2.4_react-dom@17.0.2+react@17.0.2: + /@react-aria/table/3.2.4: resolution: {integrity: sha512-2t/EGyNAYsU841ZPLYUkwN+tdXztccgllUJ9qL5a0RJm7DYKKFHHsAYWmnV5ONj/tXqNZQfoqJSzsL6wpTXOZw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/grid': 3.2.5_react-dom@17.0.2+react@17.0.2 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/live-announcer': 3.0.5_react-dom@17.0.2+react@17.0.2 - '@react-aria/selection': 3.8.1_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/table': 3.1.3_react@17.0.2 - '@react-stately/virtualizer': 3.1.8_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/grid': 3.0.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/table': 3.1.3_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: false - - /@react-aria/textfield/3.5.4_react@17.0.2: + '@react-aria/focus': 3.5.4 + '@react-aria/grid': 3.2.5 + '@react-aria/i18n': 3.3.8 + '@react-aria/interactions': 3.8.3 + '@react-aria/live-announcer': 3.0.5 + '@react-aria/selection': 3.8.1 + '@react-aria/utils': 3.11.3 + '@react-stately/table': 3.1.3 + '@react-stately/virtualizer': 3.1.8 + '@react-types/checkbox': 3.2.6 + '@react-types/grid': 3.0.3 + '@react-types/shared': 3.11.2 + '@react-types/table': 3.1.3 + dev: false + + /@react-aria/textfield/3.5.4: resolution: {integrity: sha512-0H1/D8/yjWhweM2iclVIfLbRAiG+lrJeAeZp2lD1+5babZt/83lCio9KuFf83f6pLUeFKek88TIQtoWRFT28Rg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/label': 3.2.4_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/textfield': 3.3.3_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/label': 3.2.4 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 + '@react-types/textfield': 3.3.3 dev: false - /@react-aria/toggle/3.2.3_react@17.0.2: + /@react-aria/toggle/3.2.3: resolution: {integrity: sha512-cB3gGV0pAEP6iDq4HLDQwW/6TTswOUyGbZBTXAjJNJRUa+RsZl/uO3odBoQBo4ToohsLHvL6OcrZxWFlbZsUbw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/switch': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-stately/toggle': 3.2.6 + '@react-types/checkbox': 3.2.6 + '@react-types/shared': 3.11.2 + '@react-types/switch': 3.1.5 dev: false - /@react-aria/tooltip/3.1.7_react@17.0.2: + /@react-aria/tooltip/3.1.7: resolution: {integrity: sha512-gcDITwWoHqzMTWFil+ql3fJJ06zXcEYGWgueaJpxa3Us6+d/wwEYr4ylVyWGzwnuPhblMVofOpowr+3+bTFkew==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/focus': 3.5.4_react@17.0.2 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/tooltip': 3.0.8_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/tooltip': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-aria/focus': 3.5.4 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 + '@react-stately/tooltip': 3.0.8 + '@react-types/shared': 3.11.2 + '@react-types/tooltip': 3.1.5 dev: false - /@react-aria/utils/3.11.3_react@17.0.2: + /@react-aria/utils/3.11.3: resolution: {integrity: sha512-EH3SyA3FtbhuOj1cgGveiEYidKe3CgGYkP8D57O46rlTWcgTxhGHUEibGeJw3PFXxmbgm5RIOdBo29YwItvtcQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/ssr': 3.1.2_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 + '@react-aria/ssr': 3.1.2 + '@react-stately/utils': 3.4.1 + '@react-types/shared': 3.11.2 clsx: 1.1.1 - react: 17.0.2 dev: false - /@react-aria/visually-hidden/3.2.7_react@17.0.2: + /@react-aria/visually-hidden/3.2.7: resolution: {integrity: sha512-rvE0N91nBa7DxcH6KyapjttWQJFhRqeFBfGA9oCeGgTYLsn5CBvnKMLQEm2Z7ZlUcl08Xh2nB2KxKrRQ4ldYlw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 + '@react-aria/interactions': 3.8.3 + '@react-aria/utils': 3.11.3 clsx: 1.1.1 - react: 17.0.2 dev: false - /@react-stately/checkbox/3.0.6_react@17.0.2: + /@react-stately/checkbox/3.0.6: resolution: {integrity: sha512-RrXJlEtp2q3g6Yex9QI8/tRJhIDmG1oKc5+VyVvdxp0NXtK0Zz+ycIlXuzcI5gwlBemv5ETxbIG4p5gdNXVeKA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/toggle': 3.2.6_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - react: 17.0.2 + '@react-stately/toggle': 3.2.6 + '@react-stately/utils': 3.4.1 + '@react-types/checkbox': 3.2.6 dev: false - /@react-stately/collections/3.3.7_react@17.0.2: + /@react-stately/collections/3.3.7: resolution: {integrity: sha512-SbXFsImuxzKed6tzIZeKnkO4631PPoR+apSv2J42qbUEZ0tuyD6a+vQ9lkB1P06bZ0zAjDg5oNOwqGo4yUvp/Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/grid/3.1.3_react@17.0.2: + /@react-stately/grid/3.1.3: resolution: {integrity: sha512-NDNCxq+6f2wxoA+i/Rp99GCieMwFwSjWJU9eVTQCYCA5gp6mp7occnlh5840xTDtkJbb9uAsm6Ikv5+I5a42gA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-types/grid': 3.0.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/selection': 3.9.3 + '@react-types/grid': 3.0.3 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/list/3.4.4_react@17.0.2: + /@react-stately/list/3.4.4: resolution: {integrity: sha512-/l/tkXar6Y+NWsasXoE3waMe0MYUJHwrf+GLPTow6U7J6bsPRGEFjuu/zpXQXU2tDMPn1fKiuZgSxgIUq3ATdA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/collections': 3.3.7 + '@react-stately/selection': 3.9.3 + '@react-stately/utils': 3.4.1 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/menu/3.2.6_react@17.0.2: + /@react-stately/menu/3.2.6: resolution: {integrity: sha512-nZrRLsf61ujHYOvXzYSROlwTnyHJ9y6yElDF++FamsFkD+k4mIqFzbTgWHytZqTwovnnzWgbJybm8NLksmic5g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/overlays': 3.1.6_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/menu': 3.5.2_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/overlays': 3.1.6 + '@react-stately/utils': 3.4.1 + '@react-types/menu': 3.5.2 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/overlays/3.1.6_react@17.0.2: + /@react-stately/overlays/3.1.6: resolution: {integrity: sha512-0iOdRqYjhTj8966lO9xN8+9IXXJ1Ngv2hCF2imPa40Jl1BXLBogLPblCq3HEQPcPsa+0pU3+xoaIb0MWdIkY9w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/overlays': 3.5.4_react@17.0.2 - react: 17.0.2 + '@react-stately/utils': 3.4.1 + '@react-types/overlays': 3.5.4 dev: false - /@react-stately/radio/3.3.5_react@17.0.2: + /@react-stately/radio/3.3.5: resolution: {integrity: sha512-/2m4beHHbKdz91PFFaPd5xWysENnWGBNUa1Un9VSwvmtoYbUJDl33lZOx/GqHg8Vu2sxCyVMv19w75bun2jm+Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/radio': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-stately/utils': 3.4.1 + '@react-types/radio': 3.1.5 dev: false - /@react-stately/select/3.1.6_react@17.0.2: + /@react-stately/select/3.1.6: resolution: {integrity: sha512-z7RzxLQpTbPqMjI1nrDP3xusXjtdeo3cdKMyyJCXFlifjT0wWm3HhCnAIhpB5LxQUzClckkPulZ35QmZ8NZObA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/list': 3.4.4_react@17.0.2 - '@react-stately/menu': 3.2.6_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/select': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/collections': 3.3.7 + '@react-stately/list': 3.4.4 + '@react-stately/menu': 3.2.6 + '@react-stately/selection': 3.9.3 + '@react-stately/utils': 3.4.1 + '@react-types/select': 3.5.4 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/selection/3.9.3_react@17.0.2: + /@react-stately/selection/3.9.3: resolution: {integrity: sha512-Bg3qa6zuQcTbkQFwNr8e3WjyOBNRSf0ql9qn5HeQvDxnH8z65oqm0MKQ7FOiKSj7XEc/agZK8/yd8fQoeAHnXg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/collections': 3.3.7 + '@react-stately/utils': 3.4.1 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/slider/3.0.7_react@17.0.2: + /@react-stately/slider/3.0.7: resolution: {integrity: sha512-mv/6ooYXf8vG87xDVgER9Hquzm1IFyuvwJz+7Kqu4Tdb0a0LfaP35U96NKqnPQjz9tkEi1uSibz5REHfaVNI3A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/i18n': 3.3.8_react@17.0.2 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/slider': 3.0.5_react@17.0.2 - react: 17.0.2 + '@react-aria/i18n': 3.3.8 + '@react-aria/utils': 3.11.3 + '@react-stately/utils': 3.4.1 + '@react-types/slider': 3.0.5 dev: false - /@react-stately/table/3.1.3_react@17.0.2: + /@react-stately/table/3.1.3: resolution: {integrity: sha512-HSsamFabtCSHib4A5rxXBtfKPd0InXjXSoaxUNi6RLOyptULMA06q1ShbWDEijTYGQI5Pfevs/5bgLonj0enbg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/grid': 3.1.3_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-types/grid': 3.0.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - '@react-types/table': 3.1.3_react@17.0.2 - react: 17.0.2 + '@react-stately/collections': 3.3.7 + '@react-stately/grid': 3.1.3 + '@react-stately/selection': 3.9.3 + '@react-types/grid': 3.0.3 + '@react-types/shared': 3.11.2 + '@react-types/table': 3.1.3 dev: false - /@react-stately/toggle/3.2.6_react@17.0.2: + /@react-stately/toggle/3.2.6: resolution: {integrity: sha512-M/+iX6eHYZScKfaOQvp3KqityOuRTWLOgskCNlnQBTq5VSszuD2p4uWxJQWXq3DbU+q872Fz4vJ7eTc2l9YA/Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/utils': 3.4.1 + '@react-types/checkbox': 3.2.6 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/tooltip/3.0.8_react@17.0.2: + /@react-stately/tooltip/3.0.8: resolution: {integrity: sha512-udq97gIXNtFY9F/Fnca0PFA8zylDqRNitmIKiTjIive1lMuDH9b2xWqKLi4b6WOFpDlAX6UQTj4TjGdnAyaIbw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/overlays': 3.1.6_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/tooltip': 3.1.5_react@17.0.2 - react: 17.0.2 + '@react-stately/overlays': 3.1.6 + '@react-stately/utils': 3.4.1 + '@react-types/tooltip': 3.1.5 dev: false - /@react-stately/tree/3.2.3_react@17.0.2: + /@react-stately/tree/3.2.3: resolution: {integrity: sha512-2hV1FCh2tLa9ihONqSxatd4fiz9BCI+sWaFfurW5PvZpgP/0GWNlX/EP0Sto4L9Rr0WNkiEwLhhKcHGYhMxMVg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-stately/collections': 3.3.7_react@17.0.2 - '@react-stately/selection': 3.9.3_react@17.0.2 - '@react-stately/utils': 3.4.1_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-stately/collections': 3.3.7 + '@react-stately/selection': 3.9.3 + '@react-stately/utils': 3.4.1 + '@react-types/shared': 3.11.2 dev: false - /@react-stately/utils/3.4.1_react@17.0.2: + /@react-stately/utils/3.4.1: resolution: {integrity: sha512-mjFbKklj/W8KRw1CQSpUJxHd7lhUge4i00NwJTwGxbzmiJgsTWlKKS/1rBf48ey9hUBopXT5x5vG/AxQfWTQug==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - react: 17.0.2 dev: false - /@react-stately/virtualizer/3.1.8_react@17.0.2: + /@react-stately/virtualizer/3.1.8: resolution: {integrity: sha512-tqOv9UiDgP8y9XJFFmV5tyuiJGmM5rMH4p8VpqNl/1ZgCmqt0XEPEVybYo1RsZoEcVVnZNXeYSLckCxXA307yg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: '@babel/runtime': 7.17.9 - '@react-aria/utils': 3.11.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/utils': 3.11.3 + '@react-types/shared': 3.11.2 dev: false - /@react-types/button/3.4.4_react@17.0.2: + /@react-types/button/3.4.4: resolution: {integrity: sha512-PdHoNC2ezkzfneRdDTWJ8dOzL56MnLzjcDpnHRTbGFsWrwe+wAywls2ZJR6m411RyRim4A6+1UIKXga9AJ43uA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/checkbox/3.2.6_react@17.0.2: + /@react-types/checkbox/3.2.6: resolution: {integrity: sha512-bOQAnnDEpXL1P4oRBiwjnOskKQtawc+JcRZzQk/9k7NwKWfv5MHG/MFDJsW057GPm9Ks0onNATohtw6LFvzAQA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/dialog/3.3.4_react@17.0.2: + /@react-types/dialog/3.3.4: resolution: {integrity: sha512-BSJuGdoblrf4N47TfH5U7R6HbBzG2qNbq0PA2Wwu+OD/oczQXFgrsYfM5AhPReEoVtr+ISstGVk+SpMnZbl/MA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/overlays': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/overlays': 3.5.4 + '@react-types/shared': 3.11.2 dev: false - /@react-types/grid/3.0.3_react@17.0.2: + /@react-types/grid/3.0.3: resolution: {integrity: sha512-zIzRV7HULy0FlzWUQLaq6Mwr0bk3+s6+ZwzJeTq+dm1wYIcWr47AK4GsDUzHZo06CDEZBBIEvEU6sN29AzF8EQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/label/3.5.3_react@17.0.2: + /@react-types/label/3.5.3: resolution: {integrity: sha512-YleKhsN2j17tQx2B8W6Hq8bVzIY/Q5b5YS/8oyey4WfsbIZXWJNXFH8DgQ4hVUxxAplwsRnxOmtiBYLWFMeXQg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/link/3.2.4_react@17.0.2: + /@react-types/link/3.2.4: resolution: {integrity: sha512-R63U8oQ2LK8xpW0rOiteSLAAByu0ibAajqzG2qGuWA2XIAcInb8OencQRt+o8PGoEfgT5qVeHx9K5/O++9Uv0w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-aria/interactions': 3.8.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-aria/interactions': 3.8.3 + '@react-types/shared': 3.11.2 dev: false - /@react-types/listbox/3.2.4_react@17.0.2: + /@react-types/listbox/3.2.4: resolution: {integrity: sha512-PD7Ys67m0hmv39/dQIuc7siTomYvYOuwItXLcUxNtoh7PIiGrrjXBjIT+KI7XgscKPmFyYIo31o9js+gcAVTCg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/menu/3.5.2_react@17.0.2: + /@react-types/menu/3.5.2: resolution: {integrity: sha512-jDyc0kEl+v83nvZfxumMfLTGq7qUBu6CT52asWj+9vKwMlRIW5s/o6VTHdBhGcJnhm3x78gTQH/so2FQf67QgA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/overlays': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/overlays': 3.5.4 + '@react-types/shared': 3.11.2 dev: false - /@react-types/overlays/3.5.4_react@17.0.2: + /@react-types/overlays/3.5.4: resolution: {integrity: sha512-lofEJS+ng9ydgHwztftTGIOaiuOni1zPTSZHmxPqlOrC+VQIdvdHUKF+3IOR1d6CbYA65a80oXO5sbMwij2Z/w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/radio/3.1.5_react@17.0.2: + /@react-types/radio/3.1.5: resolution: {integrity: sha512-KO6qERL4MQT7wMud4afikpWSdMNFc7+AMBYYxC+9usEEIxgYn98ksvvPc/rekRbnq0WL1T8WAZtYBM/+41qMbA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/select/3.5.4_react@17.0.2: + /@react-types/select/3.5.4: resolution: {integrity: sha512-O3kCE/43bfNH3iXLJuMagFnT1qRgBLgK/9Rz00FHLF6WsvE/RYJxlVBsGsu0u9+S1zR+ye6iKdXHdlnrnbQOgw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/shared/3.11.2_react@17.0.2: + /@react-types/shared/3.11.2: resolution: {integrity: sha512-MIjjjkFi/DTzMVmeFJJrpc51eS/PLNzLZEv6o/QJPhQ9uOMElYqA790qAcG75u3tR0XGU2Vv9RyeOC7+ppw8/Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 - dependencies: - react: 17.0.2 dev: false - /@react-types/slider/3.0.5_react@17.0.2: + /@react-types/slider/3.0.5: resolution: {integrity: sha512-i+cN8fXeZKWdRtxznba+xBjBDpWOC7fFYi15rt0WIMPtNYuRAoBTd1HbQVhcKHDzfvPyBHw6g5gm9qW/wpRuSA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/switch/3.1.5_react@17.0.2: + /@react-types/switch/3.1.5: resolution: {integrity: sha512-ZCqMGg0NievmgMuzCuW3f/6cHO6PXbFNULd1DXaPxSxKitiDrNFrE0Y6ui3LtYhKosICJ/Z7EeEDGb8FAyyT9g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/checkbox': 3.2.6_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/checkbox': 3.2.6 + '@react-types/shared': 3.11.2 dev: false - /@react-types/table/3.1.3_react@17.0.2: + /@react-types/table/3.1.3: resolution: {integrity: sha512-l5ZmoPEnnMNUOW/mC7x/HDXC0CmHGz5IpWBPbV1aJtQCxRD42yosMaP8pT48EPZjupSeEuUGVFW2sZQlEjHbwg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/grid': 3.0.3_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/grid': 3.0.3 + '@react-types/shared': 3.11.2 dev: false - /@react-types/textfield/3.3.3_react@17.0.2: + /@react-types/textfield/3.3.3: resolution: {integrity: sha512-GeJ55evJwRFZo6mzv5LqBaumAbAdzYuKqYqFFxYnz+91l3w/+zCCSyeiQmP9wpWlygTqFp+P2xwU/gR4Gkdqbg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/shared': 3.11.2 dev: false - /@react-types/tooltip/3.1.5_react@17.0.2: + /@react-types/tooltip/3.1.5: resolution: {integrity: sha512-bDFl4drdlAcm5D0WAK66YN7Dx97Nfgs3mBdprOASGWQmiPMDobCiUcycA7p/h9Akzua1SR5OQyYdbU0qJBO54A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 dependencies: - '@react-types/overlays': 3.5.4_react@17.0.2 - '@react-types/shared': 3.11.2_react@17.0.2 - react: 17.0.2 + '@react-types/overlays': 3.5.4 + '@react-types/shared': 3.11.2 dev: false /@rushstack/eslint-patch/1.1.3: @@ -6445,7 +6420,7 @@ packages: '@sinonjs/commons': 1.8.3 dev: false - /@storybook/addon-a11y/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-a11y/6.4.22: resolution: {integrity: sha512-y125LDx5VR6JmiHB6/0RHWudwhe9QcFXqoAqGqWIj4zRv0kb9AyDPDtWvtDOSImCDXIPRmd8P05xTOnYH0ET3w==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6456,20 +6431,18 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 axe-core: 4.4.1 core-js: 3.22.4 global: 4.4.0 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 react-sizeme: 3.0.2 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 @@ -6478,7 +6451,7 @@ packages: - '@types/react' dev: false - /@storybook/addon-actions/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-actions/6.4.22: resolution: {integrity: sha512-t2w3iLXFul+R/1ekYxIEzUOZZmvEa7EzUAVAuCHP4i6x0jBnTTZ7sAIUVRaxVREPguH5IqI/2OklYhKanty2Yw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6489,21 +6462,19 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 core-js: 3.22.4 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 polished: 4.2.2 prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - react-inspector: 5.1.1_react@17.0.2 + react-inspector: 5.1.1 regenerator-runtime: 0.13.9 telejson: 5.3.3 ts-dedent: 2.2.0 @@ -6513,7 +6484,7 @@ packages: - '@types/react' dev: false - /@storybook/addon-backgrounds/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-backgrounds/6.4.22: resolution: {integrity: sha512-xQIV1SsjjRXP7P5tUoGKv+pul1EY8lsV7iBXQb5eGbp4AffBj3qoYBSZbX4uiazl21o0MQiQoeIhhaPVaFIIGg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6524,18 +6495,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 core-js: 3.22.4 global: 4.4.0 memoizerific: 1.11.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -6543,7 +6512,7 @@ packages: - '@types/react' dev: false - /@storybook/addon-controls/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/addon-controls/6.4.22: resolution: {integrity: sha512-f/M/W+7UTEUnr/L6scBMvksq+ZA8GTfh3bomE5FtWyOyaFppq9k8daKAvdYNlzXAOrUUsoZVJDgpb20Z2VBiSQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6554,19 +6523,17 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/components': 6.4.22 + '@storybook/core-common': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/node-logger': 6.4.22 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22 + '@storybook/theming': 6.4.22 core-js: 3.22.4 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -6578,7 +6545,7 @@ packages: - webpack-command dev: false - /@storybook/addon-docs/6.4.22_b9b4a2c298ae19e71afe7b5f80e2e61c: + /@storybook/addon-docs/6.4.22: resolution: {integrity: sha512-9j+i+W+BGHJuRe4jUrqk6ubCzP4fc1xgFS2o8pakRiZgPn5kUQPdkticmsyh1XeEJifwhqjKJvkEDrcsleytDA==} peerDependencies: '@storybook/angular': 6.4.22 @@ -6631,25 +6598,24 @@ packages: '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.10 '@babel/preset-env': 7.17.10_@babel+core@7.17.10 '@jest/transform': 26.6.2 - '@mdx-js/loader': 1.6.22_react@17.0.2 + '@mdx-js/loader': 1.6.22 '@mdx-js/mdx': 1.6.22 - '@mdx-js/react': 1.6.22_react@17.0.2 - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/builder-webpack4': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@mdx-js/react': 1.6.22 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/builder-webpack4': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/components': 6.4.22 + '@storybook/core': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.22 '@storybook/node-logger': 6.4.22 '@storybook/postinstall': 6.4.22 - '@storybook/preview-web': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/react': 6.4.22_f20e6186fe6af3f477ab127b79656e9d - '@storybook/source-loader': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/preview-web': 6.4.22 + '@storybook/source-loader': 6.4.22 + '@storybook/store': 6.4.22 + '@storybook/theming': 6.4.22 acorn: 7.4.1 acorn-jsx: 5.3.2_acorn@7.4.1 acorn-walk: 7.2.0 @@ -6666,9 +6632,7 @@ packages: p-limit: 3.1.0 prettier: 2.3.0 prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - react-element-to-jsx-string: 14.3.4_react-dom@17.0.2+react@17.0.2 + react-element-to-jsx-string: 14.3.4 regenerator-runtime: 0.13.9 remark-external-links: 8.0.0 remark-slug: 6.1.0 @@ -6689,7 +6653,7 @@ packages: - webpack-command dev: false - /@storybook/addon-essentials/6.4.22_508ce2a3a78896ca8dbae9d86216c562: + /@storybook/addon-essentials/6.4.22_y4q5iv3tmvbudcmznxqwomyigi: resolution: {integrity: sha512-GTv291fqvWq2wzm7MruBvCGuWaCUiuf7Ca3kzbQ/WqWtve7Y/1PDsqRNQLGZrQxkXU0clXCqY1XtkTrtA3WGFQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -6715,21 +6679,19 @@ packages: optional: true dependencies: '@babel/core': 7.17.10 - '@storybook/addon-actions': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-backgrounds': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-controls': 6.4.22_f20e6186fe6af3f477ab127b79656e9d - '@storybook/addon-docs': 6.4.22_b9b4a2c298ae19e71afe7b5f80e2e61c - '@storybook/addon-measure': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-outline': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-toolbars': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addon-viewport': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addon-actions': 6.4.22 + '@storybook/addon-backgrounds': 6.4.22 + '@storybook/addon-controls': 6.4.22 + '@storybook/addon-docs': 6.4.22 + '@storybook/addon-measure': 6.4.22 + '@storybook/addon-outline': 6.4.22 + '@storybook/addon-toolbars': 6.4.22 + '@storybook/addon-viewport': 6.4.22 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/node-logger': 6.4.22 babel-loader: 8.2.5_@babel+core@7.17.10 core-js: 3.22.4 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -6755,7 +6717,7 @@ packages: - webpack-command dev: false - /@storybook/addon-interactions/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/addon-interactions/6.4.22: resolution: {integrity: sha512-Po/iQLCw1Fw3jkm+twflX1IzVfOHdMBB3fPT8Hx6LZnMmWZk8wwQ3xKW0vT42qVF6Qt4QmxJBZNhYJ4jwpZQRA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6766,19 +6728,17 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/components': 6.4.22 + '@storybook/core-common': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/instrumenter': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/instrumenter': 6.4.22 + '@storybook/theming': 6.4.22 global: 4.4.0 jest-mock: 27.5.1 polished: 4.2.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -6790,7 +6750,7 @@ packages: - webpack-command dev: false - /@storybook/addon-measure/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-measure/6.4.22: resolution: {integrity: sha512-CjDXoCNIXxNfXfgyJXPc0McjCcwN1scVNtHa9Ckr+zMjiQ8pPHY7wDZCQsG69KTqcWHiVfxKilI82456bcHYhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6801,21 +6761,19 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 core-js: 3.22.4 global: 4.4.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 transitivePeerDependencies: - '@types/react' dev: false - /@storybook/addon-outline/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-outline/6.4.22: resolution: {integrity: sha512-VIMEzvBBRbNnupGU7NV0ahpFFb6nKVRGYWGREjtABdFn2fdKr1YicOHFe/3U7hRGjb5gd+VazSvyUvhaKX9T7Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6826,23 +6784,21 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 core-js: 3.22.4 global: 4.4.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' dev: false - /@storybook/addon-toolbars/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-toolbars/6.4.22: resolution: {integrity: sha512-FFyj6XDYpBBjcUu6Eyng7R805LUbVclEfydZjNiByAoDVyCde9Hb4sngFxn/T4fKAfBz/32HKVXd5iq4AHYtLg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6853,19 +6809,17 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/components': 6.4.22 + '@storybook/theming': 6.4.22 core-js: 3.22.4 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 transitivePeerDependencies: - '@types/react' dev: false - /@storybook/addon-viewport/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addon-viewport/6.4.22: resolution: {integrity: sha512-6jk0z49LemeTblez5u2bYXYr6U+xIdLbywe3G283+PZCBbEDE6eNYy2d2HDL+LbCLbezJBLYPHPalElphjJIcw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6876,36 +6830,53 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 core-js: 3.22.4 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 transitivePeerDependencies: - '@types/react' dev: false - /@storybook/addons/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/addons/6.4.22: + resolution: {integrity: sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/api': 6.4.22 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/router': 6.4.22 + '@storybook/theming': 6.4.22 + '@types/webpack-env': 1.16.4 + core-js: 3.22.4 + global: 4.4.0 + regenerator-runtime: 0.13.9 + dev: false + + /@storybook/addons/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/api': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/router': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/router': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@types/webpack-env': 1.16.4 core-js: 3.22.4 global: 4.4.0 @@ -6914,7 +6885,32 @@ packages: regenerator-runtime: 0.13.9 dev: false - /@storybook/api/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/api/6.4.22: + resolution: {integrity: sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/router': 6.4.22 + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.4.22 + core-js: 3.22.4 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + regenerator-runtime: 0.13.9 + store2: 2.13.2 + telejson: 5.3.3 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: false + + /@storybook/api/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6924,9 +6920,9 @@ packages: '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/router': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/router': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/semver': 7.3.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m core-js: 3.22.4 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -6941,7 +6937,7 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/builder-webpack4/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/builder-webpack4/6.4.22: resolution: {integrity: sha512-A+GgGtKGnBneRFSFkDarUIgUTI8pYFdLmUVKEAGdh2hL+vLXAz9A46sEY7C8LQ85XWa8TKy3OTDxqR4+4iWj3A==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6972,26 +6968,26 @@ packages: '@babel/preset-env': 7.17.10_@babel+core@7.17.10 '@babel/preset-react': 7.16.7_@babel+core@7.17.10 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.10 - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 '@storybook/channel-postmessage': 6.4.22 '@storybook/channels': 6.4.22 - '@storybook/client-api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/client-api': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/components': 6.4.22 + '@storybook/core-common': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/node-logger': 6.4.22 - '@storybook/preview-web': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/router': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/preview-web': 6.4.22 + '@storybook/router': 6.4.22 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/ui': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22 + '@storybook/theming': 6.4.22 + '@storybook/ui': 6.4.22 '@types/node': 14.18.16 '@types/webpack': 4.41.32 autoprefixer: 9.8.8 - babel-loader: 8.2.5_a48671a7a0b12e26689d4cec3e702e28 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa babel-plugin-macros: 2.8.0 babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.17.10 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -7004,19 +7000,16 @@ packages: glob-promise: 3.4.0_glob@7.2.0 global: 4.4.0 html-webpack-plugin: 4.5.2_webpack@4.46.0 - pnp-webpack-plugin: 1.6.4_typescript@4.6.3 + pnp-webpack-plugin: 1.6.4 postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0_postcss@7.0.39+webpack@4.46.0 + postcss-loader: 4.3.0_gzaxsinx64nntyd3vmdqwl7coe raw-loader: 4.0.2_webpack@4.46.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.2.0 - typescript: 4.6.3 - url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 + url-loader: 4.1.1_lit45vopotvaqup7lrvlnvtxwy util-deprecate: 1.0.2 webpack: 4.46.0 webpack-dev-middleware: 3.7.3_webpack@4.46.0 @@ -7032,18 +7025,109 @@ packages: - webpack-command dev: false - /@storybook/channel-postmessage/6.4.22: - resolution: {integrity: sha512-gt+0VZLszt2XZyQMh8E94TqjHZ8ZFXZ+Lv/Mmzl0Yogsc2H+6VzTTQO4sv0IIx6xLbpgG72g5cr8VHsxW5kuDQ==} + /@storybook/builder-webpack4/6.4.22_6ihgdbx6nlz7i55lcj5xszlotu: + resolution: {integrity: sha512-A+GgGtKGnBneRFSFkDarUIgUTI8pYFdLmUVKEAGdh2hL+vLXAz9A46sEY7C8LQ85XWa8TKy3OTDxqR4+4iWj3A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: + '@babel/core': 7.17.10 + '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-decorators': 7.17.9_@babel+core@7.17.10 + '@babel/plugin-proposal-export-default-from': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-object-rest-spread': 7.17.3_@babel+core@7.17.10 + '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-private-methods': 7.16.11_@babel+core@7.17.10 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-transform-arrow-functions': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-block-scoping': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-classes': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-destructuring': 7.17.7_@babel+core@7.17.10 + '@babel/plugin-transform-for-of': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-spread': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.10 + '@babel/preset-env': 7.17.10_@babel+core@7.17.10 + '@babel/preset-react': 7.16.7_@babel+core@7.17.10 + '@babel/preset-typescript': 7.16.7_@babel+core@7.17.10 + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/api': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.4.22 '@storybook/channels': 6.4.22 + '@storybook/client-api': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/client-logger': 6.4.22 + '@storybook/components': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core-common': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu '@storybook/core-events': 6.4.22 + '@storybook/node-logger': 6.4.22 + '@storybook/preview-web': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/router': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/semver': 7.3.2 + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/ui': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@types/node': 14.18.16 + '@types/webpack': 4.41.32 + autoprefixer: 9.8.8 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa + babel-plugin-macros: 2.8.0 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.17.10 + case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.22.4 + css-loader: 3.6.0_webpack@4.46.0 + file-loader: 6.2.0_webpack@4.46.0 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 4.1.6 + glob: 7.2.0 + glob-promise: 3.4.0_glob@7.2.0 global: 4.4.0 - qs: 6.10.3 - telejson: 5.3.3 - dev: false - + html-webpack-plugin: 4.5.2_webpack@4.46.0 + pnp-webpack-plugin: 1.6.4_typescript@4.6.3 + postcss: 7.0.39 + postcss-flexbugs-fixes: 4.2.1 + postcss-loader: 4.3.0_gzaxsinx64nntyd3vmdqwl7coe + raw-loader: 4.0.2_webpack@4.46.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + stable: 0.1.8 + style-loader: 1.3.0_webpack@4.46.0 + terser-webpack-plugin: 4.2.3_webpack@4.46.0 + ts-dedent: 2.2.0 + typescript: 4.6.3 + url-loader: 4.1.1_lit45vopotvaqup7lrvlnvtxwy + util-deprecate: 1.0.2 + webpack: 4.46.0 + webpack-dev-middleware: 3.7.3_webpack@4.46.0 + webpack-filter-warnings-plugin: 1.2.1_webpack@4.46.0 + webpack-hot-middleware: 2.25.1 + webpack-virtual-modules: 0.2.2 + transitivePeerDependencies: + - '@types/react' + - eslint + - supports-color + - vue-template-compiler + - webpack-cli + - webpack-command + dev: false + + /@storybook/channel-postmessage/6.4.22: + resolution: {integrity: sha512-gt+0VZLszt2XZyQMh8E94TqjHZ8ZFXZ+Lv/Mmzl0Yogsc2H+6VzTTQO4sv0IIx6xLbpgG72g5cr8VHsxW5kuDQ==} + dependencies: + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + core-js: 3.22.4 + global: 4.4.0 + qs: 6.10.3 + telejson: 5.3.3 + dev: false + /@storybook/channel-websocket/6.4.22: resolution: {integrity: sha512-Bm/FcZ4Su4SAK5DmhyKKfHkr7HiHBui6PNutmFkASJInrL9wBduBfN8YQYaV7ztr8ezoHqnYRx8sj28jpwa6NA==} dependencies: @@ -7062,19 +7146,47 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/client-api/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/client-api/6.4.22: resolution: {integrity: sha512-sO6HJNtrrdit7dNXQcZMdlmmZG1k6TswH3gAyP/DoYajycrTwSJ6ovkarzkO+0QcJ+etgra4TEdTIXiGHBMe/A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 '@storybook/channel-postmessage': 6.4.22 '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22 + '@types/qs': 6.9.7 + '@types/webpack-env': 1.16.4 + core-js: 3.22.4 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.10.3 + regenerator-runtime: 0.13.9 + store2: 2.13.2 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: false + + /@storybook/client-api/6.4.22_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-sO6HJNtrrdit7dNXQcZMdlmmZG1k6TswH3gAyP/DoYajycrTwSJ6ovkarzkO+0QcJ+etgra4TEdTIXiGHBMe/A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.4.22 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@types/qs': 6.9.7 '@types/webpack-env': 1.16.4 core-js: 3.22.4 @@ -7099,7 +7211,41 @@ packages: global: 4.4.0 dev: false - /@storybook/components/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/components/6.4.22: + resolution: {integrity: sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@popperjs/core': 2.11.5 + '@storybook/client-logger': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/theming': 6.4.22 + '@types/color-convert': 2.0.0 + '@types/overlayscrollbars': 1.12.1 + '@types/react-syntax-highlighter': 11.0.5 + color-convert: 2.0.1 + core-js: 3.22.4 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + markdown-to-jsx: 7.1.7 + memoizerific: 1.11.3 + overlayscrollbars: 1.13.1 + polished: 4.2.2 + prop-types: 15.8.1 + react-colorful: 5.5.1 + react-popper-tooltip: 3.1.1 + react-syntax-highlighter: 13.5.3 + react-textarea-autosize: 8.3.3 + regenerator-runtime: 0.13.9 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@storybook/components/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7108,7 +7254,7 @@ packages: '@popperjs/core': 2.11.5 '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@types/color-convert': 2.0.0 '@types/overlayscrollbars': 1.12.1 '@types/react-syntax-highlighter': 11.0.5 @@ -7123,9 +7269,9 @@ packages: polished: 4.2.2 prop-types: 15.8.1 react: 17.0.2 - react-colorful: 5.5.1_react-dom@17.0.2+react@17.0.2 + react-colorful: 5.5.1_sfoxds7t5ydpegc3knd667wn6m react-dom: 17.0.2_react@17.0.2 - react-popper-tooltip: 3.1.1_react-dom@17.0.2+react@17.0.2 + react-popper-tooltip: 3.1.1_sfoxds7t5ydpegc3knd667wn6m react-syntax-highlighter: 13.5.3_react@17.0.2 react-textarea-autosize: 8.3.3_react@17.0.2 regenerator-runtime: 0.13.9 @@ -7135,7 +7281,7 @@ packages: - '@types/react' dev: false - /@storybook/core-client/6.4.22_28e7016540b0a32b5f8d7be755522ab7: + /@storybook/core-client/6.4.22: resolution: {integrity: sha512-uHg4yfCBeM6eASSVxStWRVTZrAnb4FT6X6v/xDqr4uXCpCttZLlBzrSDwPBLNNLtCa7ntRicHM8eGKIOD5lMYQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7146,34 +7292,31 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 '@storybook/channel-postmessage': 6.4.22 '@storybook/channel-websocket': 6.4.22 - '@storybook/client-api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/client-api': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/preview-web': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/ui': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/preview-web': 6.4.22 + '@storybook/store': 6.4.22 + '@storybook/ui': 6.4.22 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.22.4 global: 4.4.0 lodash: 4.17.21 qs: 6.10.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 - typescript: 4.6.3 unfetch: 4.2.0 util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' dev: false - /@storybook/core-client/6.4.22_6e59f5d941c25b90ba6e319d78271eea: + /@storybook/core-client/6.4.22_nzm7lwkbyjnzbotoggoxqjy65i: resolution: {integrity: sha512-uHg4yfCBeM6eASSVxStWRVTZrAnb4FT6X6v/xDqr4uXCpCttZLlBzrSDwPBLNNLtCa7ntRicHM8eGKIOD5lMYQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7184,16 +7327,16 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/channel-postmessage': 6.4.22 '@storybook/channel-websocket': 6.4.22 - '@storybook/client-api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/client-api': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/preview-web': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/ui': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/preview-web': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/ui': 6.4.22_sfoxds7t5ydpegc3knd667wn6m airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.22.4 @@ -7212,7 +7355,43 @@ packages: - '@types/react' dev: false - /@storybook/core-common/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/core-client/6.4.22_webpack@4.46.0: + resolution: {integrity: sha512-uHg4yfCBeM6eASSVxStWRVTZrAnb4FT6X6v/xDqr4uXCpCttZLlBzrSDwPBLNNLtCa7ntRicHM8eGKIOD5lMYQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + webpack: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@storybook/addons': 6.4.22 + '@storybook/channel-postmessage': 6.4.22 + '@storybook/channel-websocket': 6.4.22 + '@storybook/client-api': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/preview-web': 6.4.22 + '@storybook/store': 6.4.22 + '@storybook/ui': 6.4.22 + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.22.4 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.10.3 + regenerator-runtime: 0.13.9 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 4.46.0 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@storybook/core-common/6.4.22: resolution: {integrity: sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7247,7 +7426,7 @@ packages: '@storybook/semver': 7.3.2 '@types/node': 14.18.16 '@types/pretty-hrtime': 1.0.1 - babel-loader: 8.2.5_a48671a7a0b12e26689d4cec3e702e28 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.17.10 chalk: 4.1.2 @@ -7255,7 +7434,74 @@ packages: express: 4.18.1 file-system-cache: 1.0.5 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.2_007069eb08da39202afcf155c8d9c0b7 + fork-ts-checker-webpack-plugin: 6.5.2_webpack@4.46.0 + fs-extra: 9.1.0 + glob: 7.2.0 + handlebars: 4.7.7 + interpret: 2.2.0 + json5: 2.2.1 + lazy-universal-dotenv: 3.0.1 + picomatch: 2.3.1 + pkg-dir: 5.0.0 + pretty-hrtime: 1.0.3 + resolve-from: 5.0.0 + slash: 3.0.0 + telejson: 5.3.3 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + webpack: 4.46.0 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + - webpack-cli + - webpack-command + dev: false + + /@storybook/core-common/6.4.22_6ihgdbx6nlz7i55lcj5xszlotu: + resolution: {integrity: sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.17.10 + '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-decorators': 7.17.9_@babel+core@7.17.10 + '@babel/plugin-proposal-export-default-from': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-object-rest-spread': 7.17.3_@babel+core@7.17.10 + '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-proposal-private-methods': 7.16.11_@babel+core@7.17.10 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-transform-arrow-functions': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-block-scoping': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-classes': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-destructuring': 7.17.7_@babel+core@7.17.10 + '@babel/plugin-transform-for-of': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-spread': 7.16.7_@babel+core@7.17.10 + '@babel/preset-env': 7.17.10_@babel+core@7.17.10 + '@babel/preset-react': 7.16.7_@babel+core@7.17.10 + '@babel/preset-typescript': 7.16.7_@babel+core@7.17.10 + '@babel/register': 7.17.7_@babel+core@7.17.10 + '@storybook/node-logger': 6.4.22 + '@storybook/semver': 7.3.2 + '@types/node': 14.18.16 + '@types/pretty-hrtime': 1.0.1 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa + babel-plugin-macros: 3.1.0 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.17.10 + chalk: 4.1.2 + core-js: 3.22.4 + express: 4.18.1 + file-system-cache: 1.0.5 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.2_abygt2yi3i4sakx46fk4rwoaw4 fs-extra: 9.1.0 glob: 7.2.0 handlebars: 4.7.7 @@ -7288,7 +7534,7 @@ packages: core-js: 3.22.4 dev: false - /@storybook/core-server/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/core-server/6.4.22: resolution: {integrity: sha512-wFh3e2fa0un1d4+BJP+nd3FVWUO7uHTqv3OGBfOmzQMKp4NU1zaBNdSQG7Hz6mw0fYPBPZgBjPfsJRwIYLLZyw==} peerDependencies: '@storybook/builder-webpack5': 6.4.22 @@ -7305,16 +7551,86 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.4.22_f20e6186fe6af3f477ab127b79656e9d - '@storybook/core-client': 6.4.22_6e59f5d941c25b90ba6e319d78271eea - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/builder-webpack4': 6.4.22 + '@storybook/core-client': 6.4.22_webpack@4.46.0 + '@storybook/core-common': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.22 - '@storybook/manager-webpack4': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/manager-webpack4': 6.4.22 '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22 + '@types/node': 14.18.16 + '@types/node-fetch': 2.6.1 + '@types/pretty-hrtime': 1.0.1 + '@types/webpack': 4.41.32 + better-opn: 2.1.1 + boxen: 5.1.2 + chalk: 4.1.2 + cli-table3: 0.6.2 + commander: 6.2.1 + compression: 1.7.4 + core-js: 3.22.4 + cpy: 8.1.2 + detect-port: 1.3.0 + express: 4.18.1 + file-system-cache: 1.0.5 + fs-extra: 9.1.0 + globby: 11.1.0 + ip: 1.1.5 + lodash: 4.17.21 + node-fetch: 2.6.7 + pretty-hrtime: 1.0.3 + prompts: 2.4.2 + regenerator-runtime: 0.13.9 + serve-favicon: 2.5.0 + slash: 3.0.0 + telejson: 5.3.3 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + watchpack: 2.3.1 + webpack: 4.46.0 + ws: 8.6.0 + transitivePeerDependencies: + - '@types/react' + - bufferutil + - encoding + - eslint + - supports-color + - utf-8-validate + - vue-template-compiler + - webpack-cli + - webpack-command + dev: false + + /@storybook/core-server/6.4.22_6ihgdbx6nlz7i55lcj5xszlotu: + resolution: {integrity: sha512-wFh3e2fa0un1d4+BJP+nd3FVWUO7uHTqv3OGBfOmzQMKp4NU1zaBNdSQG7Hz6mw0fYPBPZgBjPfsJRwIYLLZyw==} + peerDependencies: + '@storybook/builder-webpack5': 6.4.22 + '@storybook/manager-webpack5': 6.4.22 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + '@storybook/builder-webpack5': + optional: true + '@storybook/manager-webpack5': + optional: true + typescript: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@storybook/builder-webpack4': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu + '@storybook/core-client': 6.4.22_nzm7lwkbyjnzbotoggoxqjy65i + '@storybook/core-common': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/csf-tools': 6.4.22 + '@storybook/manager-webpack4': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu + '@storybook/node-logger': 6.4.22 + '@storybook/semver': 7.3.2 + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@types/node': 14.18.16 '@types/node-fetch': 2.6.1 '@types/pretty-hrtime': 1.0.1 @@ -7361,7 +7677,7 @@ packages: - webpack-command dev: false - /@storybook/core/6.4.22_12411f893ccb72a5a828bb0b0d2f4ea9: + /@storybook/core/6.4.22: resolution: {integrity: sha512-KZYJt7GM5NgKFXbPRZZZPEONZ5u/tE/cRbMdkn/zWN3He8+VP+65/tz8hbriI/6m91AWVWkBKrODSkeq59NgRA==} peerDependencies: '@storybook/builder-webpack5': 6.4.22 @@ -7375,12 +7691,8 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.4.22_6e59f5d941c25b90ba6e319d78271eea - '@storybook/core-server': 6.4.22_f20e6186fe6af3f477ab127b79656e9d - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - typescript: 4.6.3 - webpack: 4.46.0 + '@storybook/core-client': 6.4.22 + '@storybook/core-server': 6.4.22 transitivePeerDependencies: - '@storybook/manager-webpack5' - '@types/react' @@ -7394,7 +7706,7 @@ packages: - webpack-command dev: false - /@storybook/core/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/core/6.4.22_cjar7cj4znzklkbixmfq2l2ove: resolution: {integrity: sha512-KZYJt7GM5NgKFXbPRZZZPEONZ5u/tE/cRbMdkn/zWN3He8+VP+65/tz8hbriI/6m91AWVWkBKrODSkeq59NgRA==} peerDependencies: '@storybook/builder-webpack5': 6.4.22 @@ -7408,11 +7720,12 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.4.22_28e7016540b0a32b5f8d7be755522ab7 - '@storybook/core-server': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/core-client': 6.4.22_nzm7lwkbyjnzbotoggoxqjy65i + '@storybook/core-server': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu react: 17.0.2 react-dom: 17.0.2_react@17.0.2 typescript: 4.6.3 + webpack: 4.46.0 transitivePeerDependencies: - '@storybook/manager-webpack5' - '@types/react' @@ -7462,10 +7775,10 @@ packages: '@types/jest': 27.4.1 dev: false - /@storybook/instrumenter/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/instrumenter/6.4.22: resolution: {integrity: sha512-lPIdS24nZy6Bi733ECAGFKgZV4tkR2jNlJhV1iFwByiH8fBjwRNZYZQXKR7mbvQIt6/P7Yr90Ab38yiDh/22Ow==} dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 global: 4.4.0 @@ -7474,11 +7787,11 @@ packages: - react-dom dev: false - /@storybook/jest/0.0.10_react-dom@17.0.2+react@17.0.2: + /@storybook/jest/0.0.10: resolution: {integrity: sha512-qeYLIplpcOUQXboJde5pRCjTvkGmF80jEszRUoNYCNcEPfC2sMK68Wq6Ct8EQj3CoEdJqsK54O2YYh+7D9S+ag==} dependencies: '@storybook/expect': 27.5.2-0 - '@storybook/instrumenter': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/instrumenter': 6.4.22 '@testing-library/jest-dom': 5.16.4 jest-mock: 27.5.1 transitivePeerDependencies: @@ -7486,7 +7799,7 @@ packages: - react-dom dev: false - /@storybook/manager-webpack4/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/manager-webpack4/6.4.22: resolution: {integrity: sha512-nzhDMJYg0vXdcG0ctwE6YFZBX71+5NYaTGkxg3xT7gbgnP1YFXn9gVODvgq3tPb3gcRapjyOIxUa20rV+r8edA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7499,15 +7812,71 @@ packages: '@babel/core': 7.17.10 '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.10 '@babel/preset-react': 7.16.7_@babel+core@7.17.10 - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core-client': 6.4.22_6e59f5d941c25b90ba6e319d78271eea - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@storybook/addons': 6.4.22 + '@storybook/core-client': 6.4.22_webpack@4.46.0 + '@storybook/core-common': 6.4.22 '@storybook/node-logger': 6.4.22 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/ui': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 + '@storybook/ui': 6.4.22 '@types/node': 14.18.16 '@types/webpack': 4.41.32 - babel-loader: 8.2.5_a48671a7a0b12e26689d4cec3e702e28 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa + case-sensitive-paths-webpack-plugin: 2.4.0 + chalk: 4.1.2 + core-js: 3.22.4 + css-loader: 3.6.0_webpack@4.46.0 + express: 4.18.1 + file-loader: 6.2.0_webpack@4.46.0 + file-system-cache: 1.0.5 + find-up: 5.0.0 + fs-extra: 9.1.0 + html-webpack-plugin: 4.5.2_webpack@4.46.0 + node-fetch: 2.6.7 + pnp-webpack-plugin: 1.6.4 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.9 + resolve-from: 5.0.0 + style-loader: 1.3.0_webpack@4.46.0 + telejson: 5.3.3 + terser-webpack-plugin: 4.2.3_webpack@4.46.0 + ts-dedent: 2.2.0 + url-loader: 4.1.1_lit45vopotvaqup7lrvlnvtxwy + util-deprecate: 1.0.2 + webpack: 4.46.0 + webpack-dev-middleware: 3.7.3_webpack@4.46.0 + webpack-virtual-modules: 0.2.2 + transitivePeerDependencies: + - '@types/react' + - encoding + - eslint + - supports-color + - vue-template-compiler + - webpack-cli + - webpack-command + dev: false + + /@storybook/manager-webpack4/6.4.22_6ihgdbx6nlz7i55lcj5xszlotu: + resolution: {integrity: sha512-nzhDMJYg0vXdcG0ctwE6YFZBX71+5NYaTGkxg3xT7gbgnP1YFXn9gVODvgq3tPb3gcRapjyOIxUa20rV+r8edA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.17.10 + '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.10 + '@babel/preset-react': 7.16.7_@babel+core@7.17.10 + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core-client': 6.4.22_nzm7lwkbyjnzbotoggoxqjy65i + '@storybook/core-common': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu + '@storybook/node-logger': 6.4.22 + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/ui': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@types/node': 14.18.16 + '@types/webpack': 4.41.32 + babel-loader: 8.2.5_usdhdj5awexcm2e5jtwd44bofa case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.22.4 @@ -7530,7 +7899,7 @@ packages: terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.2.0 typescript: 4.6.3 - url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 + url-loader: 4.1.1_lit45vopotvaqup7lrvlnvtxwy util-deprecate: 1.0.2 webpack: 4.46.0 webpack-dev-middleware: 3.7.3_webpack@4.46.0 @@ -7561,18 +7930,42 @@ packages: core-js: 3.22.4 dev: false - /@storybook/preview-web/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/preview-web/6.4.22: resolution: {integrity: sha512-sWS+sgvwSvcNY83hDtWUUL75O2l2LY/GTAS0Zp2dh3WkObhtuJ/UehftzPZlZmmv7PCwhb4Q3+tZDKzMlFxnKQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 '@storybook/channel-postmessage': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22 + ansi-to-html: 0.6.15 + core-js: 3.22.4 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.10.3 + regenerator-runtime: 0.13.9 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + dev: false + + /@storybook/preview-web/6.4.22_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-sWS+sgvwSvcNY83hDtWUUL75O2l2LY/GTAS0Zp2dh3WkObhtuJ/UehftzPZlZmmv7PCwhb4Q3+tZDKzMlFxnKQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m ansi-to-html: 0.6.15 core-js: 3.22.4 global: 4.4.0 @@ -7587,7 +7980,7 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/react-docgen-typescript-plugin/1.0.2-canary.253f8c1.0_typescript@4.6.3+webpack@4.46.0: + /@storybook/react-docgen-typescript-plugin/1.0.2-canary.253f8c1.0_nsxf7ncibhkvddkocuxjl34lwu: resolution: {integrity: sha512-mmoRG/rNzAiTbh+vGP8d57dfcR2aP+5/Ll03KKFyfy5FqWFm/Gh7u27ikx1I3LmVMI8n6jh5SdWMkMKon7/tDw==} peerDependencies: typescript: '>= 3.x' @@ -7606,7 +7999,7 @@ packages: - supports-color dev: false - /@storybook/react/6.4.22_f20e6186fe6af3f477ab127b79656e9d: + /@storybook/react/6.4.22_6ihgdbx6nlz7i55lcj5xszlotu: resolution: {integrity: sha512-5BFxtiguOcePS5Ty/UoH7C6odmvBYIZutfiy4R3Ua6FYmtxac5vP9r5KjCz1IzZKT8mCf4X+PuK1YvDrPPROgQ==} engines: {node: '>=10.13.0'} hasBin: true @@ -7623,15 +8016,15 @@ packages: dependencies: '@babel/preset-flow': 7.16.7 '@babel/preset-react': 7.16.7 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.5_06cd85ae30adde416cafc06517ba554d - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/core': 6.4.22_12411f893ccb72a5a828bb0b0d2f4ea9 - '@storybook/core-common': 6.4.22_f20e6186fe6af3f477ab127b79656e9d + '@pmmmwh/react-refresh-webpack-plugin': 0.5.5_a3gyllrqvxpec3fpybsrposvju + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core': 6.4.22_cjar7cj4znzklkbixmfq2l2ove + '@storybook/core-common': 6.4.22_6ihgdbx6nlz7i55lcj5xszlotu '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/node-logger': 6.4.22 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_typescript@4.6.3+webpack@4.46.0 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_nsxf7ncibhkvddkocuxjl34lwu '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/store': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@types/webpack-env': 1.16.4 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-named-asset-import: 0.3.8 @@ -7668,7 +8061,26 @@ packages: - webpack-plugin-serve dev: false - /@storybook/router/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/router/6.4.22: + resolution: {integrity: sha512-zeuE8ZgFhNerQX8sICQYNYL65QEi3okyzw7ynF58Ud6nRw4fMxSOHcj2T+nZCIU5ufozRL4QWD/Rg9P2s/HtLw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/client-logger': 6.4.22 + core-js: 3.22.4 + fast-deep-equal: 3.1.3 + global: 4.4.0 + history: 5.0.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.10.3 + react-router: 6.3.0 + react-router-dom: 6.3.0 + ts-dedent: 2.2.0 + dev: false + + /@storybook/router/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-zeuE8ZgFhNerQX8sICQYNYL65QEi3okyzw7ynF58Ud6nRw4fMxSOHcj2T+nZCIU5ufozRL4QWD/Rg9P2s/HtLw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7685,7 +8097,7 @@ packages: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-router: 6.3.0_react@17.0.2 - react-router-dom: 6.3.0_react-dom@17.0.2+react@17.0.2 + react-router-dom: 6.3.0_sfoxds7t5ydpegc3knd667wn6m ts-dedent: 2.2.0 dev: false @@ -7698,13 +8110,13 @@ packages: find-up: 4.1.0 dev: false - /@storybook/source-loader/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/source-loader/6.4.22: resolution: {integrity: sha512-O4RxqPgRyOgAhssS6q1Rtc8LiOvPBpC1EqhCYWRV3K+D2EjFarfQMpjgPj18hC+QzpUSfzoBZYqsMECewEuLNw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 core-js: 3.22.4 @@ -7713,18 +8125,39 @@ packages: loader-utils: 2.0.2 lodash: 4.17.21 prettier: 2.3.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.9 dev: false - /@storybook/store/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/store/6.4.22: + resolution: {integrity: sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/addons': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + core-js: 3.22.4 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + regenerator-runtime: 0.13.9 + slash: 3.0.0 + stable: 0.1.8 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: false + + /@storybook/store/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 @@ -7743,20 +8176,40 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/testing-library/0.0.9_react-dom@17.0.2+react@17.0.2: + /@storybook/testing-library/0.0.9: resolution: {integrity: sha512-X4/Tk7RryB0tZ/9NLUHYTBXW01zRpf6+IhdhqsVl6WOWRyUaIv3zEhr43gQyZhBe4ZZyt5d90FJC9qWmY1oFKg==} dependencies: '@storybook/client-logger': 6.4.22 - '@storybook/instrumenter': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/instrumenter': 6.4.22 '@testing-library/dom': 8.13.0 - '@testing-library/user-event': 13.5.0_@testing-library+dom@8.13.0 + '@testing-library/user-event': 13.5.0_tlwynutqiyp5mns3woioasuxnq ts-dedent: 2.2.0 transitivePeerDependencies: - react - react-dom dev: false - /@storybook/theming/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/theming/6.4.22: + resolution: {integrity: sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@emotion/core': 10.3.1 + '@emotion/is-prop-valid': 0.8.8 + '@emotion/styled': 10.3.0_@emotion+core@10.3.1 + '@storybook/client-logger': 6.4.22 + core-js: 3.22.4 + deep-object-diff: 1.1.7 + emotion-theming: 10.3.0_@emotion+core@10.3.1 + global: 4.4.0 + memoizerific: 1.11.3 + polished: 4.2.2 + resolve-from: 5.0.0 + ts-dedent: 2.2.0 + dev: false + + /@storybook/theming/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7764,11 +8217,11 @@ packages: dependencies: '@emotion/core': 10.3.1_react@17.0.2 '@emotion/is-prop-valid': 0.8.8 - '@emotion/styled': 10.3.0_316248eb6686a2fd4fbadcfd00de37f3 + '@emotion/styled': 10.3.0_gfrer23gq2rp2t523t6qbxrx6m '@storybook/client-logger': 6.4.22 core-js: 3.22.4 deep-object-diff: 1.1.7 - emotion-theming: 10.3.0_316248eb6686a2fd4fbadcfd00de37f3 + emotion-theming: 10.3.0_gfrer23gq2rp2t523t6qbxrx6m global: 4.4.0 memoizerific: 1.11.3 polished: 4.2.2 @@ -7778,27 +8231,65 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/ui/6.4.22_react-dom@17.0.2+react@17.0.2: + /@storybook/ui/6.4.22: + resolution: {integrity: sha512-UVjMoyVsqPr+mkS1L7m30O/xrdIEgZ5SCWsvqhmyMUok3F3tRB+6M+OA5Yy+cIVfvObpA7MhxirUT1elCGXsWQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@emotion/core': 10.3.1 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/components': 6.4.22 + '@storybook/core-events': 6.4.22 + '@storybook/router': 6.4.22 + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.4.22 + copy-to-clipboard: 3.3.1 + core-js: 3.22.4 + core-js-pure: 3.22.4 + downshift: 6.1.7 + emotion-theming: 10.3.0_@emotion+core@10.3.1 + fuse.js: 3.6.1 + global: 4.4.0 + lodash: 4.17.21 + markdown-to-jsx: 7.1.7 + memoizerific: 1.11.3 + polished: 4.2.2 + qs: 6.10.3 + react-draggable: 4.4.5 + react-helmet-async: 1.3.0 + react-sizeme: 3.0.2 + regenerator-runtime: 0.13.9 + resolve-from: 5.0.0 + store2: 2.13.2 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@storybook/ui/6.4.22_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-UVjMoyVsqPr+mkS1L7m30O/xrdIEgZ5SCWsvqhmyMUok3F3tRB+6M+OA5Yy+cIVfvObpA7MhxirUT1elCGXsWQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@emotion/core': 10.3.1_react@17.0.2 - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22_sfoxds7t5ydpegc3knd667wn6m + '@storybook/api': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/components': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/core-events': 6.4.22 - '@storybook/router': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/router': 6.4.22_sfoxds7t5ydpegc3knd667wn6m '@storybook/semver': 7.3.2 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22_sfoxds7t5ydpegc3knd667wn6m copy-to-clipboard: 3.3.1 core-js: 3.22.4 core-js-pure: 3.22.4 downshift: 6.1.7_react@17.0.2 - emotion-theming: 10.3.0_316248eb6686a2fd4fbadcfd00de37f3 + emotion-theming: 10.3.0_gfrer23gq2rp2t523t6qbxrx6m fuse.js: 3.6.1 global: 4.4.0 lodash: 4.17.21 @@ -7808,8 +8299,8 @@ packages: qs: 6.10.3 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-draggable: 4.4.5_react-dom@17.0.2+react@17.0.2 - react-helmet-async: 1.3.0_react-dom@17.0.2+react@17.0.2 + react-draggable: 4.4.5_sfoxds7t5ydpegc3knd667wn6m + react-helmet-async: 1.3.0_sfoxds7t5ydpegc3knd667wn6m react-sizeme: 3.0.2 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 @@ -8012,7 +8503,7 @@ packages: redent: 3.0.0 dev: false - /@testing-library/react-hooks/7.0.2_react-dom@17.0.2+react@17.0.2: + /@testing-library/react-hooks/7.0.2_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==} engines: {node: '>=12'} peerDependencies: @@ -8034,7 +8525,7 @@ packages: react-error-boundary: 3.1.4_react@17.0.2 dev: false - /@testing-library/react/12.1.5_react-dom@17.0.2+react@17.0.2: + /@testing-library/react/12.1.5_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} engines: {node: '>=12'} peerDependencies: @@ -8057,7 +8548,7 @@ packages: '@babel/runtime': 7.17.9 dev: false - /@testing-library/user-event/13.5.0_@testing-library+dom@8.13.0: + /@testing-library/user-event/13.5.0_tlwynutqiyp5mns3woioasuxnq: resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} engines: {node: '>=10', npm: '>=6'} peerDependencies: @@ -8072,7 +8563,7 @@ packages: peerDependencies: '@emotion/react': ^11 dependencies: - '@emotion/react': 11.9.0_react@17.0.2 + '@emotion/react': 11.9.0 csstype: 3.0.11 dev: false @@ -8612,7 +9103,7 @@ packages: resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: false - /@typescript-eslint/eslint-plugin/4.33.0_0c49e12669280545a7ea3f36dba6eb0a: + /@typescript-eslint/eslint-plugin/4.33.0_ffi3uiz42rv3jyhs6cr7p7qqry: resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -8623,8 +9114,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.6.3 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.6.3 + '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0 + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 '@typescript-eslint/scope-manager': 4.33.0 debug: 4.3.4 eslint: 7.32.0 @@ -8632,13 +9123,12 @@ packages: ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/eslint-plugin/5.18.0_a07dca3bdfc4bfa60f4dda0c1f9e3287: + /@typescript-eslint/eslint-plugin/5.18.0_5owwzll6rlyjmcufangbazwbi4: resolution: {integrity: sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8649,23 +9139,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.18.0_eslint@8.12.0+typescript@4.6.3 + '@typescript-eslint/parser': 5.18.0 '@typescript-eslint/scope-manager': 5.18.0 - '@typescript-eslint/type-utils': 5.18.0_eslint@8.12.0+typescript@4.6.3 - '@typescript-eslint/utils': 5.18.0_eslint@8.12.0+typescript@4.6.3 + '@typescript-eslint/type-utils': 5.18.0 + '@typescript-eslint/utils': 5.18.0 debug: 4.3.4 - eslint: 8.12.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0+typescript@4.6.3: + /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0: resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -8674,7 +9162,7 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.6.3 + '@typescript-eslint/typescript-estree': 4.33.0 eslint: 7.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@7.32.0 @@ -8683,20 +9171,19 @@ packages: - typescript dev: false - /@typescript-eslint/experimental-utils/5.22.0_eslint@8.12.0+typescript@4.6.3: + /@typescript-eslint/experimental-utils/5.22.0: resolution: {integrity: sha512-rKxoCUtAHwEH6IcAoVpqipY6Th+YKW7WFspAKu0IFdbdKZpveFBeqxxE9Xn+GWikhq1o03V3VXbxIe+GdhggiQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.22.0_eslint@8.12.0+typescript@4.6.3 - eslint: 8.12.0 + '@typescript-eslint/utils': 5.22.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.6.3: + /@typescript-eslint/parser/4.33.0_eslint@7.32.0: resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -8708,15 +9195,14 @@ packages: dependencies: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.6.3 + '@typescript-eslint/typescript-estree': 4.33.0 debug: 4.3.4 eslint: 7.32.0 - typescript: 4.6.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser/5.18.0_eslint@8.12.0+typescript@4.6.3: + /@typescript-eslint/parser/5.18.0: resolution: {integrity: sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8728,10 +9214,8 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.18.0 '@typescript-eslint/types': 5.18.0 - '@typescript-eslint/typescript-estree': 5.18.0_typescript@4.6.3 + '@typescript-eslint/typescript-estree': 5.18.0 debug: 4.3.4 - eslint: 8.12.0 - typescript: 4.6.3 transitivePeerDependencies: - supports-color dev: false @@ -8760,7 +9244,7 @@ packages: '@typescript-eslint/visitor-keys': 5.22.0 dev: false - /@typescript-eslint/type-utils/5.18.0_eslint@8.12.0+typescript@4.6.3: + /@typescript-eslint/type-utils/5.18.0: resolution: {integrity: sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8770,11 +9254,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.18.0_eslint@8.12.0+typescript@4.6.3 + '@typescript-eslint/utils': 5.18.0 debug: 4.3.4 - eslint: 8.12.0 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false @@ -8794,7 +9276,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/typescript-estree/4.33.0_typescript@4.6.3: + /@typescript-eslint/typescript-estree/4.33.0: resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -8809,13 +9291,12 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/typescript-estree/5.18.0_typescript@4.6.3: + /@typescript-eslint/typescript-estree/5.18.0: resolution: {integrity: sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8830,13 +9311,12 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/typescript-estree/5.22.0_typescript@4.6.3: + /@typescript-eslint/typescript-estree/5.22.0: resolution: {integrity: sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8851,13 +9331,12 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.6.3 - typescript: 4.6.3 + tsutils: 3.21.0 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils/5.18.0_eslint@8.12.0+typescript@4.6.3: + /@typescript-eslint/utils/5.18.0: resolution: {integrity: sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8866,16 +9345,15 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 5.18.0 '@typescript-eslint/types': 5.18.0 - '@typescript-eslint/typescript-estree': 5.18.0_typescript@4.6.3 - eslint: 8.12.0 + '@typescript-eslint/typescript-estree': 5.18.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.12.0 + eslint-utils: 3.0.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/utils/5.22.0_eslint@8.12.0+typescript@4.6.3: + /@typescript-eslint/utils/5.22.0: resolution: {integrity: sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8884,10 +9362,9 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 5.22.0 '@typescript-eslint/types': 5.22.0 - '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.6.3 - eslint: 8.12.0 + '@typescript-eslint/typescript-estree': 5.22.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.12.0 + eslint-utils: 3.0.0 transitivePeerDependencies: - supports-color - typescript @@ -9768,7 +10245,7 @@ packages: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: false - /babel-eslint/10.1.0_eslint@8.12.0: + /babel-eslint/10.1.0: resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} engines: {node: '>=6'} deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. @@ -9779,7 +10256,6 @@ packages: '@babel/parser': 7.17.10 '@babel/traverse': 7.17.10 '@babel/types': 7.17.10 - eslint: 8.12.0 eslint-visitor-keys: 1.3.0 resolve: 1.22.0 transitivePeerDependencies: @@ -9827,7 +10303,7 @@ packages: resolution: {integrity: sha512-Mh1j/rw4xM9T3YICkw22aBQ78FhsHdsmlb9NEk4uVAFBOg+Ez9ZgXXHugoBPCZui3XLomk/7/JBBH4daJqTkQQ==} dev: false - /babel-loader/8.2.5_887a5110397f957d9e06dd05497793db: + /babel-loader/8.2.5_@babel+core@7.17.10: resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: @@ -9839,10 +10315,9 @@ packages: loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.72.0 dev: false - /babel-loader/8.2.5_@babel+core@7.17.10: + /babel-loader/8.2.5_rb5fcebzp6kx3hqg3ucus54t3m: resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: @@ -9854,9 +10329,10 @@ packages: loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.1 + webpack: 5.72.0 dev: false - /babel-loader/8.2.5_a48671a7a0b12e26689d4cec3e702e28: + /babel-loader/8.2.5_usdhdj5awexcm2e5jtwd44bofa: resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: @@ -10063,28 +10539,28 @@ packages: - supports-color dev: false - /babel-plugin-remove-graphql-queries/4.13.0_8745ebccee48992bfdf6557f95f89706: + /babel-plugin-remove-graphql-queries/4.13.0_gatsby@4.11.1: resolution: {integrity: sha512-YQZVaRo0fs42ifiDECXsYXJNc9AzD+E/4H16ByuaB8eV9ndcZcEGxOChsXPJH20GXJlQqgcAQk4vH1Zrjw0a6w==} engines: {node: '>=14.15.0'} peerDependencies: '@babel/core': ^7.0.0 gatsby: ^4.0.0-next dependencies: - '@babel/core': 7.17.10 '@babel/runtime': 7.17.9 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 dev: false - /babel-plugin-remove-graphql-queries/4.13.0_gatsby@4.11.1: + /babel-plugin-remove-graphql-queries/4.13.0_q5c6xthojcmsx7pwkv7zl6exay: resolution: {integrity: sha512-YQZVaRo0fs42ifiDECXsYXJNc9AzD+E/4H16ByuaB8eV9ndcZcEGxOChsXPJH20GXJlQqgcAQk4vH1Zrjw0a6w==} engines: {node: '>=14.15.0'} peerDependencies: '@babel/core': ^7.0.0 gatsby: ^4.0.0-next dependencies: + '@babel/core': 7.17.10 '@babel/runtime': 7.17.9 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 dev: false @@ -10161,7 +10637,7 @@ packages: - supports-color dev: false - /babel-preset-gatsby/2.11.1_4e6a1ee846abf5f1ae7bc02efd9ad64c: + /babel-preset-gatsby/2.11.1_jzvb52cgvp27dlt3yaxp3gwwjq: resolution: {integrity: sha512-NGUNAIb3hzD1Mt97q5T3gSSuVuaqnYFSm7AvgByDa3Mk2ohF5Ni86sCLVPRIntIzJvgU5OWY4Qz+6rrI1SwprQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -12351,6 +12827,18 @@ packages: engines: {node: '>=10'} dev: false + /downshift/6.1.7: + resolution: {integrity: sha512-cVprZg/9Lvj/uhYRxELzlu1aezRcgPWBjTvspiGTVEU64gF5pRdSRKFVLcxqsZC637cLAGMbL40JavEfWnqgNg==} + peerDependencies: + react: '>=16.12.0' + dependencies: + '@babel/runtime': 7.17.9 + compute-scroll-into-view: 1.0.17 + prop-types: 15.8.1 + react-is: 17.0.2 + tslib: 2.4.0 + dev: false + /downshift/6.1.7_react@17.0.2: resolution: {integrity: sha512-cVprZg/9Lvj/uhYRxELzlu1aezRcgPWBjTvspiGTVEU64gF5pRdSRKFVLcxqsZC637cLAGMbL40JavEfWnqgNg==} peerDependencies: @@ -12435,7 +12923,19 @@ packages: engines: {node: '>= 4'} dev: false - /emotion-theming/10.3.0_316248eb6686a2fd4fbadcfd00de37f3: + /emotion-theming/10.3.0_@emotion+core@10.3.1: + resolution: {integrity: sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==} + peerDependencies: + '@emotion/core': ^10.0.27 + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.17.9 + '@emotion/core': 10.3.1 + '@emotion/weak-memoize': 0.2.5 + hoist-non-react-statics: 3.3.2 + dev: false + + /emotion-theming/10.3.0_gfrer23gq2rp2t523t6qbxrx6m: resolution: {integrity: sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==} peerDependencies: '@emotion/core': ^10.0.27 @@ -12925,16 +13425,14 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-prettier/8.5.0_eslint@8.12.0: + /eslint-config-prettier/8.5.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' - dependencies: - eslint: 8.12.0 dev: false - /eslint-config-react-app/6.0.0_a6525fb0646271fcd818e723c9391b1b: + /eslint-config-react-app/6.0.0_uzjf7mdemjy7zway44r4soi3dm: resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -12955,8 +13453,8 @@ packages: eslint-plugin-testing-library: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 4.33.0_0c49e12669280545a7ea3f36dba6eb0a - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.6.3 + '@typescript-eslint/eslint-plugin': 4.33.0_ffi3uiz42rv3jyhs6cr7p7qqry + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 confusing-browser-globals: 1.0.11 eslint: 7.32.0 eslint-plugin-flowtype: 5.10.0_eslint@7.32.0 @@ -12966,27 +13464,26 @@ packages: eslint-plugin-react-hooks: 4.5.0_eslint@7.32.0 dev: false - /eslint-config-react-app/7.0.0_dd4c43c1685b81f22a5592c66a4e9789: + /eslint-config-react-app/7.0.0_nnpafia5vqa3rofqqo6s2bssgq: resolution: {integrity: sha512-xyymoxtIt1EOsSaGag+/jmcywRuieQoA2JbPCjnw9HukFj9/97aGPoZVFioaotzk1K5Qt9sHO5EutZbkrAXS0g==} engines: {node: '>=14.0.0'} peerDependencies: eslint: ^8.0.0 dependencies: '@babel/core': 7.17.10 - '@babel/eslint-parser': 7.17.0_077185f1ec748bc0e08edf523a661db0 + '@babel/eslint-parser': 7.17.0_@babel+core@7.17.10 '@rushstack/eslint-patch': 1.1.3 - '@typescript-eslint/eslint-plugin': 5.18.0_a07dca3bdfc4bfa60f4dda0c1f9e3287 - '@typescript-eslint/parser': 5.18.0_eslint@8.12.0+typescript@4.6.3 + '@typescript-eslint/eslint-plugin': 5.18.0_5owwzll6rlyjmcufangbazwbi4 + '@typescript-eslint/parser': 5.18.0 babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 - eslint: 8.12.0 - eslint-plugin-flowtype: 8.0.3_208f7be97c72158078ddc5718ecd0567 - eslint-plugin-import: 2.25.4_eslint@8.12.0 - eslint-plugin-jest: 25.7.0_71e92d3245f17c343e06baf3e5a2c467 - eslint-plugin-jsx-a11y: 6.5.1_eslint@8.12.0 - eslint-plugin-react: 7.29.4_eslint@8.12.0 - eslint-plugin-react-hooks: 4.5.0_eslint@8.12.0 - eslint-plugin-testing-library: 5.2.1_eslint@8.12.0+typescript@4.6.3 + eslint-plugin-flowtype: 8.0.3_nnpafia5vqa3rofqqo6s2bssgq + eslint-plugin-import: 2.25.4 + eslint-plugin-jest: 25.7.0_jqyyv4uqb5k5wsbewcbdkn54ui + eslint-plugin-jsx-a11y: 6.5.1 + eslint-plugin-react: 7.29.4 + eslint-plugin-react-hooks: 4.5.0 + eslint-plugin-testing-library: 5.2.1 transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -13021,7 +13518,7 @@ packages: string-natural-compare: 3.0.1 dev: false - /eslint-plugin-flowtype/8.0.3_208f7be97c72158078ddc5718ecd0567: + /eslint-plugin-flowtype/8.0.3_nnpafia5vqa3rofqqo6s2bssgq: resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -13031,12 +13528,11 @@ packages: dependencies: '@babel/plugin-syntax-flow': 7.16.7 '@babel/plugin-transform-react-jsx': 7.17.3 - eslint: 8.12.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-graphql/4.0.0_08e5765b66c8638ecf85fd981e266106: + /eslint-plugin-graphql/4.0.0_graphql@15.8.0: resolution: {integrity: sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw==} engines: {node: '>=10.0'} peerDependencies: @@ -13044,7 +13540,7 @@ packages: dependencies: '@babel/runtime': 7.17.9 graphql: 15.8.0 - graphql-config: 3.4.1_08e5765b66c8638ecf85fd981e266106 + graphql-config: 3.4.1_graphql@15.8.0 lodash.flatten: 4.4.0 lodash.without: 4.4.0 transitivePeerDependencies: @@ -13055,7 +13551,7 @@ packages: - utf-8-validate dev: false - /eslint-plugin-import/2.25.4_eslint@8.12.0: + /eslint-plugin-import/2.25.4: resolution: {integrity: sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==} engines: {node: '>=4'} peerDependencies: @@ -13065,7 +13561,6 @@ packages: array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.12.0 eslint-import-resolver-node: 0.3.6 eslint-module-utils: 2.7.3 has: 1.0.3 @@ -13099,7 +13594,7 @@ packages: tsconfig-paths: 3.14.1 dev: false - /eslint-plugin-jest/25.7.0_71e92d3245f17c343e06baf3e5a2c467: + /eslint-plugin-jest/25.7.0_jqyyv4uqb5k5wsbewcbdkn54ui: resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: @@ -13112,16 +13607,14 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.18.0_a07dca3bdfc4bfa60f4dda0c1f9e3287 - '@typescript-eslint/experimental-utils': 5.22.0_eslint@8.12.0+typescript@4.6.3 - eslint: 8.12.0 - jest: 27.5.1 + '@typescript-eslint/eslint-plugin': 5.18.0_5owwzll6rlyjmcufangbazwbi4 + '@typescript-eslint/experimental-utils': 5.22.0 transitivePeerDependencies: - supports-color - typescript dev: false - /eslint-plugin-jest/26.1.4_71e92d3245f17c343e06baf3e5a2c467: + /eslint-plugin-jest/26.1.4_jqyyv4uqb5k5wsbewcbdkn54ui: resolution: {integrity: sha512-wgqxujmqc2qpvZqMFWCh6Cniqc8lWpapvXt9j/19DmBDqeDaYhJrSRezYR1SKyemvjx+9e9kny/dgRahraHImA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -13134,16 +13627,14 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.18.0_a07dca3bdfc4bfa60f4dda0c1f9e3287 - '@typescript-eslint/utils': 5.22.0_eslint@8.12.0+typescript@4.6.3 - eslint: 8.12.0 - jest: 27.5.1 + '@typescript-eslint/eslint-plugin': 5.18.0_5owwzll6rlyjmcufangbazwbi4 + '@typescript-eslint/utils': 5.22.0 transitivePeerDependencies: - supports-color - typescript dev: false - /eslint-plugin-jsx-a11y/6.5.1_eslint@7.32.0: + /eslint-plugin-jsx-a11y/6.5.1: resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} engines: {node: '>=4.0'} peerDependencies: @@ -13157,14 +13648,13 @@ packages: axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 7.32.0 has: 1.0.3 jsx-ast-utils: 3.3.0 language-tags: 1.0.5 minimatch: 3.1.2 dev: false - /eslint-plugin-jsx-a11y/6.5.1_eslint@8.12.0: + /eslint-plugin-jsx-a11y/6.5.1_eslint@7.32.0: resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} engines: {node: '>=4.0'} peerDependencies: @@ -13178,14 +13668,14 @@ packages: axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.12.0 + eslint: 7.32.0 has: 1.0.3 jsx-ast-utils: 3.3.0 language-tags: 1.0.5 minimatch: 3.1.2 dev: false - /eslint-plugin-prettier/4.0.0_f2c91d0f54113167d2bd9214a5ab5a36: + /eslint-plugin-prettier/4.0.0_ttcikbw5yztdadzhevg6ml5cuy: resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} engines: {node: '>=6.0.0'} peerDependencies: @@ -13196,31 +13686,27 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.12.0 - eslint-config-prettier: 8.5.0_eslint@8.12.0 - prettier: 2.6.2 + eslint-config-prettier: 8.5.0 prettier-linter-helpers: 1.0.0 dev: false - /eslint-plugin-react-hooks/4.5.0_eslint@7.32.0: + /eslint-plugin-react-hooks/4.5.0: resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 7.32.0 dev: false - /eslint-plugin-react-hooks/4.5.0_eslint@8.12.0: + /eslint-plugin-react-hooks/4.5.0_eslint@7.32.0: resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.12.0 + eslint: 7.32.0 dev: false - /eslint-plugin-react/7.29.4_eslint@7.32.0: + /eslint-plugin-react/7.29.4: resolution: {integrity: sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==} engines: {node: '>=4'} peerDependencies: @@ -13229,7 +13715,6 @@ packages: array-includes: 3.1.4 array.prototype.flatmap: 1.3.0 doctrine: 2.1.0 - eslint: 7.32.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.0 minimatch: 3.1.2 @@ -13243,7 +13728,7 @@ packages: string.prototype.matchall: 4.0.7 dev: false - /eslint-plugin-react/7.29.4_eslint@8.12.0: + /eslint-plugin-react/7.29.4_eslint@7.32.0: resolution: {integrity: sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==} engines: {node: '>=4'} peerDependencies: @@ -13252,7 +13737,7 @@ packages: array-includes: 3.1.4 array.prototype.flatmap: 1.3.0 doctrine: 2.1.0 - eslint: 8.12.0 + eslint: 7.32.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.0 minimatch: 3.1.2 @@ -13266,14 +13751,13 @@ packages: string.prototype.matchall: 4.0.7 dev: false - /eslint-plugin-testing-library/5.2.1_eslint@8.12.0+typescript@4.6.3: + /eslint-plugin-testing-library/5.2.1: resolution: {integrity: sha512-88qJv6uzYALtiYJDzhelP3ov0Px/GLgnu+UekjjDxL2nMyvgdTyboKqcDBsvFPmAeizlCoSWOjeBN4DxO0BxaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.22.0_eslint@8.12.0+typescript@4.6.3 - eslint: 8.12.0 + '@typescript-eslint/utils': 5.22.0 transitivePeerDependencies: - supports-color - typescript @@ -13310,6 +13794,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: false + /eslint-utils/3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint-visitor-keys: 2.1.0 + dev: false + /eslint-utils/3.0.0_eslint@7.32.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -13345,7 +13838,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint-webpack-plugin/2.6.0_eslint@7.32.0+webpack@5.72.0: + /eslint-webpack-plugin/2.6.0_ej5kzqlwxufmlid7qwxwr3ivqm: resolution: {integrity: sha512-V+LPY/T3kur5QO3u+1s34VDTcRxjXWPUGM4hlmTb5DwVD0OQz631yGTxJZf4SpAqAjdbBVe978S8BJeHpAdOhQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -14094,7 +14587,7 @@ packages: worker-rpc: 0.1.1 dev: false - /fork-ts-checker-webpack-plugin/6.5.2_007069eb08da39202afcf155c8d9c0b7: + /fork-ts-checker-webpack-plugin/6.5.2_abygt2yi3i4sakx46fk4rwoaw4: resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -14126,6 +14619,36 @@ packages: webpack: 4.46.0 dev: false + /fork-ts-checker-webpack-plugin/6.5.2_webpack@4.46.0: + resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.16.7 + '@types/json-schema': 7.0.11 + chalk: 4.1.2 + chokidar: 3.5.3 + cosmiconfig: 6.0.0 + deepmerge: 4.2.2 + fs-extra: 9.1.0 + glob: 7.2.0 + memfs: 3.4.1 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.3.7 + tapable: 1.1.3 + webpack: 4.46.0 + dev: false + /form-data/3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -14403,7 +14926,7 @@ packages: core-js-compat: 3.9.0 dev: false - /gatsby-link/4.13.0_3f823a2e884c4867af0a47d3087d2b6a: + /gatsby-link/4.13.0_h6bduluijregplyki7jqq7jlni: resolution: {integrity: sha512-/SIyUkESxw0Wz2oo/qegEkczPQdhVObFgKgbai+zWQc03xTJLWwZUWrpzQ2BGESTNyQenewXCkVlZIjkIxS45g==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14412,7 +14935,7 @@ packages: react-dom: ^16.9.0 || ^17.0.0 || ^18.0.0 dependencies: '@babel/runtime': 7.17.9 - '@gatsbyjs/reach-router': 1.3.7_react-dom@17.0.2+react@17.0.2 + '@gatsbyjs/reach-router': 1.3.7_sfoxds7t5ydpegc3knd667wn6m '@types/reach__router': 1.3.10 gatsby-page-utils: 2.13.0 prop-types: 15.8.1 @@ -14440,7 +14963,7 @@ packages: peerDependencies: '@parcel/core': ^2.3.1 dependencies: - '@gatsbyjs/parcel-namer-relative-to-cwd': 0.0.2_1eaf07174904e1db30b88eca89ba1d12 + '@gatsbyjs/parcel-namer-relative-to-cwd': 0.0.2_d2xqof2jatq5wmfyr3fitoq5ci '@parcel/bundler-default': 2.5.0_@parcel+core@2.5.0 '@parcel/compressor-raw': 2.5.0_@parcel+core@2.5.0 '@parcel/core': 2.5.0 @@ -14460,7 +14983,7 @@ packages: '@parcel/transformer-react-refresh-wrap': 2.5.0_@parcel+core@2.5.0 dev: false - /gatsby-plugin-image/2.11.1_f7864ef0bcea373833bd2a438072b4fe: + /gatsby-plugin-image/2.11.1_66de54f45i3tqm55fjbya4vu7y: resolution: {integrity: sha512-4tfDdcczBVOL6ELKNWuXQ9h1V/5DhBMIVHmr6FPwm8xgL8ARqfQMXX2mzUjpNiu7WDiMlm9cWrTQQaZAARhAwg==} peerDependencies: '@babel/core': ^7.12.3 @@ -14480,7 +15003,7 @@ packages: chokidar: 3.5.3 common-tags: 1.8.2 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-plugin-sharp: 4.11.1_gatsby@4.11.1 gatsby-source-filesystem: 4.11.1_gatsby@4.11.1 @@ -14499,7 +15022,7 @@ packages: gatsby: ^4.0.0-next dependencies: '@babel/runtime': 7.17.9 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-plugin-utils: 3.7.0_gatsby@4.11.1 semver: 7.3.7 @@ -14508,7 +15031,7 @@ packages: - graphql dev: false - /gatsby-plugin-mdx/3.11.1_ee23a59bf2e1789fbc8eee222995a207: + /gatsby-plugin-mdx/3.11.1_5yr2lg7s4f4j7peo5yrctfnca4: resolution: {integrity: sha512-YP1Y83rusbNKXFiD6bfWri/ga/z5JuvuCEcT8+eiOXUtmmMHuiS1/wAz2+YM8+OdZKnP25ccI+TOG2Jd+gKR/g==} peerDependencies: '@mdx-js/mdx': ^1.0.0 @@ -14535,7 +15058,7 @@ packages: escape-string-regexp: 1.0.5 eval: 0.1.8 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gray-matter: 4.0.3 json5: 2.2.1 @@ -14564,7 +15087,7 @@ packages: - supports-color dev: false - /gatsby-plugin-page-creator/4.13.0_gatsby@4.11.1+graphql@15.8.0: + /gatsby-plugin-page-creator/4.13.0_h3ftlico7bih6gwgu7icwnsvi4: resolution: {integrity: sha512-TbTJdveyZqs5Mt0RWfIhyxyINnZfQyEQrblh5N69dykwl+ymj06lPgeoIhT1ePNXsDGJ6AuZiyWfBfSlChV64A==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14575,10 +15098,10 @@ packages: '@sindresorhus/slugify': 1.1.2 chokidar: 3.5.3 fs-exists-cached: 1.0.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-page-utils: 2.13.0 - gatsby-plugin-utils: 3.7.0_gatsby@4.11.1+graphql@15.8.0 + gatsby-plugin-utils: 3.7.0_h3ftlico7bih6gwgu7icwnsvi4 gatsby-telemetry: 3.13.0 globby: 11.1.0 lodash: 4.17.21 @@ -14593,12 +15116,12 @@ packages: peerDependencies: gatsby: ~2.x.x || ~3.x.x || ~4.x.x dependencies: - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m lodash.get: 4.4.2 lodash.uniq: 4.5.0 dev: false - /gatsby-plugin-react-helmet/5.11.0_gatsby@4.11.1+react-helmet@6.1.0: + /gatsby-plugin-react-helmet/5.11.0_dqulzhecxay4n55igjmilxol74: resolution: {integrity: sha512-4ouGsfCCjbXtuz9/IR8YU2PfcHQ/peSHHr5UwIu6X/cJ2A8ykZHFMewQ4ve8dfHSBmNKDBuoFe6D0Y8Q4MDI8w==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14606,7 +15129,7 @@ packages: react-helmet: ^5.1.3 || ^6.0.0 dependencies: '@babel/runtime': 7.17.9 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m react-helmet: 6.1.0_react@17.0.2 dev: false @@ -14626,7 +15149,7 @@ packages: debug: 4.3.4 filenamify: 4.3.0 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-plugin-utils: 3.7.0_gatsby@4.11.1 gatsby-telemetry: 3.13.0 @@ -14646,7 +15169,7 @@ packages: - supports-color dev: false - /gatsby-plugin-sitemap/5.11.1_85188e69289d8a06a6aae695f8dcfd89: + /gatsby-plugin-sitemap/5.11.1_qumi42jitwfanjvk42k7rxh5re: resolution: {integrity: sha512-tt92KLUDS+eCrqSA5oYieDGjXLyUDXfYKEwLhYKXk7KlMMjporFJWVrc4Ba8WD04bUWVnzc2rqr19/zQI0ZIpQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14656,7 +15179,7 @@ packages: dependencies: '@babel/runtime': 7.17.9 common-tags: 1.8.2 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m minimatch: 3.1.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -14675,8 +15198,8 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.10 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.10 '@babel/runtime': 7.17.9 - babel-plugin-remove-graphql-queries: 4.13.0_8745ebccee48992bfdf6557f95f89706 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + babel-plugin-remove-graphql-queries: 4.13.0_q5c6xthojcmsx7pwkv7zl6exay + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m transitivePeerDependencies: - supports-color dev: false @@ -14690,7 +15213,7 @@ packages: '@babel/runtime': 7.17.9 '@gatsbyjs/potrace': 2.2.0 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-sharp: 0.7.0 graphql-compose: 9.0.8 @@ -14703,7 +15226,7 @@ packages: - graphql dev: false - /gatsby-plugin-utils/3.7.0_gatsby@4.11.1+graphql@15.8.0: + /gatsby-plugin-utils/3.7.0_h3ftlico7bih6gwgu7icwnsvi4: resolution: {integrity: sha512-RRVStuXH9sfI3CYO3yM9iVCh5DllAONygXhTWZMrpKpGJe87xRiot5Lal+bz9NRGhYWok3x47c4F3YRs57yMNg==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14712,7 +15235,7 @@ packages: '@babel/runtime': 7.17.9 '@gatsbyjs/potrace': 2.2.0 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 gatsby-sharp: 0.7.0 graphql-compose: 9.0.8_graphql@15.8.0 @@ -14725,7 +15248,7 @@ packages: - graphql dev: false - /gatsby-react-router-scroll/5.13.0_3f823a2e884c4867af0a47d3087d2b6a: + /gatsby-react-router-scroll/5.13.0_h6bduluijregplyki7jqq7jlni: resolution: {integrity: sha512-+CHI04TxkckvKBh3e9JfANc9JCoNC2ULkRs0GWNCyRTffRVClK3BJEnnyyD7XKw6sY7zSJ45R9xkBWVca+hrjw==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14734,7 +15257,7 @@ packages: react-dom: ^16.9.0 || ^17.0.0 || ^18.0.0 dependencies: '@babel/runtime': 7.17.9 - '@gatsbyjs/reach-router': 1.3.7_react-dom@17.0.2+react@17.0.2 + '@gatsbyjs/reach-router': 1.3.7_sfoxds7t5ydpegc3knd667wn6m prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -14768,7 +15291,7 @@ packages: chokidar: 3.5.3 file-type: 16.5.3 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-core-utils: 3.13.0 got: 9.6.0 md5-file: 5.0.0 @@ -14801,7 +15324,7 @@ packages: - encoding dev: false - /gatsby-transformer-sharp/4.11.0_2014847d7a170ff6fd751e309b11e74d: + /gatsby-transformer-sharp/4.11.0_eakii7l2c4h7n7lvdyyjwephju: resolution: {integrity: sha512-pQkQs7EALTWwuoEVOGxJt3/6CIF6AaNmp7tEqbqT3+iu6KiEAp5/YxRR56t8eQ6crVt1kajDSy1pQW8VRi5Sig==} engines: {node: '>=14.15.0'} peerDependencies: @@ -14812,7 +15335,7 @@ packages: bluebird: 3.7.2 common-tags: 1.8.2 fs-extra: 10.1.0 - gatsby: 4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9 + gatsby: 4.11.1_sfoxds7t5ydpegc3knd667wn6m gatsby-plugin-sharp: 4.11.1_gatsby@4.11.1 potrace: 2.1.8 probe-image-size: 7.2.3 @@ -14830,7 +15353,7 @@ packages: - supports-color dev: false - /gatsby/4.11.1_b716d6ad45bf4050b8f6282a3e8e8db9: + /gatsby/4.11.1_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-ffEXb/mvZtB0cQ8javEkhruubxjTbZSsN81IYGGY/ym4YB+Zm1a8K0NV7DsRGsPO9nx7Z/D/OBVxVmse1Nnxzw==} engines: {node: '>=14.15.0'} hasBin: true @@ -14841,31 +15364,31 @@ packages: dependencies: '@babel/code-frame': 7.16.7 '@babel/core': 7.17.10 - '@babel/eslint-parser': 7.17.0_5bbe72039de6d93fbabf1e4c6b1a59c4 + '@babel/eslint-parser': 7.17.0_lo7hea4543mt7ov7dzggwgszyq '@babel/helper-plugin-utils': 7.16.7 '@babel/parser': 7.17.10 '@babel/runtime': 7.17.9 '@babel/traverse': 7.17.10 '@babel/types': 7.17.10 - '@gatsbyjs/reach-router': 1.3.7_react-dom@17.0.2+react@17.0.2 + '@gatsbyjs/reach-router': 1.3.7_sfoxds7t5ydpegc3knd667wn6m '@gatsbyjs/webpack-hot-middleware': 2.25.3 '@nodelib/fs.walk': 1.2.8 '@parcel/core': 2.5.0 - '@pmmmwh/react-refresh-webpack-plugin': 0.4.3_ad215394b92be37ab5bb82482aa97917 + '@pmmmwh/react-refresh-webpack-plugin': 0.4.3_vuqvhffzfprxvnn3qjecvklzc4 '@types/http-proxy': 1.17.8 - '@typescript-eslint/eslint-plugin': 4.33.0_0c49e12669280545a7ea3f36dba6eb0a - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.6.3 + '@typescript-eslint/eslint-plugin': 4.33.0_ffi3uiz42rv3jyhs6cr7p7qqry + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0 '@vercel/webpack-asset-relocator-loader': 1.7.2 address: 1.1.2 anser: 2.1.1 autoprefixer: 10.4.7_postcss@8.4.13 axios: 0.21.4_debug@3.2.7 - babel-loader: 8.2.5_887a5110397f957d9e06dd05497793db + babel-loader: 8.2.5_rb5fcebzp6kx3hqg3ucus54t3m babel-plugin-add-module-exports: 1.0.4 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 4.13.0_8745ebccee48992bfdf6557f95f89706 - babel-preset-gatsby: 2.11.1_4e6a1ee846abf5f1ae7bc02efd9ad64c + babel-plugin-remove-graphql-queries: 4.13.0_q5c6xthojcmsx7pwkv7zl6exay + babel-preset-gatsby: 2.11.1_jzvb52cgvp27dlt3yaxp3gwwjq better-opn: 2.1.1 bluebird: 3.7.2 body-parser: 1.20.0 @@ -14889,14 +15412,14 @@ packages: dotenv: 8.6.0 enhanced-resolve: 5.9.3 eslint: 7.32.0 - eslint-config-react-app: 6.0.0_a6525fb0646271fcd818e723c9391b1b + eslint-config-react-app: 6.0.0_uzjf7mdemjy7zway44r4soi3dm eslint-plugin-flowtype: 5.10.0_eslint@7.32.0 - eslint-plugin-graphql: 4.0.0_08e5765b66c8638ecf85fd981e266106 + eslint-plugin-graphql: 4.0.0_graphql@15.8.0 eslint-plugin-import: 2.26.0_eslint@7.32.0 eslint-plugin-jsx-a11y: 6.5.1_eslint@7.32.0 eslint-plugin-react: 7.29.4_eslint@7.32.0 eslint-plugin-react-hooks: 4.5.0_eslint@7.32.0 - eslint-webpack-plugin: 2.6.0_eslint@7.32.0+webpack@5.72.0 + eslint-webpack-plugin: 2.6.0_ej5kzqlwxufmlid7qwxwr3ivqm event-source-polyfill: 1.0.26 execa: 5.1.1 express: 4.18.1 @@ -14911,13 +15434,13 @@ packages: gatsby-core-utils: 3.13.0 gatsby-graphiql-explorer: 2.13.0 gatsby-legacy-polyfills: 2.13.0 - gatsby-link: 4.13.0_3f823a2e884c4867af0a47d3087d2b6a + gatsby-link: 4.13.0_h6bduluijregplyki7jqq7jlni gatsby-page-utils: 2.13.0 gatsby-parcel-config: 0.2.0_@parcel+core@2.5.0 - gatsby-plugin-page-creator: 4.13.0_gatsby@4.11.1+graphql@15.8.0 + gatsby-plugin-page-creator: 4.13.0_h3ftlico7bih6gwgu7icwnsvi4 gatsby-plugin-typescript: 4.13.0_gatsby@4.11.1 - gatsby-plugin-utils: 3.7.0_gatsby@4.11.1+graphql@15.8.0 - gatsby-react-router-scroll: 5.13.0_3f823a2e884c4867af0a47d3087d2b6a + gatsby-plugin-utils: 3.7.0_h3ftlico7bih6gwgu7icwnsvi4 + gatsby-react-router-scroll: 5.13.0_h6bduluijregplyki7jqq7jlni gatsby-telemetry: 3.13.0 gatsby-worker: 1.13.0 glob: 7.2.0 @@ -14955,7 +15478,7 @@ packages: platform: 1.3.6 postcss: 8.4.13 postcss-flexbugs-fixes: 5.0.2_postcss@8.4.13 - postcss-loader: 5.3.0_postcss@8.4.13+webpack@5.72.0 + postcss-loader: 5.3.0_g4najheu5gwop3kphiif6aqpde prompts: 2.4.2 prop-types: 15.8.1 query-string: 6.14.1 @@ -14984,7 +15507,7 @@ packages: tmp: 0.2.1 true-case-path: 2.2.1 type-of: 2.0.1 - url-loader: 4.1.1_file-loader@6.2.0+webpack@5.72.0 + url-loader: 4.1.1_csgzzuwaerdr4d7s3u52mzcn7m uuid: 8.3.2 webpack: 5.72.0 webpack-dev-middleware: 4.3.0_webpack@5.72.0 @@ -15400,18 +15923,18 @@ packages: graphql-type-json: 0.3.2_graphql@15.8.0 dev: false - /graphql-config/3.4.1_08e5765b66c8638ecf85fd981e266106: + /graphql-config/3.4.1_graphql@15.8.0: resolution: {integrity: sha512-g9WyK4JZl1Ko++FSyE5Ir2g66njfxGzrDDhBOwnkoWf/t3TnnZG6BBkWP+pkqVJ5pqMJGPKHNrbew8jRxStjhw==} engines: {node: '>= 10.0.0'} peerDependencies: graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 dependencies: - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_e33933e3ebf8a14a1c896f2cc77e2366 + '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_cosmiconfig@7.0.0 '@graphql-tools/graphql-file-loader': 6.2.7_graphql@15.8.0 '@graphql-tools/json-file-loader': 6.2.6_graphql@15.8.0 '@graphql-tools/load': 6.2.8_graphql@15.8.0 '@graphql-tools/merge': 6.2.14_graphql@15.8.0 - '@graphql-tools/url-loader': 6.10.1_23a9246980341bd24d7442a87f2e9d52 + '@graphql-tools/url-loader': 6.10.1_graphql@15.8.0 '@graphql-tools/utils': 7.10.0_graphql@15.8.0 cosmiconfig: 7.0.0 cosmiconfig-toml-loader: 1.0.0 @@ -17149,7 +17672,7 @@ packages: pretty-format: 27.5.1 dev: false - /jest-watch-typeahead/1.0.0_jest@27.5.1: + /jest-watch-typeahead/1.0.0: resolution: {integrity: sha512-jxoszalAb394WElmiJTFBMzie/RDCF+W7Q29n5LzOPtcoQoHWfdUtHFkbhgf5NwWe8uMOxvKb/g7ea7CshfkTw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -17157,7 +17680,6 @@ packages: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1 jest-regex-util: 27.5.1 jest-watcher: 27.5.1 slash: 4.0.0 @@ -18054,6 +18576,13 @@ packages: resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} dev: false + /markdown-to-jsx/7.1.7: + resolution: {integrity: sha512-VI3TyyHlGkO8uFle0IOibzpO1c1iJDcXcS/zBrQrXQQvJ2tpdwVzVZ7XdKsyRz1NdRmre4dqQkMZzUHaKIG/1w==} + engines: {node: '>= 10'} + peerDependencies: + react: '>= 0.14.0' + dev: false + /markdown-to-jsx/7.1.7_react@17.0.2: resolution: {integrity: sha512-VI3TyyHlGkO8uFle0IOibzpO1c1iJDcXcS/zBrQrXQQvJ2tpdwVzVZ7XdKsyRz1NdRmre4dqQkMZzUHaKIG/1w==} engines: {node: '>= 10'} @@ -18241,7 +18770,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros/1.1.4_@types+node@16.11.31: + /meros/1.1.4: resolution: {integrity: sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==} engines: {node: '>=12'} peerDependencies: @@ -18249,8 +18778,6 @@ packages: peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@types/node': 16.11.31 dev: false /methods/1.1.2: @@ -19641,6 +20168,15 @@ packages: engines: {node: '>=4.0.0'} dev: false + /pnp-webpack-plugin/1.6.4: + resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} + engines: {node: '>=6'} + dependencies: + ts-pnp: 1.2.0 + transitivePeerDependencies: + - typescript + dev: false + /pnp-webpack-plugin/1.6.4_typescript@4.6.3: resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} engines: {node: '>=6'} @@ -19934,7 +20470,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-loader/4.3.0_postcss@7.0.39+webpack@4.46.0: + /postcss-loader/4.3.0_gzaxsinx64nntyd3vmdqwl7coe: resolution: {integrity: sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -19950,7 +20486,7 @@ packages: webpack: 4.46.0 dev: false - /postcss-loader/5.3.0_postcss@8.4.13+webpack@5.72.0: + /postcss-loader/5.3.0_g4najheu5gwop3kphiif6aqpde: resolution: {integrity: sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20824,7 +21360,14 @@ packages: strip-json-comments: 2.0.1 dev: false - /react-colorful/5.5.1_react-dom@17.0.2+react@17.0.2: + /react-colorful/5.5.1: + resolution: {integrity: sha512-M1TJH2X3RXEt12sWkpa6hLc/bbYS0H6F4rIqjQZ+RxNBstpY67d9TrFXtqdZwhpmBXcCwEi7stKqFue3ZRkiOg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dev: false + + /react-colorful/5.5.1_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-M1TJH2X3RXEt12sWkpa6hLc/bbYS0H6F4rIqjQZ+RxNBstpY67d9TrFXtqdZwhpmBXcCwEi7stKqFue3ZRkiOg==} peerDependencies: react: '>=16.8.0' @@ -20902,7 +21445,17 @@ packages: scheduler: 0.20.2 dev: false - /react-draggable/4.4.5_react-dom@17.0.2+react@17.0.2: + /react-draggable/4.4.5: + resolution: {integrity: sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==} + peerDependencies: + react: '>= 16.3.0' + react-dom: '>= 16.3.0' + dependencies: + clsx: 1.1.1 + prop-types: 15.8.1 + dev: false + + /react-draggable/4.4.5_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==} peerDependencies: react: '>= 16.3.0' @@ -20914,7 +21467,7 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false - /react-element-to-jsx-string/14.3.4_react-dom@17.0.2+react@17.0.2: + /react-element-to-jsx-string/14.3.4: resolution: {integrity: sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==} peerDependencies: react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 @@ -20922,8 +21475,6 @@ packages: dependencies: '@base2/pretty-print-object': 1.0.1 is-plain-object: 5.0.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 react-is: 17.0.2 dev: false @@ -20945,7 +21496,20 @@ packages: resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==} dev: false - /react-helmet-async/1.3.0_react-dom@17.0.2+react@17.0.2: + /react-helmet-async/1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.17.9 + invariant: 2.2.4 + prop-types: 15.8.1 + react-fast-compare: 3.2.0 + shallowequal: 1.1.0 + dev: false + + /react-helmet-async/1.3.0_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 @@ -20972,7 +21536,7 @@ packages: react-side-effect: 2.1.1_react@17.0.2 dev: false - /react-inspector/5.1.1_react@17.0.2: + /react-inspector/5.1.1: resolution: {integrity: sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==} peerDependencies: react: ^16.8.4 || ^17.0.0 @@ -20980,7 +21544,6 @@ packages: '@babel/runtime': 7.17.9 is-dom: 1.1.0 prop-types: 15.8.1 - react: 17.0.2 dev: false /react-is/16.13.1: @@ -20995,7 +21558,7 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false - /react-live/2.4.1_react-dom@17.0.2+react@17.0.2: + /react-live/2.4.1_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-r+32f7oV/kBs3QZBRvaT+9vOkQW47UZrDpgwUe5FiIMOl7sdo5pmISgb7Zpj5PGHgY6XQaiXs3FEh+IWw3KbRg==} engines: {node: '>= 0.12.0', npm: '>= 2.0.0'} dependencies: @@ -21005,14 +21568,25 @@ packages: dom-iterator: 1.0.0 prism-react-renderer: 1.3.1_react@17.0.2 prop-types: 15.8.1 - react-simple-code-editor: 0.11.0_react-dom@17.0.2+react@17.0.2 + react-simple-code-editor: 0.11.0_sfoxds7t5ydpegc3knd667wn6m unescape: 1.0.1 transitivePeerDependencies: - react - react-dom dev: false - /react-popper-tooltip/3.1.1_react-dom@17.0.2+react@17.0.2: + /react-popper-tooltip/3.1.1: + resolution: {integrity: sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 + react-dom: ^16.6.0 || ^17.0.0 + dependencies: + '@babel/runtime': 7.17.9 + '@popperjs/core': 2.11.5 + react-popper: 2.3.0_@popperjs+core@2.11.5 + dev: false + + /react-popper-tooltip/3.1.1_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ==} peerDependencies: react: ^16.6.0 || ^17.0.0 @@ -21022,10 +21596,22 @@ packages: '@popperjs/core': 2.11.5 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-popper: 2.3.0_56755b872f91af5df7d7d5046f3b0a1b + react-popper: 2.3.0_kz2vxbzpsgxv356x2ucg6oykdm dev: false - /react-popper/2.3.0_56755b872f91af5df7d7d5046f3b0a1b: + /react-popper/2.3.0_@popperjs+core@2.11.5: + resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} + peerDependencies: + '@popperjs/core': ^2.0.0 + react: ^16.8.0 || ^17 || ^18 + react-dom: ^16.8.0 || ^17 || ^18 + dependencies: + '@popperjs/core': 2.11.5 + react-fast-compare: 3.2.0 + warning: 4.0.3 + dev: false + + /react-popper/2.3.0_kz2vxbzpsgxv356x2ucg6oykdm: resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} peerDependencies: '@popperjs/core': ^2.0.0 @@ -21049,7 +21635,17 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-router-dom/6.3.0_react-dom@17.0.2+react@17.0.2: + /react-router-dom/6.3.0: + resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + history: 5.3.0 + react-router: 6.3.0 + dev: false + + /react-router-dom/6.3.0_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} peerDependencies: react: '>=16.8' @@ -21061,6 +21657,14 @@ packages: react-router: 6.3.0_react@17.0.2 dev: false + /react-router/6.3.0: + resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} + peerDependencies: + react: '>=16.8' + dependencies: + history: 5.3.0 + dev: false + /react-router/6.3.0_react@17.0.2: resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} peerDependencies: @@ -21070,13 +21674,12 @@ packages: react: 17.0.2 dev: false - /react-shallow-renderer/16.15.0_react@17.0.2: + /react-shallow-renderer/16.15.0: resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 dependencies: object-assign: 4.1.1 - react: 17.0.2 react-is: 17.0.2 dev: false @@ -21088,7 +21691,7 @@ packages: react: 17.0.2 dev: false - /react-simple-code-editor/0.11.0_react-dom@17.0.2+react@17.0.2: + /react-simple-code-editor/0.11.0_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-xGfX7wAzspl113ocfKQAR8lWPhavGWHL3xSzNLeseDRHysT+jzRBi/ExdUqevSMos+7ZtdfeuBOXtgk9HTwsrw==} peerDependencies: react: ^16.0.0 @@ -21107,6 +21710,18 @@ packages: throttle-debounce: 3.0.1 dev: false + /react-syntax-highlighter/13.5.3: + resolution: {integrity: sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==} + peerDependencies: + react: '>= 0.14.0' + dependencies: + '@babel/runtime': 7.17.9 + highlight.js: 10.7.3 + lowlight: 1.20.0 + prismjs: 1.28.0 + refractor: 3.6.0 + dev: false + /react-syntax-highlighter/13.5.3_react@17.0.2: resolution: {integrity: sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==} peerDependencies: @@ -21120,18 +21735,30 @@ packages: refractor: 3.6.0 dev: false - /react-test-renderer/17.0.2_react@17.0.2: + /react-test-renderer/17.0.2: resolution: {integrity: sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==} peerDependencies: react: 17.0.2 dependencies: object-assign: 4.1.1 - react: 17.0.2 react-is: 17.0.2 - react-shallow-renderer: 16.15.0_react@17.0.2 + react-shallow-renderer: 16.15.0 scheduler: 0.20.2 dev: false + /react-textarea-autosize/8.3.3: + resolution: {integrity: sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + dependencies: + '@babel/runtime': 7.17.9 + use-composed-ref: 1.3.0 + use-latest: 1.2.1 + transitivePeerDependencies: + - '@types/react' + dev: false + /react-textarea-autosize/8.3.3_react@17.0.2: resolution: {integrity: sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==} engines: {node: '>=10'} @@ -21146,7 +21773,7 @@ packages: - '@types/react' dev: false - /react-transition-group/4.4.2_react-dom@17.0.2+react@17.0.2: + /react-transition-group/4.4.2_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==} peerDependencies: react: '>=16.6.0' @@ -22445,7 +23072,7 @@ packages: resolution: {integrity: sha512-CMtO2Uneg3SAz/d6fZ/6qbqqQHi2ynq6/KzMD/26gTkiEShCcpqFfTHgOxsE0egAq6SX3FmN4CeSqn8BzXQkJg==} dev: false - /storybook-addon-themes/6.1.0_react-dom@17.0.2+react@17.0.2: + /storybook-addon-themes/6.1.0: resolution: {integrity: sha512-ZT8aNgrwFVNEOmOPBLNS0WBacjvMFo/bZ83P8MmsJ3Ewqt0AbmPioghTZccARUn/EQ+LrDxyh2D0QgmLaKo07Q==} peerDependencies: react: '*' @@ -22459,15 +23086,14 @@ packages: vue: optional: true dependencies: - '@storybook/addons': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/api': 6.4.22_react-dom@17.0.2+react@17.0.2 - '@storybook/components': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/addons': 6.4.22 + '@storybook/api': 6.4.22 + '@storybook/components': 6.4.22 '@storybook/core-events': 6.4.22 - '@storybook/theming': 6.4.22_react-dom@17.0.2+react@17.0.2 + '@storybook/theming': 6.4.22 core-js: 3.22.4 global: 4.4.0 memoizerific: 1.11.3 - react: 17.0.2 transitivePeerDependencies: - '@types/react' - react-dom @@ -23337,7 +23963,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-jest/27.1.4_bf370b71d3b4bea78ef36e085ff3557d: + /ts-jest/27.1.4_anspghl4ozet2fzw5safdiztum: resolution: {integrity: sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -23362,17 +23988,15 @@ packages: babel-jest: 27.5.1 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 jest-util: 27.5.1 json5: 2.2.1 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.7 - typescript: 4.6.3 yargs-parser: 20.2.9 dev: false - /ts-node/9.1.1_typescript@4.6.3: + /ts-node/9.1.1: resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} engines: {node: '>=10.0.0'} hasBin: true @@ -23384,10 +24008,19 @@ packages: diff: 4.0.2 make-error: 1.3.6 source-map-support: 0.5.21 - typescript: 4.6.3 yn: 3.1.1 dev: false + /ts-pnp/1.2.0: + resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} + engines: {node: '>=6'} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dev: false + /ts-pnp/1.2.0_typescript@4.6.3: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} engines: {node: '>=6'} @@ -23439,7 +24072,7 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: false - /tsup/5.12.6_typescript@4.6.3: + /tsup/5.12.6: resolution: {integrity: sha512-tpePOgdMRKRgazF+ujq9k1Fo44PUFUJJjRLtxq87pQrYW/Ub/fu1GpFGLzdUF9qjJ4FX1ykhf2d9mWCNy+jAtg==} hasBin: true peerDependencies: @@ -23462,21 +24095,19 @@ packages: source-map: 0.7.3 sucrase: 3.21.0 tree-kill: 1.2.2 - typescript: 4.6.3 transitivePeerDependencies: - postcss - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@4.6.3: + /tsutils/3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.6.3 dev: false /tty-browserify/0.0.0: @@ -23908,7 +24539,7 @@ packages: deprecated: Please see https://github.com/lydell/urix#deprecated dev: false - /url-loader/4.1.1_file-loader@6.2.0+webpack@4.46.0: + /url-loader/4.1.1_csgzzuwaerdr4d7s3u52mzcn7m: resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -23918,14 +24549,14 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0_webpack@4.46.0 + file-loader: 6.2.0_webpack@5.72.0 loader-utils: 2.0.2 mime-types: 2.1.35 schema-utils: 3.1.1 - webpack: 4.46.0 + webpack: 5.72.0 dev: false - /url-loader/4.1.1_file-loader@6.2.0+webpack@5.72.0: + /url-loader/4.1.1_lit45vopotvaqup7lrvlnvtxwy: resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -23935,11 +24566,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0_webpack@5.72.0 + file-loader: 6.2.0_webpack@4.46.0 loader-utils: 2.0.2 mime-types: 2.1.35 schema-utils: 3.1.1 - webpack: 5.72.0 + webpack: 4.46.0 dev: false /url-parse-lax/3.0.0: @@ -23956,6 +24587,12 @@ packages: querystring: 0.2.0 dev: false + /use-composed-ref/1.3.0: + resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dev: false + /use-composed-ref/1.3.0_react@17.0.2: resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: @@ -23964,6 +24601,16 @@ packages: react: 17.0.2 dev: false + /use-isomorphic-layout-effect/1.1.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 + dev: false + /use-isomorphic-layout-effect/1.1.2_react@17.0.2: resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: @@ -23976,6 +24623,18 @@ packages: react: 17.0.2 dev: false + /use-latest/1.2.1: + resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + use-isomorphic-layout-effect: 1.1.2 + dev: false + /use-latest/1.2.1_react@17.0.2: resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: diff --git a/themes/theme-b2b/src/components/Dialog.style.ts b/themes/theme-b2b/src/components/Dialog.style.ts new file mode 100644 index 0000000000..d214d4dcdc --- /dev/null +++ b/themes/theme-b2b/src/components/Dialog.style.ts @@ -0,0 +1,5 @@ +import type { Theme } from '@marigold/components'; + +export const Dialog: Theme['components']['Dialog'] = { + base: {}, +}; diff --git a/themes/theme-b2b/src/components/Underlay.style.ts b/themes/theme-b2b/src/components/Underlay.style.ts new file mode 100644 index 0000000000..53ab611940 --- /dev/null +++ b/themes/theme-b2b/src/components/Underlay.style.ts @@ -0,0 +1,8 @@ +import { Theme } from '@marigold/components'; + +export const Underlay: Theme['components']['Underlay'] = { + base: { + bg: 'gray70', + opacity: 0.33, + }, +}; diff --git a/themes/theme-b2b/src/components/index.ts b/themes/theme-b2b/src/components/index.ts index 6716775ced..3907ee3488 100644 --- a/themes/theme-b2b/src/components/index.ts +++ b/themes/theme-b2b/src/components/index.ts @@ -3,6 +3,7 @@ export * from './Button.style'; export * from './Card.style'; export * from './Checkbox.style'; export * from './CheckboxGroup.style'; +export * from './Dialog.style'; export * from './Divider.style'; export * from './Headline.style'; export * from './HelpText.style'; @@ -20,3 +21,4 @@ export * from './Switch.style'; export * from './Table.style'; export * from './Text.style'; export * from './TextArea.style'; +export * from './Underlay.style'; From 470a8db2cafa052bf374c7c8778cb3d9974da736 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 12:50:11 +0200 Subject: [PATCH 03/26] working! --- .../components/src/Dialog/Dialog.stories.tsx | 16 +++++-- packages/components/src/Dialog/Dialog.tsx | 20 ++++++-- .../components/src/Dialog/DialogTrigger.tsx | 15 ++---- packages/components/src/Overlay/Modal.tsx | 48 ++++++++++--------- 4 files changed, 56 insertions(+), 43 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index fdd2849f15..7dfb375d95 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -32,11 +32,17 @@ export const Form: ComponentStory = args => { - Please log into account - - - - + {({ close }) => ( + <> + Please log into account + + + + + + )} diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index b4683e338f..b46cc46987 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -1,4 +1,6 @@ -import React, { ReactNode } from 'react'; +import React, { ReactNode, useRef } from 'react'; +import { useDialog } from '@react-aria/dialog'; +import type { AriaDialogProps } from '@react-types/dialog'; import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; @@ -10,7 +12,7 @@ export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} // Props // --------------- -export interface DialogProps { +export interface DialogProps extends AriaDialogProps { children?: ReactNode; variant?: string; size?: string; @@ -18,13 +20,23 @@ export interface DialogProps { // Component // --------------- -export const Dialog = ({ children, variant, size }: DialogProps) => { +export const Dialog = ({ children, variant, size, ...props }: DialogProps) => { + const ref = useRef(null); + // FIXME: Where to put the titleProps + const { dialogProps } = useDialog(props, ref); const styles = useComponentStyles('Dialog', { variant, size }); return ( - + {children} ); }; Dialog.Trigger = DialogTrigger; + +/** + * TODO: + * + * - dismiss button + * - pass down close when children is a function + */ diff --git a/packages/components/src/Dialog/DialogTrigger.tsx b/packages/components/src/Dialog/DialogTrigger.tsx index ae4a8d4fa9..f9cca83437 100644 --- a/packages/components/src/Dialog/DialogTrigger.tsx +++ b/packages/components/src/Dialog/DialogTrigger.tsx @@ -1,35 +1,27 @@ import React, { ReactNode, useRef } from 'react'; import { PressResponder } from '@react-aria/interactions'; import { useOverlayTriggerState } from '@react-stately/overlays'; -import { useOverlayTrigger } from '@react-aria/overlays'; import { Modal } from '../Overlay/Modal'; export interface DialogTriggerProps { children: [trigger: ReactNode, menu: ReactNode]; dismissable?: boolean; - keyboardDismissDisabled?: boolean; + keyboardDismissable?: boolean; } export const DialogTrigger = ({ children, dismissable = true, - keyboardDismissDisabled = true, + keyboardDismissable = true, }: DialogTriggerProps) => { const [dialogTrigger, dialog] = React.Children.toArray(children); const dialogTriggerRef = useRef(null); - const state = useOverlayTriggerState({}); - const { triggerProps, overlayProps } = useOverlayTrigger( - { type: 'dialog' }, - state, - dialogTriggerRef - ); return ( <> {dialog} diff --git a/packages/components/src/Overlay/Modal.tsx b/packages/components/src/Overlay/Modal.tsx index 12408168de..a811d7dcac 100644 --- a/packages/components/src/Overlay/Modal.tsx +++ b/packages/components/src/Overlay/Modal.tsx @@ -1,41 +1,35 @@ -import React, { forwardRef, ReactNode } from 'react'; +import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'; import { FocusScope } from '@react-aria/focus'; -import { - OverlayProps, - useModal, - useOverlay, - usePreventScroll, -} from '@react-aria/overlays'; +import { useModal, useOverlay, usePreventScroll } from '@react-aria/overlays'; import { mergeProps, useObjectRef } from '@react-aria/utils'; import { Overlay } from './Overlay'; import { Underlay } from './Underlay'; -import { Box } from '@marigold/system'; // Props // --------------- -export interface ModalProps - extends Omit< - OverlayProps, - 'isOpen' | 'isDismissable' | 'isKeyboardDismissDisabled' - > { +export interface ModalProps extends HTMLAttributes { children?: ReactNode; open?: boolean; + onClose?: () => void; dismissable?: boolean; - keyboardDismissDisabled?: boolean; + keyboardDismissable?: boolean; } // Component // --------------- export const Modal = forwardRef( - ({ children, open, dismissable, keyboardDismissDisabled, ...props }, ref) => { + ( + { children, open, dismissable, keyboardDismissable, onClose, ...props }, + ref + ) => { // FIXME: Do we have to pass variant and size to the Underlay? const modalRef = useObjectRef(ref); const { overlayProps, underlayProps } = useOverlay( { isOpen: open, + onClose, isDismissable: dismissable, - isKeyboardDismissDisabled: keyboardDismissDisabled, - ...props, + isKeyboardDismissDisabled: !keyboardDismissable, }, modalRef ); @@ -47,12 +41,23 @@ export const Modal = forwardRef( usePreventScroll(); const { modalProps } = useModal({}); + /** + * In order to support opacity on the `` it can't wrap + * the modal content. BUT, we need to center the modal content and still + * be able to click the `` (has the on close listener). + * + * Solution: + * - Make a wrapper that centers the modal content, but is not clickable + * (`pointer-events: none`) + * - Make another wrapper the "re-enables" pointer events on the modal + * content. + */ return ( - ( pointerEvents: 'none', }} ref={modalRef} - role="presentation" {...mergeProps(props, overlayProps, modalProps)} > - {children} - +
{children}
+
); From ef5e641afc43c93cecde666c6199f205182e80b0 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 13:02:39 +0200 Subject: [PATCH 04/26] add possibility to pass down close and open to children --- packages/components/src/Dialog/Context.ts | 9 +++++++++ packages/components/src/Dialog/Dialog.tsx | 11 +++++++---- packages/components/src/Dialog/DialogTrigger.tsx | 8 ++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 packages/components/src/Dialog/Context.ts diff --git a/packages/components/src/Dialog/Context.ts b/packages/components/src/Dialog/Context.ts new file mode 100644 index 0000000000..5d142cc331 --- /dev/null +++ b/packages/components/src/Dialog/Context.ts @@ -0,0 +1,9 @@ +import { createContext, HTMLAttributes, useContext } from 'react'; + +export interface DialogContextProps { + open?: boolean; + close?: () => void; +} + +export const DialogContext = createContext({}); +export const useDialogContext = () => useContext(DialogContext); diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index b46cc46987..73b610c1e3 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -4,6 +4,7 @@ import type { AriaDialogProps } from '@react-types/dialog'; import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; +import { DialogContextProps, useDialogContext } from './Context'; import { DialogTrigger } from './DialogTrigger'; // Theme Extension @@ -13,7 +14,9 @@ export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} // Props // --------------- export interface DialogProps extends AriaDialogProps { - children?: ReactNode; + children?: + | ReactNode + | ((props: Pick) => ReactNode); variant?: string; size?: string; } @@ -21,13 +24,15 @@ export interface DialogProps extends AriaDialogProps { // Component // --------------- export const Dialog = ({ children, variant, size, ...props }: DialogProps) => { + const { close, open } = useDialogContext(); + const ref = useRef(null); // FIXME: Where to put the titleProps const { dialogProps } = useDialog(props, ref); const styles = useComponentStyles('Dialog', { variant, size }); return ( - {children} + {typeof children === 'function' ? children({ close, open }) : children} ); }; @@ -36,7 +41,5 @@ Dialog.Trigger = DialogTrigger; /** * TODO: - * * - dismiss button - * - pass down close when children is a function */ diff --git a/packages/components/src/Dialog/DialogTrigger.tsx b/packages/components/src/Dialog/DialogTrigger.tsx index f9cca83437..5e827f71e4 100644 --- a/packages/components/src/Dialog/DialogTrigger.tsx +++ b/packages/components/src/Dialog/DialogTrigger.tsx @@ -1,7 +1,9 @@ import React, { ReactNode, useRef } from 'react'; import { PressResponder } from '@react-aria/interactions'; import { useOverlayTriggerState } from '@react-stately/overlays'; + import { Modal } from '../Overlay/Modal'; +import { DialogContext } from './Context'; export interface DialogTriggerProps { children: [trigger: ReactNode, menu: ReactNode]; @@ -19,8 +21,10 @@ export const DialogTrigger = ({ const dialogTriggerRef = useRef(null); const state = useOverlayTriggerState({}); + const ctx = { open: state.isOpen, close: state.close }; + return ( - <> + {dialog} - + ); }; From 9ce76035f21c2f3fab8872c8f6002af0cf661a63 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 13:05:30 +0200 Subject: [PATCH 05/26] remove todo list --- packages/components/src/Dialog/Dialog.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index 73b610c1e3..316a8a45da 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -38,8 +38,3 @@ export const Dialog = ({ children, variant, size, ...props }: DialogProps) => { }; Dialog.Trigger = DialogTrigger; - -/** - * TODO: - * - dismiss button - */ From aa4caf10d25c2fef5d5c2abc9e72529358534702 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 13:49:35 +0200 Subject: [PATCH 06/26] add close button --- packages/components/src/Dialog/Context.ts | 2 +- .../components/src/Dialog/Dialog.stories.tsx | 15 +++++- packages/components/src/Dialog/Dialog.tsx | 52 ++++++++++++++++++- 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/packages/components/src/Dialog/Context.ts b/packages/components/src/Dialog/Context.ts index 5d142cc331..0c2784c9cf 100644 --- a/packages/components/src/Dialog/Context.ts +++ b/packages/components/src/Dialog/Context.ts @@ -1,4 +1,4 @@ -import { createContext, HTMLAttributes, useContext } from 'react'; +import { createContext, useContext } from 'react'; export interface DialogContextProps { open?: boolean; diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index 7dfb375d95..73555bf23c 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -9,7 +9,18 @@ import { TextField } from '../TextField'; export default { title: 'Components/Dialog', - argTypes: {}, + argTypes: { + dismissable: { + control: { type: 'boolean' }, + description: 'Set dismissable', + defaultValue: true, + }, + keyboardDismissable: { + control: { type: 'boolean' }, + description: 'Set keyboardDismissable', + defaultValue: true, + }, + }, } as Meta; export const Basic: ComponentStory = args => { @@ -17,7 +28,7 @@ export const Basic: ComponentStory = args => { <> - + This is a headline! This is some not so very long text. diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index 316a8a45da..84efd5d837 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -1,4 +1,5 @@ import React, { ReactNode, useRef } from 'react'; +import { useButton } from '@react-aria/button'; import { useDialog } from '@react-aria/dialog'; import type { AriaDialogProps } from '@react-types/dialog'; @@ -7,6 +8,47 @@ import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; import { DialogContextProps, useDialogContext } from './Context'; import { DialogTrigger } from './DialogTrigger'; +// Close Button +// --------------- +const CloseButton = () => { + const ref = useRef(null); + const { close } = useDialogContext(); + + const { buttonProps } = useButton( + { + onPress: () => close?.(), + }, + ref + ); + + return ( + + + + + + + + ); +}; + // Theme Extension // --------------- export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} @@ -19,11 +61,18 @@ export interface DialogProps extends AriaDialogProps { | ((props: Pick) => ReactNode); variant?: string; size?: string; + closeButton?: boolean; } // Component // --------------- -export const Dialog = ({ children, variant, size, ...props }: DialogProps) => { +export const Dialog = ({ + children, + variant, + size, + closeButton, + ...props +}: DialogProps) => { const { close, open } = useDialogContext(); const ref = useRef(null); @@ -32,6 +81,7 @@ export const Dialog = ({ children, variant, size, ...props }: DialogProps) => { const styles = useComponentStyles('Dialog', { variant, size }); return ( + {closeButton && } {typeof children === 'function' ? children({ close, open }) : children} ); From e8c9ca904a819f3294230d0a7cf52b3d28c34d27 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 13:53:22 +0200 Subject: [PATCH 07/26] add style parts --- packages/components/src/Dialog/Dialog.tsx | 34 +++++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index 84efd5d837..cb9ae06969 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -3,14 +3,23 @@ import { useButton } from '@react-aria/button'; import { useDialog } from '@react-aria/dialog'; import type { AriaDialogProps } from '@react-types/dialog'; -import { Box, ThemeExtension, useComponentStyles } from '@marigold/system'; +import { + Box, + CSSObject, + ThemeExtensionsWithParts, + useComponentStyles, +} from '@marigold/system'; import { DialogContextProps, useDialogContext } from './Context'; import { DialogTrigger } from './DialogTrigger'; // Close Button // --------------- -const CloseButton = () => { +interface CloseButtonProps { + css?: CSSObject; +} + +const CloseButton = ({ css }: CloseButtonProps) => { const ref = useRef(null); const { close } = useDialogContext(); @@ -34,6 +43,7 @@ const CloseButton = () => { lineHeight: 1, p: 0, }} + css={css} ref={ref} {...buttonProps} > @@ -51,7 +61,8 @@ const CloseButton = () => { // Theme Extension // --------------- -export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} +export interface DialogThemeExtension + extends ThemeExtensionsWithParts<'Dialog', ['container', 'closeButton']> {} // Props // --------------- @@ -73,15 +84,20 @@ export const Dialog = ({ closeButton, ...props }: DialogProps) => { - const { close, open } = useDialogContext(); - const ref = useRef(null); - // FIXME: Where to put the titleProps + const { close, open } = useDialogContext(); + // FIXME: Where to put the titleProps90 const { dialogProps } = useDialog(props, ref); - const styles = useComponentStyles('Dialog', { variant, size }); + + const styles = useComponentStyles( + 'Dialog', + { variant, size }, + { parts: ['container', 'closeButton'] } + ); + return ( - - {closeButton && } + + {closeButton && } {typeof children === 'function' ? children({ close, open }) : children} ); From 4cb982e06b3d4155e623b70e1168ef5cb2937945 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Wed, 4 May 2022 15:04:37 +0200 Subject: [PATCH 08/26] styles --- .../components/src/Dialog/Dialog.stories.tsx | 18 ++++++++++++------ .../theme-b2b/src/components/Dialog.style.ts | 12 +++++++++++- .../theme-core/src/components/Dialog.style.ts | 15 +++++++++++++++ .../src/components/Underlay.style.ts | 8 ++++++++ themes/theme-core/src/components/index.ts | 2 ++ .../src/components/Dialog.style.ts | 15 +++++++++++++++ .../src/components/Underlay.style.ts | 8 ++++++++ themes/theme-unicorn/src/components/index.ts | 2 ++ 8 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 themes/theme-core/src/components/Dialog.style.ts create mode 100644 themes/theme-core/src/components/Underlay.style.ts create mode 100644 themes/theme-unicorn/src/components/Dialog.style.ts create mode 100644 themes/theme-unicorn/src/components/Underlay.style.ts diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index 73555bf23c..f2c39c2108 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -3,9 +3,11 @@ import type { Meta, ComponentStory } from '@storybook/react'; import { Button } from '../Button'; import { Headline } from '../Headline'; +import { Inline } from '../Inline'; import { Text } from '../Text'; import { Dialog } from './Dialog'; import { TextField } from '../TextField'; +import { Stack } from '../Stack'; export default { title: 'Components/Dialog', @@ -46,12 +48,16 @@ export const Form: ComponentStory = args => { {({ close }) => ( <> Please log into account - - - - + + + + + + + + )} diff --git a/themes/theme-b2b/src/components/Dialog.style.ts b/themes/theme-b2b/src/components/Dialog.style.ts index d214d4dcdc..452267f121 100644 --- a/themes/theme-b2b/src/components/Dialog.style.ts +++ b/themes/theme-b2b/src/components/Dialog.style.ts @@ -1,5 +1,15 @@ import type { Theme } from '@marigold/components'; export const Dialog: Theme['components']['Dialog'] = { - base: {}, + base: { + container: { + borderRadius: '2px', + boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)', + pl: 'large', + pr: 'large', + pb: 'large', + pt: 'small', + }, + closeButton: {}, + }, }; diff --git a/themes/theme-core/src/components/Dialog.style.ts b/themes/theme-core/src/components/Dialog.style.ts new file mode 100644 index 0000000000..452267f121 --- /dev/null +++ b/themes/theme-core/src/components/Dialog.style.ts @@ -0,0 +1,15 @@ +import type { Theme } from '@marigold/components'; + +export const Dialog: Theme['components']['Dialog'] = { + base: { + container: { + borderRadius: '2px', + boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)', + pl: 'large', + pr: 'large', + pb: 'large', + pt: 'small', + }, + closeButton: {}, + }, +}; diff --git a/themes/theme-core/src/components/Underlay.style.ts b/themes/theme-core/src/components/Underlay.style.ts new file mode 100644 index 0000000000..53ab611940 --- /dev/null +++ b/themes/theme-core/src/components/Underlay.style.ts @@ -0,0 +1,8 @@ +import { Theme } from '@marigold/components'; + +export const Underlay: Theme['components']['Underlay'] = { + base: { + bg: 'gray70', + opacity: 0.33, + }, +}; diff --git a/themes/theme-core/src/components/index.ts b/themes/theme-core/src/components/index.ts index 03aeb4d013..37455f21da 100644 --- a/themes/theme-core/src/components/index.ts +++ b/themes/theme-core/src/components/index.ts @@ -1,6 +1,7 @@ export * from './Badge.style'; export * from './Button.style'; export * from './Checkbox.style'; +export * from './Dialog.style'; export * from './Divider.style'; export * from './Headline.style'; export * from './HelpText.style'; @@ -17,3 +18,4 @@ export * from './Switch.style'; export * from './Table.style'; export * from './Text.style'; export * from './TextArea.style'; +export * from './Underlay.style'; diff --git a/themes/theme-unicorn/src/components/Dialog.style.ts b/themes/theme-unicorn/src/components/Dialog.style.ts new file mode 100644 index 0000000000..452267f121 --- /dev/null +++ b/themes/theme-unicorn/src/components/Dialog.style.ts @@ -0,0 +1,15 @@ +import type { Theme } from '@marigold/components'; + +export const Dialog: Theme['components']['Dialog'] = { + base: { + container: { + borderRadius: '2px', + boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)', + pl: 'large', + pr: 'large', + pb: 'large', + pt: 'small', + }, + closeButton: {}, + }, +}; diff --git a/themes/theme-unicorn/src/components/Underlay.style.ts b/themes/theme-unicorn/src/components/Underlay.style.ts new file mode 100644 index 0000000000..53ab611940 --- /dev/null +++ b/themes/theme-unicorn/src/components/Underlay.style.ts @@ -0,0 +1,8 @@ +import { Theme } from '@marigold/components'; + +export const Underlay: Theme['components']['Underlay'] = { + base: { + bg: 'gray70', + opacity: 0.33, + }, +}; diff --git a/themes/theme-unicorn/src/components/index.ts b/themes/theme-unicorn/src/components/index.ts index 6716775ced..3907ee3488 100644 --- a/themes/theme-unicorn/src/components/index.ts +++ b/themes/theme-unicorn/src/components/index.ts @@ -3,6 +3,7 @@ export * from './Button.style'; export * from './Card.style'; export * from './Checkbox.style'; export * from './CheckboxGroup.style'; +export * from './Dialog.style'; export * from './Divider.style'; export * from './Headline.style'; export * from './HelpText.style'; @@ -20,3 +21,4 @@ export * from './Switch.style'; export * from './Table.style'; export * from './Text.style'; export * from './TextArea.style'; +export * from './Underlay.style'; From 2296338e50e663b3f06f12878f213999d3433bf4 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Wed, 4 May 2022 15:30:37 +0200 Subject: [PATCH 09/26] style --- themes/theme-b2b/src/components/Dialog.style.ts | 6 +++++- themes/theme-core/src/components/Dialog.style.ts | 6 +++++- themes/theme-unicorn/src/components/Dialog.style.ts | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/themes/theme-b2b/src/components/Dialog.style.ts b/themes/theme-b2b/src/components/Dialog.style.ts index 452267f121..a25ef8bbc4 100644 --- a/themes/theme-b2b/src/components/Dialog.style.ts +++ b/themes/theme-b2b/src/components/Dialog.style.ts @@ -10,6 +10,10 @@ export const Dialog: Theme['components']['Dialog'] = { pb: 'large', pt: 'small', }, - closeButton: {}, + closeButton: { + position: 'relative', + right: '-24px', + top: '-8px', + }, }, }; diff --git a/themes/theme-core/src/components/Dialog.style.ts b/themes/theme-core/src/components/Dialog.style.ts index 452267f121..a25ef8bbc4 100644 --- a/themes/theme-core/src/components/Dialog.style.ts +++ b/themes/theme-core/src/components/Dialog.style.ts @@ -10,6 +10,10 @@ export const Dialog: Theme['components']['Dialog'] = { pb: 'large', pt: 'small', }, - closeButton: {}, + closeButton: { + position: 'relative', + right: '-24px', + top: '-8px', + }, }, }; diff --git a/themes/theme-unicorn/src/components/Dialog.style.ts b/themes/theme-unicorn/src/components/Dialog.style.ts index 452267f121..a25ef8bbc4 100644 --- a/themes/theme-unicorn/src/components/Dialog.style.ts +++ b/themes/theme-unicorn/src/components/Dialog.style.ts @@ -10,6 +10,10 @@ export const Dialog: Theme['components']['Dialog'] = { pb: 'large', pt: 'small', }, - closeButton: {}, + closeButton: { + position: 'relative', + right: '-24px', + top: '-8px', + }, }, }; From 9e7ba232b2721fea65c9e0f71596ad34f4b16da3 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Wed, 4 May 2022 16:17:49 +0200 Subject: [PATCH 10/26] fix scrolling --- .../components/src/Dialog/DialogTrigger.tsx | 19 +++++++++++-------- packages/components/src/Overlay/Modal.tsx | 6 ++++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/components/src/Dialog/DialogTrigger.tsx b/packages/components/src/Dialog/DialogTrigger.tsx index 5e827f71e4..654fea47fe 100644 --- a/packages/components/src/Dialog/DialogTrigger.tsx +++ b/packages/components/src/Dialog/DialogTrigger.tsx @@ -4,6 +4,7 @@ import { useOverlayTriggerState } from '@react-stately/overlays'; import { Modal } from '../Overlay/Modal'; import { DialogContext } from './Context'; +import { Overlay } from '../Overlay'; export interface DialogTriggerProps { children: [trigger: ReactNode, menu: ReactNode]; @@ -32,14 +33,16 @@ export const DialogTrigger = ({ > {dialogTrigger}
- - {dialog} - + + + {dialog} + + ); }; diff --git a/packages/components/src/Overlay/Modal.tsx b/packages/components/src/Overlay/Modal.tsx index a811d7dcac..8915db23f0 100644 --- a/packages/components/src/Overlay/Modal.tsx +++ b/packages/components/src/Overlay/Modal.tsx @@ -41,6 +41,8 @@ export const Modal = forwardRef( usePreventScroll(); const { modalProps } = useModal({}); + console.log('open', open); + /** * In order to support opacity on the `` it can't wrap * the modal content. BUT, we need to center the modal content and still @@ -53,7 +55,7 @@ export const Modal = forwardRef( * content. */ return ( - + <>
(
{children}
-
+ ); } ); From b013c9bc0a233df207411f901d1ad7ee096c5c5d Mon Sep 17 00:00:00 2001 From: sarahgm Date: Wed, 4 May 2022 16:26:21 +0200 Subject: [PATCH 11/26] docu --- docs/content/components/dialog.mdx | 75 +++++++++++++++++------------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/docs/content/components/dialog.mdx b/docs/content/components/dialog.mdx index 6b24a4b4ab..b869316f9a 100644 --- a/docs/content/components/dialog.mdx +++ b/docs/content/components/dialog.mdx @@ -1,5 +1,6 @@ --- title: Dialog +figma: https://www.figma.com/file/DFKyTGHAoDxOsUBPszLLxP/%F0%9F%8F%B5%EF%B8%8FMarigold?node-id=845%3A1095 --- import { FigmaLink } from '../../src/components/FigmaLink'; @@ -21,41 +22,49 @@ import { Dialog } from '@marigold/components'; ## Props -| Property | Type | Default | -| :--------------------------- | :----------------------------------------- | :---------- | -| `isOpen ` | `boolean` | `false` | -| `close` | `ComponentProps['onClick']` | | -| `title (optional)` | `string` | | -| `variant (optional)` | `string` | `__default` | -| `backdropVariant (optional)` | `string` | `backdrop` | +| Property | Type | Default | +| :------------------- | :----------------------------------------- | :------ | +| `isOpen ` | `boolean` | `false` | +| `close` | `ComponentProps['onClick']` | | +| `title (optional)` | `string` | | +| `variant (optional)` | `string` | | +| `size (optional)` | `string` | | ## Examples +### Simple Dialog + +```tsx + + + + Information! + This is a simple info Dialog. + + +``` + +### Form Dialog + ```tsx -() => { - const { state, openButtonProps, openButtonRef } = useDialogButtonProps(); - return ( - <> - - {state.isOpen && ( - - - This is your dialog text. You can read some interesting information. - - - )} - - ); -}; + + + + {({ close }) => ( + <> + Please log into account + + + + + + + + + + )} + + ``` From b850597a9b682d5182e701a5de2cc5fc3a5b7695 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 21:01:48 +0200 Subject: [PATCH 12/26] blur! --- themes/theme-b2b/src/components/Underlay.style.ts | 4 ++-- themes/theme-unicorn/src/components/Underlay.style.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/theme-b2b/src/components/Underlay.style.ts b/themes/theme-b2b/src/components/Underlay.style.ts index 53ab611940..799626ecfa 100644 --- a/themes/theme-b2b/src/components/Underlay.style.ts +++ b/themes/theme-b2b/src/components/Underlay.style.ts @@ -2,7 +2,7 @@ import { Theme } from '@marigold/components'; export const Underlay: Theme['components']['Underlay'] = { base: { - bg: 'gray70', - opacity: 0.33, + bg: 'rgba(206, 212, 218, 0.5)', + backdropFilter: 'blur(1px)', }, }; diff --git a/themes/theme-unicorn/src/components/Underlay.style.ts b/themes/theme-unicorn/src/components/Underlay.style.ts index 53ab611940..799626ecfa 100644 --- a/themes/theme-unicorn/src/components/Underlay.style.ts +++ b/themes/theme-unicorn/src/components/Underlay.style.ts @@ -2,7 +2,7 @@ import { Theme } from '@marigold/components'; export const Underlay: Theme['components']['Underlay'] = { base: { - bg: 'gray70', - opacity: 0.33, + bg: 'rgba(206, 212, 218, 0.5)', + backdropFilter: 'blur(1px)', }, }; From 8b1ffc1da50d4ace26ac6f604ed432310d82b883 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Wed, 4 May 2022 21:01:59 +0200 Subject: [PATCH 13/26] remove log --- packages/components/src/Overlay/Modal.tsx | 38 ++++++++++------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/packages/components/src/Overlay/Modal.tsx b/packages/components/src/Overlay/Modal.tsx index 8915db23f0..7e52679b1b 100644 --- a/packages/components/src/Overlay/Modal.tsx +++ b/packages/components/src/Overlay/Modal.tsx @@ -41,8 +41,6 @@ export const Modal = forwardRef( usePreventScroll(); const { modalProps } = useModal({}); - console.log('open', open); - /** * In order to support opacity on the `` it can't wrap * the modal content. BUT, we need to center the modal content and still @@ -55,26 +53,24 @@ export const Modal = forwardRef( * content. */ return ( - <> + - -
-
{children}
-
-
- +
+
{children}
+
+
); } ); From acca6037c89359473dbe76ef0a0295252a691ac1 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Thu, 5 May 2022 08:54:24 +0200 Subject: [PATCH 14/26] some testes --- .../components/src/Dialog/Dialog.test.tsx | 76 +++++++++++++++++++ packages/components/src/Overlay/Modal.tsx | 1 - 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 packages/components/src/Dialog/Dialog.test.tsx diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx new file mode 100644 index 0000000000..eb13c9f569 --- /dev/null +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -0,0 +1,76 @@ +/* eslint-disable testing-library/no-node-access */ +import React from 'react'; +import { fireEvent, render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + +import { ThemeProvider } from '@marigold/system'; + +import { Dialog } from './Dialog'; +import { Button } from '../Button'; + +const theme = { + space: { + none: 0, + xxsmall: 1, + xsmall: 2, + small: 4, + medium: 8, + large: 16, + }, + component: { + Dialog: { + base: { + container: { + p: 'large', + }, + closeButton: { + p: 'xxsmall', + }, + }, + variant: { + custom: { + container: { + p: 'medium', + }, + closeButton: { + p: 'xsmall', + }, + }, + }, + }, + }, +}; + +test('dialog can be opened by button', () => { + render( + + + + Content + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + const dialog = screen.getByText('Content'); + expect(dialog).toBeVisible(); +}); + +test('supports close Button', () => { + render( + + + + Content + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + const dialog = screen.getByText('Content'); + + expect(dialog.firstChild?.lastChild).toBeInTheDocument(); + + fireEvent.click(dialog.firstChild?.lastChild); + expect(dialog).not.toBeVisible(); +}); diff --git a/packages/components/src/Overlay/Modal.tsx b/packages/components/src/Overlay/Modal.tsx index 7e52679b1b..84a58fce44 100644 --- a/packages/components/src/Overlay/Modal.tsx +++ b/packages/components/src/Overlay/Modal.tsx @@ -2,7 +2,6 @@ import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'; import { FocusScope } from '@react-aria/focus'; import { useModal, useOverlay, usePreventScroll } from '@react-aria/overlays'; import { mergeProps, useObjectRef } from '@react-aria/utils'; -import { Overlay } from './Overlay'; import { Underlay } from './Underlay'; // Props From 69491effe4deef363b649c7c3565840db03823a6 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Thu, 5 May 2022 09:30:18 +0200 Subject: [PATCH 15/26] Add titleProps to a header if possible Co-authored-by: sarahgm --- packages/components/src/Dialog/Dialog.tsx | 55 ++++++++++++++++++++--- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index cb9ae06969..e86f052c85 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode, useRef } from 'react'; +import React, { HTMLAttributes, ReactElement, ReactNode, useRef } from 'react'; import { useButton } from '@react-aria/button'; import { useDialog } from '@react-aria/dialog'; import type { AriaDialogProps } from '@react-types/dialog'; @@ -10,6 +10,8 @@ import { useComponentStyles, } from '@marigold/system'; +import { Header } from '../Header'; +import { Headline } from '../Headline'; import { DialogContextProps, useDialogContext } from './Context'; import { DialogTrigger } from './DialogTrigger'; @@ -59,6 +61,39 @@ const CloseButton = ({ css }: CloseButtonProps) => { ); }; +/** + * Search for a direct child that can act as title to improve accessibility. + */ +const addTitleProps = ( + children: ReactNode, + titleProps: HTMLAttributes +) => { + const childs = React.Children.toArray(children); + + const titleIndex = childs.findIndex( + child => + React.isValidElement(child) && + (child.type === Header || child.type === Headline) + ); + + // No child found that can act as title + if (titleIndex < 0) { + console.warn( + 'No child in found that can act as title for accessibility. Please add a
or as direct child.' + ); + return children; + } + + // If we found a child, add the titleProps to it + const titleChild = React.cloneElement( + childs[titleIndex] as ReactElement, + titleProps + ); + childs.splice(titleIndex, 1, titleChild); + + return childs; +}; + // Theme Extension // --------------- export interface DialogThemeExtension @@ -66,10 +101,13 @@ export interface DialogThemeExtension // Props // --------------- +export interface DialogChildProps + extends Pick { + titleProps: HTMLAttributes; +} + export interface DialogProps extends AriaDialogProps { - children?: - | ReactNode - | ((props: Pick) => ReactNode); + children?: ReactNode | ((props: DialogChildProps) => ReactNode); variant?: string; size?: string; closeButton?: boolean; @@ -86,8 +124,7 @@ export const Dialog = ({ }: DialogProps) => { const ref = useRef(null); const { close, open } = useDialogContext(); - // FIXME: Where to put the titleProps90 - const { dialogProps } = useDialog(props, ref); + const { dialogProps, titleProps } = useDialog(props, ref); const styles = useComponentStyles( 'Dialog', @@ -98,7 +135,11 @@ export const Dialog = ({ return ( {closeButton && } - {typeof children === 'function' ? children({ close, open }) : children} + {typeof children === 'function' + ? children({ close, open, titleProps }) + : props['aria-labelledby'] + ? children + : addTitleProps(children, titleProps)} ); }; From 80eec40e8b872cd6f7de020dc90f93c01c612414 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Thu, 5 May 2022 09:36:32 +0200 Subject: [PATCH 16/26] add story --- packages/components/src/Dialog/Dialog.stories.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index f2c39c2108..c3d2d01230 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -65,3 +65,17 @@ export const Form: ComponentStory = args => { ); }; + +export const CustomTitleProps: ComponentStory = args => { + return ( + <> + + + + This is a headline! + This is some not so very long text. + + + + ); +}; From f14f904fad429e5bda4b05c6a9ad446b1e7e78fc Mon Sep 17 00:00:00 2001 From: sarahgm Date: Thu, 5 May 2022 12:47:24 +0200 Subject: [PATCH 17/26] some tests --- .../components/src/Dialog/Dialog.test.tsx | 220 ++++++++++++++++-- 1 file changed, 206 insertions(+), 14 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index eb13c9f569..b0309410fa 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -7,33 +7,38 @@ import { ThemeProvider } from '@marigold/system'; import { Dialog } from './Dialog'; import { Button } from '../Button'; +import { Headline } from '../Headline'; const theme = { space: { - none: 0, - xxsmall: 1, - xsmall: 2, - small: 4, - medium: 8, - large: 16, + none: 'none', + small: '4px', + large: '16px', }, - component: { + components: { Dialog: { base: { container: { p: 'large', }, closeButton: { - p: 'xxsmall', + p: 'small', }, }, variant: { custom: { container: { - p: 'medium', + bg: 'green', }, closeButton: { - p: 'xsmall', + bg: 'black', + }, + }, + }, + size: { + large: { + container: { + width: '400px', }, }, }, @@ -46,7 +51,10 @@ test('dialog can be opened by button', () => { - Content + + Headline + Content + ); @@ -61,16 +69,200 @@ test('supports close Button', () => { - Content + + Headline + Content + ); const button = screen.getByText('Open'); fireEvent.click(button); const dialog = screen.getByText('Content'); + expect(dialog).toBeVisible(); + + const closeButton = dialog.firstChild?.lastChild; + expect(closeButton).toBeInTheDocument(); - expect(dialog.firstChild?.lastChild).toBeInTheDocument(); + fireEvent.click(closeButton); + expect(dialog).not.toBeVisible(); +}); + +test('close Dialog by escape key', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); - fireEvent.click(dialog.firstChild?.lastChild); + const dialog = screen.getByText('Content'); + userEvent.type(dialog, '{esc}'); expect(dialog).not.toBeVisible(); }); + +test('close Dialog by clicking on the Underlay', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + + fireEvent.mouseDown(document.body); + fireEvent.mouseUp(document.body); + + expect(dialog).not.toBeVisible(); +}); + +test('supports title for accessability reasons', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toHaveAttribute('aria-labelledby'); + + const headline = screen.getByText('Headline'); + expect(headline).toHaveAttribute('id'); + + expect(headline.id).toBe(dialog.getAttribute('aria-labelledby')); +}); + +test('supports custom title for accessability reasons', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toHaveAttribute('aria-labelledby'); + + const headline = screen.getByText('Headline'); + expect(headline).toHaveAttribute('id'); + + expect(headline.id).toBe(dialog.getAttribute('aria-labelledby')); +}); + +test('supports focus and open dialog with keyboard', () => { + render( + + + + + Headline + Content + + + + ); + + userEvent.tab(); + userEvent.keyboard('[Enter]'); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toBeVisible(); +}); + +test('dialog has base style', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toBeVisible(); + + const closeButton = dialog.firstChild?.lastChild; + + expect(closeButton).toHaveStyle(`padding: ${theme.space.small}`); + expect(dialog).toHaveStyle(`padding: ${theme.space.large}`); +}); + +test('dialog has variant style', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toBeVisible(); + + const closeButton = dialog.firstChild?.lastChild; + + expect(closeButton).toHaveStyle('background-color: black'); + expect(dialog).toHaveStyle('background-color: green'); +}); + +test('dialog supports size', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).toBeVisible(); + expect(dialog).toHaveStyle('width: 400px'); +}); From 59bbe39cd6c3691064d37230c8a3af69a1166174 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Thu, 5 May 2022 12:52:00 +0200 Subject: [PATCH 18/26] delete old dialog --- .../src/Dialog-old/Dialog.stories.tsx | 88 ---------- .../components/src/Dialog-old/Dialog.test.tsx | 159 ------------------ packages/components/src/Dialog-old/Dialog.tsx | 133 --------------- .../components/src/Dialog-old/ModalDialog.tsx | 78 --------- packages/components/src/Dialog-old/index.ts | 1 - 5 files changed, 459 deletions(-) delete mode 100644 packages/components/src/Dialog-old/Dialog.stories.tsx delete mode 100644 packages/components/src/Dialog-old/Dialog.test.tsx delete mode 100755 packages/components/src/Dialog-old/Dialog.tsx delete mode 100644 packages/components/src/Dialog-old/ModalDialog.tsx delete mode 100644 packages/components/src/Dialog-old/index.ts diff --git a/packages/components/src/Dialog-old/Dialog.stories.tsx b/packages/components/src/Dialog-old/Dialog.stories.tsx deleted file mode 100644 index 6646d69bd3..0000000000 --- a/packages/components/src/Dialog-old/Dialog.stories.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import React from 'react'; -import type { Meta, ComponentStory } from '@storybook/react'; -import { Dialog, useDialogButtonProps } from './Dialog'; -import { Button } from '../Button'; -import { Text } from '../Text'; - -export default { - title: 'Components/Dialog', - parameters: { - actions: { - handles: ['click'], - }, - }, - argTypes: { - isOpen: { - control: { - type: 'boolean', - }, - description: 'handled by state from useDialogButtonProps', - options: [true, false], - table: { - defaultValue: { - summary: false, - }, - }, - }, - title: { - control: { - type: 'text', - }, - description: 'set dialog title', - }, - close: { - control: { - type: 'text', - }, - description: 'handled by state from useDialogButtonProps', - }, - variant: { - control: { - type: 'text', - }, - description: 'Dialog variant', - table: { - defaultValue: { - summary: '__default', - }, - }, - }, - backdropVariant: { - control: { - type: 'text', - }, - description: 'Dialog backdrop variant', - table: { - defaultValue: { - summary: 'backdrop', - }, - }, - }, - }, -} as Meta; - -export const Basic: ComponentStory = args => { - const { state, openButtonProps, openButtonRef } = useDialogButtonProps(); - return ( - <> - - {state.isOpen && ( - - Dialog content - - )} - - ); -}; diff --git a/packages/components/src/Dialog-old/Dialog.test.tsx b/packages/components/src/Dialog-old/Dialog.test.tsx deleted file mode 100644 index a03dc3e774..0000000000 --- a/packages/components/src/Dialog-old/Dialog.test.tsx +++ /dev/null @@ -1,159 +0,0 @@ -/* eslint-disable testing-library/no-node-access */ -import React from 'react'; -import { fireEvent, render, screen } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; - -import { ThemeProvider } from '@marigold/system'; - -import { Dialog, useDialogButtonProps } from './Dialog'; -import { Button } from '../Button'; - -const theme = { - space: { - none: 0, - xxsmall: 1, - xsmall: 2, - small: 4, - medium: 8, - large: 16, - }, - dialog: { - __default: { - p: 'small', - }, - default: { - p: 'medium', - }, - backdrop: { - p: 'none', - }, - }, -}; - -type DialogComponentProps = { - title?: string; - variant?: string; - backdropVariant?: string; -}; - -const DialogComponent: React.FC = ({ - variant, - backdropVariant, -}) => { - const { state, openButtonProps, openButtonRef } = useDialogButtonProps(); - return ( - <> - - {state.isOpen && ( - - Content - - )} - - ); -}; - -test('dialog can be opened by button', () => { - render(); - const button = screen.getByText(/Open/); - fireEvent.click(button); - const dialog = screen.getByText(/Content/); - expect(dialog).toBeDefined(); -}); - -test('supports default variants', () => { - render( - - - - ); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByRole(/dialog/); - expect(dialog).toHaveStyle(`padding: 4px`); - expect(dialog.parentElement).toHaveStyle(`padding: 0px`); -}); - -test('supports other variants than default', () => { - render( - - - - ); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByRole(/dialog/); - expect(dialog).toHaveStyle(`padding: 8px`); - expect(dialog.parentElement).toHaveStyle(`padding: 8px`); -}); - -test('dialog has correct baseCSS styles', async () => { - render( - - - - ); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByRole(/dialog/); - expect(dialog.firstChild).toHaveStyle(`display: flex`); - expect(dialog.firstChild?.lastChild).toHaveStyle(`alignItems: start`); - - // ModalDialog baseCSS - expect(dialog.parentElement).toHaveStyle(`display: grid`); -}); - -test('dialog has correct baseCSS styles with theme index', async () => { - render( - - - - ); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByRole(/dialog/); - expect(dialog.firstChild).toHaveStyle(`paddingLeft: 16`); - expect(dialog.firstChild?.lastChild).toHaveStyle(`paddingTop: 2`); - - // find all buttons to get the close and not the open button - const onCloseButton = await screen.findAllByRole('button'); - expect(onCloseButton[1]).toHaveStyle(`paddingLeft: 1`); -}); - -test('close Dialog by escape key', () => { - render(); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByText(/Content/); - userEvent.type(dialog, '{esc}'); - expect(dialog).not.toBeVisible(); -}); - -test('close Dialog by close button', async () => { - render(); - const button = screen.getByText(/Open/); - fireEvent.click(button); - - const dialog = screen.getByRole(/dialog/); - expect(dialog).toBeVisible(); - - // find all buttons to get the close and not the open button - const onCloseButton = await screen.findAllByRole('button'); - expect(onCloseButton[1]).toBeVisible(); - fireEvent.click(onCloseButton[1]); - - expect(dialog).not.toBeVisible(); -}); diff --git a/packages/components/src/Dialog-old/Dialog.tsx b/packages/components/src/Dialog-old/Dialog.tsx deleted file mode 100755 index 36b4fb8cd4..0000000000 --- a/packages/components/src/Dialog-old/Dialog.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import React, { RefObject } from 'react'; -import { ThemeExtension } from '@marigold/system'; -import { ComponentProps } from '@marigold/types'; -import { useOverlayTriggerState } from '@react-stately/overlays'; -import { OverlayContainer } from '@react-aria/overlays'; -import { useButton } from '@react-aria/button'; -import { Close } from '@marigold/icons'; - -import { Box } from '../Box'; -import { Button } from '../Button'; -import { Headline } from '../Headline'; - -import { ModalDialog, ModalDialogProps } from './ModalDialog'; - -// Theme Extension -// --------------- -export interface DialogThemeExtension extends ThemeExtension<'Dialog'> {} - -// Props -// --------------- -export interface DialogProps extends ModalDialogProps, ComponentProps<'div'> { - backdropVariant?: string; - close: ComponentProps['onClick']; - isOpen: boolean; - title?: string; - variant?: string; - size?: string; - role?: 'dialog' | 'alertdialog'; -} - -// Component -// --------------- -export const Dialog = ({ - backdropVariant, - children, - className, - close, - isOpen, - title, - variant, - size, - ...props -}: DialogProps) => { - const closeButtonRef = React.useRef() as RefObject; - - // useButton ensures that focus management is handled correctly, - // across all browsers. Focus is restored to the button once the - // dialog closes. - const { buttonProps: closeButtonProps } = useButton( - { - onPress: () => close(), - }, - closeButtonRef - ); - - return ( - - - - - {title && {title}} - {children} - - - - - - - - - - ); -}; - -// get the overlayTriggerState and openButton props for using the dialog component -export const useDialogButtonProps = () => { - const state = useOverlayTriggerState({}); - const openButtonRef = React.useRef() as RefObject; - const { buttonProps: openButtonProps } = useButton( - { - onPress: () => state.open(), - }, - openButtonRef - ); - - return { - state, - openButtonProps, - openButtonRef, - }; -}; diff --git a/packages/components/src/Dialog-old/ModalDialog.tsx b/packages/components/src/Dialog-old/ModalDialog.tsx deleted file mode 100644 index 1851e39c42..0000000000 --- a/packages/components/src/Dialog-old/ModalDialog.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import React, { RefObject } from 'react'; -import { - useOverlay, - usePreventScroll, - useModal, - OverlayProps, -} from '@react-aria/overlays'; -import { useDialog } from '@react-aria/dialog'; -import { FocusScope } from '@react-aria/focus'; -import type { AriaDialogProps } from '@react-types/dialog'; - -import { Box } from '../Box'; - -// Props -// --------------- -export interface ModalDialogProps extends OverlayProps, AriaDialogProps { - variant?: string; - size?: string; - backdropVariant?: string; - children?: React.ReactNode; -} - -// Component -// --------------- -export const ModalDialog = ({ - variant, - size, - backdropVariant = 'backdrop', - children, - ...props -}: ModalDialogProps) => { - const { isDismissable, isOpen, onClose, ...restProps } = props; - - // Handle interacting outside the dialog and pressing - // the Escape key to close the modal. - const ref = React.useRef() as RefObject; - const { overlayProps, underlayProps } = useOverlay( - { isDismissable, isOpen, onClose }, - ref - ); - - // Prevent scrolling while the modal is open, and hide content - // outside the modal from screen readers. - usePreventScroll(); - - const { modalProps } = useModal(); - const { dialogProps } = useDialog(props, ref); - - return ( - - - - {children} - - - - ); -}; diff --git a/packages/components/src/Dialog-old/index.ts b/packages/components/src/Dialog-old/index.ts deleted file mode 100644 index a5d3159726..0000000000 --- a/packages/components/src/Dialog-old/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Dialog'; From c53d80aca0d62235a3b66b95160833c103543f41 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Thu, 5 May 2022 14:59:42 +0200 Subject: [PATCH 19/26] fix a test --- packages/components/src/Dialog/Dialog.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index b0309410fa..5340105fd6 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -81,7 +81,7 @@ test('supports close Button', () => { const dialog = screen.getByText('Content'); expect(dialog).toBeVisible(); - const closeButton = dialog.firstChild?.lastChild; + const closeButton = dialog.firstChild?.lastChild!; expect(closeButton).toBeInTheDocument(); fireEvent.click(closeButton); From 19808eb172ded0957693ac489785b52853c73119 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Thu, 5 May 2022 15:33:01 +0200 Subject: [PATCH 20/26] tests --- packages/components/src/Dialog/Dialog.test.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index 5340105fd6..44de9d69c9 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -179,6 +179,23 @@ test('supports custom title for accessability reasons', () => { expect(headline.id).toBe(dialog.getAttribute('aria-labelledby')); }); +test('can not find a title for accessability reasons', () => { + render( + + + + Content + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + expect(dialog).not.toHaveAttribute('aria-labelledby'); + expect(dialog.firstChild).not.toHaveAttribute('id'); +}); + test('supports focus and open dialog with keyboard', () => { render( From 75011c9b4425daeddf508694553e61bcb2deac33 Mon Sep 17 00:00:00 2001 From: sarahgm Date: Thu, 5 May 2022 16:10:23 +0200 Subject: [PATCH 21/26] trying test --- .../components/src/Dialog/Dialog.test.tsx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index 44de9d69c9..9bb35b1395 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -46,6 +46,27 @@ const theme = { }, }; +test('renders correctly children', () => { + render( + + + + + Headline + Content + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + const dialog = screen.getByText('Content'); + + expect(button instanceof HTMLButtonElement).toBeTruthy(); + expect(dialog instanceof HTMLDivElement).toBeTruthy(); + console.log(dialog.lastChild); +}); + test('dialog can be opened by button', () => { render( From 2acbee121c8bdb79399eca97ead7d3efc10b6491 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Thu, 5 May 2022 16:22:15 +0200 Subject: [PATCH 22/26] add titleprops to function story --- packages/components/src/Dialog/Dialog.stories.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.stories.tsx b/packages/components/src/Dialog/Dialog.stories.tsx index c3d2d01230..a186a181bd 100644 --- a/packages/components/src/Dialog/Dialog.stories.tsx +++ b/packages/components/src/Dialog/Dialog.stories.tsx @@ -45,9 +45,9 @@ export const Form: ComponentStory = args => { - {({ close }) => ( + {({ close, titleProps }) => ( <> - Please log into account + Please log into account From 583a2788c05849448ee4eb00a924098049e58441 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Fri, 6 May 2022 09:29:22 +0200 Subject: [PATCH 23/26] adjust some tests --- .../components/src/Dialog/Dialog.test.tsx | 107 +++++++++++++----- packages/components/src/Dialog/Dialog.tsx | 8 +- 2 files changed, 81 insertions(+), 34 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index 9bb35b1395..017ff2c17f 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -1,4 +1,3 @@ -/* eslint-disable testing-library/no-node-access */ import React from 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -10,19 +9,23 @@ import { Button } from '../Button'; import { Headline } from '../Headline'; const theme = { + colors: { + green: '#2f9e44', + black: '#212529', + }, space: { none: 'none', - small: '4px', - large: '16px', + 'small-1': '4px', + 'large-1': '16px', }, components: { Dialog: { base: { container: { - p: 'large', + p: 'large-1', }, closeButton: { - p: 'small', + p: 'small-1', }, }, variant: { @@ -46,12 +49,12 @@ const theme = { }, }; -test('renders correctly children', () => { +test('renders children correctly', () => { render( - - + + Headline Content @@ -59,20 +62,62 @@ test('renders correctly children', () => { ); const button = screen.getByText('Open'); + expect(button).toBeInTheDocument(); + fireEvent.click(button); + + const headline = screen.getByText('Headline'); + expect(headline).toBeInTheDocument(); + const dialog = screen.getByText('Content'); + expect(dialog).toBeInTheDocument(); +}); - expect(button instanceof HTMLButtonElement).toBeTruthy(); - expect(dialog instanceof HTMLDivElement).toBeTruthy(); - console.log(dialog.lastChild); +test('supports children as function', () => { + const spy = jest.fn().mockReturnValue(
I am a spy!
); + render( + + + + {spy} + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + expect(spy).toHaveBeenCalled(); +}); + +test('child function is passed an id for the dialog title (a11y)', () => { + render( + + + + + {({ titleProps }) =>
Custom Headline
} +
+
+
+ ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + const headline = screen.getByText('Custom Headline'); + + expect(dialog).toHaveAttribute( + 'aria-labelledby', + headline.getAttribute('id') + ); }); test('dialog can be opened by button', () => { render( - - + + Headline Content @@ -81,15 +126,16 @@ test('dialog can be opened by button', () => { ); const button = screen.getByText('Open'); fireEvent.click(button); + const dialog = screen.getByText('Content'); expect(dialog).toBeVisible(); }); -test('supports close Button', () => { +test('optionally renders a close button', () => { render( - + Headline Content @@ -102,6 +148,7 @@ test('supports close Button', () => { const dialog = screen.getByText('Content'); expect(dialog).toBeVisible(); + /* eslint-disable-next-line testing-library/no-node-access */ const closeButton = dialog.firstChild?.lastChild!; expect(closeButton).toBeInTheDocument(); @@ -109,11 +156,11 @@ test('supports close Button', () => { expect(dialog).not.toBeVisible(); }); -test('close Dialog by escape key', () => { +test('supoorts closing the dialog with escape key', () => { render( - + Headline Content @@ -133,7 +180,7 @@ test('close Dialog by clicking on the Underlay', () => { render( - + Headline Content @@ -156,7 +203,7 @@ test('supports title for accessability reasons', () => { render( - + Headline Content @@ -180,7 +227,7 @@ test('supports custom title for accessability reasons', () => { render( - + Headline Content @@ -200,11 +247,11 @@ test('supports custom title for accessability reasons', () => { expect(headline.id).toBe(dialog.getAttribute('aria-labelledby')); }); -test('can not find a title for accessability reasons', () => { +test('warns if no element to attach the title can be found', () => { render( - + Content @@ -221,7 +268,7 @@ test('supports focus and open dialog with keyboard', () => { render( - + Headline Content @@ -241,7 +288,7 @@ test('dialog has base style', () => { render( - + Headline Content @@ -257,15 +304,15 @@ test('dialog has base style', () => { const closeButton = dialog.firstChild?.lastChild; - expect(closeButton).toHaveStyle(`padding: ${theme.space.small}`); - expect(dialog).toHaveStyle(`padding: ${theme.space.large}`); + expect(closeButton).toHaveStyle(`padding: ${theme.space['small-1']}`); + expect(dialog).toHaveStyle(`padding: ${theme.space['large-1']}`); }); test('dialog has variant style', () => { render( - + Headline Content @@ -281,15 +328,15 @@ test('dialog has variant style', () => { const closeButton = dialog.firstChild?.lastChild; - expect(closeButton).toHaveStyle('background-color: black'); - expect(dialog).toHaveStyle('background-color: green'); + expect(closeButton).toHaveStyle(`background-color: ${theme.colors.black}`); + expect(dialog).toHaveStyle(`background-color: ${theme.colors.green}`); }); test('dialog supports size', () => { render( - + Headline Content diff --git a/packages/components/src/Dialog/Dialog.tsx b/packages/components/src/Dialog/Dialog.tsx index e86f052c85..621f3abb32 100644 --- a/packages/components/src/Dialog/Dialog.tsx +++ b/packages/components/src/Dialog/Dialog.tsx @@ -101,8 +101,8 @@ export interface DialogThemeExtension // Props // --------------- -export interface DialogChildProps - extends Pick { +export interface DialogChildProps { + close: DialogContextProps['close']; titleProps: HTMLAttributes; } @@ -123,7 +123,7 @@ export const Dialog = ({ ...props }: DialogProps) => { const ref = useRef(null); - const { close, open } = useDialogContext(); + const { close } = useDialogContext(); const { dialogProps, titleProps } = useDialog(props, ref); const styles = useComponentStyles( @@ -136,7 +136,7 @@ export const Dialog = ({ {closeButton && } {typeof children === 'function' - ? children({ close, open, titleProps }) + ? children({ close, titleProps }) : props['aria-labelledby'] ? children : addTitleProps(children, titleProps)} From 8989688cce77ff92720e3c01624cff95a896e6f1 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Fri, 6 May 2022 09:35:03 +0200 Subject: [PATCH 24/26] add test for child functions --- .../components/src/Dialog/Dialog.test.tsx | 75 +++++++++++++------ 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index 017ff2c17f..cac260c8c0 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -89,29 +89,6 @@ test('supports children as function', () => { expect(spy).toHaveBeenCalled(); }); -test('child function is passed an id for the dialog title (a11y)', () => { - render( - - - - - {({ titleProps }) =>
Custom Headline
} -
-
-
- ); - const button = screen.getByText('Open'); - fireEvent.click(button); - - const dialog = screen.getByRole('dialog'); - const headline = screen.getByText('Custom Headline'); - - expect(dialog).toHaveAttribute( - 'aria-labelledby', - headline.getAttribute('id') - ); -}); - test('dialog can be opened by button', () => { render( @@ -199,6 +176,27 @@ test('close Dialog by clicking on the Underlay', () => { expect(dialog).not.toBeVisible(); }); +test('child function is passed a close function', () => { + render( + + + + + {({ close }) => } + + + + ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + const closeButton = screen.getByText('Custom Close'); + fireEvent.click(closeButton); + + expect(dialog).not.toBeVisible(); +}); + test('supports title for accessability reasons', () => { render( @@ -247,7 +245,32 @@ test('supports custom title for accessability reasons', () => { expect(headline.id).toBe(dialog.getAttribute('aria-labelledby')); }); +test('child function is passed an id for the dialog title (a11y)', () => { + render( + + + + + {({ titleProps }) =>
Custom Headline
} +
+
+
+ ); + const button = screen.getByText('Open'); + fireEvent.click(button); + + const dialog = screen.getByRole('dialog'); + const headline = screen.getByText('Custom Headline'); + + expect(dialog).toHaveAttribute( + 'aria-labelledby', + headline.getAttribute('id') + ); +}); + test('warns if no element to attach the title can be found', () => { + const warn = jest.spyOn(console, 'warn').mockImplementation(); + render( @@ -262,6 +285,12 @@ test('warns if no element to attach the title can be found', () => { const dialog = screen.getByRole('dialog'); expect(dialog).not.toHaveAttribute('aria-labelledby'); expect(dialog.firstChild).not.toHaveAttribute('id'); + + expect(warn).toHaveBeenCalled(); + expect(warn.mock.calls[0][0]).toMatchInlineSnapshot( + `"No child in found that can act as title for accessibility. Please add a
or as direct child."` + ); + warn.mockRestore(); }); test('supports focus and open dialog with keyboard', () => { From bd1c25e2fe1b140b5098538e005b478eeb18298e Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Fri, 6 May 2022 09:38:13 +0200 Subject: [PATCH 25/26] fix linting --- packages/components/src/Dialog/Dialog.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/src/Dialog/Dialog.test.tsx b/packages/components/src/Dialog/Dialog.test.tsx index cac260c8c0..2126a747bd 100644 --- a/packages/components/src/Dialog/Dialog.test.tsx +++ b/packages/components/src/Dialog/Dialog.test.tsx @@ -1,3 +1,4 @@ +/* eslint-disable testing-library/no-node-access */ import React from 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -125,7 +126,6 @@ test('optionally renders a close button', () => { const dialog = screen.getByText('Content'); expect(dialog).toBeVisible(); - /* eslint-disable-next-line testing-library/no-node-access */ const closeButton = dialog.firstChild?.lastChild!; expect(closeButton).toBeInTheDocument(); From 60bc1b05bacb1fd58f487a64b9e4612e436f4081 Mon Sep 17 00:00:00 2001 From: Sebastian Sebald Date: Fri, 6 May 2022 09:42:50 +0200 Subject: [PATCH 26/26] Create old-apricots-burn.md --- .changeset/old-apricots-burn.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .changeset/old-apricots-burn.md diff --git a/.changeset/old-apricots-burn.md b/.changeset/old-apricots-burn.md new file mode 100644 index 0000000000..d75df8a5a1 --- /dev/null +++ b/.changeset/old-apricots-burn.md @@ -0,0 +1,9 @@ +--- +"@marigold/docs": major +"@marigold/components": major +"@marigold/theme-b2b": major +"@marigold/theme-core": major +"@marigold/theme-unicorn": major +--- + +refa: