diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png new file mode 100644 index 00000000000..31033db6d8d Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png new file mode 100644 index 00000000000..e5a778d92a2 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldPassword_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldPassword_Playground.png new file mode 100644 index 00000000000..f11c7d56bc7 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldPassword_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldSearch_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldSearch_Playground.png new file mode 100644 index 00000000000..240d08b8add Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiFieldSearch_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png new file mode 100644 index 00000000000..98fbd5c5a8c Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png new file mode 100644 index 00000000000..ac923122271 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Checked.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Checked.png new file mode 100644 index 00000000000..2d75fee6ea0 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Checked.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png new file mode 100644 index 00000000000..d02b3fb7f75 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Icon_Shape.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Icon_Shape.png new file mode 100644 index 00000000000..e3fb5d6648a Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Icon_Shape.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Playground.png new file mode 100644 index 00000000000..23f6400513b Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiTextArea_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png new file mode 100644 index 00000000000..10e8b4a72b1 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png new file mode 100644 index 00000000000..a89c6c176d5 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldPassword_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldPassword_Playground.png new file mode 100644 index 00000000000..b8de798f53f Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldPassword_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldSearch_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldSearch_Playground.png new file mode 100644 index 00000000000..899a5b6e612 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiFieldSearch_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png new file mode 100644 index 00000000000..ea3d516db0e Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png new file mode 100644 index 00000000000..277bdb86401 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Checked.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Checked.png new file mode 100644 index 00000000000..5f06b156e44 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Checked.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png new file mode 100644 index 00000000000..58edb469b6f Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Icon_Shape.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Icon_Shape.png new file mode 100644 index 00000000000..1282ed9ea0f Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Icon_Shape.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Playground.png new file mode 100644 index 00000000000..ed1a199d0c5 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiTextArea_Playground.png differ diff --git a/packages/eui/.storybook/manager.ts b/packages/eui/.storybook/manager.ts new file mode 100644 index 00000000000..7fabcc77163 --- /dev/null +++ b/packages/eui/.storybook/manager.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { addons } from '@storybook/manager-api'; + +// filter out stories based on tags that should not +// be shown in the Storybook sidebar menu +addons.setConfig({ + sidebar: { + filters: { + patterns: (item) => { + // Storybook only accepts string literals in the tags + // handling this centrally via a map doesn't work :( + return !item.tags?.includes('vrt-only'); + }, + }, + }, +}); diff --git a/packages/eui/package.json b/packages/eui/package.json index 8c6faa06f3e..36c452ab978 100644 --- a/packages/eui/package.json +++ b/packages/eui/package.json @@ -118,6 +118,7 @@ "@storybook/addon-links": "^8.0.5", "@storybook/addon-webpack5-compiler-babel": "^3.0.3", "@storybook/blocks": "^8.0.5", + "@storybook/manager-api": "^8.1.2", "@storybook/react": "^8.0.5", "@storybook/react-webpack5": "^8.0.5", "@storybook/test": "^8.0.5", diff --git a/packages/eui/src/components/form/checkbox/checkbox.stories.tsx b/packages/eui/src/components/form/checkbox/checkbox.stories.tsx new file mode 100644 index 00000000000..e05c358ee7a --- /dev/null +++ b/packages/eui/src/components/form/checkbox/checkbox.stories.tsx @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { + disableStorybookControls, + enableFunctionToggleControls, +} from '../../../../.storybook/utils'; +import { EuiCheckbox, EuiCheckboxProps, TYPES } from './checkbox'; + +const meta: Meta = { + title: 'Forms/EuiCheckbox', + component: EuiCheckbox, + argTypes: { + label: { control: 'text' }, + type: { + control: 'radio', + options: [undefined, ...TYPES], + }, + }, + args: { + checked: false, + compressed: false, + disabled: false, + indeterminate: false, + // set up for easier testing/QA + id: '', + }, +}; +enableFunctionToggleControls(meta, ['onChange']); +disableStorybookControls(meta, ['inputRef']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: { + id: 'checkbox', + label: 'Checkbox label', + }, +}; diff --git a/packages/eui/src/components/form/checkbox/checkbox_group.stories.tsx b/packages/eui/src/components/form/checkbox/checkbox_group.stories.tsx new file mode 100644 index 00000000000..41c4f4e261e --- /dev/null +++ b/packages/eui/src/components/form/checkbox/checkbox_group.stories.tsx @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { enableFunctionToggleControls } from '../../../../.storybook/utils'; +import { EuiCheckboxGroup, EuiCheckboxGroupProps } from './checkbox_group'; + +const meta: Meta = { + title: 'Forms/EuiCheckboxGroup', + component: EuiCheckboxGroup, + args: { + disabled: false, + compressed: false, + }, +}; +enableFunctionToggleControls(meta, ['onChange']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: { + options: [ + { id: 'checkbox-1', label: 'Checkbox 1' }, + { id: 'checkbox-2', label: 'Checkbox 2' }, + { id: 'checkbox-3', label: 'Checkbox 3', disabled: true }, + ], + idToSelectedMap: { + 'checkbox-2': true, + }, + // set up for easier testing/QA + legend: { + children: 'Group label', + compressed: false, + display: 'visible', + }, + }, +}; diff --git a/packages/eui/src/components/form/field_number/field_number.stories.tsx b/packages/eui/src/components/form/field_number/field_number.stories.tsx index bacd285b00c..ec4e0923513 100644 --- a/packages/eui/src/components/form/field_number/field_number.stories.tsx +++ b/packages/eui/src/components/form/field_number/field_number.stories.tsx @@ -35,6 +35,8 @@ const meta: Meta = { controlOnly: false, // Added for easier testing placeholder: '0', + id: '', + name: '', }, }; diff --git a/packages/eui/src/components/form/field_password/field_password.stories.tsx b/packages/eui/src/components/form/field_password/field_password.stories.tsx new file mode 100644 index 00000000000..e0ffabd8293 --- /dev/null +++ b/packages/eui/src/components/form/field_password/field_password.stories.tsx @@ -0,0 +1,60 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { Meta, StoryObj } from '@storybook/react'; + +import { + disableStorybookControls, + enableFunctionToggleControls, +} from '../../../../.storybook/utils'; +import { EuiIcon } from '../../icon'; +import { EuiFieldPassword, EuiFieldPasswordProps } from './field_password'; + +const meta: Meta = { + title: 'Forms/EuiFieldPassword', + component: EuiFieldPassword, + argTypes: { + append: { + control: 'radio', + options: [undefined, 'icon', 'text'], + mapping: { + icon: , + text: 'Appended', + undefined: undefined, + }, + }, + prepend: { + control: 'radio', + options: [undefined, 'icon', 'text'], + mapping: { + icon: , + text: 'Prepended', + undefined: undefined, + }, + }, + }, + args: { + type: 'password', + fullWidth: false, + isLoading: false, + compressed: false, + // set up for easier testing/QA + isInvalid: false, + placeholder: '', + id: '', + name: '', + }, +}; +enableFunctionToggleControls(meta, ['onChange']); +disableStorybookControls(meta, ['inputRef']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = {}; diff --git a/packages/eui/src/components/form/field_search/field_search.stories.tsx b/packages/eui/src/components/form/field_search/field_search.stories.tsx new file mode 100644 index 00000000000..40f95f854ba --- /dev/null +++ b/packages/eui/src/components/form/field_search/field_search.stories.tsx @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import type { Meta, StoryObj } from '@storybook/react'; + +import { + disableStorybookControls, + enableFunctionToggleControls, +} from '../../../../.storybook/utils'; +import { EuiIcon } from '../../icon'; +import { EuiFieldSearch, EuiFieldSearchProps } from './field_search'; + +const meta: Meta = { + title: 'Forms/EuiFieldSearch', + component: EuiFieldSearch, + argTypes: { + append: { + control: 'radio', + options: [undefined, 'icon', 'text'], + mapping: { + icon: , + text: 'Appended', + undefined: undefined, + }, + }, + prepend: { + control: 'radio', + options: [undefined, 'icon', 'text'], + mapping: { + icon: , + text: 'Prepended', + undefined: undefined, + }, + }, + }, + args: { + isLoading: false, + incremental: false, + compressed: false, + isClearable: true, + // set up for easier testing/QA + fullWidth: false, + isInvalid: false, + id: '', + name: '', + placeholder: '', + }, +}; +// adding onChange for visibility +enableFunctionToggleControls(meta, ['onSearch', 'onChange']); +disableStorybookControls(meta, ['inputRef']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: {}, +}; diff --git a/packages/eui/src/components/form/field_text/field_text.stories.tsx b/packages/eui/src/components/form/field_text/field_text.stories.tsx index 9c863829066..45d0f608569 100644 --- a/packages/eui/src/components/form/field_text/field_text.stories.tsx +++ b/packages/eui/src/components/form/field_text/field_text.stories.tsx @@ -22,6 +22,7 @@ const meta: Meta = { icon: { control: 'text' }, prepend: { control: 'text' }, append: { control: 'text' }, + value: { control: 'text' }, }, args: { // Component defaults @@ -34,6 +35,8 @@ const meta: Meta = { controlOnly: false, // Added for easier testing placeholder: 'EuiFieldText', + id: '', + name: '', }, }; diff --git a/packages/eui/src/components/form/radio/radio.stories.tsx b/packages/eui/src/components/form/radio/radio.stories.tsx new file mode 100644 index 00000000000..870d7a47731 --- /dev/null +++ b/packages/eui/src/components/form/radio/radio.stories.tsx @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { enableFunctionToggleControls } from '../../../../.storybook/utils'; +import { EuiRadio, EuiRadioProps } from './radio'; + +const meta: Meta = { + title: 'Forms/EuiRadio', + component: EuiRadio, + argTypes: { + label: { control: 'text' }, + }, + args: { + checked: false, + compressed: false, + disabled: false, + // set up for easier testing/QA + id: '', + name: '', + }, +}; +enableFunctionToggleControls(meta, ['onChange']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: { + id: 'radio', + label: 'Radio label', + value: 'radio-1', + }, +}; diff --git a/packages/eui/src/components/form/radio/radio_group.stories.tsx b/packages/eui/src/components/form/radio/radio_group.stories.tsx new file mode 100644 index 00000000000..f7b1acd9a27 --- /dev/null +++ b/packages/eui/src/components/form/radio/radio_group.stories.tsx @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { enableFunctionToggleControls } from '../../../../.storybook/utils'; +import { EuiRadioGroup, EuiRadioGroupProps } from './radio_group'; + +const meta: Meta = { + title: 'Forms/EuiRadioGroup', + component: EuiRadioGroup, + args: { + compressed: false, + disabled: false, + }, +}; +enableFunctionToggleControls(meta, ['onChange']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: { + options: [ + { id: 'radio-1', label: 'Radio 1', value: 'radio-1' }, + { id: 'radio-2', label: 'Radio 2', value: 'radio-2' }, + { id: 'radio-3', label: 'Radio 3', value: 'radio-3', disabled: true }, + ], + idSelected: 'radio-2', + name: 'radio-group', + // set up for easier testing/QA + legend: { + children: 'Group label', + compressed: false, + display: 'visible', + }, + }, +}; diff --git a/packages/eui/src/components/form/switch/switch.stories.tsx b/packages/eui/src/components/form/switch/switch.stories.tsx new file mode 100644 index 00000000000..96e316deab9 --- /dev/null +++ b/packages/eui/src/components/form/switch/switch.stories.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { enableFunctionToggleControls } from '../../../../.storybook/utils'; +import { EuiSwitch, EuiSwitchProps } from './switch'; + +const meta: Meta = { + title: 'Forms/EuiSwitch', + component: EuiSwitch, + argTypes: { + label: { control: 'text' }, + }, + args: { + showLabel: true, + type: 'button', + // set up for easier testing/QA + compressed: false, + disabled: false, + }, +}; +enableFunctionToggleControls(meta, ['onChange']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + args: { + checked: false, + label: 'Switch label', + }, +}; + +// adding a specific story for VRT only as the component is controlled +// it's excluded from the sidebar via the added tag (filtering is set up in the manager.ts file) +export const Checked: Story = { + tags: ['vrt-only'], + parameters: { + controls: { + include: ['checked'], + }, + }, + args: { + checked: true, + label: 'Switch label', + }, +}; diff --git a/packages/eui/src/components/form/switch/switch.tsx b/packages/eui/src/components/form/switch/switch.tsx index 27a0a54303f..1277e58372c 100644 --- a/packages/eui/src/components/form/switch/switch.tsx +++ b/packages/eui/src/components/form/switch/switch.tsx @@ -29,12 +29,9 @@ export type EuiSwitchEvent = React.BaseSyntheticEvent< >; export type EuiSwitchProps = CommonProps & - Omit< - ButtonHTMLAttributes, - 'onChange' | 'type' | 'disabled' - > & { + Omit, 'onChange' | 'disabled'> & { /** - * Whether to render the render the text label + * Whether to render the text label */ showLabel?: boolean; /** @@ -45,9 +42,8 @@ export type EuiSwitchProps = CommonProps & onChange: (event: EuiSwitchEvent) => void; disabled?: boolean; compressed?: boolean; - type?: 'submit' | 'reset' | 'button'; /** - * Object of props passed to the label's + * Object of props passed to the label's `` */ labelProps?: CommonProps & HTMLAttributes; }; diff --git a/packages/eui/src/components/form/text_area/text_area.stories.tsx b/packages/eui/src/components/form/text_area/text_area.stories.tsx new file mode 100644 index 00000000000..be3ea1550e0 --- /dev/null +++ b/packages/eui/src/components/form/text_area/text_area.stories.tsx @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Meta, StoryObj } from '@storybook/react'; + +import { + disableStorybookControls, + enableFunctionToggleControls, +} from '../../../../.storybook/utils'; +import { EuiTextArea, EuiTextAreaProps } from './text_area'; + +const meta: Meta = { + title: 'Forms/EuiTextArea', + component: EuiTextArea, + args: { + fullWidth: false, + resize: 'vertical', + // set up for easier testing/QA + isLoading: false, + isInvalid: false, + isClearable: false, + compressed: false, + icon: '', + id: '', + name: '', + placeholder: '', + }, +}; +// adding onChange for visibility +enableFunctionToggleControls(meta, ['onChange']); +disableStorybookControls(meta, ['inputRef']); + +export default meta; +type Story = StoryObj; + +export const Playground: Story = {}; + +export const IconShape: Story = { + parameters: { + controls: { + include: ['icon'], + }, + }, + args: { + icon: { + type: 'faceHappy', + side: 'right', + color: 'success', + }, + }, +}; diff --git a/yarn.lock b/yarn.lock index 4ec6a5f46c9..d6e3ffa1dae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4125,6 +4125,17 @@ telejson "^7.2.0" tiny-invariant "^1.3.1" +"@storybook/channels@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-8.1.2.tgz#f166393214be061f074ab88b3d240d67b21d7b8c" + integrity sha512-ChWKPCDZ4VVBpulJsZ+RQiPi4NVm6tb0FJwjEcMskxl4Nx2x4+rxLrZHrsZHWXsH5uJctSEjmmvEn1QdjVKMPQ== + dependencies: + "@storybook/client-logger" "8.1.2" + "@storybook/core-events" "8.1.2" + "@storybook/global" "^5.0.0" + telejson "^7.2.0" + tiny-invariant "^1.3.1" + "@storybook/cli@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-8.0.6.tgz#c9b789474be5b51182dc78e30ca06f7b7961b49d" @@ -4174,6 +4185,13 @@ dependencies: "@storybook/global" "^5.0.0" +"@storybook/client-logger@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-8.1.2.tgz#32bca1651892b18edd627d2835f44b50bee0d19c" + integrity sha512-2kiXh0CE2IJpV++r0sGknMVMjAiT/tQe16FlGHOh52XppUz7slQVy/W/nPhVKvcbdThSQd0kYFR9r3XmAT1LSQ== + dependencies: + "@storybook/global" "^5.0.0" + "@storybook/codemod@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-8.0.6.tgz#c6a1f40697a8409b01481042d41b8709f74aa85c" @@ -4251,6 +4269,14 @@ dependencies: ts-dedent "^2.0.0" +"@storybook/core-events@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-8.1.2.tgz#60830a530bc63fe40012a6934ea18658067f3f56" + integrity sha512-GKsvo/eeEQYDEhAw5YkUIZHYNurAJjzW3+uzThUuC1r0CGcfE+twJVfQXynAyOgL6hFdqy7879/3augf3v3cJQ== + dependencies: + "@storybook/csf" "^0.1.7" + ts-dedent "^2.0.0" + "@storybook/core-server@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-8.0.6.tgz#e51fb7103448e18349e10289f7eb46ae4dfd60dd" @@ -4348,6 +4374,13 @@ dependencies: type-fest "^2.19.0" +"@storybook/csf@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.7.tgz#dcc6c16a353bc09c8c619ba1a23ba93b2aab0b9d" + integrity sha512-53JeLZBibjQxi0Ep+/AJTfxlofJlxy1jXcSKENlnKxHjWEYyHQCumMP5yTFjf7vhNnMjEpV3zx6t23ssFiGRyw== + dependencies: + type-fest "^2.19.0" + "@storybook/docs-mdx@3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-3.0.0.tgz#5c9b5ce35dcb00ad8aa5dddbabf52ad09fab3974" @@ -4410,6 +4443,27 @@ telejson "^7.2.0" ts-dedent "^2.0.0" +"@storybook/manager-api@^8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.1.2.tgz#f090cf9d371ee2b3592fc7090d5ccf998e973e1f" + integrity sha512-6Ge7EEx94YJm3HcfjkDfRPMnr5qVdF2RzhvyflJapBxMV0X44mkGPUWyzft3cf+vUCQlXXrmtBeZauB6JTJuiA== + dependencies: + "@storybook/channels" "8.1.2" + "@storybook/client-logger" "8.1.2" + "@storybook/core-events" "8.1.2" + "@storybook/csf" "^0.1.7" + "@storybook/global" "^5.0.0" + "@storybook/icons" "^1.2.5" + "@storybook/router" "8.1.2" + "@storybook/theming" "8.1.2" + "@storybook/types" "8.1.2" + dequal "^2.0.2" + lodash "^4.17.21" + memoizerific "^1.11.3" + store2 "^2.14.2" + telejson "^7.2.0" + ts-dedent "^2.0.0" + "@storybook/manager@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-8.0.6.tgz#c2ab7077c6f77eaf7928b7dcd3335127eacd2997" @@ -4530,6 +4584,15 @@ memoizerific "^1.11.3" qs "^6.10.0" +"@storybook/router@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-8.1.2.tgz#875ec8d61c2cd427844578d256bc3d2141230818" + integrity sha512-Lu05lDqoIinda1z43Danxhaq9t8k5jSKHJZXEIDsiLPUkGQCW3syzSE03c7qzOAbN/gmd/cu9MkmvGW+HBnWSA== + dependencies: + "@storybook/client-logger" "8.1.2" + memoizerific "^1.11.3" + qs "^6.10.0" + "@storybook/telemetry@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-8.0.6.tgz#5a7cf64fb7fb6f3fc3ca2e9a871e383782415095" @@ -4571,6 +4634,16 @@ "@storybook/global" "^5.0.0" memoizerific "^1.11.3" +"@storybook/theming@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.1.2.tgz#fa7ddc2eee788d8916f982ce46af2d42b47b1042" + integrity sha512-4ayCoSluaReGfj+wDa/KKwX5mEReVsjDhQ3nCusKsPQJK5zgT4Vt4CZekU7IK0cYmRPF4nMgVH3m3jmMD4x4ng== + dependencies: + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@storybook/client-logger" "8.1.2" + "@storybook/global" "^5.0.0" + memoizerific "^1.11.3" + "@storybook/types@8.0.6": version "8.0.6" resolved "https://registry.yarnpkg.com/@storybook/types/-/types-8.0.6.tgz#5dd9c6ec89f79a4f1b318be9560ae81b405f7733" @@ -4580,6 +4653,15 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" +"@storybook/types@8.1.2": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-8.1.2.tgz#7924596d4dfc6c2c156c52af0906856da0a278fd" + integrity sha512-8P3rB/6UxHlui0/Gdh2/qQvyLy6efJxVUt0g7iANQorqdYMxRNS/OtxNjI8rxFB3sIvl4owG7iYh3j2RCCEqaQ== + dependencies: + "@storybook/channels" "8.1.2" + "@types/express" "^4.7.0" + file-system-cache "2.3.0" + "@svgr/babel-plugin-add-jsx-attribute@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" @@ -5355,9 +5437,9 @@ "@types/react" "*" "@types/react@*", "@types/react@>=16.9.0", "@types/react@^16", "@types/react@^16.8.0 || ^17.0.0 || ^18.0.0", "@types/react@^18", "@types/react@^18.2.14": - version "18.3.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.1.tgz#fed43985caa834a2084d002e4771e15dfcbdbe8e" - integrity sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw== + version "18.3.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.2.tgz#462ae4904973bc212fa910424d901e3d137dbfcd" + integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -21109,7 +21191,7 @@ string-template@~0.2.1: resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -21136,15 +21218,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -21298,7 +21371,7 @@ stringify-entities@^3.0.1: is-decimal "^1.0.2" is-hexadecimal "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -21326,13 +21399,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" @@ -23557,7 +23623,7 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -23592,15 +23658,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.0.1.tgz#2101e861777fec527d0ea90c57c6b03aac56a5b3"