From 67c406c532cd354f6be0bd07aebcea09a0db4f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 19 Dec 2024 13:27:39 +0500 Subject: [PATCH 01/32] refactor: replaced 'medium' (size) with 'normal' --- src/common/interfaces/common.ts | 2 +- src/stories/components/Button/Button.stories.ts | 2 +- src/stories/components/Button/Button.vue | 2 +- src/stories/components/MenuDial/MenuDial.stories.ts | 4 ++-- src/stories/components/MenuDial/MenuDial.vue | 2 +- src/stories/components/SelectButton/SelectButton.stories.ts | 2 +- src/stories/components/SelectButton/SelectButton.vue | 2 +- src/stories/components/Slider/Slider.stories.ts | 4 ++-- src/stories/components/Slider/Slider.vue | 2 +- src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts | 2 +- src/stories/components/ToggleSwitch/ToggleSwitch.vue | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/common/interfaces/common.ts b/src/common/interfaces/common.ts index 6a854a8..162338a 100644 --- a/src/common/interfaces/common.ts +++ b/src/common/interfaces/common.ts @@ -25,7 +25,7 @@ export type TDarkness = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; export type TThemeColorNoWhite = Exclude<TThemeColor, 'white'>; -export type TSize = 'small' | 'medium' | 'large' | 'huge'; +export type TSize = 'small' | 'normal' | 'large' | 'huge'; export type TTextStyle = 'bold' | 'italic'; diff --git a/src/stories/components/Button/Button.stories.ts b/src/stories/components/Button/Button.stories.ts index 337bc5b..1adc7dc 100644 --- a/src/stories/components/Button/Button.stories.ts +++ b/src/stories/components/Button/Button.stories.ts @@ -15,7 +15,7 @@ const meta: Meta = { }, argTypes: { label: { control: 'text' }, - size: { control: 'select', options: ['small', 'medium', 'large', 'huge'] }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, textStyle: { control: 'select', options: ['bold', 'italic'] }, iconPos: { control: 'select', options: ['left', 'top', 'right', 'bottom'] }, width: { control: 'text' }, diff --git a/src/stories/components/Button/Button.vue b/src/stories/components/Button/Button.vue index 45df8f5..18a88d5 100644 --- a/src/stories/components/Button/Button.vue +++ b/src/stories/components/Button/Button.vue @@ -4,7 +4,7 @@ import type { IButtonProps } from '@interfaces/componentsProps'; import { convertThemeToColor } from '@helpers/common'; const props = withDefaults(defineProps<IButtonProps>(), { - size: 'medium', + size: 'normal', theme: 'white', textColor: 'black', iconPos: 'left', diff --git a/src/stories/components/MenuDial/MenuDial.stories.ts b/src/stories/components/MenuDial/MenuDial.stories.ts index 1fb7c18..8530306 100644 --- a/src/stories/components/MenuDial/MenuDial.stories.ts +++ b/src/stories/components/MenuDial/MenuDial.stories.ts @@ -15,7 +15,7 @@ const meta: Meta = { }, argTypes: { items: { control: 'object' }, - size: { control: 'select', options: ['small', 'medium', 'large', 'huge'] }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, direction: { control: 'select', options: ['up', 'down', 'left', 'right'] }, darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, theme: { @@ -125,6 +125,6 @@ export const Huge: Story = { theme: 'red', darknessTheme: 700, direction: 'right', - size: 'medium', + size: 'normal', }, }; diff --git a/src/stories/components/MenuDial/MenuDial.vue b/src/stories/components/MenuDial/MenuDial.vue index 933d5f1..287b4b3 100644 --- a/src/stories/components/MenuDial/MenuDial.vue +++ b/src/stories/components/MenuDial/MenuDial.vue @@ -8,7 +8,7 @@ import { convertWhiteOrBlackToColor } from '@helpers/colors'; const props = withDefaults(defineProps<IMDProps>(), { theme: 'white', darknessTheme: 500, - size: 'medium', + size: 'normal', direction: 'right', }); const active = defineModel('active'); diff --git a/src/stories/components/SelectButton/SelectButton.stories.ts b/src/stories/components/SelectButton/SelectButton.stories.ts index 03c49b6..196bfc6 100644 --- a/src/stories/components/SelectButton/SelectButton.stories.ts +++ b/src/stories/components/SelectButton/SelectButton.stories.ts @@ -17,7 +17,7 @@ const meta: Meta = { options: { control: 'object', }, - size: { control: 'select', options: ['small', 'medium', 'large', 'huge'] }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, rounded: { control: 'boolean' }, darknessActiveBackgroundColor: { control: 'select', diff --git a/src/stories/components/SelectButton/SelectButton.vue b/src/stories/components/SelectButton/SelectButton.vue index 43ba74b..31e8bb7 100644 --- a/src/stories/components/SelectButton/SelectButton.vue +++ b/src/stories/components/SelectButton/SelectButton.vue @@ -4,7 +4,7 @@ import type { ISBProps } from '@interfaces/componentsProps'; import { convertThemeToColor } from '@helpers/common'; const props = withDefaults(defineProps<ISBProps>(), { - size: 'medium', + size: 'normal', activeBackgroundColor: 'sky', darknessActiveBackgroundColor: 500, darknessBorder: 500, diff --git a/src/stories/components/Slider/Slider.stories.ts b/src/stories/components/Slider/Slider.stories.ts index 98211f2..65ae2e0 100644 --- a/src/stories/components/Slider/Slider.stories.ts +++ b/src/stories/components/Slider/Slider.stories.ts @@ -19,7 +19,7 @@ const meta: Meta = { min: { control: 'text' }, max: { control: 'text' }, step: { control: 'text' }, - size: { control: 'select', options: ['small', 'medium', 'large', 'huge'] }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, orientation: { control: 'select', options: ['horizontal', 'vertical'] }, isSmooth: { control: 'boolean' }, darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, @@ -156,7 +156,7 @@ export const Smooth: Story = { max: '1000', isSmooth: true, width: '300', - size: 'medium', + size: 'normal', backgroundColor: 'blue', theme: 'black', }, diff --git a/src/stories/components/Slider/Slider.vue b/src/stories/components/Slider/Slider.vue index 5d57dc4..ab11e8b 100644 --- a/src/stories/components/Slider/Slider.vue +++ b/src/stories/components/Slider/Slider.vue @@ -5,7 +5,7 @@ import { convertThemeToColor } from '@helpers/common'; const props = withDefaults(defineProps<ISliderProps>(), { width: '100', - size: 'medium', + size: 'normal', theme: 'sky', backgroundColor: 'black', darknessTheme: 500, diff --git a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts index 0fe5c11..2a1652b 100644 --- a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts +++ b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts @@ -15,7 +15,7 @@ const meta: Meta = { }, argTypes: { active: { control: 'boolean' }, - size: { control: 'select', options: ['small', 'medium', 'large', 'huge'] }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, negativeTheme: { control: 'select', options: [ diff --git a/src/stories/components/ToggleSwitch/ToggleSwitch.vue b/src/stories/components/ToggleSwitch/ToggleSwitch.vue index 7be5d7a..b0a0ad8 100644 --- a/src/stories/components/ToggleSwitch/ToggleSwitch.vue +++ b/src/stories/components/ToggleSwitch/ToggleSwitch.vue @@ -4,7 +4,7 @@ import type { ITSProps } from '@interfaces/componentsProps'; import { convertThemeToColor } from '@helpers/common'; const props = withDefaults(defineProps<ITSProps>(), { - size: 'medium', + size: 'normal', theme: 'sky', negativeTheme: 'black', darknessTheme: 500, -- GitLab From 07695a3bc532ab3866bb17ee1ee0712a702d4334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 19 Dec 2024 13:54:58 +0500 Subject: [PATCH 02/32] fix: problems in 'Button' and 'SelectButton' --- src/common/interfaces/componentsProps.ts | 2 ++ src/stories/components/Button/Button.vue | 6 +++--- .../SelectButton/SelectButton.stories.ts | 21 +++++++++++++++++++ .../components/SelectButton/SelectButton.vue | 13 +++++++++--- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index c80425a..75c672d 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -95,8 +95,10 @@ export interface ISBProps { options: ISBOption[]; size?: TSize; rounded?: boolean; + theme?: TThemeColor; activeBackgroundColor?: TThemeColor; border?: TThemeColor; + darknessTheme?: TDarkness; darknessActiveBackgroundColor?: TDarkness; darknessBorder?: TDarkness; disabled?: boolean; diff --git a/src/stories/components/Button/Button.vue b/src/stories/components/Button/Button.vue index 18a88d5..c1057fd 100644 --- a/src/stories/components/Button/Button.vue +++ b/src/stories/components/Button/Button.vue @@ -92,11 +92,12 @@ const width = computed(() => (props.width ? `${props.width}px` : 'max-content')) justify-content: center; align-items: center; user-select: none; + transition: filter 0.2s ease-in-out; } -.button:hover .background { +.button:hover { filter: brightness(90%); } -.button:active .background { +.button:active { filter: brightness(75%); } .background { @@ -106,7 +107,6 @@ const width = computed(() => (props.width ? `${props.width}px` : 'max-content')) top: 0; left: 0; border-radius: 5px; - transition: filter 0.2s ease-in-out; } .text { position: relative; diff --git a/src/stories/components/SelectButton/SelectButton.stories.ts b/src/stories/components/SelectButton/SelectButton.stories.ts index 196bfc6..1187959 100644 --- a/src/stories/components/SelectButton/SelectButton.stories.ts +++ b/src/stories/components/SelectButton/SelectButton.stories.ts @@ -27,6 +27,27 @@ const meta: Meta = { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900], }, + darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + theme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, activeBackgroundColor: { control: 'select', options: [ diff --git a/src/stories/components/SelectButton/SelectButton.vue b/src/stories/components/SelectButton/SelectButton.vue index 31e8bb7..a067929 100644 --- a/src/stories/components/SelectButton/SelectButton.vue +++ b/src/stories/components/SelectButton/SelectButton.vue @@ -5,13 +5,21 @@ import { convertThemeToColor } from '@helpers/common'; const props = withDefaults(defineProps<ISBProps>(), { size: 'normal', + theme: 'white', activeBackgroundColor: 'sky', + darknessTheme: 500, darknessActiveBackgroundColor: 500, darknessBorder: 500, }); const emit = defineEmits(['onClick']); const value = defineModel<never>('value'); +const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const textColor = computed(() => { + if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) + return '#000000'; + return '#ffffff'; +}); const activeBackgroundColorComputed = computed(() => props.activeBackgroundColor ? convertThemeToColor(props.activeBackgroundColor, props.darknessActiveBackgroundColor) @@ -84,7 +92,7 @@ const buttonHeight = computed(() => { " > <span - :style="`background-color: ${activeBackgroundColorComputed && ((value && value === item.value) || value === item.label) ? activeBackgroundColorComputed : convertThemeToColor(item.backgroundColor ?? 'white', item.darknessBackgroundColor ?? 500)}`" + :style="`background-color: ${activeBackgroundColorComputed && ((value && value === item.value) || value === item.label) ? activeBackgroundColorComputed : (convertThemeToColor(item.backgroundColor, item.darknessBackgroundColor ?? 500) ?? themeColor)}`" :class="[ 'background', { @@ -97,9 +105,8 @@ const buttonHeight = computed(() => { ></span> <span v-if="!item.isLabelHidden" - :style="`color: ${(item.value && value === item.value) || value === item.label ? convertThemeToColor(item.activeColor ?? 'black', item.darknessActiveColor ?? 500) : convertThemeToColor(item.color ?? 'black', item.darknessColor ?? 500)}; font-size: ${textSize}`" + :style="`color: ${(item.value && value === item.value) || value === item.label ? (convertThemeToColor(item.activeColor, item.darknessActiveColor ?? 500) ?? textColor) : (convertThemeToColor(item.color, item.darknessColor ?? 500) ?? textColor)}; font-size: ${textSize}`" :class="[ - 'text', { bold: item.textStyle === 'bold', italic: item.textStyle === 'italic', -- GitLab From f00357ef3b93ef612581a5d171ed01e15df41d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 20 Dec 2024 17:16:47 +0500 Subject: [PATCH 03/32] feat: start to do component 'Table' --- src/stories/components/Table/Table.stories.ts | 212 ++++++++++++++++++ src/stories/components/Table/Table.vue | 98 ++++++++ 2 files changed, 310 insertions(+) create mode 100644 src/stories/components/Table/Table.stories.ts create mode 100644 src/stories/components/Table/Table.vue diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts new file mode 100644 index 0000000..f4d0a1d --- /dev/null +++ b/src/stories/components/Table/Table.stories.ts @@ -0,0 +1,212 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import Table from './Table.vue'; + +const meta: Meta = { + title: 'Components/Table', + component: Table, + tags: ['autodocs'], + parameters: { + docs: { + description: { + component: 'A component that is used as a Table. Can be used with icon.', + }, + }, + }, + argTypes: { + columns: { control: 'object' }, + data: { control: 'object' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + fontSize: { control: 'text' }, + gap: { control: 'text' }, + width: { control: 'text' }, + showAllLines: { control: 'boolean' }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + theme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + border: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + }, + args: {}, +} satisfies Meta<typeof Table>; + +export default meta; + +type Story = StoryObj<typeof meta>; + +export const Primary: Story = { + args: { + columns: [ + { + name: 'Name', + type: 'text', + }, + { + name: 'Age', + type: 'text', + }, + { + name: 'Hobbies', + type: 'text', + }, + ], + data: [ + [ + { + value: 'Pete', + }, + { + value: '30', + }, + { + value: 'Chess', + }, + ], + [ + { + value: 'John', + }, + { + value: '25', + }, + { + value: 'Football', + }, + ], + ], + }, +}; + +export const Full: Story = { + args: { + columns: [ + { + name: 'Name', + type: 'text', + }, + { + name: 'Age', + type: 'text', + }, + { + name: 'Hobbies', + type: 'text', + }, + { + name: 'Country', + type: 'text', + }, + ], + + data: [ + [ + { + value: 'Pete', + }, + { + value: '30', + }, + { + value: 'Chess', + }, + { + value: 'USA', + }, + ], + [ + { + value: 'John', + }, + { + value: '25', + }, + { + value: 'Football', + }, + { + value: 'Canada', + }, + ], + [ + { + value: 'Дима', + }, + { + value: '22', + }, + { + value: 'Frontend', + }, + { + value: 'Russia', + }, + ], + ], + + fontSize: '32px', + showAllLines: true, + gap: '70px', + border: 'fuchsia', + theme: 'black', + }, +}; diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue new file mode 100644 index 0000000..2372edc --- /dev/null +++ b/src/stories/components/Table/Table.vue @@ -0,0 +1,98 @@ +<script setup lang="ts"> +import type { ITableProps } from '@interfaces/componentsProps'; +import { computed } from 'vue'; +import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; + +const props = withDefaults(defineProps<ITableProps>(), { + gap: '5px', + theme: 'white', + darknessTheme: 500, + fontSize: '16px', +}); +const gap = computed(() => props.gap); +// const emit = defineEmits(['']); +const data = defineModel('data'); +// watch(, () => {}); +const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), +); +const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +</script> + +<template> + <table + :style="`background-color: ${themeColor}; color: ${color}`" + :class="{ + tableLines: showAllLines, + }" + > + <thead> + <tr> + <th + :class="{ + leftBorder: showAllLines, + }" + v-for="column of columns" + :key="column.name" + class="columnHeader" + style="padding: 5px 0 5px 5px" + > + <div class="columnFlex"> + {{ column.name }} + <div></div> + </div> + </th> + </tr> + </thead> + <tbody> + <tr v-for="(row, index) of data" :key="index"> + <td + :class="{ + leftBorder: showAllLines, + }" + v-for="item of row" + :key="item.value" + style="padding: 5px" + > + {{ item.value }} + </td> + </tr> + </tbody> + </table> +</template> + +<style scoped> +table { + border-collapse: collapse; +} +table * { + font-size: v-bind(fontSize); +} +tr { + position: relative; +} +tr::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + background-color: v-bind(borderColor); +} +.columnFlex { + display: flex; + gap: v-bind(gap); + font-weight: bold; +} +.tableLines { + border-top: 1px solid v-bind(borderColor); + border-right: 1px solid v-bind(borderColor); +} +.leftBorder { + border-left: 1px solid v-bind(borderColor); +} +</style> -- GitLab From 7ab6d5ce6dac6c6aa4204d9510b0fef5c505adce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 20 Dec 2024 17:21:37 +0500 Subject: [PATCH 04/32] refactor: edit darkness logic, create functions for colors and edit README with .prettierrc.json --- .prettierrc.json | 2 +- README.md | 4 +- src/App.vue | 71 +++++++++---------- src/common/helpers/colors.ts | 16 ++--- src/common/helpers/common.ts | 40 +++++++---- src/common/interfaces/common.ts | 2 +- src/common/interfaces/componentsProp.ts | 25 +++++++ src/common/interfaces/componentsProps.ts | 29 ++++++-- .../components/Button/Button.stories.ts | 5 +- src/stories/components/Button/Button.vue | 22 +++--- .../components/Divider/Divider.stories.ts | 2 +- src/stories/components/Divider/Divider.vue | 4 +- .../components/Drawer/Drawer.stories.ts | 22 +++++- src/stories/components/Drawer/Drawer.vue | 29 ++++---- .../components/MenuDial/MenuDial.stories.ts | 23 +++++- src/stories/components/MenuDial/MenuDial.vue | 36 +++++----- src/stories/components/Modal/Modal.stories.ts | 13 +--- src/stories/components/Modal/Modal.vue | 29 ++++---- src/stories/components/Popup/Popup.stories.ts | 23 +++++- src/stories/components/Popup/Popup.vue | 34 ++++----- .../SelectButton/SelectButton.stories.ts | 27 +++++-- .../components/SelectButton/SelectButton.vue | 25 +++---- .../components/Slider/Slider.stories.ts | 4 +- src/stories/components/Slider/Slider.vue | 47 +++++------- src/stories/components/Table/Table.vue | 2 +- .../ToggleSwitch/ToggleSwitch.stories.ts | 4 +- .../components/ToggleSwitch/ToggleSwitch.vue | 8 +-- src/stories/components/TreeList/TreeItems.vue | 20 +++--- .../components/TreeList/TreeList.stories.ts | 2 +- src/stories/components/TreeList/TreeList.vue | 16 ++--- 30 files changed, 335 insertions(+), 251 deletions(-) diff --git a/.prettierrc.json b/.prettierrc.json index 06c8d43..7ec58af 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -3,5 +3,5 @@ "$schema": "https://json.schemastore.org/prettierrc", "semi": true, "singleQuote": true, - "printWidth": 100 + "printWidth": 120 } diff --git a/README.md b/README.md index 0866e44..7e807e6 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ const props = withDefaults(defineProps<IProps>(), { }); const emit = defineEmits(['']); const visible = defineModel(''); -watch(, () => {}); -const computed = computed(() => ); +// watch(, () => {}); +// const computed1 = computed(() => ); ``` - I*Componentname*Props вмеÑто ```IProps```; - watchers поÑле defineModel; diff --git a/src/App.vue b/src/App.vue index ad430e4..21513ee 100644 --- a/src/App.vue +++ b/src/App.vue @@ -302,30 +302,30 @@ const sliderValue = ref(1); /> </Popup> <Popup v-model:active="popupActive2" theme="sky" - >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat - soluta, vel velit voluptas. Accusamus aut, error et minima neque praesentium, ratione, - reprehenderit repudiandae saepe ut vero! Lorem ipsum dolor sit amet, consectetur adipisicing - elit. Amet fugiat harum maiores placeat soluta, vel velit voluptas. Accusamus aut, error et - minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero!</Popup + >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit + voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero! Lorem + ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit voluptas. + Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero!</Popup > <Modal v-model:visible="visible" theme="red" @onClose="onClose" - ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing - elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo - nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas quisquam - repellat saepe temporibus? Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque - explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil - officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe - temporibus?</Modal + ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque + explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu + nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? Lorem ipsum dolor sit + amet, consectetur adipisicing elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima + necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas quisquam + repellat saepe temporibus?</Modal > <MenuDial v-model:active="active" theme="sky" direction="right" + darknessTheme="600" :items="[ { label: 'font-family', theme: 'green', + color: 'white', link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', linkBlank: true, textStyle: 'bold', @@ -333,6 +333,7 @@ const sliderValue = ref(1); { label: 'Second', theme: 'red', + darknessTheme: '600', textStyle: 'italic', }, ]" @@ -359,7 +360,9 @@ const sliderValue = ref(1); theme="blue" isSmooth /> - <Button @click="visible = true" theme="sky" label="I'm a button"></Button> + <Button @click="visible = true" textColor="white" theme="sky" label="I'm a button"></Button> + <Button @click="visible = true" theme="sky" darknessTheme="600" label="I'm a button"></Button> + <Button @click="visible = true" theme="sky" darknessTheme="700" label="I'm a button"></Button> <SelectButton :options="options" size="large" v-model:value="value"> <template #1Icon> <TrashIcon /> @@ -369,31 +372,25 @@ const sliderValue = ref(1); <Drawer v-model:visible="visibleDrawer" theme="sky" closeIcon="CropIcon"> <template #header>Ðто - Drawer</template> <p> - pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit - amet, consectetur adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore - voluptas. Aperiam dignissimos enim, fuga fugit, modi, nam necessitatibus numquam obcaecati - omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque - blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto molestiae odio optio - reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor sit - amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi - illum impedit iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, - rerum suscipit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem modi ratione - reiciendis. Cupiditate deserunt eaque eum labore qui rem? Consequatur corporis, dolorem - doloremque eveniet facilis obcaecati quasi repellat vel velit. pizdwertyuki - lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, - consectetur adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. - Aperiam dignissimos enim, fuga fugit, modi, nam necessitatibus numquam obcaecati omnis - recusandae voluptatibus! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque - blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto molestiae odio optio - reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor sit - amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. - Eaque explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo - nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas - quisquam repellat saepe temporibus? + pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga + fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto + molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi illum impedit + iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, rerum suscipit. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Autem modi ratione reiciendis. Cupiditate deserunt eaque eum labore qui + rem? Consequatur corporis, dolorem doloremque eveniet facilis obcaecati quasi repellat vel velit. pizdwertyuki + lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur adipisicing elit. + Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga fugit, modi, nam + necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto molestiae odio + optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque explicabo, facere + fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil + officia, pariatur praesentium quas quisquam repellat saepe temporibus? </p> - <template #footer> - pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template - ></Drawer + <template #footer> pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template></Drawer > <main class="main"> <h2 class="title"><span class="mono">Mono</span> icons</h2> diff --git a/src/common/helpers/colors.ts b/src/common/helpers/colors.ts index 74a597b..473a284 100644 --- a/src/common/helpers/colors.ts +++ b/src/common/helpers/colors.ts @@ -2,15 +2,15 @@ import type { TDarkness, TThemeColor } from '@interfaces/common'; export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: TDarkness) => { if (theme === 'white') { - if (darkness === 500 || darkness === 400 || darkness === 600) return '#cbd5e1'; - if (darkness === 300 || darkness === 700) return '#94a3b8'; - if (darkness === 200 || darkness === 800) return '#f1f5f9'; - if (darkness === 100 || darkness === 900) return '#e2e8f0'; + if (darkness === '500' || darkness === '400' || darkness === '600') return '#cbd5e1'; + if (darkness === '300' || darkness === '700') return '#94a3b8'; + if (darkness === '200' || darkness === '800') return '#f1f5f9'; + if (darkness === '100' || darkness === '900') return '#e2e8f0'; } - if (darkness === 500 || darkness === 400 || darkness === 600) return '#475569'; - if (darkness === 300 || darkness === 700) return '#64748b'; - if (darkness === 200 || darkness === 800) return '#94a3b8'; - if (darkness === 100 || darkness === 900) return '#cbd5e1'; + if (darkness === '500' || darkness === '400' || darkness === '600') return '#475569'; + if (darkness === '300' || darkness === '700') return '#64748b'; + if (darkness === '200' || darkness === '800') return '#94a3b8'; + if (darkness === '100' || darkness === '900') return '#cbd5e1'; }; export const convert100ThemeToColor = (theme: TThemeColor) => { diff --git a/src/common/helpers/common.ts b/src/common/helpers/common.ts index e4ec1fb..4fc18fd 100644 --- a/src/common/helpers/common.ts +++ b/src/common/helpers/common.ts @@ -9,20 +9,34 @@ import { convert700ThemeToColor, convert800ThemeToColor, convert900ThemeToColor, + convertWhiteOrBlackToColor, } from '@helpers/colors'; -export const convertThemeToColor = ( - theme: TThemeColor, - darkness: TDarkness | number = 500, -): string => { - if (darkness === 500) return convert500ThemeToColor(theme); - if (darkness === 100) return convert100ThemeToColor(theme); - if (darkness === 200) return convert200ThemeToColor(theme); - if (darkness === 300) return convert300ThemeToColor(theme); - if (darkness === 400) return convert400ThemeToColor(theme); - if (darkness === 600) return convert600ThemeToColor(theme); - if (darkness === 700) return convert700ThemeToColor(theme); - if (darkness === 800) return convert800ThemeToColor(theme); - if (darkness === 900) return convert900ThemeToColor(theme); +/** + * Convert color of type TThemeColor to hex + */ +export const convertThemeToColor = (theme: TThemeColor, darkness: TDarkness | string = '500'): string => { + if (darkness === '500') return convert500ThemeToColor(theme); + if (darkness === '100') return convert100ThemeToColor(theme); + if (darkness === '200') return convert200ThemeToColor(theme); + if (darkness === '300') return convert300ThemeToColor(theme); + if (darkness === '400') return convert400ThemeToColor(theme); + if (darkness === '600') return convert600ThemeToColor(theme); + if (darkness === '700') return convert700ThemeToColor(theme); + if (darkness === '800') return convert800ThemeToColor(theme); + if (darkness === '900') return convert900ThemeToColor(theme); return convert500ThemeToColor(theme); }; +/** + * Convert color of type TThemeColor to hex for border or scroll + */ +export const convertThemeToSecondaryColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { + return theme === 'white' || theme === 'black' + ? convertWhiteOrBlackToColor(theme, darkness) + : convertThemeToColor(theme, String(100 + ((darkness + 600) % 900))); +}; + +export const convertThemeToTextColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { + if (theme === 'white' || (darkness <= '600' && theme !== 'black')) return '#000000'; + return '#ffffff'; +}; diff --git a/src/common/interfaces/common.ts b/src/common/interfaces/common.ts index 162338a..81df894 100644 --- a/src/common/interfaces/common.ts +++ b/src/common/interfaces/common.ts @@ -21,7 +21,7 @@ export type TThemeColor = | 'red' | 'black'; -export type TDarkness = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; +export type TDarkness = '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'; export type TThemeColorNoWhite = Exclude<TThemeColor, 'white'>; diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index aa30d5c..38144bc 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -1,5 +1,28 @@ import type { TDarkness, TIcons, TPosition, TTextStyle, TThemeColor } from '@interfaces/common'; +export interface ITableColumn { + name: string; + type?: TTableColumnType; + isFilter?: boolean; +} + +export interface ITableItem { + value: string; + editable?: boolean; +} + +export type TTableColumnType = + | 'checkbox' + | 'text' + | 'date' + | 'tag' + | 'select' + | 'rating' + | 'progressBar' + | 'knob' + | 'avatar' + | 'image'; + export interface ITreeItem { label: string; link?: string; @@ -19,7 +42,9 @@ export interface ITreeItem { export interface IMDItemProps { label: string; theme?: TThemeColor; + color?: TThemeColor; darknessTheme?: TDarkness; + darknessColor?: TDarkness; textStyle?: TTextStyle; link?: string; linkBlank?: boolean; diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 75c672d..0fae7b9 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -14,9 +14,23 @@ import type { IMDItemProps, ISBOption, ISliderOptions, + ITableColumn, + ITableItem, ITreeItem, } from '@interfaces/componentsProp'; +export interface ITableProps { + columns: ITableColumn[]; + data: ITableItem[][]; + theme?: TThemeColor; + textColor?: TThemeColor; + darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; + gap?: string; + fontSize?: string; + showAllLines?: boolean; +} + export interface ITLProps { items: ITreeItem[]; maxWidth?: number; @@ -31,7 +45,7 @@ export interface ITIProps { label: string; }[]; items: ITreeItem[]; - textColor: string; + color: string; themeColor: string; } @@ -39,7 +53,9 @@ export interface IMDProps { items: IMDItemProps[]; size?: TSize; theme?: TThemeColor; + iconColor?: TThemeColor; darknessTheme?: TDarkness; + darknessIconColor?: TDarkness; direction?: TDirection; // direction?: TDirection | 'circle'; } @@ -63,6 +79,7 @@ export interface IDrawerProps { position?: TPosition; width?: string | number; theme?: TThemeColor; + textColor?: TThemeColor; darknessTheme?: TDarkness; modal?: boolean; dismissible?: boolean; @@ -73,7 +90,9 @@ export interface IDrawerProps { export interface IModalProps { theme?: TThemeColor; + textColor?: TThemeColor; darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; width?: string; height?: string; position?: TExpandedPosition; @@ -85,7 +104,9 @@ export interface IModalProps { export interface IPopupProps { parentSelector?: string; theme?: TThemeColor; + textColor?: TThemeColor; darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; maxWidth?: string; maxHeight?: string; padding?: string; @@ -96,11 +117,11 @@ export interface ISBProps { size?: TSize; rounded?: boolean; theme?: TThemeColor; + textColor?: TThemeColor; activeBackgroundColor?: TThemeColor; - border?: TThemeColor; darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; darknessActiveBackgroundColor?: TDarkness; - darknessBorder?: TDarkness; disabled?: boolean; } @@ -113,10 +134,8 @@ export interface IButtonProps { iconOnly?: boolean; theme?: TThemeColor; textColor?: TThemeColor; - border?: TThemeColor; darknessTheme?: TDarkness; darknessTextColor?: TDarkness; - darknessBorder?: TDarkness; } export interface ITSProps { diff --git a/src/stories/components/Button/Button.stories.ts b/src/stories/components/Button/Button.stories.ts index 1adc7dc..a53ebe4 100644 --- a/src/stories/components/Button/Button.stories.ts +++ b/src/stories/components/Button/Button.stories.ts @@ -19,12 +19,11 @@ const meta: Meta = { textStyle: { control: 'select', options: ['bold', 'italic'] }, iconPos: { control: 'select', options: ['left', 'top', 'right', 'bottom'] }, width: { control: 'text' }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessTextColor: { control: 'select', - options: [100, 200, 300, 400, 500, 600, 700, 800, 900], + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, - darknessBorder: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, theme: { control: 'select', options: [ diff --git a/src/stories/components/Button/Button.vue b/src/stories/components/Button/Button.vue index c1057fd..81fe6a3 100644 --- a/src/stories/components/Button/Button.vue +++ b/src/stories/components/Button/Button.vue @@ -1,25 +1,24 @@ <script setup lang="ts"> import { computed } from 'vue'; import type { IButtonProps } from '@interfaces/componentsProps'; -import { convertThemeToColor } from '@helpers/common'; +import { convertThemeToSecondaryColor, convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; const props = withDefaults(defineProps<IButtonProps>(), { size: 'normal', theme: 'white', - textColor: 'black', iconPos: 'left', - darknessTheme: 500, - darknessTextColor: 500, - darknessBorder: 500, + darknessTheme: '500', + darknessTextColor: '500', }); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const textColorComputed = computed(() => - convertThemeToColor(props.textColor, props.darknessTextColor), -); -const borderColor = computed(() => - !props.border ? '' : convertThemeToColor(props.border, props.darknessBorder), +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), ); +const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const width = computed(() => (props.width ? `${props.width}px` : 'max-content')); const textSize = computed(() => { switch (props.size) { case 'small': @@ -42,7 +41,6 @@ const buttonPadding = computed(() => { } return '0.75rem 0.5rem'; }); -const width = computed(() => (props.width ? `${props.width}px` : 'max-content')); </script> <template> @@ -59,7 +57,7 @@ const width = computed(() => (props.width ? `${props.width}px` : 'max-content')) <span :style="`background-color: ${themeColor}`" class="background"></span> <span v-if="label || !iconOnly" - :style="`color: ${textColorComputed}; font-size: ${textSize}`" + :style="`color: ${color}; font-size: ${textSize}`" :class="[ 'text', { diff --git a/src/stories/components/Divider/Divider.stories.ts b/src/stories/components/Divider/Divider.stories.ts index 960e6f5..a10ca58 100644 --- a/src/stories/components/Divider/Divider.stories.ts +++ b/src/stories/components/Divider/Divider.stories.ts @@ -16,7 +16,7 @@ const meta: Meta = { argTypes: { height: { control: 'number' }, type: { control: 'select', options: ['solid', 'dashed', 'dotted'] }, - darknessColor: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, color: { control: 'select', options: [ diff --git a/src/stories/components/Divider/Divider.vue b/src/stories/components/Divider/Divider.vue index b195e97..65894e0 100644 --- a/src/stories/components/Divider/Divider.vue +++ b/src/stories/components/Divider/Divider.vue @@ -7,13 +7,13 @@ const props = withDefaults(defineProps<IDividerProps>(), { height: 1, type: 'solid', color: 'black', - darknessColor: 500, + darknessColor: '500', }); const colorConverted = computed(() => convertThemeToColor(props.color, props.darknessColor)); </script> <template> - <div :style="`border-bottom: ${height}px ${type} ${colorConverted}`" class="w-full"></div> + <div :style="`border-bottom: ${height}px ${type} ${colorConverted}`"></div> </template> <style scoped></style> diff --git a/src/stories/components/Drawer/Drawer.stories.ts b/src/stories/components/Drawer/Drawer.stories.ts index 9cfdc30..e520f80 100644 --- a/src/stories/components/Drawer/Drawer.stories.ts +++ b/src/stories/components/Drawer/Drawer.stories.ts @@ -26,7 +26,7 @@ const meta: Meta = { closeIcon: { control: 'select', options: Object.keys(iconsSet) }, headerDivider: { control: 'boolean' }, footerDivider: { control: 'boolean' }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -47,6 +47,26 @@ const meta: Meta = { 'black', ], }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, args: {}, } satisfies Meta<typeof Drawer>; diff --git a/src/stories/components/Drawer/Drawer.vue b/src/stories/components/Drawer/Drawer.vue index 1656f88..20f4d7e 100644 --- a/src/stories/components/Drawer/Drawer.vue +++ b/src/stories/components/Drawer/Drawer.vue @@ -1,9 +1,8 @@ <script setup lang="ts"> import { computed, watch } from 'vue'; import { iconsSet } from '@/common/constants/icons'; -import { convertWhiteOrBlackToColor } from '@helpers/colors'; import type { IDrawerProps } from '@interfaces/componentsProps'; -import { convertThemeToColor } from '@helpers/common'; +import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; const props = withDefaults(defineProps<IDrawerProps>(), { visible: false, @@ -12,7 +11,7 @@ const props = withDefaults(defineProps<IDrawerProps>(), { modal: true, dismissible: true, theme: 'white', - darknessTheme: 500, + darknessTheme: '500', closeIcon: 'CrossIcon', headerDivider: false, footerDivider: false, @@ -34,16 +33,12 @@ watch(visible, () => { } }); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const scrollAndBorderColor = computed(() => - props.theme === 'white' || props.theme === 'black' - ? convertWhiteOrBlackToColor(props.theme, props.darknessTheme) - : convertThemeToColor(props.theme, 100 + ((props.darknessTheme + 600) % 900)), +const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); const drawerWidth = computed(() => { if (+props.width < 200) return '200px'; return `${props.width}px`; @@ -62,7 +57,7 @@ const drawerWidth = computed(() => { @pointerdown.stop="dismissible ? (visible = false) : ''" ></section> <section - :style="`color: ${textColor}; background-color: ${themeColor}`" + :style="`color: ${color}; background-color: ${themeColor}`" :class="[ 'drawer', { @@ -78,7 +73,7 @@ const drawerWidth = computed(() => { <header class="drawerHeader"> <slot name="header" /> <button class="buttonClose" @click.prevent="visible = false"> - <component :is="iconsSet[closeIcon]" :color="textColor" /> + <component :is="iconsSet[closeIcon]" :color="color" /> </button> </header> <div v-if="headerDivider" class="divider divider-header"></div> @@ -121,7 +116,7 @@ const drawerWidth = computed(() => { justify-content: space-between; padding: 20px; transition: transform ease-out 0.2s; - border-right: 2px solid v-bind(scrollAndBorderColor); + border-right: 2px solid v-bind(secondaryColor); } .drawerVertical { width: 100vw !important; @@ -171,7 +166,7 @@ const drawerWidth = computed(() => { } .divider { height: 2px; - background-color: v-bind(scrollAndBorderColor); + background-color: v-bind(secondaryColor); } .divider-header { position: absolute; @@ -189,6 +184,6 @@ const drawerWidth = computed(() => { } ::-webkit-scrollbar-thumb { border-radius: 5px; - background-color: v-bind(scrollAndBorderColor); + background-color: v-bind(secondaryColor); } </style> diff --git a/src/stories/components/MenuDial/MenuDial.stories.ts b/src/stories/components/MenuDial/MenuDial.stories.ts index 8530306..89c4739 100644 --- a/src/stories/components/MenuDial/MenuDial.stories.ts +++ b/src/stories/components/MenuDial/MenuDial.stories.ts @@ -17,7 +17,8 @@ const meta: Meta = { items: { control: 'object' }, size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, direction: { control: 'select', options: ['up', 'down', 'left', 'right'] }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessIconColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -38,6 +39,26 @@ const meta: Meta = { 'black', ], }, + iconColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, args: {}, } satisfies Meta<typeof MenuDial>; diff --git a/src/stories/components/MenuDial/MenuDial.vue b/src/stories/components/MenuDial/MenuDial.vue index 287b4b3..b0711ed 100644 --- a/src/stories/components/MenuDial/MenuDial.vue +++ b/src/stories/components/MenuDial/MenuDial.vue @@ -2,28 +2,24 @@ import { computed } from 'vue'; import type { IMDProps } from '@interfaces/componentsProps'; import PlusIcon from '@stories/icons/Mono/PlusIcon.vue'; -import { convertThemeToColor } from '@helpers/common'; -import { convertWhiteOrBlackToColor } from '@helpers/colors'; +import { convertThemeToSecondaryColor, convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; +import type { IMDItemProps } from '@interfaces/componentsProp'; const props = withDefaults(defineProps<IMDProps>(), { theme: 'white', - darknessTheme: 500, + darknessTheme: '500', size: 'normal', direction: 'right', }); const active = defineModel('active'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); -const borderColor = computed(() => - props.theme === 'white' || props.theme === 'black' - ? convertWhiteOrBlackToColor(props.theme, props.darknessTheme) - : convertThemeToColor(props.theme, 100 + ((props.darknessTheme + 600) % 900)), +const color = computed(() => + props.iconColor + ? convertThemeToColor(props.iconColor, props.darknessIconColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), ); +const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const elementsSize = computed(() => { switch (props.size) { case 'small': @@ -61,8 +57,14 @@ const menuListStyles = computed(() => { // console.log(styles); // return styles; // }); -const openLink = (url: string, isBlank: boolean | undefined) => - window.open(url, isBlank ? '_blank' : '_self'); +const openLink = (url: string, isBlank: boolean | undefined) => window.open(url, isBlank ? '_blank' : '_self'); +const calcItemColor = (item: IMDItemProps) => { + return item.color + ? convertThemeToColor(item.color, item.darknessColor) + : item.theme === 'white' || +((item.darknessTheme ?? '500') <= 600 && item.theme !== 'black') + ? 'black' + : 'white'; +}; </script> <template> @@ -73,7 +75,7 @@ const openLink = (url: string, isBlank: boolean | undefined) => @click.prevent="active = !active" > <slot name="buttonIcon" /> - <PlusIcon v-if="!$slots.buttonIcon" :size="elementsSize - 10" :color="textColor" /> + <PlusIcon v-if="!$slots.buttonIcon" :size="elementsSize - 10" :color="color" /> </button> <ul :class="[ @@ -88,8 +90,8 @@ const openLink = (url: string, isBlank: boolean | undefined) => <li v-for="(item, index) of items" :key="item.label" - :style="`height: ${elementsSize}px; background-color: ${convertThemeToColor(item.theme ?? 'white', item.darknessTheme ?? 500)}; - color: ${item.theme === 'white' || ((item.darknessTheme ?? 500) <= 600 && item.theme !== 'black') ? 'black' : 'white'}; border-color: ${borderColor};`" + :style="`height: ${elementsSize}px; background-color: ${convertThemeToColor(item.theme ?? 'white', item.darknessTheme ?? '500')}; + color: ${calcItemColor(item)}; border-color: ${borderColor};`" class="menuElement" @click=" () => { diff --git a/src/stories/components/Modal/Modal.stories.ts b/src/stories/components/Modal/Modal.stories.ts index d5c6d08..0d39eaa 100644 --- a/src/stories/components/Modal/Modal.stories.ts +++ b/src/stories/components/Modal/Modal.stories.ts @@ -25,18 +25,9 @@ const meta: Meta = { closeIcon: { control: 'select', options: Object.keys(iconsSet) }, position: { control: 'select', - options: [ - 'top', - 'right', - 'bottom', - 'left', - 'topLeft', - 'topRight', - 'bottomLeft', - 'bottomRight', - ], + options: ['top', 'right', 'bottom', 'left', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'], }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ diff --git a/src/stories/components/Modal/Modal.vue b/src/stories/components/Modal/Modal.vue index 5c8e74c..db55212 100644 --- a/src/stories/components/Modal/Modal.vue +++ b/src/stories/components/Modal/Modal.vue @@ -1,15 +1,14 @@ <script setup lang="ts"> import { computed, watch } from 'vue'; -import { convertWhiteOrBlackToColor } from '@helpers/colors'; import type { IModalProps } from '@interfaces/componentsProps'; import { iconsSet } from '@/common/constants/icons'; -import { convertThemeToColor } from '@helpers/common'; +import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; const props = withDefaults(defineProps<IModalProps>(), { visible: false, dismissible: false, theme: 'white', - darknessTheme: 500, + darknessTheme: '500', width: '30%', height: '30%', headerDivider: false, @@ -32,16 +31,12 @@ watch(visible, () => { } }); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const scrollAndBorderColor = computed(() => - props.theme === 'white' || props.theme === 'black' - ? convertWhiteOrBlackToColor(props.theme, props.darknessTheme) - : convertThemeToColor(props.theme, 100 + ((props.darknessTheme + 600) % 900)), +const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); const onKeydown = (event: KeyboardEvent) => { if (event.key === 'Escape' && visible.value) visible.value = false; }; @@ -60,7 +55,7 @@ document.addEventListener('keydown', onKeydown); @click.prevent="() => (dismissible ? (visible = false) : false)" ></section> <section - :style="`color: ${textColor}; background-color: ${themeColor}; width: ${width}; height: ${height}`" + :style="`color: ${color}; background-color: ${themeColor}; width: ${width}; height: ${height}`" :class="[ 'modal', { @@ -82,7 +77,7 @@ document.addEventListener('keydown', onKeydown); <slot name="header" /> </div> <button class="buttonClose" @click.prevent="visible = false"> - <component :is="iconsSet[closeIcon]" :color="textColor" /> + <component :is="iconsSet[closeIcon]" :color="color" /> </button> <div v-if="headerDivider" class="divider"></div> </header> @@ -114,7 +109,7 @@ document.addEventListener('keydown', onKeydown); min-width: 250px; min-height: 100px; padding: 20px; - border: 2px solid v-bind(scrollAndBorderColor); + border: 2px solid v-bind(secondaryColor); border-radius: 15px; opacity: 0; transform: scale(0.5); @@ -158,7 +153,7 @@ document.addEventListener('keydown', onKeydown); } .divider { height: 2px; - background-color: v-bind(scrollAndBorderColor); + background-color: v-bind(secondaryColor); position: absolute; left: 20px; top: 60px; @@ -166,7 +161,7 @@ document.addEventListener('keydown', onKeydown); } ::-webkit-scrollbar-thumb { border-radius: 5px; - background-color: v-bind(scrollAndBorderColor); + background-color: v-bind(secondaryColor); } .toTop { top: 10px !important; diff --git a/src/stories/components/Popup/Popup.stories.ts b/src/stories/components/Popup/Popup.stories.ts index 7f515ed..a2bf63b 100644 --- a/src/stories/components/Popup/Popup.stories.ts +++ b/src/stories/components/Popup/Popup.stories.ts @@ -20,7 +20,8 @@ const meta: Meta = { maxWidth: { control: 'text' }, maxHeight: { control: 'text' }, padding: { control: 'text' }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -41,6 +42,26 @@ const meta: Meta = { 'black', ], }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, args: {}, } satisfies Meta<typeof Popup>; diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index e199b8b..0df4d53 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -1,8 +1,7 @@ <script setup lang="ts"> import type { IPopupProps } from '@interfaces/componentsProps'; import { computed, ref } from 'vue'; -import { convertThemeToColor } from '@helpers/common'; -import { convertWhiteOrBlackToColor } from '@helpers/colors'; +import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; const props = withDefaults(defineProps<IPopupProps>(), { parentSelector: 'body', @@ -11,21 +10,16 @@ const props = withDefaults(defineProps<IPopupProps>(), { maxWidth: '300px', maxHeight: '100px', padding: '5px', - darknessTheme: 500, - darknessBorder: 500, + darknessTheme: '500', }); const active = defineModel<boolean>('active'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const scrollAndBorderColor = computed(() => - props.theme === 'white' || props.theme === 'black' - ? convertWhiteOrBlackToColor(props.theme, props.darknessTheme) - : convertThemeToColor(props.theme, 100 + ((props.darknessTheme + 600) % 900)), +const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); const top = ref(); const left = ref(); @@ -58,15 +52,11 @@ document.addEventListener('pointerdown', (e) => { oncontextmenu="return false" id="popup" @pointerdown.stop="" - :style="`top: ${top}px; left: ${left}px; opacity: ${active ? 1 : 0}; pointer-events: ${active ? 'auto' : 'none'}; padding: ${padding}; color: ${textColor}`" + :style="`top: ${top}px; left: ${left}px; opacity: ${active ? 1 : 0}; pointer-events: ${active ? 'auto' : 'none'}; padding: ${padding}; color: ${color}`" > - <div - :style="`max-width: ${maxWidth}; max-height: ${maxHeight}; overflow: auto; padding-right: 5px`" - > + <div :style="`max-width: ${maxWidth}; max-height: ${maxHeight}; overflow: auto; padding-right: 5px`"> <slot /> - <p v-if="!$slots.default" style="background-color: black; color: white; padding: 10px"> - Popup - </p> + <p v-if="!$slots.default" style="background-color: black; color: white; padding: 10px">Popup</p> </div> </section> </template> @@ -76,11 +66,11 @@ document.addEventListener('pointerdown', (e) => { position: fixed; transition: opacity 0.2s ease-in-out; background-color: v-bind(themeColor); - border: 1px solid v-bind(scrollAndBorderColor); + border: 1px solid v-bind(secondaryColor); border-radius: 5px; } ::-webkit-scrollbar-thumb { border-radius: 5px; - background-color: v-bind(scrollAndBorderColor); + background-color: v-bind(secondaryColor); } </style> diff --git a/src/stories/components/SelectButton/SelectButton.stories.ts b/src/stories/components/SelectButton/SelectButton.stories.ts index 1187959..bb6a4ba 100644 --- a/src/stories/components/SelectButton/SelectButton.stories.ts +++ b/src/stories/components/SelectButton/SelectButton.stories.ts @@ -19,16 +19,33 @@ const meta: Meta = { }, size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, rounded: { control: 'boolean' }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessActiveBackgroundColor: { control: 'select', - options: [100, 200, 300, 400, 500, 600, 700, 800, 900], + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, - darknessBorder: { + theme: { control: 'select', - options: [100, 200, 300, 400, 500, 600, 700, 800, 900], + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, - theme: { + textColor: { control: 'select', options: [ 'white', diff --git a/src/stories/components/SelectButton/SelectButton.vue b/src/stories/components/SelectButton/SelectButton.vue index a067929..47032e0 100644 --- a/src/stories/components/SelectButton/SelectButton.vue +++ b/src/stories/components/SelectButton/SelectButton.vue @@ -1,33 +1,30 @@ <script setup lang="ts"> import { computed } from 'vue'; import type { ISBProps } from '@interfaces/componentsProps'; -import { convertThemeToColor } from '@helpers/common'; +import { convertThemeToSecondaryColor, convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; const props = withDefaults(defineProps<ISBProps>(), { size: 'normal', theme: 'white', activeBackgroundColor: 'sky', - darknessTheme: 500, - darknessActiveBackgroundColor: 500, - darknessBorder: 500, + darknessTheme: '500', + darknessActiveBackgroundColor: '500', }); const emit = defineEmits(['onClick']); const value = defineModel<never>('value'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), +); const activeBackgroundColorComputed = computed(() => props.activeBackgroundColor ? convertThemeToColor(props.activeBackgroundColor, props.darknessActiveBackgroundColor) : '', ); -const borderColor = computed(() => - !props.border ? '' : convertThemeToColor(props.border, props.darknessBorder), -); +const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const textSize = computed(() => { switch (props.size) { case 'small': @@ -92,7 +89,7 @@ const buttonHeight = computed(() => { " > <span - :style="`background-color: ${activeBackgroundColorComputed && ((value && value === item.value) || value === item.label) ? activeBackgroundColorComputed : (convertThemeToColor(item.backgroundColor, item.darknessBackgroundColor ?? 500) ?? themeColor)}`" + :style="`background-color: ${activeBackgroundColorComputed && ((value && value === item.value) || value === item.label) ? activeBackgroundColorComputed : (convertThemeToColor(item.backgroundColor, item.darknessBackgroundColor ?? '500') ?? themeColor)}`" :class="[ 'background', { @@ -105,7 +102,7 @@ const buttonHeight = computed(() => { ></span> <span v-if="!item.isLabelHidden" - :style="`color: ${(item.value && value === item.value) || value === item.label ? (convertThemeToColor(item.activeColor, item.darknessActiveColor ?? 500) ?? textColor) : (convertThemeToColor(item.color, item.darknessColor ?? 500) ?? textColor)}; font-size: ${textSize}`" + :style="`color: ${(item.value && value === item.value) || value === item.label ? (convertThemeToColor(item.activeColor, item.darknessActiveColor ?? '500') ?? color) : (convertThemeToColor(item.color, item.darknessColor ?? '500') ?? color)}; font-size: ${textSize}`" :class="[ { bold: item.textStyle === 'bold', diff --git a/src/stories/components/Slider/Slider.stories.ts b/src/stories/components/Slider/Slider.stories.ts index 65ae2e0..e8bfe31 100644 --- a/src/stories/components/Slider/Slider.stories.ts +++ b/src/stories/components/Slider/Slider.stories.ts @@ -22,10 +22,10 @@ const meta: Meta = { size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, orientation: { control: 'select', options: ['horizontal', 'vertical'] }, isSmooth: { control: 'boolean' }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessBackgroundColor: { control: 'select', - options: [100, 200, 300, 400, 500, 600, 700, 800, 900], + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, theme: { control: 'select', diff --git a/src/stories/components/Slider/Slider.vue b/src/stories/components/Slider/Slider.vue index ab11e8b..e618b2c 100644 --- a/src/stories/components/Slider/Slider.vue +++ b/src/stories/components/Slider/Slider.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { computed, ref, watch } from 'vue'; +import { computed, watch } from 'vue'; import type { ISliderProps } from '@interfaces/componentsProps'; import { convertThemeToColor } from '@helpers/common'; @@ -8,21 +8,21 @@ const props = withDefaults(defineProps<ISliderProps>(), { size: 'normal', theme: 'sky', backgroundColor: 'black', - darknessTheme: 500, - darknessBackgroundColor: 500, + darknessTheme: '500', + darknessBackgroundColor: '500', }); const value = defineModel('value'); -const optionValue = ref( - typeof value.value === 'string' - ? props.options!.findIndex((option) => option.label === value.value) - : value.value, -); -watch([optionValue], () => { - if (props.options) { - value.value = props.options!.find( - (option) => (option.value ?? option.label) == optionValue.value, - )!.label; - } else value.value = optionValue.value; +const optionValue = computed({ + get() { + return typeof value.value === 'string' && props.options + ? props.options.findIndex((option) => option.label === value.value) + : value.value; + }, + set(newValue) { + if (props.options) { + value.value = props.options!.find((option) => (option.value ?? option.label) == newValue)!.label; + } else value.value = newValue; + }, }); watch([value], () => { if (value.value !== optionValue.value) { @@ -60,12 +60,8 @@ const sliderHeight = computed(() => `${Math.floor(+sliderButtonSize.value.slice( const sliderBorderRadius = computed(() => (props.isSmooth ? sliderHeight.value : '0%')); const sliderButtonBorderRadius = computed(() => (props.isSmooth ? '50%' : '0%')); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const themeBackground = computed(() => - convertThemeToColor(props.backgroundColor, props.darknessBackgroundColor), -); -const marksListPadding = computed( - () => `${Math.floor(+sliderButtonSize.value.slice(0, -2) / 2)}px`, -); +const themeBackground = computed(() => convertThemeToColor(props.backgroundColor, props.darknessBackgroundColor)); +const marksListPadding = computed(() => `${Math.floor(+sliderButtonSize.value.slice(0, -2) / 2)}px`); </script> <template> @@ -78,21 +74,14 @@ const marksListPadding = computed( ]" :style="`width: ${width}px`" > - <input - v-model="optionValue" - type="range" - class="slider" - :min="min ?? 0" - :max="max ?? 100" - :step="step ?? 1" - /> + <input v-model="optionValue" type="range" class="slider" :min="min ?? 0" :max="max ?? 100" :step="step ?? 1" /> <div v-if="options?.length"> <ul class="marksList" :style="`width: ${width ?? 200}px`"> <li v-for="option of options" :key="String(option.label)" class="mark" - :style="`color: ${convertThemeToColor(option.color ?? 'black', option.darknessColor ?? 500) ?? 'white'}; font-size: ${optionsFontSize}`" + :style="`color: ${convertThemeToColor(option.color ?? 'black', option.darknessColor ?? '500') ?? 'white'}; font-size: ${optionsFontSize}`" > {{ option.label }} </li> diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 2372edc..455cabb 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -6,7 +6,7 @@ import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextCo const props = withDefaults(defineProps<ITableProps>(), { gap: '5px', theme: 'white', - darknessTheme: 500, + darknessTheme: '500', fontSize: '16px', }); const gap = computed(() => props.gap); diff --git a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts index 2a1652b..362f38e 100644 --- a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts +++ b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts @@ -56,10 +56,10 @@ const meta: Meta = { 'black', ], }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessNegativeTheme: { control: 'select', - options: [100, 200, 300, 400, 500, 600, 700, 800, 900], + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, disabled: { control: 'boolean' }, }, diff --git a/src/stories/components/ToggleSwitch/ToggleSwitch.vue b/src/stories/components/ToggleSwitch/ToggleSwitch.vue index b0a0ad8..bbc8c5d 100644 --- a/src/stories/components/ToggleSwitch/ToggleSwitch.vue +++ b/src/stories/components/ToggleSwitch/ToggleSwitch.vue @@ -7,15 +7,13 @@ const props = withDefaults(defineProps<ITSProps>(), { size: 'normal', theme: 'sky', negativeTheme: 'black', - darknessTheme: 500, - darknessNegativeTheme: 500, + darknessTheme: '500', + darknessNegativeTheme: '500', }); const active = defineModel<boolean>('active'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const inactiveColor = computed(() => - convertThemeToColor(props.negativeTheme, props.darknessNegativeTheme), -); +const inactiveColor = computed(() => convertThemeToColor(props.negativeTheme, props.darknessNegativeTheme)); const sizes = computed(() => { if (!props?.size) { return { diff --git a/src/stories/components/TreeList/TreeItems.vue b/src/stories/components/TreeList/TreeItems.vue index bbd871b..48a8ed8 100644 --- a/src/stories/components/TreeList/TreeItems.vue +++ b/src/stories/components/TreeList/TreeItems.vue @@ -17,9 +17,7 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); 'item', { pl27: !item.children, - openContent: state.find( - (itemState) => itemState.label === item.label && itemState.isOpen, - ), + openContent: state.find((itemState) => itemState.label === item.label && itemState.isOpen), }, ]" > @@ -38,15 +36,13 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); :class="[ 'openButton', { - openButtonOpened: state.find( - (itemState) => itemState.label === item.label && itemState.isOpen, - ), + openButtonOpened: state.find((itemState) => itemState.label === item.label && itemState.isOpen), }, ]" :color=" item.color && item.isTriangleToColor - ? convertThemeToColor(item.color, item.darknessColor ?? 500) - : textColor + ? convertThemeToColor(item.color, item.darknessColor ?? '500') + : color " size="17" /> @@ -61,7 +57,7 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); isDarkerOnHover: item.link, }, ]" - :style="`color: ${item.color ? convertThemeToColor(item.color, item.darknessColor ?? 500) : textColor}`" + :style="`color: ${item.color ? convertThemeToColor(item.color, item.darknessColor ?? '500') : color}`" @click=" () => { item.isLinkClicked = true; @@ -74,14 +70,14 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); ><component :is="iconsSet[item.iconBefore]" v-if="item.iconBefore" - :color="convertThemeToColor(item.iconColor ?? 'black', item.darknessIconColor ?? 500)" + :color="convertThemeToColor(item.iconColor ?? 'black', item.darknessIconColor ?? '500')" style="min-width: 17px" size="17" /> <span>{{ item.label }}</span ><component :is="iconsSet[item.iconAfter]" v-if="item.iconAfter" - :color="convertThemeToColor(item.iconColor ?? 'black', item.darknessIconColor ?? 500)" + :color="convertThemeToColor(item.iconColor ?? 'black', item.darknessIconColor ?? '500')" style="min-width: 17px" size="17" /></a> @@ -90,7 +86,7 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); <TreeItems :items="item.children ?? []" :state="state" - :textColor="textColor" + :color="color" :themeColor="themeColor" @toggleIsOpen="emit('toggleIsOpen', $event)" /> diff --git a/src/stories/components/TreeList/TreeList.stories.ts b/src/stories/components/TreeList/TreeList.stories.ts index 8c2165e..7a587bb 100644 --- a/src/stories/components/TreeList/TreeList.stories.ts +++ b/src/stories/components/TreeList/TreeList.stories.ts @@ -18,7 +18,7 @@ const meta: Meta = { items: { control: 'object' }, maxWidth: { control: 'number' }, expand: { control: 'boolean' }, - darknessTheme: { control: 'select', options: [100, 200, 300, 400, 500, 600, 700, 800, 900] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ diff --git a/src/stories/components/TreeList/TreeList.vue b/src/stories/components/TreeList/TreeList.vue index d4b1f5c..a6a8d41 100644 --- a/src/stories/components/TreeList/TreeList.vue +++ b/src/stories/components/TreeList/TreeList.vue @@ -3,7 +3,7 @@ import { computed, ref, watch } from 'vue'; import type { ITreeItem } from '@interfaces/componentsProp'; import TreeItems from '@stories/components/TreeList/TreeItems.vue'; import type { ITLProps } from '@interfaces/componentsProps'; -import { convertThemeToColor } from '@helpers/common'; +import { convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; interface IStateItem { isOpen: boolean; @@ -13,16 +13,16 @@ interface IStateItem { const props = withDefaults(defineProps<ITLProps>(), { theme: 'white', maxWidth: 300, - darknessTheme: 500, + darknessTheme: '500', }); const emit = defineEmits(['onClick']); const items = computed(() => props.items); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const textColor = computed(() => { - if (props.theme === 'white' || (props.darknessTheme <= 600 && props.theme !== 'black')) - return '#000000'; - return '#ffffff'; -}); +const color = computed(() => + props.textColor + ? convertThemeToColor(props.textColor, props.darknessTextColor) + : convertThemeToTextColor(props.theme, props.darknessTheme), +); const state = ref<IStateItem[]>([]); const setItemChildrenToState = (items: ITreeItem[]) => { @@ -68,7 +68,7 @@ const toggleIsOpen = (item: ITreeItem) => { <TreeItems :items="items" :state="state" - :textColor="textColor" + :color="color" :themeColor="themeColor" @toggleIsOpen="toggleIsOpen" @onClick="emit('onClick')" -- GitLab From 234f5762a792ec72a595ac283628e04521317c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Sun, 22 Dec 2024 12:07:33 +0500 Subject: [PATCH 05/32] fix: component's colors functional --- src/App.vue | 5 ++- src/common/helpers/common.ts | 4 +-- src/common/interfaces/componentsProps.ts | 3 +- .../components/Drawer/Drawer.stories.ts | 1 + src/stories/components/Modal/Modal.stories.ts | 21 +++++++++++ src/stories/components/Modal/Modal.vue | 1 + src/stories/components/Popup/Popup.stories.ts | 21 ----------- src/stories/components/Popup/Popup.vue | 9 ++--- .../SelectButton/SelectButton.stories.ts | 25 ++----------- .../components/SelectButton/SelectButton.vue | 35 +++++++++++++++---- .../components/TreeList/TreeList.stories.ts | 4 +-- 11 files changed, 66 insertions(+), 63 deletions(-) diff --git a/src/App.vue b/src/App.vue index 21513ee..c8ef7e7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -325,7 +325,8 @@ const sliderValue = ref(1); { label: 'font-family', theme: 'green', - color: 'white', + color: 'red', + darknessColor: '500', link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', linkBlank: true, textStyle: 'bold', @@ -333,6 +334,8 @@ const sliderValue = ref(1); { label: 'Second', theme: 'red', + color: 'sky', + darknessColor: '500', darknessTheme: '600', textStyle: 'italic', }, diff --git a/src/common/helpers/common.ts b/src/common/helpers/common.ts index 4fc18fd..aa4659a 100644 --- a/src/common/helpers/common.ts +++ b/src/common/helpers/common.ts @@ -32,8 +32,8 @@ export const convertThemeToColor = (theme: TThemeColor, darkness: TDarkness | st */ export const convertThemeToSecondaryColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { return theme === 'white' || theme === 'black' - ? convertWhiteOrBlackToColor(theme, darkness) - : convertThemeToColor(theme, String(100 + ((darkness + 600) % 900))); + ? convertWhiteOrBlackToColor(theme, darkness as TDarkness) + : convertThemeToColor(theme, String(100 + ((+darkness + 600) % 900))); }; export const convertThemeToTextColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 0fae7b9..8812742 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -81,6 +81,7 @@ export interface IDrawerProps { theme?: TThemeColor; textColor?: TThemeColor; darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; modal?: boolean; dismissible?: boolean; closeIcon?: TIcons; @@ -90,9 +91,7 @@ export interface IDrawerProps { export interface IModalProps { theme?: TThemeColor; - textColor?: TThemeColor; darknessTheme?: TDarkness; - darknessTextColor?: TDarkness; width?: string; height?: string; position?: TExpandedPosition; diff --git a/src/stories/components/Drawer/Drawer.stories.ts b/src/stories/components/Drawer/Drawer.stories.ts index e520f80..f4320b6 100644 --- a/src/stories/components/Drawer/Drawer.stories.ts +++ b/src/stories/components/Drawer/Drawer.stories.ts @@ -27,6 +27,7 @@ const meta: Meta = { headerDivider: { control: 'boolean' }, footerDivider: { control: 'boolean' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ diff --git a/src/stories/components/Modal/Modal.stories.ts b/src/stories/components/Modal/Modal.stories.ts index 0d39eaa..6ac70ab 100644 --- a/src/stories/components/Modal/Modal.stories.ts +++ b/src/stories/components/Modal/Modal.stories.ts @@ -28,6 +28,7 @@ const meta: Meta = { options: ['top', 'right', 'bottom', 'left', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'], }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -48,6 +49,26 @@ const meta: Meta = { 'black', ], }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, args: {}, } satisfies Meta<typeof Modal>; diff --git a/src/stories/components/Modal/Modal.vue b/src/stories/components/Modal/Modal.vue index db55212..74cd2c4 100644 --- a/src/stories/components/Modal/Modal.vue +++ b/src/stories/components/Modal/Modal.vue @@ -9,6 +9,7 @@ const props = withDefaults(defineProps<IModalProps>(), { dismissible: false, theme: 'white', darknessTheme: '500', + darknessTextColor: '500', width: '30%', height: '30%', headerDivider: false, diff --git a/src/stories/components/Popup/Popup.stories.ts b/src/stories/components/Popup/Popup.stories.ts index a2bf63b..20cdd34 100644 --- a/src/stories/components/Popup/Popup.stories.ts +++ b/src/stories/components/Popup/Popup.stories.ts @@ -21,7 +21,6 @@ const meta: Meta = { maxHeight: { control: 'text' }, padding: { control: 'text' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, - darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -42,26 +41,6 @@ const meta: Meta = { 'black', ], }, - textColor: { - control: 'select', - options: [ - 'white', - 'blue', - 'sky', - 'cyan', - 'teal', - 'green', - 'yellow', - 'orange', - 'pink', - 'fuchsia', - 'purple', - 'indigo', - 'rose', - 'red', - 'black', - ], - }, }, args: {}, } satisfies Meta<typeof Popup>; diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index 0df4d53..8b107ba 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -1,7 +1,7 @@ <script setup lang="ts"> import type { IPopupProps } from '@interfaces/componentsProps'; import { computed, ref } from 'vue'; -import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; +import { convertThemeToColor, convertThemeToSecondaryColor } from '@helpers/common'; const props = withDefaults(defineProps<IPopupProps>(), { parentSelector: 'body', @@ -15,11 +15,6 @@ const props = withDefaults(defineProps<IPopupProps>(), { const active = defineModel<boolean>('active'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); -const color = computed(() => - props.textColor - ? convertThemeToColor(props.textColor, props.darknessTextColor) - : convertThemeToTextColor(props.theme, props.darknessTheme), -); const top = ref(); const left = ref(); @@ -52,7 +47,7 @@ document.addEventListener('pointerdown', (e) => { oncontextmenu="return false" id="popup" @pointerdown.stop="" - :style="`top: ${top}px; left: ${left}px; opacity: ${active ? 1 : 0}; pointer-events: ${active ? 'auto' : 'none'}; padding: ${padding}; color: ${color}`" + :style="`top: ${top}px; left: ${left}px; opacity: ${active ? 1 : 0}; pointer-events: ${active ? 'auto' : 'none'}; padding: ${padding}`" > <div :style="`max-width: ${maxWidth}; max-height: ${maxHeight}; overflow: auto; padding-right: 5px`"> <slot /> diff --git a/src/stories/components/SelectButton/SelectButton.stories.ts b/src/stories/components/SelectButton/SelectButton.stories.ts index bb6a4ba..4dc87e4 100644 --- a/src/stories/components/SelectButton/SelectButton.stories.ts +++ b/src/stories/components/SelectButton/SelectButton.stories.ts @@ -85,26 +85,6 @@ const meta: Meta = { 'black', ], }, - border: { - control: 'select', - options: [ - 'white', - 'blue', - 'sky', - 'cyan', - 'teal', - 'green', - 'yellow', - 'orange', - 'pink', - 'fuchsia', - 'purple', - 'indigo', - 'rose', - 'red', - 'black', - ], - }, disabled: { control: 'boolean' }, }, args: {}, @@ -136,22 +116,23 @@ export const LargeFull: Story = { { label: 'First', color: 'white', + darknessColor: '900', backgroundColor: 'black', }, { label: 'Second', color: 'red', activeColor: 'blue', + darknessColor: '700', backgroundColor: 'yellow', }, { label: 'Third', activeColor: 'green', + darknessColor: '700', backgroundColor: 'purple', }, ], - - border: 'sky', activeBackgroundColor: 'red', rounded: true, disabled: false, diff --git a/src/stories/components/SelectButton/SelectButton.vue b/src/stories/components/SelectButton/SelectButton.vue index 47032e0..9308fb0 100644 --- a/src/stories/components/SelectButton/SelectButton.vue +++ b/src/stories/components/SelectButton/SelectButton.vue @@ -2,6 +2,7 @@ import { computed } from 'vue'; import type { ISBProps } from '@interfaces/componentsProps'; import { convertThemeToSecondaryColor, convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; +import type { ISBOption } from '@interfaces/componentsProp'; const props = withDefaults(defineProps<ISBProps>(), { size: 'normal', @@ -19,10 +20,8 @@ const color = computed(() => ? convertThemeToColor(props.textColor, props.darknessTextColor) : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const activeBackgroundColorComputed = computed(() => - props.activeBackgroundColor - ? convertThemeToColor(props.activeBackgroundColor, props.darknessActiveBackgroundColor) - : '', +const activeBGColorComputed = computed(() => + convertThemeToColor(props.activeBackgroundColor, props.darknessActiveBackgroundColor), ); const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const textSize = computed(() => { @@ -58,6 +57,30 @@ const buttonHeight = computed(() => { } return '40px'; }); +const calcItemColor = (item: ISBOption) => { + if ((item.value && value.value === item.value) || String(value.value) === item.label) { + const activeColor = item.activeColor; + if (!activeColor) { + return color.value; + } else { + return convertThemeToColor(activeColor, item.darknessActiveColor ?? '500'); + } + } else { + const itemColor = item.color; + if (!itemColor) { + return color.value; + } else { + return convertThemeToColor(itemColor, item.darknessColor ?? '500'); + } + } +}; +const calcBGColorItem = (item: ISBOption) => { + return (value.value && value.value === item.value) || String(value.value) === item.label + ? activeBGColorComputed.value + : item.backgroundColor + ? convertThemeToColor(item.backgroundColor, item.darknessBackgroundColor ?? '500') + : themeColor.value; +}; </script> <template> @@ -89,7 +112,7 @@ const buttonHeight = computed(() => { " > <span - :style="`background-color: ${activeBackgroundColorComputed && ((value && value === item.value) || value === item.label) ? activeBackgroundColorComputed : (convertThemeToColor(item.backgroundColor, item.darknessBackgroundColor ?? '500') ?? themeColor)}`" + :style="`background-color: ${calcBGColorItem(item)}`" :class="[ 'background', { @@ -102,7 +125,7 @@ const buttonHeight = computed(() => { ></span> <span v-if="!item.isLabelHidden" - :style="`color: ${(item.value && value === item.value) || value === item.label ? (convertThemeToColor(item.activeColor, item.darknessActiveColor ?? '500') ?? color) : (convertThemeToColor(item.color, item.darknessColor ?? '500') ?? color)}; font-size: ${textSize}`" + :style="`color: ${calcItemColor(item)}; font-size: ${textSize}`" :class="[ { bold: item.textStyle === 'bold', diff --git a/src/stories/components/TreeList/TreeList.stories.ts b/src/stories/components/TreeList/TreeList.stories.ts index 7a587bb..cf724bc 100644 --- a/src/stories/components/TreeList/TreeList.stories.ts +++ b/src/stories/components/TreeList/TreeList.stories.ts @@ -125,8 +125,8 @@ export const Full: Story = { color: 'red', iconAfter: 'DiceIcon', iconColor: 'red', - darknessColor: 400, - darknessIconColor: 400, + darknessColor: '300', + darknessIconColor: '700', children: [ { label: '1-1-1-1', -- GitLab From caf89b22d9edf0e1c1bbefb1b8296d141e982764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Mon, 23 Dec 2024 21:54:03 +0500 Subject: [PATCH 06/32] feat: add stripedRows prop for Table --- src/common/helpers/colors.ts | 15 +-- src/common/helpers/common.ts | 28 ++++-- src/common/interfaces/componentsProps.ts | 1 + src/stories/components/Table/Table.stories.ts | 44 ++++----- src/stories/components/Table/Table.vue | 98 ++++++++++--------- 5 files changed, 96 insertions(+), 90 deletions(-) diff --git a/src/common/helpers/colors.ts b/src/common/helpers/colors.ts index 473a284..a96677e 100644 --- a/src/common/helpers/colors.ts +++ b/src/common/helpers/colors.ts @@ -1,17 +1,4 @@ -import type { TDarkness, TThemeColor } from '@interfaces/common'; - -export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: TDarkness) => { - if (theme === 'white') { - if (darkness === '500' || darkness === '400' || darkness === '600') return '#cbd5e1'; - if (darkness === '300' || darkness === '700') return '#94a3b8'; - if (darkness === '200' || darkness === '800') return '#f1f5f9'; - if (darkness === '100' || darkness === '900') return '#e2e8f0'; - } - if (darkness === '500' || darkness === '400' || darkness === '600') return '#475569'; - if (darkness === '300' || darkness === '700') return '#64748b'; - if (darkness === '200' || darkness === '800') return '#94a3b8'; - if (darkness === '100' || darkness === '900') return '#cbd5e1'; -}; +import type { TThemeColor } from '@interfaces/common'; export const convert100ThemeToColor = (theme: TThemeColor) => { switch (theme) { diff --git a/src/common/helpers/common.ts b/src/common/helpers/common.ts index aa4659a..3da75fb 100644 --- a/src/common/helpers/common.ts +++ b/src/common/helpers/common.ts @@ -9,7 +9,6 @@ import { convert700ThemeToColor, convert800ThemeToColor, convert900ThemeToColor, - convertWhiteOrBlackToColor, } from '@helpers/colors'; /** @@ -27,6 +26,28 @@ export const convertThemeToColor = (theme: TThemeColor, darkness: TDarkness | st if (darkness === '900') return convert900ThemeToColor(theme); return convert500ThemeToColor(theme); }; +/** + * Convert color of type TThemeColor to black or white + */ +export const convertThemeToTextColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { + if (theme === 'white' || (darkness <= '600' && theme !== 'black')) return '#000000'; + return '#ffffff'; +}; +/** + * Convert color of type TThemeColor to shade of black or white + */ +export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: TDarkness) => { + if (theme === 'white') { + if (darkness === '500' || darkness === '400' || darkness === '600') return '#94a3b8'; + if (darkness === '300' || darkness === '700') return '#cbd5e1'; + if (darkness === '200' || darkness === '800') return '#f1f5f9'; + if (darkness === '100' || darkness === '900') return '#e2e8f0'; + } + if (darkness === '500' || darkness === '400' || darkness === '600') return '#4b5563'; + if (darkness === '300' || darkness === '700') return '#374151'; + if (darkness === '200' || darkness === '800') return '#1f2937'; + if (darkness === '100' || darkness === '900') return '#111827'; +}; /** * Convert color of type TThemeColor to hex for border or scroll */ @@ -35,8 +56,3 @@ export const convertThemeToSecondaryColor = (theme: TThemeColor, darkness: TDark ? convertWhiteOrBlackToColor(theme, darkness as TDarkness) : convertThemeToColor(theme, String(100 + ((+darkness + 600) % 900))); }; - -export const convertThemeToTextColor = (theme: TThemeColor, darkness: TDarkness | string = '500') => { - if (theme === 'white' || (darkness <= '600' && theme !== 'black')) return '#000000'; - return '#ffffff'; -}; diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 8812742..e17eba6 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -29,6 +29,7 @@ export interface ITableProps { gap?: string; fontSize?: string; showAllLines?: boolean; + stripedRows?: boolean; } export interface ITLProps { diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index f4d0a1d..d5cd8f2 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -14,13 +14,12 @@ const meta: Meta = { }, }, argTypes: { - columns: { control: 'object' }, - data: { control: 'object' }, - size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + columns: { control: 'text' }, + data: { control: 'text' }, fontSize: { control: 'text' }, gap: { control: 'text' }, - width: { control: 'text' }, showAllLines: { control: 'boolean' }, + stripedRows: { control: 'boolean' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessTextColor: { control: 'select', @@ -66,26 +65,6 @@ const meta: Meta = { 'black', ], }, - border: { - control: 'select', - options: [ - 'white', - 'blue', - 'sky', - 'cyan', - 'teal', - 'green', - 'yellow', - 'orange', - 'pink', - 'fuchsia', - 'purple', - 'indigo', - 'rose', - 'red', - 'black', - ], - }, }, args: {}, } satisfies Meta<typeof Table>; @@ -201,12 +180,27 @@ export const Full: Story = { value: 'Russia', }, ], + [ + { + value: 'КÑюша', + }, + { + value: '32', + }, + { + value: 'Frontend', + }, + { + value: 'Russia', + }, + ], ], - fontSize: '32px', + fontSize: '20px', showAllLines: true, gap: '70px', border: 'fuchsia', theme: 'black', + stripedRows: true, }, }; diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 455cabb..06c38db 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -2,6 +2,7 @@ import type { ITableProps } from '@interfaces/componentsProps'; import { computed } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; +import type { ITableItem } from '@interfaces/componentsProp'; const props = withDefaults(defineProps<ITableProps>(), { gap: '5px', @@ -11,7 +12,7 @@ const props = withDefaults(defineProps<ITableProps>(), { }); const gap = computed(() => props.gap); // const emit = defineEmits(['']); -const data = defineModel('data'); +const data = defineModel('data') as ITableItem[][]; // watch(, () => {}); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => @@ -19,49 +20,53 @@ const color = computed(() => ? convertThemeToColor(props.textColor, props.darknessTextColor) : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, String(+props.darknessTheme + 300))); </script> <template> - <table - :style="`background-color: ${themeColor}; color: ${color}`" - :class="{ - tableLines: showAllLines, - }" - > - <thead> - <tr> - <th - :class="{ - leftBorder: showAllLines, - }" - v-for="column of columns" - :key="column.name" - class="columnHeader" - style="padding: 5px 0 5px 5px" - > - <div class="columnFlex"> - {{ column.name }} - <div></div> - </div> - </th> - </tr> - </thead> - <tbody> - <tr v-for="(row, index) of data" :key="index"> - <td - :class="{ - leftBorder: showAllLines, - }" - v-for="item of row" - :key="item.value" - style="padding: 5px" - > - {{ item.value }} - </td> - </tr> - </tbody> - </table> + <div> + <table + :class="{ + tableLines: showAllLines, + }" + :style="`background-color: ${themeColor}; color: ${color}`" + > + <thead> + <tr> + <th + :class="{ + leftBorder: showAllLines, + }" + v-for="column of columns" + :key="column.name" + class="columnHeader" + style="padding: 5px 0 5px 5px" + > + <div class="columnFlex"> + {{ column.name }} + <div></div> + </div> + </th> + </tr> + </thead> + <tbody> + <tr v-for="(row, index) of data" :key="index"> + <td + :class="{ + leftBorder: showAllLines, + darkRow: stripedRows && index % 2, + }" + v-for="item of row" + :key="item.value" + style="padding: 5px" + > + {{ item.value }} + </td> + </tr> + </tbody> + </table> + </div> </template> <style scoped> @@ -81,7 +86,7 @@ tr::after { left: 0; width: 100%; height: 1px; - background-color: v-bind(borderColor); + background-color: v-bind(secondaryColor); } .columnFlex { display: flex; @@ -89,10 +94,13 @@ tr::after { font-weight: bold; } .tableLines { - border-top: 1px solid v-bind(borderColor); - border-right: 1px solid v-bind(borderColor); + border-top: 1px solid v-bind(secondaryColor); + border-right: 1px solid v-bind(secondaryColor); } .leftBorder { - border-left: 1px solid v-bind(borderColor); + border-left: 1px solid v-bind(secondaryColor); +} +.darkRow { + background-color: v-bind(darkCellColor); } </style> -- GitLab From 32b724838fd6ec24f32a5683a42eea72346b56c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Wed, 25 Dec 2024 16:16:21 +0500 Subject: [PATCH 07/32] fix: darkness logic and type errors --- src/App.vue | 232 +++++++++--------- src/common/interfaces/common.ts | 4 + src/common/interfaces/componentsProps.ts | 4 + .../components/Button/Button.stories.ts | 20 -- src/stories/components/Drawer/Drawer.vue | 12 +- src/stories/components/MenuDial/MenuDial.vue | 2 +- src/stories/components/Modal/Modal.vue | 9 +- src/stories/components/Popup/Popup.stories.ts | 1 - src/stories/components/Popup/Popup.vue | 21 +- src/stories/components/Slider/Slider.vue | 8 +- src/stories/components/TreeList/TreeItems.vue | 2 +- .../components/TreeList/TreeList.stories.ts | 21 ++ src/stories/components/TreeList/TreeList.vue | 5 +- 13 files changed, 183 insertions(+), 158 deletions(-) diff --git a/src/App.vue b/src/App.vue index c8ef7e7..f312152 100644 --- a/src/App.vue +++ b/src/App.vue @@ -113,7 +113,7 @@ import Modal from '@stories/components/Modal/Modal.vue'; import MenuDial from '@stories/components/MenuDial/MenuDial.vue'; import Popup from '@stories/components/Popup/Popup.vue'; -const gentleIcons = [ +const gentleIcons = { Age18Icon, AirplaneIcon, AlarmIcon, @@ -217,8 +217,8 @@ const gentleIcons = [ TrashIcon, TriangleIcon, UserIcon, -]; -const visibleDrawer = ref(true); +}; +const visibleDrawer = ref(false); const sliderOptions: ISliderOptions[] = [ { label: 0, @@ -289,121 +289,120 @@ const sliderValue = ref(1); </script> <template> - <div class="hui" style="width: 500px; height: 500px; background-color: gray"></div> - <Popup v-model:active="popupActive" parentSelector=".hui" theme="sky"> - <Button - @click=" - () => { - popupActive = false; - visible = true; - } - " - label="Открыть модальное окно" - /> - </Popup> - <Popup v-model:active="popupActive2" theme="sky" - >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit - voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero! Lorem - ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit voluptas. - Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero!</Popup - > - - <Modal v-model:visible="visible" theme="red" @onClose="onClose" - ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque - explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu - nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? Lorem ipsum dolor sit - amet, consectetur adipisicing elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima - necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas quisquam - repellat saepe temporibus?</Modal - > - <MenuDial - v-model:active="active" - theme="sky" - direction="right" - darknessTheme="600" - :items="[ - { - label: 'font-family', - theme: 'green', - color: 'red', - darknessColor: '500', - link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', - linkBlank: true, - textStyle: 'bold', - }, - { - label: 'Second', - theme: 'red', - color: 'sky', - darknessColor: '500', - darknessTheme: '600', - textStyle: 'italic', - }, - ]" - > - <template #1IconBefore> - <AnchorLinkIcon size="20" color="white" /> - </template> - <template #2IconBefore> - <CrossIcon color="white" /> - </template> - <template #2IconAfter> - <CrossIcon color="white" /> - </template> - </MenuDial> - <Slider - v-model:value="sliderValue" - :options="sliderOptions" - orientation="vertical" - width="400" - min="0" - max="18" - step="2" - backgroundColor="black" - theme="blue" - isSmooth - /> - <Button @click="visible = true" textColor="white" theme="sky" label="I'm a button"></Button> - <Button @click="visible = true" theme="sky" darknessTheme="600" label="I'm a button"></Button> - <Button @click="visible = true" theme="sky" darknessTheme="700" label="I'm a button"></Button> - <SelectButton :options="options" size="large" v-model:value="value"> - <template #1Icon> - <TrashIcon /> - </template> - </SelectButton> - <ToggleSwitch /> - <Drawer v-model:visible="visibleDrawer" theme="sky" closeIcon="CropIcon"> - <template #header>Ðто - Drawer</template> - <p> - pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur - adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga - fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, - consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto - molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor - sit amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi illum impedit - iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, rerum suscipit. Lorem ipsum dolor - sit amet, consectetur adipisicing elit. Autem modi ratione reiciendis. Cupiditate deserunt eaque eum labore qui - rem? Consequatur corporis, dolorem doloremque eveniet facilis obcaecati quasi repellat vel velit. pizdwertyuki - lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur adipisicing elit. - Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga fugit, modi, nam - necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, consectetur - adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto molestiae odio - optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor sit amet, - consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque explicabo, facere - fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil - officia, pariatur praesentium quas quisquam repellat saepe temporibus? - </p> - <template #footer> pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template></Drawer - > <main class="main"> <h2 class="title"><span class="mono">Mono</span> icons</h2> <ul class="iconsList"> - <li class="iconsItem" v-for="icon of gentleIcons" :key="icon.__name"> - <component :is="icon" class="icon" /> - <span class="iconName">{{ icon.__name!.slice(0, -4) }}</span> + <li class="iconsItem" v-for="icon of Object.entries(gentleIcons)" :key="icon[0]"> + <component :is="icon[1]" class="icon" /> + <span class="iconName">{{ icon[0].slice(0, -4) }}</span> </li> </ul> + <h2 class="title gradient-text">Playground</h2> <button class="testButton" @click="visibleDrawer = !visibleDrawer">Ðажми менÑ</button> + <div class="hui" style="width: 500px; height: 500px; background-color: gray"></div> + <Popup v-model:active="popupActive" parentSelector=".hui" theme="sky"> + <Button + @click=" + () => { + popupActive = false; + visible = true; + } + " + label="Открыть модальное окно" + /> + </Popup> + <Popup v-model:active="popupActive2" theme="sky" + >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit + voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero! + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit + voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut + vero!</Popup + > + + <Modal v-model:visible="visible" theme="red" @onClose="onClose" + ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque + explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu + nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? Lorem ipsum dolor sit + amet, consectetur adipisicing elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima + necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas + quisquam repellat saepe temporibus?</Modal + > + <MenuDial + v-model:active="active" + theme="sky" + direction="right" + darknessTheme="600" + :items="[ + { + label: 'font-family', + theme: 'green', + color: 'red', + darknessColor: '500', + link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', + linkBlank: true, + textStyle: 'bold', + }, + { + label: 'Second', + theme: 'red', + color: 'sky', + darknessColor: '500', + darknessTheme: '600', + textStyle: 'italic', + }, + ]" + > + <template #1IconBefore> + <AnchorLinkIcon size="20" color="white" /> + </template> + <template #2IconBefore> + <CrossIcon color="white" /> + </template> + <template #2IconAfter> + <CrossIcon color="white" /> + </template> + </MenuDial> + <Slider + v-model:value="sliderValue" + :options="sliderOptions" + width="400" + min="0" + max="18" + step="2" + backgroundColor="black" + theme="blue" + isSmooth + /> + <Button @click="visible = true" textColor="white" theme="sky" label="I'm a button"></Button> + <SelectButton :options="options" size="large" v-model:value="value"> + <template #1Icon> + <TrashIcon /> + </template> + </SelectButton> + <ToggleSwitch /> + <Drawer v-model:visible="visibleDrawer" theme="sky" :dismissible="false" closeIcon="CropIcon"> + <template #header>Ðто - Drawer</template> + <p> + pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga + fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto + molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi illum impedit + iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, rerum suscipit. Lorem ipsum + dolor sit amet, consectetur adipisicing elit. Autem modi ratione reiciendis. Cupiditate deserunt eaque eum + labore qui rem? Consequatur corporis, dolorem doloremque eveniet facilis obcaecati quasi repellat vel velit. + pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga + fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto + molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque + explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu + nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? + </p> + <template #footer> pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template></Drawer + > </main> </template> @@ -441,12 +440,15 @@ const sliderValue = ref(1); font-style: italic; } .testButton { - position: absolute; - right: 50px; - top: 50px; background-color: red; + margin-bottom: 30px; color: white; padding: 10px; border-radius: 5px; } +.gradient-text { + background: linear-gradient(to right, hotpink, yellow, dodgerblue); + background-clip: text; + color: transparent; +} </style> diff --git a/src/common/interfaces/common.ts b/src/common/interfaces/common.ts index 81df894..7a0383a 100644 --- a/src/common/interfaces/common.ts +++ b/src/common/interfaces/common.ts @@ -36,3 +36,7 @@ export type TPosition = 'top' | 'right' | 'bottom' | 'left'; export type TExpandedPosition = TPosition | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'; export type TBorder = 'solid' | 'dashed' | 'dotted'; + +export interface CustomWindow extends Window { + blockPopupActions?: boolean; +} diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 8812742..7334b83 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -36,6 +36,8 @@ export interface ITLProps { maxWidth?: number; expand?: boolean; theme?: TThemeColor; + textColor?: TThemeColor; + darknessTextColor?: TDarkness; darknessTheme?: TDarkness; } @@ -91,7 +93,9 @@ export interface IDrawerProps { export interface IModalProps { theme?: TThemeColor; + textColor?: TThemeColor; darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; width?: string; height?: string; position?: TExpandedPosition; diff --git a/src/stories/components/Button/Button.stories.ts b/src/stories/components/Button/Button.stories.ts index a53ebe4..f14c35f 100644 --- a/src/stories/components/Button/Button.stories.ts +++ b/src/stories/components/Button/Button.stories.ts @@ -64,26 +64,6 @@ const meta: Meta = { 'black', ], }, - border: { - control: 'select', - options: [ - 'white', - 'blue', - 'sky', - 'cyan', - 'teal', - 'green', - 'yellow', - 'orange', - 'pink', - 'fuchsia', - 'purple', - 'indigo', - 'rose', - 'red', - 'black', - ], - }, }, args: {}, } satisfies Meta<typeof Button>; diff --git a/src/stories/components/Drawer/Drawer.vue b/src/stories/components/Drawer/Drawer.vue index 20f4d7e..7051f70 100644 --- a/src/stories/components/Drawer/Drawer.vue +++ b/src/stories/components/Drawer/Drawer.vue @@ -1,11 +1,11 @@ <script setup lang="ts"> -import { computed, watch } from 'vue'; +import { computed, type Ref, watch } from 'vue'; import { iconsSet } from '@/common/constants/icons'; import type { IDrawerProps } from '@interfaces/componentsProps'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; +import type { CustomWindow } from '@interfaces/common'; const props = withDefaults(defineProps<IDrawerProps>(), { - visible: false, position: 'left', width: 400, modal: true, @@ -21,15 +21,19 @@ const emit = defineEmits(['onClose']); const visible = defineModel<boolean>('visible', { set(value) { if (!value) { + (window as CustomWindow).blockPopupActions = false; body.style.overflow = 'auto'; + body.style.paddingRight = '0'; emit('onClose'); } return value; }, -}); +}) as Ref<boolean>; watch(visible, () => { if (visible.value) { + (window as CustomWindow).blockPopupActions = true; body.style.overflow = 'hidden'; + body.style.paddingRight = '14px'; } }); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); @@ -54,7 +58,7 @@ const drawerWidth = computed(() => { drawerBackgroundOpened: visible, }, ]" - @pointerdown.stop="dismissible ? (visible = false) : ''" + @pointerdown="() => (dismissible ? (visible = false) : '')" ></section> <section :style="`color: ${color}; background-color: ${themeColor}`" diff --git a/src/stories/components/MenuDial/MenuDial.vue b/src/stories/components/MenuDial/MenuDial.vue index b0711ed..95a0856 100644 --- a/src/stories/components/MenuDial/MenuDial.vue +++ b/src/stories/components/MenuDial/MenuDial.vue @@ -61,7 +61,7 @@ const openLink = (url: string, isBlank: boolean | undefined) => window.open(url, const calcItemColor = (item: IMDItemProps) => { return item.color ? convertThemeToColor(item.color, item.darknessColor) - : item.theme === 'white' || +((item.darknessTheme ?? '500') <= 600 && item.theme !== 'black') + : item.theme === 'white' || (+(item.darknessTheme ?? '500') <= 600 && item.theme !== 'black') ? 'black' : 'white'; }; diff --git a/src/stories/components/Modal/Modal.vue b/src/stories/components/Modal/Modal.vue index 74cd2c4..940c990 100644 --- a/src/stories/components/Modal/Modal.vue +++ b/src/stories/components/Modal/Modal.vue @@ -3,6 +3,7 @@ import { computed, watch } from 'vue'; import type { IModalProps } from '@interfaces/componentsProps'; import { iconsSet } from '@/common/constants/icons'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; +import type { CustomWindow } from '@interfaces/common'; const props = withDefaults(defineProps<IModalProps>(), { visible: false, @@ -20,7 +21,9 @@ const emit = defineEmits(['onClose']); const visible = defineModel('visible', { set(value) { if (!value) { + (window as CustomWindow).blockPopupActions = false; body.style.overflow = 'auto'; + body.style.paddingRight = '0'; emit('onClose'); } return value; @@ -28,7 +31,9 @@ const visible = defineModel('visible', { }); watch(visible, () => { if (visible.value) { + (window as CustomWindow).blockPopupActions = true; body.style.overflow = 'hidden'; + body.style.paddingRight = '14px'; } }); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); @@ -53,7 +58,7 @@ document.addEventListener('keydown', onKeydown); openedModalBackground: visible, }, ]" - @click.prevent="() => (dismissible ? (visible = false) : false)" + @pointerdown="() => (dismissible ? (visible = false) : false)" ></section> <section :style="`color: ${color}; background-color: ${themeColor}; width: ${width}; height: ${height}`" @@ -105,7 +110,7 @@ document.addEventListener('keydown', onKeydown); opacity: 1; } .modal { - position: absolute; + position: fixed; z-index: -50; min-width: 250px; min-height: 100px; diff --git a/src/stories/components/Popup/Popup.stories.ts b/src/stories/components/Popup/Popup.stories.ts index 20cdd34..e1e6313 100644 --- a/src/stories/components/Popup/Popup.stories.ts +++ b/src/stories/components/Popup/Popup.stories.ts @@ -42,7 +42,6 @@ const meta: Meta = { ], }, }, - args: {}, } satisfies Meta<typeof Popup>; export default meta; diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index 8b107ba..e1e154d 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -1,7 +1,8 @@ <script setup lang="ts"> import type { IPopupProps } from '@interfaces/componentsProps'; -import { computed, ref } from 'vue'; +import { computed, type Ref, ref } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor } from '@helpers/common'; +import type { CustomWindow } from '@interfaces/common'; const props = withDefaults(defineProps<IPopupProps>(), { parentSelector: 'body', @@ -12,33 +13,33 @@ const props = withDefaults(defineProps<IPopupProps>(), { padding: '5px', darknessTheme: '500', }); -const active = defineModel<boolean>('active'); +const active = defineModel<boolean>('active') as Ref<boolean>; const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const top = ref(); const left = ref(); -const isContainer = ref(); +const isOnContainerClick = ref(); const container = document.querySelector(props.parentSelector); if (container) { container.addEventListener('pointerdown', (event: Event) => { const e = event as PointerEvent; if (e.button === 2) { - isContainer.value = true; - if (!active.value) active.value = true; - top.value = e.clientY; - left.value = e.clientX; + isOnContainerClick.value = true; + if (!active.value && !(window as CustomWindow).blockPopupActions) active.value = true; + top.value = e.pageY; + left.value = e.pageX; e.stopPropagation(); } }); container.addEventListener('contextmenu', (e) => { - if (isContainer.value) e.preventDefault(); + if (isOnContainerClick.value) e.preventDefault(); }); } document.addEventListener('pointerdown', (e) => { - if (e.button === 0) active.value = false; + if (e.button === 0 && !(window as CustomWindow).blockPopupActions) active.value = false; }); </script> @@ -58,7 +59,7 @@ document.addEventListener('pointerdown', (e) => { <style scoped> #popup { - position: fixed; + position: absolute; transition: opacity 0.2s ease-in-out; background-color: v-bind(themeColor); border: 1px solid v-bind(secondaryColor); diff --git a/src/stories/components/Slider/Slider.vue b/src/stories/components/Slider/Slider.vue index e618b2c..d772589 100644 --- a/src/stories/components/Slider/Slider.vue +++ b/src/stories/components/Slider/Slider.vue @@ -72,7 +72,7 @@ const marksListPadding = computed(() => `${Math.floor(+sliderButtonSize.value.sl verticalSlider: orientation === 'vertical', }, ]" - :style="`width: ${width}px`" + :style="`width: ${width}px; margin-bottom: ${orientation === 'vertical' ? +width / 2 + 'px' : 0}`" > <input v-model="optionValue" type="range" class="slider" :min="min ?? 0" :max="max ?? 100" :step="step ?? 1" /> <div v-if="options?.length"> @@ -131,7 +131,10 @@ const marksListPadding = computed(() => `${Math.floor(+sliderButtonSize.value.sl } .verticalSlider { margin-top: v-bind(widthHalf); - transform: rotate(270deg); + transform: rotate(270deg) translateY(-100%); +} +.verticalSlider .marksList { + padding-bottom: 0; } datalist { display: flex; @@ -150,6 +153,7 @@ option { margin-bottom: 5px; font-size: 10px; padding: 0 v-bind(marksListPadding); + padding-bottom: 20px; } .mark { display: flex; diff --git a/src/stories/components/TreeList/TreeItems.vue b/src/stories/components/TreeList/TreeItems.vue index 48a8ed8..81f871e 100644 --- a/src/stories/components/TreeList/TreeItems.vue +++ b/src/stories/components/TreeList/TreeItems.vue @@ -41,7 +41,7 @@ const emit = defineEmits(['toggleIsOpen', 'onClick']); ]" :color=" item.color && item.isTriangleToColor - ? convertThemeToColor(item.color, item.darknessColor ?? '500') + ? convertThemeToColor(item.color!, item.darknessColor ?? '500') : color " size="17" diff --git a/src/stories/components/TreeList/TreeList.stories.ts b/src/stories/components/TreeList/TreeList.stories.ts index cf724bc..a1eb0b5 100644 --- a/src/stories/components/TreeList/TreeList.stories.ts +++ b/src/stories/components/TreeList/TreeList.stories.ts @@ -19,6 +19,7 @@ const meta: Meta = { maxWidth: { control: 'number' }, expand: { control: 'boolean' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessTextColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -39,6 +40,26 @@ const meta: Meta = { 'black', ], }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, args: {}, } satisfies Meta<typeof TreeList>; diff --git a/src/stories/components/TreeList/TreeList.vue b/src/stories/components/TreeList/TreeList.vue index a6a8d41..c7153f0 100644 --- a/src/stories/components/TreeList/TreeList.vue +++ b/src/stories/components/TreeList/TreeList.vue @@ -14,6 +14,7 @@ const props = withDefaults(defineProps<ITLProps>(), { theme: 'white', maxWidth: 300, darknessTheme: '500', + expand: false, }); const emit = defineEmits(['onClick']); const items = computed(() => props.items); @@ -28,9 +29,9 @@ const state = ref<IStateItem[]>([]); const setItemChildrenToState = (items: ITreeItem[]) => { for (const item of items) { state.value.push({ - isOpen: props?.expand, + isOpen: props.expand, label: item.label, - }); + } as IStateItem); if (item.children) { setItemChildrenToState(item.children); } -- GitLab From b35d2956762fc66a80b94e1d0b74b369ead199b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 27 Dec 2024 07:05:29 +0500 Subject: [PATCH 08/32] feat: Table in process --- src/App.vue | 9 +++ src/common/constants/icons.ts | 8 ++ src/common/interfaces/componentsProp.ts | 5 +- src/common/interfaces/componentsProps.ts | 1 + .../components/Button/Button.stories.ts | 2 +- .../components/Divider/Divider.stories.ts | 2 +- .../components/Drawer/Drawer.stories.ts | 2 +- .../components/MenuDial/MenuDial.stories.ts | 2 +- src/stories/components/Modal/Modal.stories.ts | 2 +- src/stories/components/Popup/Popup.stories.ts | 2 +- .../SelectButton/SelectButton.stories.ts | 2 +- .../components/Slider/Slider.stories.ts | 2 +- src/stories/components/Table/Table.stories.ts | 13 +++- src/stories/components/Table/Table.vue | 75 +++++++++++++++++-- .../ToggleSwitch/ToggleSwitch.stories.ts | 2 +- .../components/TreeList/TreeList.stories.ts | 2 +- src/stories/icons/Mono/SortDownIcon.vue | 30 ++++++++ src/stories/icons/Mono/SortHorizontalIcon.vue | 34 +++++++++ src/stories/icons/Mono/SortUpIcon.vue | 30 ++++++++ src/stories/icons/Mono/SortVerticalIcon.vue | 34 +++++++++ 20 files changed, 239 insertions(+), 20 deletions(-) create mode 100644 src/stories/icons/Mono/SortDownIcon.vue create mode 100644 src/stories/icons/Mono/SortHorizontalIcon.vue create mode 100644 src/stories/icons/Mono/SortUpIcon.vue create mode 100644 src/stories/icons/Mono/SortVerticalIcon.vue diff --git a/src/App.vue b/src/App.vue index f312152..12b543a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -98,6 +98,10 @@ import PlusIcon from '@stories/icons/Mono/PlusIcon.vue'; import PointerIcon from '@stories/icons/Mono/PointerIcon.vue'; import SaveIcon from '@stories/icons/Mono/SaveIcon.vue'; import SettingsIcon from '@stories/icons/Mono/SettingsIcon.vue'; +import SortHorizontalIcon from '@stories/icons/Mono/SortHorizontalIcon.vue'; +import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; +import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; +import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; import LineIcon from '@stories/icons/Mono/LineIcon.vue'; import TableIcon from '@stories/icons/Mono/TableIcon.vue'; import TrashIcon from '@stories/icons/Mono/TrashIcon.vue'; @@ -213,6 +217,10 @@ const gentleIcons = { PointerIcon, SaveIcon, SettingsIcon, + SortDownIcon, + SortHorizontalIcon, + SortUpIcon, + SortVerticalIcon, TableIcon, TrashIcon, TriangleIcon, @@ -420,6 +428,7 @@ const sliderValue = ref(1); display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; gap: 10px; + margin-bottom: 20px; } .iconsItem { font-size: 14px; diff --git a/src/common/constants/icons.ts b/src/common/constants/icons.ts index 892a811..83bd219 100644 --- a/src/common/constants/icons.ts +++ b/src/common/constants/icons.ts @@ -103,6 +103,10 @@ import TableIcon from '@stories/icons/Mono/TableIcon.vue'; import TrashIcon from '@stories/icons/Mono/TrashIcon.vue'; import UserIcon from '@stories/icons/Mono/UserIcon.vue'; import TriangleIcon from '@stories/icons/Mono/TriangleIcon.vue'; +import SortHorizontalIcon from '@stories/icons/Mono/SortHorizontalIcon.vue'; +import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; +import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; +import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; export const iconsSet: Record<string, Component> = { Age18Icon: Age18Icon, @@ -204,6 +208,10 @@ export const iconsSet: Record<string, Component> = { PointerIcon: PointerIcon, SaveIcon: SaveIcon, SettingsIcon: SettingsIcon, + SortDownIcon, + SortHorizontalIcon, + SortUpIcon, + SortVerticalIcon, TableIcon: TableIcon, TrashIcon: TrashIcon, TriangleIcon: TriangleIcon, diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 38144bc..7ada68d 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -3,7 +3,10 @@ import type { TDarkness, TIcons, TPosition, TTextStyle, TThemeColor } from '@int export interface ITableColumn { name: string; type?: TTableColumnType; - isFilter?: boolean; + editable?: boolean; + filterable?: boolean; + sortable?: boolean; + padding?: string; } export interface ITableItem { diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index b628fca..8f1d216 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -30,6 +30,7 @@ export interface ITableProps { fontSize?: string; showAllLines?: boolean; stripedRows?: boolean; + center?: boolean; } export interface ITLProps { diff --git a/src/stories/components/Button/Button.stories.ts b/src/stories/components/Button/Button.stories.ts index f14c35f..eaefe1f 100644 --- a/src/stories/components/Button/Button.stories.ts +++ b/src/stories/components/Button/Button.stories.ts @@ -72,7 +72,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: {}, }; diff --git a/src/stories/components/Divider/Divider.stories.ts b/src/stories/components/Divider/Divider.stories.ts index a10ca58..aed2c56 100644 --- a/src/stories/components/Divider/Divider.stories.ts +++ b/src/stories/components/Divider/Divider.stories.ts @@ -49,7 +49,7 @@ type Story = StoryObj<typeof meta>; * See https://storybook.js.org/docs/api/csf * to learn how to use render functions. */ -export const Primary: Story = { +export const Simple: Story = { args: {}, }; diff --git a/src/stories/components/Drawer/Drawer.stories.ts b/src/stories/components/Drawer/Drawer.stories.ts index f4320b6..4ecd444 100644 --- a/src/stories/components/Drawer/Drawer.stories.ts +++ b/src/stories/components/Drawer/Drawer.stories.ts @@ -76,7 +76,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { visible: true, default: 'Какой-то текÑÑ‚.', diff --git a/src/stories/components/MenuDial/MenuDial.stories.ts b/src/stories/components/MenuDial/MenuDial.stories.ts index 89c4739..ba5314d 100644 --- a/src/stories/components/MenuDial/MenuDial.stories.ts +++ b/src/stories/components/MenuDial/MenuDial.stories.ts @@ -67,7 +67,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { items: [ { diff --git a/src/stories/components/Modal/Modal.stories.ts b/src/stories/components/Modal/Modal.stories.ts index 6ac70ab..d8e3e29 100644 --- a/src/stories/components/Modal/Modal.stories.ts +++ b/src/stories/components/Modal/Modal.stories.ts @@ -77,7 +77,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { visible: true, header: 'Modal', diff --git a/src/stories/components/Popup/Popup.stories.ts b/src/stories/components/Popup/Popup.stories.ts index e1e6313..29237c6 100644 --- a/src/stories/components/Popup/Popup.stories.ts +++ b/src/stories/components/Popup/Popup.stories.ts @@ -48,7 +48,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { default: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat\n soluta, vel velit voluptas. Accusamus aut, error et minima neque praesentium, ratione,\n reprehenderit repudiandae saepe ut vero! Lorem ipsum dolor sit amet, consectetur adipisicing\n elit. Amet fugiat harum maiores placeat soluta, vel velit voluptas. Accusamus aut, error et\n minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero!', diff --git a/src/stories/components/SelectButton/SelectButton.stories.ts b/src/stories/components/SelectButton/SelectButton.stories.ts index 4dc87e4..5fd64bd 100644 --- a/src/stories/components/SelectButton/SelectButton.stories.ts +++ b/src/stories/components/SelectButton/SelectButton.stories.ts @@ -94,7 +94,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { options: [ { diff --git a/src/stories/components/Slider/Slider.stories.ts b/src/stories/components/Slider/Slider.stories.ts index e8bfe31..24e4587 100644 --- a/src/stories/components/Slider/Slider.stories.ts +++ b/src/stories/components/Slider/Slider.stories.ts @@ -75,7 +75,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: {}, }; diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index d5cd8f2..7d51e72 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -20,6 +20,7 @@ const meta: Meta = { gap: { control: 'text' }, showAllLines: { control: 'boolean' }, stripedRows: { control: 'boolean' }, + center: { control: 'boolean' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessTextColor: { control: 'select', @@ -73,7 +74,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { columns: [ { @@ -122,14 +123,19 @@ export const Full: Story = { { name: 'Name', type: 'text', + sortable: true, }, { name: 'Age', type: 'text', + filterable: true, }, { name: 'Hobbies', type: 'text', + padding: '30px', + filterable: true, + sortable: true, }, { name: 'Country', @@ -198,9 +204,12 @@ export const Full: Story = { fontSize: '20px', showAllLines: true, - gap: '70px', + gap: '20px', border: 'fuchsia', theme: 'black', stripedRows: true, + textColor: 'white', + darknessTextColor: '500', + center: true, }, }; diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 06c38db..825cf7c 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -1,8 +1,12 @@ <script setup lang="ts"> import type { ITableProps } from '@interfaces/componentsProps'; -import { computed } from 'vue'; +import { computed, ref } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; import type { ITableItem } from '@interfaces/componentsProp'; +import FilterIcon from '@stories/icons/Mono/FilterIcon.vue'; +import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; +import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; +import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; const props = withDefaults(defineProps<ITableProps>(), { gap: '5px', @@ -22,6 +26,22 @@ const color = computed(() => ); const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, String(+props.darknessTheme + 300))); + +const sortState = ref<string[]>( + (() => { + const columns = props.columns; + const result = []; + for (const column of columns) { + result.push(column.sortable ? 'none' : ''); + } + return result; + })(), +); + +const changeColumnSortMode = (index: number) => { + const cur = sortState.value[index]; + sortState.value[index] = cur === 'none' ? 'down' : cur === 'down' ? 'up' : 'none'; +}; </script> <template> @@ -38,14 +58,49 @@ const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, S :class="{ leftBorder: showAllLines, }" - v-for="column of columns" + v-for="(column, index) of columns" :key="column.name" class="columnHeader" style="padding: 5px 0 5px 5px" > - <div class="columnFlex"> - {{ column.name }} - <div></div> + <div + :style="`justify-content: ${center ? 'center' : 'start'}; padding: ${center ? `0px calc(${gap} / 2 + ${column.padding ?? '0px'} / 2)` : `0 ${column.padding ?? '0px'} 0 0`}`" + :class="[ + 'columnFlex', + { + columnGap: !center, + }, + ]" + > + <div class="columnHeader-container"> + <h3> + {{ column.name }} + </h3> + <button v-if="column.sortable" @click.prevent="changeColumnSortMode(index)"> + <SortVerticalIcon + v-show="sortState[index] === 'none'" + :color="textColor" + :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" + /> + <SortDownIcon + v-show="sortState[index] === 'down'" + :color="textColor" + :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" + /> + <SortUpIcon + v-show="sortState[index] === 'up'" + :color="textColor" + :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" + /> + </button> + <button v-if="column.filterable" @click.prevent=""> + <FilterIcon + :color="textColor" + :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" + /> + </button> + </div> + <div v-if="!center"></div> </div> </th> </tr> @@ -59,7 +114,7 @@ const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, S }" v-for="item of row" :key="item.value" - style="padding: 5px" + :style="`padding: 5px; text-align: ${center ? 'center' : 'start'}`" > {{ item.value }} </td> @@ -90,9 +145,15 @@ tr::after { } .columnFlex { display: flex; - gap: v-bind(gap); font-weight: bold; } +.columnGap { + gap: v-bind(gap); +} +.columnHeader-container { + display: flex; + gap: 10px; +} .tableLines { border-top: 1px solid v-bind(secondaryColor); border-right: 1px solid v-bind(secondaryColor); diff --git a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts index 362f38e..a17df1c 100644 --- a/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts +++ b/src/stories/components/ToggleSwitch/ToggleSwitch.stories.ts @@ -70,7 +70,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { active: false, }, diff --git a/src/stories/components/TreeList/TreeList.stories.ts b/src/stories/components/TreeList/TreeList.stories.ts index a1eb0b5..bc3e1d3 100644 --- a/src/stories/components/TreeList/TreeList.stories.ts +++ b/src/stories/components/TreeList/TreeList.stories.ts @@ -68,7 +68,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Primary: Story = { +export const Simple: Story = { args: { items: [ { diff --git a/src/stories/icons/Mono/SortDownIcon.vue b/src/stories/icons/Mono/SortDownIcon.vue new file mode 100644 index 0000000..f23751b --- /dev/null +++ b/src/stories/icons/Mono/SortDownIcon.vue @@ -0,0 +1,30 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="`${size ?? 40}px`" + :height="`${size ?? 40}px`" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path d="M4 16L13 16" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path d="M6 11H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path d="M8 6L13 6" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path + d="M17 4L17 20L20 16" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + </svg> +</template> + +<style scoped></style> diff --git a/src/stories/icons/Mono/SortHorizontalIcon.vue b/src/stories/icons/Mono/SortHorizontalIcon.vue new file mode 100644 index 0000000..0d19cb5 --- /dev/null +++ b/src/stories/icons/Mono/SortHorizontalIcon.vue @@ -0,0 +1,34 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="`${size ?? 40}px`" + :height="`${size ?? 40}px`" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M18 8L6 8M6 8L10.125 4M6 8L10.125 12" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + <path + d="M6 16L18 16M18 16L13.875 12M18 16L13.875 20" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + </svg> +</template> + +<style scoped></style> diff --git a/src/stories/icons/Mono/SortUpIcon.vue b/src/stories/icons/Mono/SortUpIcon.vue new file mode 100644 index 0000000..93e9e77 --- /dev/null +++ b/src/stories/icons/Mono/SortUpIcon.vue @@ -0,0 +1,30 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="`${size ?? 40}px`" + :height="`${size ?? 40}px`" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path d="M4 8H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path d="M6 13H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path d="M8 18H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> + <path + d="M17 20V4L20 8" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + </svg> +</template> + +<style scoped></style> diff --git a/src/stories/icons/Mono/SortVerticalIcon.vue b/src/stories/icons/Mono/SortVerticalIcon.vue new file mode 100644 index 0000000..aaeb511 --- /dev/null +++ b/src/stories/icons/Mono/SortVerticalIcon.vue @@ -0,0 +1,34 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="`${size ?? 40}px`" + :height="`${size ?? 40}px`" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M16 18L16 6M16 6L20 10.125M16 6L12 10.125" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + <path + d="M8 6L8 18M8 18L12 13.875M8 18L4 13.875" + :stroke="color ?? '#000000'" + stroke-width="1.5" + stroke-linecap="round" + stroke-linejoin="round" + /> + </svg> +</template> + +<style scoped></style> -- GitLab From aed1cb4c30bdd75d250ed33e654d98b03475b654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Sat, 28 Dec 2024 15:26:16 +0500 Subject: [PATCH 09/32] fix: sort icons --- src/stories/icons/Mono/SortDownIcon.vue | 23 +++++++------- src/stories/icons/Mono/SortHorizontalIcon.vue | 18 +++-------- src/stories/icons/Mono/SortUpIcon.vue | 31 ++++++++++++------- src/stories/icons/Mono/SortVerticalIcon.vue | 14 +++------ 4 files changed, 39 insertions(+), 47 deletions(-) diff --git a/src/stories/icons/Mono/SortDownIcon.vue b/src/stories/icons/Mono/SortDownIcon.vue index f23751b..84f9f2f 100644 --- a/src/stories/icons/Mono/SortDownIcon.vue +++ b/src/stories/icons/Mono/SortDownIcon.vue @@ -11,19 +11,20 @@ defineProps<Props>(); :width="`${size ?? 40}px`" :height="`${size ?? 40}px`" viewBox="0 0 24 24" - fill="none" xmlns="http://www.w3.org/2000/svg" + aria-labelledby="sortDownIconTitle" + :stroke="color ?? '#000000'" + stroke-width="2.4" + stroke-linecap="round" + stroke-linejoin="round" + fill="none" + :color="color ?? '#000000'" > - <path d="M4 16L13 16" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path d="M6 11H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path d="M8 6L13 6" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path - d="M17 4L17 20L20 16" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" - /> + <path d="M11 14H16" /> + <path d="M11 9H19" /> + <path d="M11 4H22" /> + <path d="M9 18L5 22L1 18" /> + <path d="M5 2V20" /> </svg> </template> diff --git a/src/stories/icons/Mono/SortHorizontalIcon.vue b/src/stories/icons/Mono/SortHorizontalIcon.vue index 0d19cb5..3f78920 100644 --- a/src/stories/icons/Mono/SortHorizontalIcon.vue +++ b/src/stories/icons/Mono/SortHorizontalIcon.vue @@ -8,25 +8,15 @@ defineProps<Props>(); <template> <svg + :fill="color ?? '#000000'" :width="`${size ?? 40}px`" :height="`${size ?? 40}px`" - viewBox="0 0 24 24" - fill="none" + viewBox="0 0 256 256" + id="Flat" xmlns="http://www.w3.org/2000/svg" > <path - d="M18 8L6 8M6 8L10.125 4M6 8L10.125 12" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" - /> - <path - d="M6 16L18 16M18 16L13.875 12M18 16L13.875 20" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" + d="M216.53955,184.42529c-.019.01953-.03467.04053-.0542.06006l-32,32a12.0001,12.0001,0,0,1-16.9707-16.9707L179.0293,188H48a12,12,0,0,1,0-24H179.0293l-11.51465-11.51465a12.0001,12.0001,0,0,1,16.9707-16.9707l32,32c.01953.01953.03516.04053.0542.06006.2583.26123.50586.5332.73926.81738.12109.14746.22656.30273.33935.4541.12061.16211.2461.31983.35889.48828.11914.17823.22315.3628.332.54639.09082.15283.1875.30225.272.46.09864.18506.18311.375.27149.56445.07861.166.16162.32959.23242.5.07617.18409.1377.37159.2041.55811.06543.1831.13574.36328.19239.5498.05712.18848.09912.38037.14648.5708.04736.189.10059.37549.13916.56836.04395.22071.07031.44385.10156.66651.02344.165.05518.32763.07129.49463a12.042,12.042,0,0,1,0,2.373c-.01611.167-.04785.32959-.07129.49463-.03125.22266-.05761.4458-.10156.66651-.03857.19287-.0918.37939-.13916.56836-.04736.19043-.08936.38232-.14648.5708-.05665.18652-.127.3667-.19239.5498-.0664.18652-.12793.374-.2041.55811-.0708.17041-.15381.334-.23242.5-.08838.18945-.17285.37939-.27149.56445-.08447.15771-.18115.30713-.272.46-.10888.18359-.21289.36816-.332.54639-.11279.16845-.23828.32617-.35889.48828-.11279.15137-.21826.30664-.33935.4541C217.04541,183.89209,216.79785,184.16406,216.53955,184.42529ZM38.38184,72.84619c-.12061.16211-.2461.31983-.35889.48828-.11914.17823-.22315.3628-.332.54639-.09082.15283-.1875.30225-.272.46-.09913.18555-.1836.37647-.27247.56641-.07812.16552-.16064.32812-.23095.49756-.07666.18457-.13867.373-.20508.56054-.06543.18213-.13525.36182-.1919.54785-.05712.18848-.09912.38037-.14648.5708-.04736.189-.10059.37549-.13916.56836-.04395.22071-.07031.44385-.10156.66651-.02344.165-.05518.32763-.07129.49463a12.042,12.042,0,0,0,0,2.373c.01611.167.04785.32959.07129.49463.03125.22266.05761.4458.10156.66651.03857.19287.0918.37939.13916.56836.04736.19043.08936.38232.14648.5708.05665.186.12647.36572.1919.54785.06641.1875.12842.376.20508.56054.07031.16944.15283.332.231.49756.08887.18994.17334.38086.27247.56641.08447.15771.18115.30713.272.46.10888.18359.21289.36816.332.54639.11279.16845.23828.32617.35889.48828.11279.15137.21826.30664.33935.4541.2334.28418.481.55615.73926.81738.019.01953.03467.04053.0542.06006l32,32a12.0001,12.0001,0,0,0,16.9707-16.9707L76.9707,92H208a12,12,0,0,0,0-24H76.9707L88.48535,56.48535a12.0001,12.0001,0,0,0-16.9707-16.9707l-32,32c-.01953.01953-.03516.04053-.0542.06006-.2583.26123-.50586.5332-.73926.81738C38.6001,72.53955,38.49463,72.69482,38.38184,72.84619Z" /> </svg> </template> diff --git a/src/stories/icons/Mono/SortUpIcon.vue b/src/stories/icons/Mono/SortUpIcon.vue index 93e9e77..2beb85a 100644 --- a/src/stories/icons/Mono/SortUpIcon.vue +++ b/src/stories/icons/Mono/SortUpIcon.vue @@ -10,20 +10,27 @@ defineProps<Props>(); <svg :width="`${size ?? 40}px`" :height="`${size ?? 40}px`" - viewBox="0 0 24 24" - fill="none" + viewBox="0 0 24.00 24.00" xmlns="http://www.w3.org/2000/svg" + aria-labelledby="sortUpIconTitle" + :stroke="color ?? '#000000'" + stroke-width="2.4" + stroke-linecap="round" + stroke-linejoin="round" + fill="none" + :color="color ?? '#000000'" > - <path d="M4 8H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path d="M6 13H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path d="M8 18H13" :stroke="color ?? '#000000'" stroke-width="1.5" stroke-linecap="round" /> - <path - d="M17 20V4L20 8" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" - /> + <g id="SVGRepo_bgCarrier" stroke-width="0" /> + + <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke="#CCCCCC" stroke-width="1" /> + + <g id="SVGRepo_iconCarrier"> + <path d="M11 10H16" /> + <path d="M11 15H19" /> + <path d="M11 20H22" /> + <path d="M1 6L5 2L9 6" /> + <path d="M5 22L5 4" /> + </g> </svg> </template> diff --git a/src/stories/icons/Mono/SortVerticalIcon.vue b/src/stories/icons/Mono/SortVerticalIcon.vue index aaeb511..08f83b3 100644 --- a/src/stories/icons/Mono/SortVerticalIcon.vue +++ b/src/stories/icons/Mono/SortVerticalIcon.vue @@ -15,18 +15,12 @@ defineProps<Props>(); xmlns="http://www.w3.org/2000/svg" > <path - d="M16 18L16 6M16 6L20 10.125M16 6L12 10.125" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" + d="M11.1924 5.65685C11.5829 5.26633 11.5829 4.63316 11.1924 4.24264L8.36397 1.41421C8.30576 1.356 8.24485 1.30212 8.18165 1.25259C7.50286 0.720577 6.55947 0.689024 5.84929 1.15793C5.73839 1.23115 5.63317 1.31658 5.53554 1.41421L2.70711 4.24264C2.31658 4.63316 2.31658 5.26633 2.70711 5.65685C3.09763 6.04738 3.7308 6.04738 4.12132 5.65685L6.00003 3.77814V18C6.00003 18.5523 6.44775 19 7.00003 19C7.55232 19 8.00003 18.5523 8.00003 18V3.8787L9.77818 5.65685C10.1687 6.04737 10.8019 6.04737 11.1924 5.65685Z" + :fill="color ?? '#000000'" /> <path - d="M8 6L8 18M8 18L12 13.875M8 18L4 13.875" - :stroke="color ?? '#000000'" - stroke-width="1.5" - stroke-linecap="round" - stroke-linejoin="round" + d="M12.7071 18.3432C12.3166 18.7337 12.3166 19.3668 12.7071 19.7574L15.5355 22.5858C15.6332 22.6834 15.7384 22.7689 15.8493 22.8421C16.6256 23.3546 17.6805 23.2692 18.364 22.5858L21.1924 19.7574C21.5829 19.3668 21.5829 18.7337 21.1924 18.3432C20.8019 17.9526 20.1687 17.9526 19.7782 18.3432L18 20.1213L18 6C18 5.44771 17.5523 5 17 5C16.4477 5 16 5.44771 16 6L16 20.2218L14.1213 18.3432C13.7308 17.9526 13.0976 17.9526 12.7071 18.3432Z" + :fill="color ?? '#000000'" /> </svg> </template> -- GitLab From 2631a6b6bc3c0cb99536f115c2d1e4db68e17633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Sat, 28 Dec 2024 15:27:49 +0500 Subject: [PATCH 10/32] feat: add sort for Table (only simple) --- src/common/interfaces/componentsProp.ts | 2 + src/common/interfaces/componentsProps.ts | 11 +-- src/stories/components/Table/Table.stories.ts | 15 ++++ src/stories/components/Table/Table.vue | 75 ++++++++++++++----- 4 files changed, 81 insertions(+), 22 deletions(-) diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 7ada68d..269998a 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -6,6 +6,7 @@ export interface ITableColumn { editable?: boolean; filterable?: boolean; sortable?: boolean; + initSort?: 'up' | 'down' | 'none'; padding?: string; } @@ -16,6 +17,7 @@ export interface ITableItem { export type TTableColumnType = | 'checkbox' + | 'number' | 'text' | 'date' | 'tag' diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 8f1d216..d85c97f 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -22,15 +22,16 @@ import type { export interface ITableProps { columns: ITableColumn[]; data: ITableItem[][]; - theme?: TThemeColor; - textColor?: TThemeColor; - darknessTheme?: TDarkness; - darknessTextColor?: TDarkness; + multipleSort?: boolean; gap?: string; - fontSize?: string; showAllLines?: boolean; stripedRows?: boolean; center?: boolean; + fontSize?: string; + theme?: TThemeColor; + textColor?: TThemeColor; + darknessTheme?: TDarkness; + darknessTextColor?: TDarkness; } export interface ITLProps { diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 7d51e72..1bca7e8 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -21,6 +21,7 @@ const meta: Meta = { showAllLines: { control: 'boolean' }, stripedRows: { control: 'boolean' }, center: { control: 'boolean' }, + multipleSort: { control: 'boolean' }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessTextColor: { control: 'select', @@ -200,6 +201,20 @@ export const Full: Story = { value: 'Russia', }, ], + [ + { + value: 'КÑюша', + }, + { + value: '32', + }, + { + value: 'Backend', + }, + { + value: 'Russia', + }, + ], ], fontSize: '20px', diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 825cf7c..2637655 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import type { ITableProps } from '@interfaces/componentsProps'; -import { computed, ref } from 'vue'; +import { computed, ref, watch } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; import type { ITableItem } from '@interfaces/componentsProp'; import FilterIcon from '@stories/icons/Mono/FilterIcon.vue'; @@ -14,10 +14,10 @@ const props = withDefaults(defineProps<ITableProps>(), { darknessTheme: '500', fontSize: '16px', }); +const columns = ref(props.columns); +watch(props.columns, () => (columns.value = props.columns)); const gap = computed(() => props.gap); -// const emit = defineEmits(['']); -const data = defineModel('data') as ITableItem[][]; -// watch(, () => {}); +const data = defineModel<ITableItem[][]>('data'); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => props.textColor @@ -27,20 +27,57 @@ const color = computed(() => const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, String(+props.darknessTheme + 300))); -const sortState = ref<string[]>( - (() => { - const columns = props.columns; - const result = []; - for (const column of columns) { - result.push(column.sortable ? 'none' : ''); - } - return result; - })(), -); +// ['', 'up', 'none', '', 'none', ...] +const sortState = computed<string[]>(() => { + const result = []; + for (const column of columns.value) { + result.push(column.sortable ? (column.initSort ?? 'none') : ''); + } + return result; +}); + +const sortStateActive = ref([]); +const rows = computed<ITableItem[][]>(() => { + // ['up', 'down', ...] + const rows = [...data.value]; + if (!sortStateActive.value.length) return rows; + + if (props.multipleSort) { + // let indexColumn = sortState.value.findIndex((state) => state && state !== 'none'); + // let lastColumnIndexSorted = indexColumn; + // console.log('indexColumn: ', indexColumn); + // for (const sortItem of sortStateActive.value) { + // rows.sort((a, b) => + // sortItem.split('$')[1] === 'down' + // ? a[indexColumn].value.localeCompare(b[indexColumn].value) + // : b[indexColumn].value.localeCompare(a[indexColumn].value), + // ); + // indexColumn = sortState.value.findIndex( + // (state, index) => state && state !== 'none' && index !== lastColumnIndexSorted, + // ); + // lastColumnIndexSorted = indexColumn; + // } + // return rows; + } else { + const index = sortStateActive.value[0]; + const value = sortStateActive.value[1]; + return rows.sort((a, b) => + value === 'down' ? a[index].value.localeCompare(b[index].value) : b[index].value.localeCompare(a[index].value), + ); + } +}); const changeColumnSortMode = (index: number) => { const cur = sortState.value[index]; - sortState.value[index] = cur === 'none' ? 'down' : cur === 'down' ? 'up' : 'none'; + const newValue = cur === 'none' ? 'down' : cur === 'down' ? 'up' : 'none'; + if (cur === 'up') { + sortStateActive.value = []; + } else { + sortStateActive.value[0] = index; + sortStateActive.value[1] = newValue; + } + if (!props.multipleSort) columns.value.forEach((column) => (column.initSort = 'none')); + columns.value[index].initSort = newValue; }; </script> @@ -76,7 +113,11 @@ const changeColumnSortMode = (index: number) => { <h3> {{ column.name }} </h3> - <button v-if="column.sortable" @click.prevent="changeColumnSortMode(index)"> + <button + v-if="column.sortable" + @click.prevent="changeColumnSortMode(index)" + style="min-width: 20px; min-height: 20px" + > <SortVerticalIcon v-show="sortState[index] === 'none'" :color="textColor" @@ -106,7 +147,7 @@ const changeColumnSortMode = (index: number) => { </tr> </thead> <tbody> - <tr v-for="(row, index) of data" :key="index"> + <tr v-for="(row, index) of rows" :key="index"> <td :class="{ leftBorder: showAllLines, -- GitLab From 209112d09ec612fca3f4f6e1376ed1beac558922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Wed, 8 Jan 2025 20:53:35 +0500 Subject: [PATCH 11/32] feat: almost ended with Table filter but with bugs and add Popup logics for buttons --- package.json | 17 +- src/App.vue | 200 +---------- src/Playground.vue | 318 ++++++++++++++++++ src/common/constants/icons.ts | 4 +- src/common/interfaces/componentsProps.ts | 3 + src/stories/components/Popup/Popup.vue | 61 ++-- src/stories/components/Table/Table.stories.ts | 4 - src/stories/components/Table/Table.vue | 165 +++++---- src/stories/components/Table/helpers.ts | 46 +++ .../{CheckmarkIcon.vue => CheckMarkIcon.vue} | 0 yarn.lock | 263 +++++++-------- 11 files changed, 651 insertions(+), 430 deletions(-) create mode 100644 src/Playground.vue create mode 100644 src/stories/components/Table/helpers.ts rename src/stories/icons/Mono/{CheckmarkIcon.vue => CheckMarkIcon.vue} (100%) diff --git a/package.json b/package.json index 5c66f1f..d29dba7 100644 --- a/package.json +++ b/package.json @@ -19,14 +19,13 @@ "vue": "^3.5.12" }, "devDependencies": { - "@chromatic-com/storybook": "3.2.2", - "@storybook/addon-essentials": "8.4.5", - "@storybook/addon-interactions": "8.4.5", - "@storybook/addon-onboarding": "8.4.5", - "@storybook/blocks": "8.4.5", - "@storybook/test": "8.4.5", - "@storybook/vue3": "8.4.5", - "@storybook/vue3-vite": "8.4.5", + "@chromatic-com/storybook": "^3.2.3", + "@storybook/addon-essentials": "^8.4.7", + "@storybook/addon-interactions": "^8.4.7", + "@storybook/blocks": "^8.4.7", + "@storybook/test": "^8.4.7", + "@storybook/vue3": "^8.4.7", + "@storybook/vue3-vite": "^8.4.7", "@tsconfig/node22": "^22.0.0", "@types/jsdom": "^21.1.7", "@types/node": "^22.10.1", @@ -42,7 +41,7 @@ "jsdom": "^25.0.1", "npm-run-all2": "^7.0.1", "prettier": "^3.3.3", - "storybook": "8.4.5", + "storybook": "^8.4.7", "typescript": "~5.6.3", "vite": "^5.4.10", "vite-plugin-vue-devtools": "^7.5.4", diff --git a/src/App.vue b/src/App.vue index 12b543a..8d91ab7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -34,7 +34,7 @@ import ChartLineIcon from '@stories/icons/Mono/ChartLineIcon.vue'; import ChartPieIcon from '@stories/icons/Mono/ChartPieIcon.vue'; import ChatIcon from '@stories/icons/Mono/ChatIcon.vue'; import ChatWritingIcon from '@stories/icons/Mono/ChatWritingIcon.vue'; -import CheckmarkIcon from '@stories/icons/Mono/CheckmarkIcon.vue'; +import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; import ChemistryFlaskIcon from '@stories/icons/Mono/ChemistryFlaskIcon.vue'; import CodeIcon from '@stories/icons/Mono/CodeIcon.vue'; import CoinsIcon from '@stories/icons/Mono/CoinsIcon.vue'; @@ -107,15 +107,8 @@ import TableIcon from '@stories/icons/Mono/TableIcon.vue'; import TrashIcon from '@stories/icons/Mono/TrashIcon.vue'; import UserIcon from '@stories/icons/Mono/UserIcon.vue'; import ArrowsVerticalIcon from '@stories/icons/Mono/ArrowsVerticalIcon.vue'; -import SelectButton from '@stories/components/SelectButton/SelectButton.vue'; -import ToggleSwitch from '@stories/components/ToggleSwitch/ToggleSwitch.vue'; import TriangleIcon from '@stories/icons/Mono/TriangleIcon.vue'; -import Button from '@stories/components/Button/Button.vue'; -import Slider from '@stories/components/Slider/Slider.vue'; -import type { ISBOption, ISliderOptions } from '@interfaces/componentsProp'; -import Modal from '@stories/components/Modal/Modal.vue'; -import MenuDial from '@stories/components/MenuDial/MenuDial.vue'; -import Popup from '@stories/components/Popup/Popup.vue'; +import Playground from '@/Playground.vue'; const gentleIcons = { Age18Icon, @@ -152,7 +145,7 @@ const gentleIcons = { ChartPieIcon, ChatIcon, ChatWritingIcon, - CheckmarkIcon, + CheckMarkIcon, ChemistryFlaskIcon, CodeIcon, CoinsIcon, @@ -226,74 +219,6 @@ const gentleIcons = { TriangleIcon, UserIcon, }; -const visibleDrawer = ref(false); -const sliderOptions: ISliderOptions[] = [ - { - label: 0, - value: 0, - color: 'red', - }, - { - label: 2, - value: 2, - color: 'orange', - }, - { - label: 4, - value: 4, - color: 'yellow', - }, - { - label: 6, - value: 6, - color: 'green', - }, - { - label: 8, - value: 8, - color: 'sky', - }, - { - label: 10, - value: 10, - color: 'purple', - }, - { - label: 12, - value: 12, - color: 'purple', - }, - { - label: 14, - value: 14, - color: 'purple', - }, - { - label: 16, - value: 16, - color: 'purple', - }, - { - label: 18, - }, -]; -const options: ISBOption[] = [ - { - label: 'First', - textStyle: 'bold', - iconPosition: 'top', - }, - { - label: 'Second', - }, -]; -const visible = ref(false); -const onClose = () => console.log('close!'); -const value = ref(); -const active = ref(false); -const popupActive = ref(false); -const popupActive2 = ref(false); -const sliderValue = ref(1); </script> <template> @@ -305,112 +230,7 @@ const sliderValue = ref(1); <span class="iconName">{{ icon[0].slice(0, -4) }}</span> </li> </ul> - <h2 class="title gradient-text">Playground</h2> - <button class="testButton" @click="visibleDrawer = !visibleDrawer">Ðажми менÑ</button> - <div class="hui" style="width: 500px; height: 500px; background-color: gray"></div> - <Popup v-model:active="popupActive" parentSelector=".hui" theme="sky"> - <Button - @click=" - () => { - popupActive = false; - visible = true; - } - " - label="Открыть модальное окно" - /> - </Popup> - <Popup v-model:active="popupActive2" theme="sky" - >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit - voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero! - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit - voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut - vero!</Popup - > - - <Modal v-model:visible="visible" theme="red" @onClose="onClose" - ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque - explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu - nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? Lorem ipsum dolor sit - amet, consectetur adipisicing elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima - necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas - quisquam repellat saepe temporibus?</Modal - > - <MenuDial - v-model:active="active" - theme="sky" - direction="right" - darknessTheme="600" - :items="[ - { - label: 'font-family', - theme: 'green', - color: 'red', - darknessColor: '500', - link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', - linkBlank: true, - textStyle: 'bold', - }, - { - label: 'Second', - theme: 'red', - color: 'sky', - darknessColor: '500', - darknessTheme: '600', - textStyle: 'italic', - }, - ]" - > - <template #1IconBefore> - <AnchorLinkIcon size="20" color="white" /> - </template> - <template #2IconBefore> - <CrossIcon color="white" /> - </template> - <template #2IconAfter> - <CrossIcon color="white" /> - </template> - </MenuDial> - <Slider - v-model:value="sliderValue" - :options="sliderOptions" - width="400" - min="0" - max="18" - step="2" - backgroundColor="black" - theme="blue" - isSmooth - /> - <Button @click="visible = true" textColor="white" theme="sky" label="I'm a button"></Button> - <SelectButton :options="options" size="large" v-model:value="value"> - <template #1Icon> - <TrashIcon /> - </template> - </SelectButton> - <ToggleSwitch /> - <Drawer v-model:visible="visibleDrawer" theme="sky" :dismissible="false" closeIcon="CropIcon"> - <template #header>Ðто - Drawer</template> - <p> - pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur - adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga - fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, - consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto - molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor - sit amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi illum impedit - iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, rerum suscipit. Lorem ipsum - dolor sit amet, consectetur adipisicing elit. Autem modi ratione reiciendis. Cupiditate deserunt eaque eum - labore qui rem? Consequatur corporis, dolorem doloremque eveniet facilis obcaecati quasi repellat vel velit. - pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur - adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga - fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, - consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto - molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor - sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque - explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu - nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? - </p> - <template #footer> pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template></Drawer - > + <Playground /> </main> </template> @@ -448,16 +268,4 @@ const sliderValue = ref(1); color: green; font-style: italic; } -.testButton { - background-color: red; - margin-bottom: 30px; - color: white; - padding: 10px; - border-radius: 5px; -} -.gradient-text { - background: linear-gradient(to right, hotpink, yellow, dodgerblue); - background-clip: text; - color: transparent; -} </style> diff --git a/src/Playground.vue b/src/Playground.vue new file mode 100644 index 0000000..d00a069 --- /dev/null +++ b/src/Playground.vue @@ -0,0 +1,318 @@ +<script setup lang="ts"> +import Modal from '@stories/components/Modal/Modal.vue'; +import ToggleSwitch from '@stories/components/ToggleSwitch/ToggleSwitch.vue'; +import AnchorLinkIcon from '@stories/icons/Mono/AnchorLinkIcon.vue'; +import SelectButton from '@stories/components/SelectButton/SelectButton.vue'; +import Drawer from '@stories/components/Drawer/Drawer.vue'; +import Slider from '@stories/components/Slider/Slider.vue'; +import TrashIcon from '@stories/icons/Mono/TrashIcon.vue'; +import CrossIcon from '@stories/icons/Mono/CrossIcon.vue'; +import Button from '@stories/components/Button/Button.vue'; +import MenuDial from '@stories/components/MenuDial/MenuDial.vue'; +import Popup from '@stories/components/Popup/Popup.vue'; +import Table from '@stories/components/Table/Table.vue'; +import { ref } from 'vue'; +import type { ISBOption, ISliderOptions, ITableColumn } from '@interfaces/componentsProp'; + +const visibleDrawer = ref(false); +const sliderOptions: ISliderOptions[] = [ + { + label: 0, + value: 0, + color: 'red', + }, + { + label: 2, + value: 2, + color: 'orange', + }, + { + label: 4, + value: 4, + color: 'yellow', + }, + { + label: 6, + value: 6, + color: 'green', + }, + { + label: 8, + value: 8, + color: 'sky', + }, + { + label: 10, + value: 10, + color: 'purple', + }, + { + label: 12, + value: 12, + color: 'purple', + }, + { + label: 14, + value: 14, + color: 'purple', + }, + { + label: 16, + value: 16, + color: 'purple', + }, + { + label: 18, + }, +]; +const options: ISBOption[] = [ + { + label: 'First', + textStyle: 'bold', + iconPosition: 'top', + }, + { + label: 'Second', + }, +]; +const visible = ref(false); +const onClose = () => console.log('close!'); +const value = ref(); +const active = ref(false); +const popupActive = ref(false); +const popupActive2 = ref(false); +const sliderValue = ref(1); + +const tableColumns: ITableColumn[] = [ + { + name: 'Name', + type: 'text', + sortable: true, + }, + { + name: 'Age', + type: 'text', + filterable: true, + }, + { + name: 'Hobbies', + type: 'text', + padding: '30px', + filterable: true, + sortable: true, + }, + { + name: 'Country', + type: 'text', + }, +]; +const tableData = [ + [ + { + value: 'Pete', + }, + { + value: '30', + }, + { + value: 'Chess', + }, + { + value: 'USA', + }, + ], + [ + { + value: 'John', + }, + { + value: '25', + }, + { + value: 'Football', + }, + { + value: 'Canada', + }, + ], + [ + { + value: 'Дима', + }, + { + value: '22', + }, + { + value: 'Frontend', + }, + { + value: 'Russia', + }, + ], + [ + { + value: 'КÑюша', + }, + { + value: '32', + }, + { + value: 'Frontend', + }, + { + value: 'Russia', + }, + ], + [ + { + value: 'КÑюша', + }, + { + value: '32', + }, + { + value: 'Backend', + }, + { + value: 'Russia', + }, + ], +]; +</script> + +<template> + <h2 class="title gradient-text">Playground</h2> + <Table + show-all-lines + :columns="tableColumns" + darknessTextColor="500" + :data="tableData" + fontSize="20px" + theme="black" + stripedRows + ></Table> + <button class="testButton" @click="visibleDrawer = !visibleDrawer">Ðажми менÑ</button> + <div class="hui" style="width: 500px; height: 500px; background-color: gray"></div> + <Popup v-model:active="popupActive" parentSelector=".hui" theme="sky"> + <Button + @click=" + () => { + popupActive = false; + visible = true; + } + " + label="Открыть модальное окно" + /> + </Popup> + <Popup v-model:active="popupActive2" theme="sky" + >Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit + voluptas. Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero! Lorem + ipsum dolor sit amet, consectetur adipisicing elit. Amet fugiat harum maiores placeat soluta, vel velit voluptas. + Accusamus aut, error et minima neque praesentium, ratione, reprehenderit repudiandae saepe ut vero!</Popup + > + + <Modal v-model:visible="visible" theme="red" @onClose="onClose" + ><template #header>huuuuuuuuuuui</template>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque + explicabo, facere fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu + nemo nesciunt nihil officia, pariatur praesentium quas quisquam repellat saepe temporibus? Lorem ipsum dolor sit + amet, consectetur adipisicing elit. Eaque explicabo, facere fuga hic id impedit magnam maiores minima + necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil officia, pariatur praesentium quas quisquam + repellat saepe temporibus?</Modal + > + <MenuDial + v-model:active="active" + theme="sky" + direction="right" + darknessTheme="600" + :items="[ + { + label: 'font-family', + theme: 'green', + color: 'red', + darknessColor: '500', + link: 'https://developer.mozilla.org/en-US/docs/Web/CSS/font-family', + linkBlank: true, + textStyle: 'bold', + }, + { + label: 'Second', + theme: 'red', + color: 'sky', + darknessColor: '500', + darknessTheme: '600', + textStyle: 'italic', + }, + ]" + > + <template #1IconBefore> + <AnchorLinkIcon size="20" color="white" /> + </template> + <template #2IconBefore> + <CrossIcon color="white" /> + </template> + <template #2IconAfter> + <CrossIcon color="white" /> + </template> + </MenuDial> + <Slider + v-model:value="sliderValue" + :options="sliderOptions" + width="400" + min="0" + max="18" + step="2" + backgroundColor="black" + theme="blue" + isSmooth + /> + <Button @click="visible = true" textColor="white" theme="sky" label="I'm a button"></Button> + <SelectButton :options="options" size="large" v-model:value="value"> + <template #1Icon> + <TrashIcon /> + </template> + </SelectButton> + <ToggleSwitch /> + <Drawer v-model:visible="visibleDrawer" theme="sky" :dismissible="false" closeIcon="CropIcon"> + <template #header>Ðто - Drawer</template> + <p> + pizdwertyuki lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga + fugit, modi, nam necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto + molestiae odio optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Ducimus expedita laboriosam nesciunt voluptatum! Ab animi illum impedit + iusto libero magni maxime molestias nisi nobis possimus provident quia repellat, rerum suscipit. Lorem ipsum dolor + sit amet, consectetur adipisicing elit. Autem modi ratione reiciendis. Cupiditate deserunt eaque eum labore qui + rem? Consequatur corporis, dolorem doloremque eveniet facilis obcaecati quasi repellat vel velit. pizdwertyuki + lokl,kmjhgfwewesrdty ukilo,kmjngeartyukikdhgfgjhklj.,kga Lorem ipsum dolor sit amet, consectetur adipisicing elit. + Amet deleniti, esse in ipsam quis sapiente tempore voluptas. Aperiam dignissimos enim, fuga fugit, modi, nam + necessitatibus numquam obcaecati omnis recusandae voluptatibus! Lorem ipsum dolor sit amet, consectetur + adipisicing elit. Atque blanditiis consectetur cum delectus ducimus eius est hic incidunt iusto molestiae odio + optio reiciendis reprehenderit saepe tempora vel, veniam veritatis voluptates. Lorem ipsum dolor sit amet, + consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque explicabo, facere + fuga hic id impedit magnam maiores minima necessitatibus, nemo nesciunt nihil officia, pariatu nemo nesciunt nihil + officia, pariatur praesentium quas quisquam repellat saepe temporibus? + </p> + <template #footer> pizdwertyukilokl,kmjhgfw ewesrdtyukilo,kmjng eartyukikdhgfgjhklj.,kga</template></Drawer + > +</template> + +<style scoped> +.title { + font-size: 48px; + width: max-content; + margin: 0 auto 40px auto; +} +.testButton { + background-color: red; + margin-bottom: 30px; + color: white; + padding: 10px; + border-radius: 5px; +} +.gradient-text { + background: linear-gradient(to right, hotpink, yellow, dodgerblue); + background-clip: text; + color: transparent; +} +</style> diff --git a/src/common/constants/icons.ts b/src/common/constants/icons.ts index 83bd219..250f8fe 100644 --- a/src/common/constants/icons.ts +++ b/src/common/constants/icons.ts @@ -36,7 +36,7 @@ import ChatIcon from '@stories/icons/Mono/ChatIcon.vue'; import CrossCircleIcon from '@stories/icons/Mono/CrossCircleIcon.vue'; import CropIcon from '@stories/icons/Mono/CropIcon.vue'; import ChatWritingIcon from '@stories/icons/Mono/ChatWritingIcon.vue'; -import CheckmarkIcon from '@stories/icons/Mono/CheckmarkIcon.vue'; +import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; import ChemistryFlaskIcon from '@stories/icons/Mono/ChemistryFlaskIcon.vue'; import CodeIcon from '@stories/icons/Mono/CodeIcon.vue'; import CoinsIcon from '@stories/icons/Mono/CoinsIcon.vue'; @@ -143,7 +143,7 @@ export const iconsSet: Record<string, Component> = { ChartPieIcon: ChartPieIcon, ChatIcon: ChatIcon, ChatWritingIcon: ChatWritingIcon, - CheckmarkIcon: CheckmarkIcon, + CheckMarkIcon: CheckMarkIcon, ChemistryFlaskIcon: ChemistryFlaskIcon, CodeIcon: CodeIcon, CoinsIcon: CoinsIcon, diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index d85c97f..e509e0d 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -116,6 +116,9 @@ export interface IPopupProps { maxWidth?: string; maxHeight?: string; padding?: string; + buttonMenu?: boolean; + top?: number; + left?: number; } export interface ISBProps { diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index e1e154d..839e362 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import type { IPopupProps } from '@interfaces/componentsProps'; -import { computed, type Ref, ref } from 'vue'; +import { computed, type Ref, ref, watch } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor } from '@helpers/common'; import type { CustomWindow } from '@interfaces/common'; @@ -21,26 +21,48 @@ const top = ref(); const left = ref(); const isOnContainerClick = ref(); -const container = document.querySelector(props.parentSelector); -if (container) { - container.addEventListener('pointerdown', (event: Event) => { - const e = event as PointerEvent; - if (e.button === 2) { - isOnContainerClick.value = true; - if (!active.value && !(window as CustomWindow).blockPopupActions) active.value = true; - top.value = e.pageY; - left.value = e.pageX; - e.stopPropagation(); - } - }); - container.addEventListener('contextmenu', (e) => { - if (isOnContainerClick.value) e.preventDefault(); - }); +const parent = computed(() => props.parentSelector); +const container = ref(document.querySelector(props.parentSelector)); +if (!container.value) { + setTimeout(() => { + container.value = document.querySelector(props.parentSelector); + }, 0); } +watch(parent, () => (container.value = document.querySelector(props.parentSelector))); +watch( + container, + () => { + if (container.value) { + if (props.buttonMenu) { + const clientRect = container.value?.getBoundingClientRect(); + top.value = props.top ?? clientRect.top; + left.value = props.left ?? clientRect.left; + console.log('left: ', left.value); + } -document.addEventListener('pointerdown', (e) => { - if (e.button === 0 && !(window as CustomWindow).blockPopupActions) active.value = false; -}); + container.value.addEventListener('pointerdown', (event: Event) => { + const e = event as PointerEvent; + if (e.button === 2 || (props.buttonMenu && e.button === 0)) { + isOnContainerClick.value = true; + if (!props.buttonMenu) { + top.value = e.pageY; + left.value = e.pageX; + } + if (!active.value && !props.buttonMenu && !(window as CustomWindow).blockPopupActions) active.value = true; + e.stopPropagation(); + } + }); + container.value.addEventListener('contextmenu', (e) => { + if (isOnContainerClick.value) e.preventDefault(); + }); + } + + document.addEventListener('pointerdown', (e) => { + if (!props.buttonMenu && e.button === 0 && !(window as CustomWindow).blockPopupActions) active.value = false; + }); + }, + { immediate: true }, +); </script> <template> @@ -60,6 +82,7 @@ document.addEventListener('pointerdown', (e) => { <style scoped> #popup { position: absolute; + z-index: 9999; transition: opacity 0.2s ease-in-out; background-color: v-bind(themeColor); border: 1px solid v-bind(secondaryColor); diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 1bca7e8..88f4170 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -143,7 +143,6 @@ export const Full: Story = { type: 'text', }, ], - data: [ [ { @@ -216,14 +215,11 @@ export const Full: Story = { }, ], ], - fontSize: '20px', showAllLines: true, - gap: '20px', border: 'fuchsia', theme: 'black', stripedRows: true, - textColor: 'white', darknessTextColor: '500', center: true, }, diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 2637655..4669770 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -7,17 +7,43 @@ import FilterIcon from '@stories/icons/Mono/FilterIcon.vue'; import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; +import { calcColumnPadding, calcRows } from '@stories/components/Table/helpers'; +import Popup from '@stories/components/Popup/Popup.vue'; +import Button from '@stories/components/Button/Button.vue'; +import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; +import CrossIcon from '@stories/icons/Mono/CrossIcon.vue'; const props = withDefaults(defineProps<ITableProps>(), { - gap: '5px', theme: 'white', darknessTheme: '500', fontSize: '16px', }); +const data = defineModel<ITableItem[][]>('data'); + const columns = ref(props.columns); +const sortStateActive = ref<[number, string] | []>([]); +const isFilterPopup = ref<boolean>(false); +const columnToFilter = ref<number>(0); +const filterValue = ref<string>(''); + watch(props.columns, () => (columns.value = props.columns)); -const gap = computed(() => props.gap); -const data = defineModel<ITableItem[][]>('data'); + +const initGap = computed( + () => + props.gap ?? + (!props.fontSize || isNaN(+props.fontSize.slice(0, -3)) + ? '5px' + : parseInt(props.fontSize) < 20 + ? '5px' + : parseInt(props.fontSize) < 36 + ? '10px' + : '15px'), +); +const iconSize = computed(() => { + const twoLetters = props.fontSize.slice(0, -2); + const threeLetters = props.fontSize.slice(0, -3); + return !twoLetters || isNaN(+twoLetters) ? (!threeLetters || isNaN(+threeLetters) ? '16' : threeLetters) : twoLetters; +}); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => props.textColor @@ -36,36 +62,9 @@ const sortState = computed<string[]>(() => { return result; }); -const sortStateActive = ref([]); -const rows = computed<ITableItem[][]>(() => { - // ['up', 'down', ...] - const rows = [...data.value]; - if (!sortStateActive.value.length) return rows; - - if (props.multipleSort) { - // let indexColumn = sortState.value.findIndex((state) => state && state !== 'none'); - // let lastColumnIndexSorted = indexColumn; - // console.log('indexColumn: ', indexColumn); - // for (const sortItem of sortStateActive.value) { - // rows.sort((a, b) => - // sortItem.split('$')[1] === 'down' - // ? a[indexColumn].value.localeCompare(b[indexColumn].value) - // : b[indexColumn].value.localeCompare(a[indexColumn].value), - // ); - // indexColumn = sortState.value.findIndex( - // (state, index) => state && state !== 'none' && index !== lastColumnIndexSorted, - // ); - // lastColumnIndexSorted = indexColumn; - // } - // return rows; - } else { - const index = sortStateActive.value[0]; - const value = sortStateActive.value[1]; - return rows.sort((a, b) => - value === 'down' ? a[index].value.localeCompare(b[index].value) : b[index].value.localeCompare(a[index].value), - ); - } -}); +const rows = computed<ITableItem[][]>(() => + calcRows(data.value!, sortStateActive.value, props.multipleSort, columnToFilter.value, filterValue.value), +); const changeColumnSortMode = (index: number) => { const cur = sortState.value[index]; @@ -79,6 +78,24 @@ const changeColumnSortMode = (index: number) => { if (!props.multipleSort) columns.value.forEach((column) => (column.initSort = 'none')); columns.value[index].initSort = newValue; }; +const setFilter = (column: number) => { + if (columnToFilter.value === column || !isFilterPopup.value) { + isFilterPopup.value = !isFilterPopup.value; + } + if (columnToFilter.value !== column) { + columnToFilter.value = column; + } +}; +const calcLeft = (selector: string) => { + const el = document.querySelector(selector); + const table = document.querySelector('#table')!; + if (!el) return 0; + return el.getBoundingClientRect().left - table.getBoundingClientRect().left + +iconSize.value; +}; +const cancelFilter = () => { + filterValue.value = ''; + isFilterPopup.value = false; +}; </script> <template> @@ -88,6 +105,7 @@ const changeColumnSortMode = (index: number) => { tableLines: showAllLines, }" :style="`background-color: ${themeColor}; color: ${color}`" + id="table" > <thead> <tr> @@ -98,16 +116,11 @@ const changeColumnSortMode = (index: number) => { v-for="(column, index) of columns" :key="column.name" class="columnHeader" - style="padding: 5px 0 5px 5px" + :style="`padding: calc(${initGap} / 2) ${initGap}`" > <div - :style="`justify-content: ${center ? 'center' : 'start'}; padding: ${center ? `0px calc(${gap} / 2 + ${column.padding ?? '0px'} / 2)` : `0 ${column.padding ?? '0px'} 0 0`}`" - :class="[ - 'columnFlex', - { - columnGap: !center, - }, - ]" + :style="`justify-content: ${center ? 'center' : 'start'}; gap: ${center ? '0' : initGap}; padding: ${calcColumnPadding(column, props.center, initGap)}`" + class="columnFlex" > <div class="columnHeader-container"> <h3> @@ -118,32 +131,45 @@ const changeColumnSortMode = (index: number) => { @click.prevent="changeColumnSortMode(index)" style="min-width: 20px; min-height: 20px" > - <SortVerticalIcon - v-show="sortState[index] === 'none'" - :color="textColor" - :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" - /> - <SortDownIcon - v-show="sortState[index] === 'down'" - :color="textColor" - :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" - /> - <SortUpIcon - v-show="sortState[index] === 'up'" - :color="textColor" - :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" - /> + <SortVerticalIcon v-show="sortState[index] === 'none'" :color="color" :size="iconSize" /> + <SortDownIcon v-show="sortState[index] === 'down'" :color="color" :size="iconSize" /> + <SortUpIcon v-show="sortState[index] === 'up'" :color="color" :size="iconSize" /> </button> - <button v-if="column.filterable" @click.prevent=""> - <FilterIcon - :color="textColor" - :size="isNaN(+fontSize.slice(0, -2)) ? fontSize.slice(0, -3) : fontSize.slice(0, -2)" - /> + <button + v-if="column.filterable" + @pointerdown="setFilter(index)" + :id="`filter${column.name}`" + style="position: relative" + > + <FilterIcon :color="color" :size="iconSize" /> </button> </div> <div v-if="!center"></div> </div> </th> + <Popup + v-model:active="isFilterPopup" + :parentSelector="`#filter${columnToFilter}`" + buttonMenu + :theme="theme" + :top="+iconSize + 10" + :left="calcLeft(`#filter${columnToFilter}`)" + > + <input + v-model="filterValue" + type="text" + class="filterInput" + :style="`background-color: ${themeColor}; color: ${color}`" + /> + <section class="filterButtons"> + <Button iconOnly size="small" theme="green" @click.prevent="isFilterPopup = false"> + <CheckMarkIcon color="white" size="20" /> + </Button> + <Button iconOnly size="small" theme="red" @click.prevent="cancelFilter"> + <CrossIcon color="white" size="20" /> + </Button> + </section> + </Popup> </tr> </thead> <tbody> @@ -155,7 +181,7 @@ const changeColumnSortMode = (index: number) => { }" v-for="item of row" :key="item.value" - :style="`padding: 5px; text-align: ${center ? 'center' : 'start'}`" + :style="`padding: calc(${initGap} / 2) ${initGap}; text-align: ${center ? 'center' : 'start'}`" > {{ item.value }} </td> @@ -188,11 +214,9 @@ tr::after { display: flex; font-weight: bold; } -.columnGap { - gap: v-bind(gap); -} .columnHeader-container { display: flex; + align-items: center; gap: 10px; } .tableLines { @@ -205,4 +229,15 @@ tr::after { .darkRow { background-color: v-bind(darkCellColor); } +.filterInput { + width: 150px; + padding: 5px; + margin-bottom: 5px; + border: 2px solid #64748b; + border-radius: 5px; +} +.filterButtons { + display: flex; + justify-content: space-between; +} </style> diff --git a/src/stories/components/Table/helpers.ts b/src/stories/components/Table/helpers.ts new file mode 100644 index 0000000..4e5e9c1 --- /dev/null +++ b/src/stories/components/Table/helpers.ts @@ -0,0 +1,46 @@ +import type { ITableColumn, ITableItem } from '@interfaces/componentsProp'; + +export const calcRows = ( + initRows: ITableItem[][], + sortStateActive: [number, string] | [], + multipleSort: boolean, + columnToFilter: number, + filterValue: string, +) => { + // ['up', 'down', ...] + let rows = [...initRows]; + + if (filterValue) { + rows = rows.filter((row) => row[columnToFilter].value.startsWith(filterValue)); + } + + if (!sortStateActive.length) return rows; + + if (multipleSort) { + // TODO: multiple sort logic + // let indexColumn = sortState.value.findIndex((state) => state && state !== 'none'); + // let lastColumnIndexSorted = indexColumn; + // console.log('indexColumn: ', indexColumn); + // for (const sortItem of sortStateActive.value) { + // rows.sort((a, b) => + // sortItem.split('$')[1] === 'down' + // ? a[indexColumn].value.localeCompare(b[indexColumn].value) + // : b[indexColumn].value.localeCompare(a[indexColumn].value), + // ); + // indexColumn = sortState.value.findIndex( + // (state, index) => state && state !== 'none' && index !== lastColumnIndexSorted, + // ); + // lastColumnIndexSorted = indexColumn; + // } + return rows; + } else { + const index = sortStateActive[0]; + const value = sortStateActive[1]; + return rows.sort((a, b) => + value === 'down' ? a[index].value.localeCompare(b[index].value) : b[index].value.localeCompare(a[index].value), + ); + } +}; + +export const calcColumnPadding = (column: ITableColumn, center: boolean, gap: string) => + center ? `0px calc(${gap} / 2 + ${column.padding ?? '0px'} / 2)` : `0 ${column.padding ?? '0px'} 0 0`; diff --git a/src/stories/icons/Mono/CheckmarkIcon.vue b/src/stories/icons/Mono/CheckMarkIcon.vue similarity index 100% rename from src/stories/icons/Mono/CheckmarkIcon.vue rename to src/stories/icons/Mono/CheckMarkIcon.vue diff --git a/yarn.lock b/yarn.lock index c78b8cb..3c4beea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -273,10 +273,10 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@chromatic-com/storybook@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@chromatic-com/storybook/-/storybook-3.2.2.tgz#08754443de55618f802f88450c35266fd6d25db5" - integrity sha512-xmXt/GW0hAPbzNTrxYuVo43Adrtjue4DeVrsoIIEeJdGaPNNeNf+DHMlJKOBdlHmCnFUoe9R/0mLM9zUp5bKWw== +"@chromatic-com/storybook@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@chromatic-com/storybook/-/storybook-3.2.3.tgz#0f4d167ac80fcb38293a92c230c43446049b6758" + integrity sha512-3+hfANx79kIjP1qrOSLxpoAXOiYUA0S7A0WI0A24kASrv7USFNNW8etR5TjUilMb0LmqKUn3wDwUK2h6aceQ9g== dependencies: chromatic "^11.15.0" filesize "^10.0.12" @@ -796,10 +796,10 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz#67d516613c9f2fe42e2d8b78e252d0003179d92c" integrity sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug== -"@storybook/addon-actions@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.5.tgz#9224f635c78240f611eb340ba9b4248986b4763c" - integrity sha512-rbB19uiGJ61XHbKIbS1a9bUS6re5L8rT5NMNeEJhCxXRpFUPrlTXMSoD/Pgcn3ENeEMVZsm8/eCzxAVgAP3Mgg== +"@storybook/addon-actions@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.7.tgz#210c6bb5a7e17c3664c300b4b69b6243ec34b9cd" + integrity sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA== dependencies: "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" @@ -807,133 +807,126 @@ polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.5.tgz#3d93d24d0b8e77d6d5bad78bae4c8621ee27c5d1" - integrity sha512-FeMt4qHCMYDQiLGGDKiRuSPXFup2WXOaZSdL137v1W36wEL/vGkK1A5iQt1qJ8MZzL5WZQuedox8rSybFy7eow== +"@storybook/addon-backgrounds@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.7.tgz#56856bdafc5a2ba18cc19422320883c9e8f66c1c" + integrity sha512-I4/aErqtFiazcoWyKafOAm3bLpxTj6eQuH/woSbk1Yx+EzN+Dbrgx1Updy8//bsNtKkcrXETITreqHC+a57DHQ== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.5.tgz#1f6ce4044ab093aabb79fcd6537a996f2d12597f" - integrity sha512-RVTtDDuESLYc1+SJQv2kI7wzBddzAS9uoEe8P75quN6S4pC0GxAB6xirWZ2+WOcba4eHosY+PxMwuBXQfH78Ew== +"@storybook/addon-controls@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.7.tgz#0c2ace0c7056248577f08f90471f29e861b485be" + integrity sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA== dependencies: "@storybook/global" "^5.0.0" dequal "^2.0.2" ts-dedent "^2.0.0" -"@storybook/addon-docs@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.5.tgz#fa38b6c6c0ef1c8fc588b6913ddb55b67be55666" - integrity sha512-zPELIl7wXormOylVaaSpkUIuuCCxrO+OFPMKZnlENt6zSReyy0dJu4V0tzfV8FCw+V4D6Y4wrLRk/TIG951Ojw== +"@storybook/addon-docs@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.7.tgz#556515da1049f97023427301e11ecb52d0b9dbe7" + integrity sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.4.5" - "@storybook/csf-plugin" "8.4.5" - "@storybook/react-dom-shim" "8.4.5" + "@storybook/blocks" "8.4.7" + "@storybook/csf-plugin" "8.4.7" + "@storybook/react-dom-shim" "8.4.7" react "^16.8.0 || ^17.0.0 || ^18.0.0" react-dom "^16.8.0 || ^17.0.0 || ^18.0.0" ts-dedent "^2.0.0" -"@storybook/addon-essentials@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.5.tgz#7ff4f71b4435f734936272a691a830a34eaaef49" - integrity sha512-AxetQo/zSPIu3RZqWG2opwAz22Bb+jpf1nWbHp0kEpCrBemcWd8X2gonVmXNOC1PDKNl3jcWyc3lmg/+3mxjYg== - dependencies: - "@storybook/addon-actions" "8.4.5" - "@storybook/addon-backgrounds" "8.4.5" - "@storybook/addon-controls" "8.4.5" - "@storybook/addon-docs" "8.4.5" - "@storybook/addon-highlight" "8.4.5" - "@storybook/addon-measure" "8.4.5" - "@storybook/addon-outline" "8.4.5" - "@storybook/addon-toolbars" "8.4.5" - "@storybook/addon-viewport" "8.4.5" +"@storybook/addon-essentials@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.7.tgz#381c74230d1b1a209d5fdc017d241c016b98affe" + integrity sha512-+BtZHCBrYtQKILtejKxh0CDRGIgTl9PumfBOKRaihYb4FX1IjSAxoV/oo/IfEjlkF5f87vouShWsRa8EUauFDw== + dependencies: + "@storybook/addon-actions" "8.4.7" + "@storybook/addon-backgrounds" "8.4.7" + "@storybook/addon-controls" "8.4.7" + "@storybook/addon-docs" "8.4.7" + "@storybook/addon-highlight" "8.4.7" + "@storybook/addon-measure" "8.4.7" + "@storybook/addon-outline" "8.4.7" + "@storybook/addon-toolbars" "8.4.7" + "@storybook/addon-viewport" "8.4.7" ts-dedent "^2.0.0" -"@storybook/addon-highlight@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.5.tgz#44c194f88395a6e221744867a11f39ea8910d290" - integrity sha512-sMA7v+4unaKY+5RDhow6lLncJqNX9ZLUnBIt3vzY1ntUsOYVwykAY1Hq4Ysj0luCBXjJJdJ6223ylrycnb7Ilw== +"@storybook/addon-highlight@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.7.tgz#06b9752977e38884007e9446f9a2b0c04c873229" + integrity sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw== dependencies: "@storybook/global" "^5.0.0" -"@storybook/addon-interactions@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-8.4.5.tgz#0053207da50a4cefc9dce46b7980cd54a828c2ff" - integrity sha512-s6R8XVD8LTp+LQTDbhtDjDLE6S44I7FtMLxPdMNwN9VEJjBk01NONLDuGDpNq5o/0bnybA3rMHk9+3afsgzidQ== +"@storybook/addon-interactions@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-8.4.7.tgz#d34545db5ea6f03a5499ad6742c3317fb9e02d55" + integrity sha512-fnufT3ym8ht3HHUIRVXAH47iOJW/QOb0VSM+j269gDuvyDcY03D1civCu1v+eZLGaXPKJ8vtjr0L8zKQ/4P0JQ== dependencies: "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.5" - "@storybook/test" "8.4.5" + "@storybook/instrumenter" "8.4.7" + "@storybook/test" "8.4.7" polished "^4.2.2" ts-dedent "^2.2.0" -"@storybook/addon-measure@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.5.tgz#9b22ea0f28740f0c9c1edee2642de2b75415abdd" - integrity sha512-+sNjew991YaoXQyWWloFybjEGrDO40Jk6w8BgZs2X7oc3D5t/6oFzvyC862U++LGqKFA3quXDeBjEb92CI9cRA== +"@storybook/addon-measure@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.7.tgz#9d556ba34b57c13ad8d00bd953b27ec405a64d23" + integrity sha512-QfvqYWDSI5F68mKvafEmZic3SMiK7zZM8VA0kTXx55hF/+vx61Mm0HccApUT96xCXIgmwQwDvn9gS4TkX81Dmw== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-onboarding@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-onboarding/-/addon-onboarding-8.4.5.tgz#731ac4a27711dff565dec9b4090fb49ab752d7b9" - integrity sha512-+FW50yVw2NMxYvk3uMpIberfkG4Sn0qRpiMse7MGHgTimtaJ0Mo1AUIrSfyIJCVTuxiWZud1a5DAnH0ybbWjjA== - dependencies: - react-confetti "^6.1.0" - -"@storybook/addon-outline@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.5.tgz#32d0a798b7c5abacbe2576125f589c8d4bcd5bcc" - integrity sha512-XlpN98AUDnWQWNFSFVm+HkRUzm3xIUMjBGTkv6HsL6zt6XoJ+LsQMca+PPtYqlBJA+5CU41xMDaG8HC/p+sd3A== +"@storybook/addon-outline@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.7.tgz#8a35fe519dd639bb287a370da2222e6ffdce4020" + integrity sha512-6LYRqUZxSodmAIl8icr585Oi8pmzbZ90aloZJIpve+dBAzo7ydYrSQxxoQEVltXbKf3VeVcrs64ouAYqjisMYA== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.5.tgz#ebe20f0577a3e399858ba591066dbc8ac9636a5c" - integrity sha512-hOq5560ONOU/qrslrwosWzxnC4nrF8HZWD43ciKwtethm8HuptU2M+Jrui1CRsMScEZLopWWVE9o0vJMdKpIFQ== +"@storybook/addon-toolbars@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.7.tgz#b898d4deaf6f5a58f3b70bd8d136cd4ec2844b79" + integrity sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw== -"@storybook/addon-viewport@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.5.tgz#21a8b6d49f31cdca72018e9cd3adffbc435fa61a" - integrity sha512-l7Y41gIbJAsIN/QCg1QJ9sr61FLz1C/imUotcDej41tOHxUTSQOlXpNtVnfhUM1vGQc0yNpP3pVxj8BpXi0cAw== +"@storybook/addon-viewport@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.7.tgz#e65c53608f52149c06347b395487960605fc4805" + integrity sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ== dependencies: memoizerific "^1.11.3" -"@storybook/blocks@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.5.tgz#9494d9ccddc04bacd6a7a6c67cf870b72bf4ce9d" - integrity sha512-Z+LHauSqm3A4HBR9pUEf9KQhD3/3xYMt0FXgA+GHCAyDa6lFeD1C6r9Y2nlT+9dt8gv9B9oygTZvV6GqFVyRSQ== +"@storybook/blocks@8.4.7", "@storybook/blocks@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.7.tgz#ee17f59dd52d11c97c39b0f6b03957085a80ad95" + integrity sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA== dependencies: "@storybook/csf" "^0.1.11" "@storybook/icons" "^1.2.12" ts-dedent "^2.0.0" -"@storybook/builder-vite@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-8.4.5.tgz#42309b24c75ed17d0e28fe90694157287a248fcd" - integrity sha512-fZXWQcG5ccHCAS8NbyUwu8/5aVlZr4zmWbvKxoyvcVeuxJIsWa9RUS8Mtu7hdi+r/Wk8AlpckqhHo6go0iaDcA== +"@storybook/builder-vite@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-8.4.7.tgz#3d6d542fa1f46fce5ee7a159dc8491cb4421254d" + integrity sha512-LovyXG5VM0w7CovI/k56ZZyWCveQFVDl0m7WwetpmMh2mmFJ+uPQ35BBsgTvTfc8RHi+9Q3F58qP1MQSByXi9g== dependencies: - "@storybook/csf-plugin" "8.4.5" + "@storybook/csf-plugin" "8.4.7" browser-assert "^1.2.1" ts-dedent "^2.0.0" -"@storybook/components@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.5.tgz#039e4cb5090c56c47fc10f0c5ecda77f4b015c7f" - integrity sha512-2PdnKfqNNv3sO7qILgWXiNvmLOi503oN9OMemNCQjTIvdvySc5JpS9/eClwcl/JfmE4qHdSHZr8dLLkBM9S7+Q== +"@storybook/components@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.7.tgz#09eeffa07aa672ad3966ca1764a43003731b1d30" + integrity sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g== -"@storybook/core@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.5.tgz#4133927a43834664777f0918caf32542630cbdd5" - integrity sha512-aB1sQNX5nRoUAqg5u1py0MuR/VPd6c6PhECa4rW6pmr7kZcfyP4PP6UFpXuN71ypTQlkRE3Vc5PQZ3gLhE9o3g== +"@storybook/core@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.7.tgz#af9cbb3f26f0b6c98c679a134ce776c202570d66" + integrity sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA== dependencies: "@storybook/csf" "^0.1.11" better-opn "^3.0.2" @@ -947,10 +940,10 @@ util "^0.12.5" ws "^8.2.3" -"@storybook/csf-plugin@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.5.tgz#7f9ae0176e36cb74b1f638aac04dfec4aa04222f" - integrity sha512-qd2rQTglOTS+phQmTbNTXNjNyxdGvolaqHqDNMw3Vf6h9o3U+mLkwnDWNVnQ9oqvOoUEAqpBthgwzU9FhkIk+A== +"@storybook/csf-plugin@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.7.tgz#0117c872b05bf033eec089ab0224e0fab01da810" + integrity sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g== dependencies: unplugin "^1.3.1" @@ -971,71 +964,71 @@ resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.2.12.tgz#3e4c939113b67df7ab17b78f805dbb57f4acf0db" integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q== -"@storybook/instrumenter@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.4.5.tgz#14983198b27dfbeedfef28992eef0d304b9f562b" - integrity sha512-8qM35FkueuRpJr0zA6ENvhQICbo+iKL1ln450DwV1kKJtc41KdbA3CuCvtZ/FnoPsFnwdtPjhhICFtRt8LRTSg== +"@storybook/instrumenter@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.4.7.tgz#5a37876fee8f828241a1e7fd76891c6effc1805a" + integrity sha512-k6NSD3jaRCCHAFtqXZ7tw8jAzD/yTEWXGya+REgZqq5RCkmJ+9S4Ytp/6OhQMPtPFX23gAuJJzTQVLcCr+gjRg== dependencies: "@storybook/global" "^5.0.0" "@vitest/utils" "^2.1.1" -"@storybook/manager-api@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.5.tgz#ce586cc5961297272f7228446161015464c65067" - integrity sha512-t39JaMy3UX4StbUH/tIDcaflBDxTcyIq853wQtBMhVL3e1+Dw3MIiiG/5bw79HU4R7kSmPVLXIIbV3FmXkq7KQ== +"@storybook/manager-api@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.7.tgz#4e13debf645c9300d7d6d49195e720d0c7ecd261" + integrity sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ== -"@storybook/preview-api@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.5.tgz#f8c046575c68062eda1de9494e7118571d20c72a" - integrity sha512-MKIZ2jQO/3cUdsT57eq8jRgB6inALo9BxrQ88f7mqzltOkMvADvTAY6y8JZqTUoDzWTH/ny/8SGGdtpqlxRuiQ== +"@storybook/preview-api@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.7.tgz#85e01a97f4182b974581765d725f6c7a7d190013" + integrity sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg== -"@storybook/react-dom-shim@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.5.tgz#cc874d008a1def4410c32a95bcf9aac8defdb6f5" - integrity sha512-YTWTfPagptEYXJsnxAl3zP97Ev0zebtaEV0WgjGaEeumr+zsfgKKwzzHxgrtumBmDzwkuKlzFwlQB5A8keOIGA== +"@storybook/react-dom-shim@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.7.tgz#f0dd5bbf2fc185def72d9d08a11c8de22f152c2a" + integrity sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg== -"@storybook/test@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/test/-/test-8.4.5.tgz#a22e8a4671c379f8ffc83a3997feb524bf5d9421" - integrity sha512-mHsRc6m60nfcEBsjvUkKz+Jnz0or4WH5jmJ1VL2pGKO4VzESCPqAwDnwDqP2YyeSQ0b/MAKUT5kdoLE2RE2eVw== +"@storybook/test@8.4.7", "@storybook/test@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/test/-/test-8.4.7.tgz#7f58f2cdf3a6d810bf3ff4e0e2fee634040c678f" + integrity sha512-AhvJsu5zl3uG40itSQVuSy5WByp3UVhS6xAnme4FWRwgSxhvZjATJ3AZkkHWOYjnnk+P2/sbz/XuPli1FVCWoQ== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.5" + "@storybook/instrumenter" "8.4.7" "@testing-library/dom" "10.4.0" "@testing-library/jest-dom" "6.5.0" "@testing-library/user-event" "14.5.2" "@vitest/expect" "2.0.5" "@vitest/spy" "2.0.5" -"@storybook/theming@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.5.tgz#d7c77215f09906c9bb124d530d4307fd1841fbb8" - integrity sha512-45e/jeG4iuqdZcHg3PbB6dwXQTwlnnEB7r/QcVExyC7ibrkTnjUfvxzyUw4mmU3CXETFGD5EcUobFkgK+/aPxQ== +"@storybook/theming@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.7.tgz#c308f6a883999bd35e87826738ab8a76515932b5" + integrity sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw== -"@storybook/vue3-vite@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/vue3-vite/-/vue3-vite-8.4.5.tgz#04661fc02c754be58d13c41e85894f9f19c72c48" - integrity sha512-ngUR053rrD7lg9+gtBjgjqK82tUBXq3zE91pxwgkKBCYbfrKpGgjse+ds3xsdGChnnGIlUahiiHuLmdzxTkffg== +"@storybook/vue3-vite@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/vue3-vite/-/vue3-vite-8.4.7.tgz#036bee5652d7b9856d54510d5236d52678234631" + integrity sha512-MCU4GB6mKgeOy23eGL/yCxPWP1dBGuU4hRVoQYUzDyvNRNWD/0n7WOwIpKGeDHhmOW3J9PPX7C3k/N4ewFBmrQ== dependencies: - "@storybook/builder-vite" "8.4.5" - "@storybook/vue3" "8.4.5" + "@storybook/builder-vite" "8.4.7" + "@storybook/vue3" "8.4.7" find-package-json "^1.2.0" magic-string "^0.30.0" typescript "^5.0.0" vue-component-meta "^2.0.0" vue-docgen-api "^4.75.1" -"@storybook/vue3@8.4.5": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@storybook/vue3/-/vue3-8.4.5.tgz#0eb9979f8ea6f574d7e38b5668e0146b97dbc5f2" - integrity sha512-HLOnHkP7geutPbuelmUurqFnpH8qGmrL7t9yx895EBSWM+1IIg3m6lD/ZwqqgGxbXJVpDNrF6168v8750D9wVQ== +"@storybook/vue3@8.4.7", "@storybook/vue3@^8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/vue3/-/vue3-8.4.7.tgz#c689b5fc3d68c9d9d094d6ce43c2ba3b275436d6" + integrity sha512-QvILEkgx7VyKBuLB4KiuQ0U8OLfQyLTwDuJ36wihQ75EEt86z29kYLNC2keHSbns/HUs3x3cjM9EkUT2xLgc/A== dependencies: - "@storybook/components" "8.4.5" + "@storybook/components" "8.4.7" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "8.4.5" - "@storybook/preview-api" "8.4.5" - "@storybook/theming" "8.4.5" + "@storybook/manager-api" "8.4.7" + "@storybook/preview-api" "8.4.7" + "@storybook/theming" "8.4.7" "@vue/compiler-core" "^3.0.0" ts-dedent "^2.0.0" type-fest "~2.19" @@ -3679,12 +3672,12 @@ std-env@^3.8.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== -storybook@8.4.5: - version "8.4.5" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.5.tgz#ba9589e2887958d1353dbc1a2cb6142e80e36a2c" - integrity sha512-9tfgabXnMibYp3SvoaJXXMD63Pw0SA9Hnf5v6TxysCYZs4DZ/04fAkK+9RW+K4C5JkV83qXMMlrsPj766R47fg== +storybook@^8.4.7: + version "8.4.7" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.7.tgz#a3068787a58074cec1b4197eed1c4427ec644b3f" + integrity sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw== dependencies: - "@storybook/core" "8.4.5" + "@storybook/core" "8.4.7" "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" -- GitLab From ce8f2f9616c2116d8eee3f8a31951ea67390fdae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 9 Jan 2025 14:29:31 +0500 Subject: [PATCH 12/32] feat: filter for Table and component 'TableHeader' --- src/Playground.vue | 14 +- src/common/interfaces/componentsProp.ts | 1 - src/stories/components/Popup/Popup.vue | 5 +- src/stories/components/Table/Table.stories.ts | 7 +- src/stories/components/Table/Table.vue | 151 ++++-------------- src/stories/components/Table/TableHeader.vue | 150 +++++++++++++++++ src/stories/components/Table/helpers.ts | 25 ++- 7 files changed, 222 insertions(+), 131 deletions(-) create mode 100644 src/stories/components/Table/TableHeader.vue diff --git a/src/Playground.vue b/src/Playground.vue index d00a069..88da187 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -91,8 +91,9 @@ const tableColumns: ITableColumn[] = [ }, { name: 'Age', - type: 'text', + type: 'number', filterable: true, + sortable: true, }, { name: 'Hobbies', @@ -126,7 +127,7 @@ const tableData = [ value: 'John', }, { - value: '25', + value: '7', }, { value: 'Football', @@ -182,6 +183,15 @@ const tableData = [ <template> <h2 class="title gradient-text">Playground</h2> + <Table + show-all-lines + :columns="tableColumns" + darknessTextColor="500" + :data="tableData" + fontSize="36px" + theme="black" + stripedRows + ></Table> <Table show-all-lines :columns="tableColumns" diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 269998a..5cf8fb5 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -20,7 +20,6 @@ export type TTableColumnType = | 'number' | 'text' | 'date' - | 'tag' | 'select' | 'rating' | 'progressBar' diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index 839e362..dc2b20f 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -22,7 +22,7 @@ const left = ref(); const isOnContainerClick = ref(); const parent = computed(() => props.parentSelector); -const container = ref(document.querySelector(props.parentSelector)); +const container: Ref = ref(document.querySelector(props.parentSelector)); if (!container.value) { setTimeout(() => { container.value = document.querySelector(props.parentSelector); @@ -37,7 +37,6 @@ watch( const clientRect = container.value?.getBoundingClientRect(); top.value = props.top ?? clientRect.top; left.value = props.left ?? clientRect.left; - console.log('left: ', left.value); } container.value.addEventListener('pointerdown', (event: Event) => { @@ -72,7 +71,7 @@ watch( @pointerdown.stop="" :style="`top: ${top}px; left: ${left}px; opacity: ${active ? 1 : 0}; pointer-events: ${active ? 'auto' : 'none'}; padding: ${padding}`" > - <div :style="`max-width: ${maxWidth}; max-height: ${maxHeight}; overflow: auto; padding-right: 5px`"> + <div :style="`max-width: ${maxWidth}; max-height: ${maxHeight}; overflow: auto`"> <slot /> <p v-if="!$slots.default" style="background-color: black; color: white; padding: 10px">Popup</p> </div> diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 88f4170..7d41717 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -84,7 +84,7 @@ export const Simple: Story = { }, { name: 'Age', - type: 'text', + type: 'number', }, { name: 'Hobbies', @@ -128,7 +128,8 @@ export const Full: Story = { }, { name: 'Age', - type: 'text', + type: 'number', + sortable: true, filterable: true, }, { @@ -163,7 +164,7 @@ export const Full: Story = { value: 'John', }, { - value: '25', + value: '7', }, { value: 'Football', diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 4669770..9fd0ddb 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -3,15 +3,8 @@ import type { ITableProps } from '@interfaces/componentsProps'; import { computed, ref, watch } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; import type { ITableItem } from '@interfaces/componentsProp'; -import FilterIcon from '@stories/icons/Mono/FilterIcon.vue'; -import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; -import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; -import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; -import { calcColumnPadding, calcRows } from '@stories/components/Table/helpers'; -import Popup from '@stories/components/Popup/Popup.vue'; -import Button from '@stories/components/Button/Button.vue'; -import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; -import CrossIcon from '@stories/icons/Mono/CrossIcon.vue'; +import { calcGap, calcRows } from '@stories/components/Table/helpers'; +import TableHeader from '@stories/components/Table/TableHeader.vue'; const props = withDefaults(defineProps<ITableProps>(), { theme: 'white', @@ -22,28 +15,14 @@ const data = defineModel<ITableItem[][]>('data'); const columns = ref(props.columns); const sortStateActive = ref<[number, string] | []>([]); -const isFilterPopup = ref<boolean>(false); const columnToFilter = ref<number>(0); +const isFilterPopup = ref<boolean>(false); const filterValue = ref<string>(''); +const isRegisterSensitive = ref<boolean>(false); watch(props.columns, () => (columns.value = props.columns)); -const initGap = computed( - () => - props.gap ?? - (!props.fontSize || isNaN(+props.fontSize.slice(0, -3)) - ? '5px' - : parseInt(props.fontSize) < 20 - ? '5px' - : parseInt(props.fontSize) < 36 - ? '10px' - : '15px'), -); -const iconSize = computed(() => { - const twoLetters = props.fontSize.slice(0, -2); - const threeLetters = props.fontSize.slice(0, -3); - return !twoLetters || isNaN(+twoLetters) ? (!threeLetters || isNaN(+threeLetters) ? '16' : threeLetters) : twoLetters; -}); +const initGap = computed(() => calcGap(props.gap, props.fontSize)); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => props.textColor @@ -52,7 +31,6 @@ const color = computed(() => ); const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, String(+props.darknessTheme + 300))); - // ['', 'up', 'none', '', 'none', ...] const sortState = computed<string[]>(() => { const result = []; @@ -61,9 +39,15 @@ const sortState = computed<string[]>(() => { } return result; }); - const rows = computed<ITableItem[][]>(() => - calcRows(data.value!, sortStateActive.value, props.multipleSort, columnToFilter.value, filterValue.value), + calcRows( + data.value!, + sortStateActive.value, + props.multipleSort, + props.columns[sortStateActive.value[0] ?? 0].type, + filterValue.value, + isRegisterSensitive.value, + ), ); const changeColumnSortMode = (index: number) => { @@ -83,15 +67,10 @@ const setFilter = (column: number) => { isFilterPopup.value = !isFilterPopup.value; } if (columnToFilter.value !== column) { + filterValue.value = ''; columnToFilter.value = column; } }; -const calcLeft = (selector: string) => { - const el = document.querySelector(selector); - const table = document.querySelector('#table')!; - if (!el) return 0; - return el.getBoundingClientRect().left - table.getBoundingClientRect().left + +iconSize.value; -}; const cancelFilter = () => { filterValue.value = ''; isFilterPopup.value = false; @@ -108,69 +87,25 @@ const cancelFilter = () => { id="table" > <thead> - <tr> - <th - :class="{ - leftBorder: showAllLines, - }" - v-for="(column, index) of columns" - :key="column.name" - class="columnHeader" - :style="`padding: calc(${initGap} / 2) ${initGap}`" - > - <div - :style="`justify-content: ${center ? 'center' : 'start'}; gap: ${center ? '0' : initGap}; padding: ${calcColumnPadding(column, props.center, initGap)}`" - class="columnFlex" - > - <div class="columnHeader-container"> - <h3> - {{ column.name }} - </h3> - <button - v-if="column.sortable" - @click.prevent="changeColumnSortMode(index)" - style="min-width: 20px; min-height: 20px" - > - <SortVerticalIcon v-show="sortState[index] === 'none'" :color="color" :size="iconSize" /> - <SortDownIcon v-show="sortState[index] === 'down'" :color="color" :size="iconSize" /> - <SortUpIcon v-show="sortState[index] === 'up'" :color="color" :size="iconSize" /> - </button> - <button - v-if="column.filterable" - @pointerdown="setFilter(index)" - :id="`filter${column.name}`" - style="position: relative" - > - <FilterIcon :color="color" :size="iconSize" /> - </button> - </div> - <div v-if="!center"></div> - </div> - </th> - <Popup - v-model:active="isFilterPopup" - :parentSelector="`#filter${columnToFilter}`" - buttonMenu - :theme="theme" - :top="+iconSize + 10" - :left="calcLeft(`#filter${columnToFilter}`)" - > - <input - v-model="filterValue" - type="text" - class="filterInput" - :style="`background-color: ${themeColor}; color: ${color}`" - /> - <section class="filterButtons"> - <Button iconOnly size="small" theme="green" @click.prevent="isFilterPopup = false"> - <CheckMarkIcon color="white" size="20" /> - </Button> - <Button iconOnly size="small" theme="red" @click.prevent="cancelFilter"> - <CrossIcon color="white" size="20" /> - </Button> - </section> - </Popup> - </tr> + <TableHeader + v-model:filterValue="filterValue" + v-model:isFilterPopup="isFilterPopup" + v-model:isRegisterSensitive="isRegisterSensitive" + :columns="columns" + :sortState="sortState" + :columnToFilter="columnToFilter" + :initGap="initGap" + :theme="theme" + :themeColor="themeColor" + :secondaryColor="secondaryColor" + :color="color" + :showAllLines="!!showAllLines" + :center="!!center" + :fontSize="fontSize" + @changeColumnSortMode="changeColumnSortMode" + @setFilter="setFilter" + @cancelFilter="cancelFilter" + /> </thead> <tbody> <tr v-for="(row, index) of rows" :key="index"> @@ -210,15 +145,6 @@ tr::after { height: 1px; background-color: v-bind(secondaryColor); } -.columnFlex { - display: flex; - font-weight: bold; -} -.columnHeader-container { - display: flex; - align-items: center; - gap: 10px; -} .tableLines { border-top: 1px solid v-bind(secondaryColor); border-right: 1px solid v-bind(secondaryColor); @@ -229,15 +155,4 @@ tr::after { .darkRow { background-color: v-bind(darkCellColor); } -.filterInput { - width: 150px; - padding: 5px; - margin-bottom: 5px; - border: 2px solid #64748b; - border-radius: 5px; -} -.filterButtons { - display: flex; - justify-content: space-between; -} </style> diff --git a/src/stories/components/Table/TableHeader.vue b/src/stories/components/Table/TableHeader.vue new file mode 100644 index 0000000..074eed4 --- /dev/null +++ b/src/stories/components/Table/TableHeader.vue @@ -0,0 +1,150 @@ +<script setup lang="ts"> +import FilterIcon from '@stories/icons/Mono/FilterIcon.vue'; +import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; +import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; +import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; +import { calcColumnPadding } from '@stories/components/Table/helpers'; +import Popup from '@stories/components/Popup/Popup.vue'; +import Button from '@stories/components/Button/Button.vue'; +import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; +import CrossIcon from '@stories/icons/Mono/CrossIcon.vue'; +import type { TThemeColor } from '@interfaces/common'; +import type { ITableColumn } from '@interfaces/componentsProp'; +import { computed } from 'vue'; + +interface Props { + columns: ITableColumn[]; + sortState: string[]; + columnToFilter: number; + initGap: string; + theme: TThemeColor; + themeColor: string; + secondaryColor: string; + color: string; + showAllLines: boolean; + center: boolean; + fontSize: string; +} +const props = defineProps<Props>(); +const emit = defineEmits(['changeColumnSortMode', 'setFilter', 'cancelFilter']); +const filterValue = defineModel<string>('filterValue'); +const isFilterPopup = defineModel<boolean, string, boolean, boolean>('isFilterPopup'); +const isRegisterSensitive = defineModel<boolean, string, boolean, boolean>('isRegisterSensitive'); + +const iconSize = computed(() => { + const twoLetters = props.fontSize.slice(0, -2); + const threeLetters = props.fontSize.slice(0, -3); + return !twoLetters || isNaN(+twoLetters) ? (!threeLetters || isNaN(+threeLetters) ? '16' : threeLetters) : twoLetters; +}); + +const calcLeft = (selector: string) => { + const el = document.querySelector(selector); + const table = document.querySelector('#table')!; + if (!el) return 0; + return el.getBoundingClientRect().left - table.getBoundingClientRect().left + +iconSize.value; +}; +const isColumnTypeText = computed(() => props.columns[props.columnToFilter].type === 'text'); +</script> + +<template> + <tr> + <th + :class="{ + leftBorder: showAllLines, + }" + v-for="(column, index) of columns" + :key="column.name" + :style="`padding: calc(${initGap} / 2) ${initGap}`" + > + <div + :style="`justify-content: ${center ? 'center' : 'start'}; gap: ${center ? '0' : initGap}; padding: ${calcColumnPadding(column, center, initGap)}`" + class="columnFlex" + > + <div class="columnHeader-container"> + <h3> + {{ column.name }} + </h3> + <button + v-if="column.sortable" + @click.prevent="emit('changeColumnSortMode', index)" + style="min-width: 20px; min-height: 20px" + > + <SortVerticalIcon v-show="sortState[index] === 'none'" :color="color" :size="iconSize" /> + <SortDownIcon v-show="sortState[index] === 'down'" :color="color" :size="iconSize" /> + <SortUpIcon v-show="sortState[index] === 'up'" :color="color" :size="iconSize" /> + </button> + <button + v-if="column.filterable" + @pointerdown="emit('setFilter', index)" + :id="`filter${index}`" + style="position: relative" + > + <FilterIcon :color="color" :size="iconSize" /> + </button> + </div> + <div v-if="!center"></div> + </div> + </th> + <Popup + v-model:active="isFilterPopup" + :parentSelector="`#filter${columnToFilter}`" + buttonMenu + :theme="theme" + :top="+iconSize + 10" + :left="calcLeft(`#filter${columnToFilter}`)" + maxHeight="200px" + > + <article style="padding: 2px"> + <input + v-model="filterValue" + type="text" + class="filterInput" + :style="`background-color: ${themeColor}; color: ${color}`" + /> + <section class="filterButtons"> + <Button iconOnly size="small" theme="green" @click.prevent="isFilterPopup = false"> + <CheckMarkIcon color="white" size="20" /> + </Button> + <Button + v-show="isColumnTypeText" + iconOnly + size="small" + theme="sky" + @click.prevent="isRegisterSensitive = !isRegisterSensitive" + > + <div style="width: 50px; font-size: 20px">{{ isRegisterSensitive ? 'A\u{2260}a' : 'A = a' }}</div> + </Button> + <Button iconOnly size="small" theme="red" @click.prevent="emit('cancelFilter')"> + <CrossIcon color="white" size="20" /> + </Button> + </section> + </article> + </Popup> + </tr> +</template> + +<style scoped> +.columnFlex { + display: flex; + font-weight: bold; +} +.columnHeader-container { + display: flex; + align-items: center; + gap: 10px; +} +.filterInput { + width: 150px; + padding: 5px; + margin-bottom: 5px; + border: 2px solid #64748b; + border-radius: 5px; +} +.filterButtons { + display: flex; + justify-content: space-between; +} +.leftBorder { + border-left: 1px solid v-bind(secondaryColor); +} +</style> diff --git a/src/stories/components/Table/helpers.ts b/src/stories/components/Table/helpers.ts index 4e5e9c1..4d7b2de 100644 --- a/src/stories/components/Table/helpers.ts +++ b/src/stories/components/Table/helpers.ts @@ -1,17 +1,22 @@ -import type { ITableColumn, ITableItem } from '@interfaces/componentsProp'; +import type { ITableColumn, ITableItem, TTableColumnType } from '@interfaces/componentsProp'; export const calcRows = ( initRows: ITableItem[][], sortStateActive: [number, string] | [], multipleSort: boolean, - columnToFilter: number, + columnToFilterType: TTableColumnType, filterValue: string, + isRegisterSensitive: boolean, ) => { // ['up', 'down', ...] let rows = [...initRows]; + const sortIndex = sortStateActive[0]; - if (filterValue) { - rows = rows.filter((row) => row[columnToFilter].value.startsWith(filterValue)); + if (filterValue && sortIndex) { + rows = rows.filter((row) => { + const item = isRegisterSensitive ? row[sortIndex].value : row[sortIndex].value.toLowerCase(); + return item.startsWith(isRegisterSensitive ? filterValue : filterValue.toLowerCase()); + }); } if (!sortStateActive.length) return rows; @@ -36,11 +41,23 @@ export const calcRows = ( } else { const index = sortStateActive[0]; const value = sortStateActive[1]; + if (columnToFilterType === 'number') + return rows.sort((a, b) => + value === 'down' ? +a[index].value - +b[index].value : +b[index].value - +a[index].value, + ); return rows.sort((a, b) => value === 'down' ? a[index].value.localeCompare(b[index].value) : b[index].value.localeCompare(a[index].value), ); } }; +export const calcGap = (gap: string, fontSize: string) => + gap ?? + (!fontSize || isNaN(+fontSize.slice(0, -3)) || parseInt(fontSize) < 20 + ? '5px' + : parseInt(fontSize) < 36 + ? '10px' + : '15px'); + export const calcColumnPadding = (column: ITableColumn, center: boolean, gap: string) => center ? `0px calc(${gap} / 2 + ${column.padding ?? '0px'} / 2)` : `0 ${column.padding ?? '0px'} 0 0`; -- GitLab From 40a7af5339a7b483099114b9b4107a8db73590ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 9 Jan 2025 15:33:48 +0500 Subject: [PATCH 13/32] feat: size for Table and fix filter --- src/common/interfaces/componentsProps.ts | 1 + src/stories/components/Table/Table.stories.ts | 10 +++++++++- src/stories/components/Table/Table.vue | 10 +++++++--- src/stories/components/Table/TableHeader.vue | 7 ++++--- src/stories/components/Table/helpers.ts | 20 ++++++++++++++++--- 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index e509e0d..c42ddc7 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -24,6 +24,7 @@ export interface ITableProps { data: ITableItem[][]; multipleSort?: boolean; gap?: string; + size?: TSize; showAllLines?: boolean; stripedRows?: boolean; center?: boolean; diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 7d41717..98769a8 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -18,6 +18,7 @@ const meta: Meta = { data: { control: 'text' }, fontSize: { control: 'text' }, gap: { control: 'text' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, showAllLines: { control: 'boolean' }, stripedRows: { control: 'boolean' }, center: { control: 'boolean' }, @@ -125,12 +126,14 @@ export const Full: Story = { name: 'Name', type: 'text', sortable: true, + initSort: 'none', }, { name: 'Age', type: 'number', sortable: true, filterable: true, + initSort: 'down', }, { name: 'Hobbies', @@ -138,12 +141,15 @@ export const Full: Story = { padding: '30px', filterable: true, sortable: true, + initSort: 'none', }, { name: 'Country', type: 'text', + initSort: 'none', }, ], + data: [ [ { @@ -216,12 +222,14 @@ export const Full: Story = { }, ], ], - fontSize: '20px', + + fontSize: '24px', showAllLines: true, border: 'fuchsia', theme: 'black', stripedRows: true, darknessTextColor: '500', center: true, + size: 'large', }, }; diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 9fd0ddb..5a254bc 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -3,10 +3,11 @@ import type { ITableProps } from '@interfaces/componentsProps'; import { computed, ref, watch } from 'vue'; import { convertThemeToColor, convertThemeToSecondaryColor, convertThemeToTextColor } from '@helpers/common'; import type { ITableItem } from '@interfaces/componentsProp'; -import { calcGap, calcRows } from '@stories/components/Table/helpers'; +import { calcAdditionalHeight, calcGap, calcRows } from '@stories/components/Table/helpers'; import TableHeader from '@stories/components/Table/TableHeader.vue'; const props = withDefaults(defineProps<ITableProps>(), { + size: 'normal', theme: 'white', darknessTheme: '500', fontSize: '16px', @@ -23,6 +24,7 @@ const isRegisterSensitive = ref<boolean>(false); watch(props.columns, () => (columns.value = props.columns)); const initGap = computed(() => calcGap(props.gap, props.fontSize)); +const additionalHeightFromSize = computed(() => calcAdditionalHeight(props.size, props.fontSize)); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => props.textColor @@ -44,7 +46,8 @@ const rows = computed<ITableItem[][]>(() => data.value!, sortStateActive.value, props.multipleSort, - props.columns[sortStateActive.value[0] ?? 0].type, + columnToFilter.value, + props.columns[columnToFilter.value ?? 0].type, filterValue.value, isRegisterSensitive.value, ), @@ -95,6 +98,7 @@ const cancelFilter = () => { :sortState="sortState" :columnToFilter="columnToFilter" :initGap="initGap" + :additionalHeightFromSize="additionalHeightFromSize" :theme="theme" :themeColor="themeColor" :secondaryColor="secondaryColor" @@ -116,7 +120,7 @@ const cancelFilter = () => { }" v-for="item of row" :key="item.value" - :style="`padding: calc(${initGap} / 2) ${initGap}; text-align: ${center ? 'center' : 'start'}`" + :style="`padding: calc(${initGap} / 2 + ${additionalHeightFromSize}) ${initGap}; text-align: ${center ? 'center' : 'start'}`" > {{ item.value }} </td> diff --git a/src/stories/components/Table/TableHeader.vue b/src/stories/components/Table/TableHeader.vue index 074eed4..1326490 100644 --- a/src/stories/components/Table/TableHeader.vue +++ b/src/stories/components/Table/TableHeader.vue @@ -17,6 +17,7 @@ interface Props { sortState: string[]; columnToFilter: number; initGap: string; + additionalHeightFromSize: string; theme: TThemeColor; themeColor: string; secondaryColor: string; @@ -54,7 +55,7 @@ const isColumnTypeText = computed(() => props.columns[props.columnToFilter].type }" v-for="(column, index) of columns" :key="column.name" - :style="`padding: calc(${initGap} / 2) ${initGap}`" + :style="`padding: calc(${initGap} / 2 + ${additionalHeightFromSize}) ${initGap}`" > <div :style="`justify-content: ${center ? 'center' : 'start'}; gap: ${center ? '0' : initGap}; padding: ${calcColumnPadding(column, center, initGap)}`" @@ -67,7 +68,7 @@ const isColumnTypeText = computed(() => props.columns[props.columnToFilter].type <button v-if="column.sortable" @click.prevent="emit('changeColumnSortMode', index)" - style="min-width: 20px; min-height: 20px" + :style="`min-width: ${fontSize}; min-height: ${fontSize}; max-height: ${fontSize}`" > <SortVerticalIcon v-show="sortState[index] === 'none'" :color="color" :size="iconSize" /> <SortDownIcon v-show="sortState[index] === 'down'" :color="color" :size="iconSize" /> @@ -77,7 +78,7 @@ const isColumnTypeText = computed(() => props.columns[props.columnToFilter].type v-if="column.filterable" @pointerdown="emit('setFilter', index)" :id="`filter${index}`" - style="position: relative" + :style="`position: relative; width: ${fontSize}; max-height: ${fontSize}`" > <FilterIcon :color="color" :size="iconSize" /> </button> diff --git a/src/stories/components/Table/helpers.ts b/src/stories/components/Table/helpers.ts index 4d7b2de..6ebe279 100644 --- a/src/stories/components/Table/helpers.ts +++ b/src/stories/components/Table/helpers.ts @@ -1,20 +1,21 @@ import type { ITableColumn, ITableItem, TTableColumnType } from '@interfaces/componentsProp'; +import type { TSize } from '@interfaces/common'; export const calcRows = ( initRows: ITableItem[][], sortStateActive: [number, string] | [], multipleSort: boolean, + columnToFilter: number, columnToFilterType: TTableColumnType, filterValue: string, isRegisterSensitive: boolean, ) => { // ['up', 'down', ...] let rows = [...initRows]; - const sortIndex = sortStateActive[0]; - if (filterValue && sortIndex) { + if (filterValue) { rows = rows.filter((row) => { - const item = isRegisterSensitive ? row[sortIndex].value : row[sortIndex].value.toLowerCase(); + const item = isRegisterSensitive ? row[columnToFilter].value : row[columnToFilter].value.toLowerCase(); return item.startsWith(isRegisterSensitive ? filterValue : filterValue.toLowerCase()); }); } @@ -41,6 +42,7 @@ export const calcRows = ( } else { const index = sortStateActive[0]; const value = sortStateActive[1]; + console.log('index, value, columnToFilterType:', index, value, columnToFilterType); if (columnToFilterType === 'number') return rows.sort((a, b) => value === 'down' ? +a[index].value - +b[index].value : +b[index].value - +a[index].value, @@ -59,5 +61,17 @@ export const calcGap = (gap: string, fontSize: string) => ? '10px' : '15px'); +export const calcAdditionalHeight = (size: TSize, fontSize: string) => { + if (size === 'normal') return '0px'; + + const isTwoLetters = isFinite(+fontSize.at(-3)!); + const value = isTwoLetters ? fontSize.slice(0, -2) : fontSize.slice(0, -3); + const unit = isTwoLetters ? fontSize.slice(-2) : fontSize.slice(-3); + + if (size === 'large') return +value / 2 + unit; + if (size === 'huge') return value + unit; + return -+value / 4 + unit; +}; + export const calcColumnPadding = (column: ITableColumn, center: boolean, gap: string) => center ? `0px calc(${gap} / 2 + ${column.padding ?? '0px'} / 2)` : `0 ${column.padding ?? '0px'} 0 0`; -- GitLab From c817a0c274115ce7b937fa800f22b2f325429934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 9 Jan 2025 16:55:02 +0500 Subject: [PATCH 14/32] docs: edit README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e807e6..2bb0dda 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ ## СпиÑок компонентов: - TreeList; +- Table; - MenuDial; - Popup; - Slider; @@ -18,8 +19,8 @@ --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ -### Components count: 10 -### Bundle size: 254.6KB +### Components count: 11 +### Bundle size: 272KB --- ## Важные моменты при разработке ### Общее начало шаблона Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²: -- GitLab From 097eb47e1c00bdb13b781d0acd9d0b6d91590d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Thu, 9 Jan 2025 16:55:29 +0500 Subject: [PATCH 15/32] fix: ts errors --- src/App.vue | 2 -- src/common/helpers/common.ts | 3 ++- src/stories/components/Popup/Popup.vue | 6 +++--- src/stories/components/Table/Table.vue | 6 +++--- src/stories/components/Table/helpers.ts | 2 +- tsconfig.app.json | 2 +- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/App.vue b/src/App.vue index 8d91ab7..00f92a0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,4 @@ <script setup lang="ts"> -import Drawer from '@stories/components/Drawer/Drawer.vue'; -import { ref } from 'vue'; import Age18Icon from '@stories/icons/Mono/Age18Icon.vue'; import AlarmIcon from '@stories/icons/Mono/AlarmIcon.vue'; import AirplaneIcon from '@stories/icons/Mono/AirplaneIcon.vue'; diff --git a/src/common/helpers/common.ts b/src/common/helpers/common.ts index 3da75fb..f3e9829 100644 --- a/src/common/helpers/common.ts +++ b/src/common/helpers/common.ts @@ -36,7 +36,7 @@ export const convertThemeToTextColor = (theme: TThemeColor, darkness: TDarkness /** * Convert color of type TThemeColor to shade of black or white */ -export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: TDarkness) => { +export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: TDarkness): string => { if (theme === 'white') { if (darkness === '500' || darkness === '400' || darkness === '600') return '#94a3b8'; if (darkness === '300' || darkness === '700') return '#cbd5e1'; @@ -47,6 +47,7 @@ export const convertWhiteOrBlackToColor = (theme: 'white' | 'black', darkness: T if (darkness === '300' || darkness === '700') return '#374151'; if (darkness === '200' || darkness === '800') return '#1f2937'; if (darkness === '100' || darkness === '900') return '#111827'; + return '#4b5563'; }; /** * Convert color of type TThemeColor to hex for border or scroll diff --git a/src/stories/components/Popup/Popup.vue b/src/stories/components/Popup/Popup.vue index dc2b20f..d1eaa98 100644 --- a/src/stories/components/Popup/Popup.vue +++ b/src/stories/components/Popup/Popup.vue @@ -39,7 +39,7 @@ watch( left.value = props.left ?? clientRect.left; } - container.value.addEventListener('pointerdown', (event: Event) => { + container.value.addEventListener('pointerdown', (event: MouseEvent) => { const e = event as PointerEvent; if (e.button === 2 || (props.buttonMenu && e.button === 0)) { isOnContainerClick.value = true; @@ -51,12 +51,12 @@ watch( e.stopPropagation(); } }); - container.value.addEventListener('contextmenu', (e) => { + container.value.addEventListener('contextmenu', (e: MouseEvent) => { if (isOnContainerClick.value) e.preventDefault(); }); } - document.addEventListener('pointerdown', (e) => { + document.addEventListener('pointerdown', (e: MouseEvent) => { if (!props.buttonMenu && e.button === 0 && !(window as CustomWindow).blockPopupActions) active.value = false; }); }, diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index 5a254bc..d536bb9 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -23,7 +23,7 @@ const isRegisterSensitive = ref<boolean>(false); watch(props.columns, () => (columns.value = props.columns)); -const initGap = computed(() => calcGap(props.gap, props.fontSize)); +const initGap = computed(() => calcGap(props.gap ?? '0px', props.fontSize)); const additionalHeightFromSize = computed(() => calcAdditionalHeight(props.size, props.fontSize)); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => @@ -31,7 +31,7 @@ const color = computed(() => ? convertThemeToColor(props.textColor, props.darknessTextColor) : convertThemeToTextColor(props.theme, props.darknessTheme), ); -const secondaryColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); +const secondaryColor = computed<string>(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); const darkCellColor = computed(() => convertThemeToSecondaryColor(props.theme, String(+props.darknessTheme + 300))); // ['', 'up', 'none', '', 'none', ...] const sortState = computed<string[]>(() => { @@ -47,7 +47,7 @@ const rows = computed<ITableItem[][]>(() => sortStateActive.value, props.multipleSort, columnToFilter.value, - props.columns[columnToFilter.value ?? 0].type, + props.columns[columnToFilter.value ?? 0].type ?? 'text', filterValue.value, isRegisterSensitive.value, ), diff --git a/src/stories/components/Table/helpers.ts b/src/stories/components/Table/helpers.ts index 6ebe279..fbb49f2 100644 --- a/src/stories/components/Table/helpers.ts +++ b/src/stories/components/Table/helpers.ts @@ -64,7 +64,7 @@ export const calcGap = (gap: string, fontSize: string) => export const calcAdditionalHeight = (size: TSize, fontSize: string) => { if (size === 'normal') return '0px'; - const isTwoLetters = isFinite(+fontSize.at(-3)!); + const isTwoLetters = isFinite(+fontSize[fontSize.length - 3]!); const value = isTwoLetters ? fontSize.slice(0, -2) : fontSize.slice(0, -3); const unit = isTwoLetters ? fontSize.slice(-2) : fontSize.slice(-3); diff --git a/tsconfig.app.json b/tsconfig.app.json index b5c26be..0cd87b1 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,6 +1,6 @@ { "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "App.vue"], + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/**/*.ts","App.vue"], "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, -- GitLab From 2c227447b918ca4a3704b2e0c07d0620f90d5c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 10:03:32 +0500 Subject: [PATCH 16/32] fix: gap in Table --- src/Playground.vue | 1 - src/stories/components/Table/Table.stories.ts | 2 +- src/stories/components/Table/Table.vue | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Playground.vue b/src/Playground.vue index 88da187..ef2d371 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -87,7 +87,6 @@ const tableColumns: ITableColumn[] = [ { name: 'Name', type: 'text', - sortable: true, }, { name: 'Age', diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 98769a8..2bafd14 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -176,7 +176,7 @@ export const Full: Story = { value: 'Football', }, { - value: 'Canada', + value: 'Canadaaaaaaaaaaaa', }, ], [ diff --git a/src/stories/components/Table/Table.vue b/src/stories/components/Table/Table.vue index d536bb9..c7f1a4c 100644 --- a/src/stories/components/Table/Table.vue +++ b/src/stories/components/Table/Table.vue @@ -23,7 +23,7 @@ const isRegisterSensitive = ref<boolean>(false); watch(props.columns, () => (columns.value = props.columns)); -const initGap = computed(() => calcGap(props.gap ?? '0px', props.fontSize)); +const initGap = computed(() => calcGap(props.gap ?? '5px', props.fontSize)); const additionalHeightFromSize = computed(() => calcAdditionalHeight(props.size, props.fontSize)); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); const color = computed(() => -- GitLab From f9bc1598bc8210c9931d0d071c161d8a2540f2e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 15:29:19 +0500 Subject: [PATCH 17/32] docs: edit README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2bb0dda..f9d8950 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ > лёгкоÑти и проÑтоте. ## СпиÑок компонентов: -- TreeList; - Table; +- TreeList; - MenuDial; - Popup; - Slider; @@ -15,12 +15,13 @@ - SelectButton; - Button; - ToggleSwitch; +- Checkbox; - Divider. --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ -### Components count: 11 -### Bundle size: 272KB +### Components count: 12 +### Bundle size: 276.6KB --- ## Важные моменты при разработке ### Общее начало шаблона Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²: -- GitLab From aa4b2705084fc3d6c661dab113b3f8783c881839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 15:29:32 +0500 Subject: [PATCH 18/32] feat: component "Checkbox" --- src/Playground.vue | 7 + src/common/interfaces/componentsProps.ts | 17 ++ .../components/Checkbox/Checkbox.stories.ts | 171 ++++++++++++++++++ src/stories/components/Checkbox/Checkbox.vue | 143 +++++++++++++++ src/stories/components/Table/Table.stories.ts | 1 - src/stories/components/Table/helpers.ts | 1 - 6 files changed, 338 insertions(+), 2 deletions(-) create mode 100644 src/stories/components/Checkbox/Checkbox.stories.ts create mode 100644 src/stories/components/Checkbox/Checkbox.vue diff --git a/src/Playground.vue b/src/Playground.vue index ef2d371..9caebc0 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -13,6 +13,7 @@ import Popup from '@stories/components/Popup/Popup.vue'; import Table from '@stories/components/Table/Table.vue'; import { ref } from 'vue'; import type { ISBOption, ISliderOptions, ITableColumn } from '@interfaces/componentsProp'; +import Checkbox from '@stories/components/Checkbox/Checkbox.vue'; const visibleDrawer = ref(false); const sliderOptions: ISliderOptions[] = [ @@ -178,10 +179,16 @@ const tableData = [ }, ], ]; +const activeCheckbox = ref(); </script> <template> <h2 class="title gradient-text">Playground</h2> + {{ activeCheckbox }} + <Checkbox v-model:active="activeCheckbox" size="small" /> + <Checkbox v-model:active="activeCheckbox" /> + <Checkbox v-model:active="activeCheckbox" size="large" /> + <Checkbox v-model:active="activeCheckbox" size="huge" /> <Table show-all-lines :columns="tableColumns" diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index c42ddc7..443f8b2 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -157,6 +157,23 @@ export interface ITSProps { disabled?: boolean; } +export interface ICheckboxProps { + label?: string; + labelPos?: TPosition; + name?: string; + size?: TSize; + disabled?: boolean; + invalid?: boolean; + theme?: TThemeColor; + activeTheme?: TThemeColor; + textColor?: TThemeColor; + borderColor?: TThemeColor; + darknessTheme?: TDarkness; + darknessActiveTheme?: TDarkness; + darknessTextColor?: TDarkness; + darknessBorderColor?: TDarkness; +} + export interface IDividerProps { height?: number; type?: TBorder; diff --git a/src/stories/components/Checkbox/Checkbox.stories.ts b/src/stories/components/Checkbox/Checkbox.stories.ts new file mode 100644 index 0000000..5d0f613 --- /dev/null +++ b/src/stories/components/Checkbox/Checkbox.stories.ts @@ -0,0 +1,171 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import Checkbox from './Checkbox.vue'; + +const meta: Meta = { + title: 'Components/Checkbox', + component: Checkbox, + tags: ['autodocs'], + parameters: { + docs: { + description: { + component: 'A component that is used as a Checkbox. Can be used with icon.', + }, + }, + }, + argTypes: { + active: { control: 'boolean' }, + invalid: { control: 'boolean' }, + disabled: { control: 'boolean' }, + label: { control: 'text' }, + name: { control: 'text' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + labelPos: { control: 'select', options: ['left', 'top', 'right', 'bottom'] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessActiveTheme: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + darknessTextColor: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + darknessBorderColor: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + theme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + activeTheme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + textColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + borderColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + }, + args: {}, +} satisfies Meta<typeof Checkbox>; + +export default meta; + +type Story = StoryObj<typeof meta>; + +export const Simple: Story = { + args: { + active: true, + }, +}; + +export const Small: Story = { + args: { + active: false, + size: 'small', + theme: 'yellow', + activeTheme: 'blue', + darknessTheme: '300', + darknessActiveTheme: '700', + label: 'Are you gay?', + }, +}; + +export const Large: Story = { + args: { + active: true, + size: 'large', + theme: 'green', + activeTheme: 'sky', + darknessTheme: '700', + darknessActiveTheme: '300', + label: 'Checkbox', + labelPos: 'top', + invalid: true, + }, +}; + +export const Huge: Story = { + args: { + active: false, + size: 'huge', + theme: 'indigo', + activeTheme: 'purple', + darknessTheme: '500', + darknessActiveTheme: '500', + label: 'Checkbox', + textColor: 'blue', + invalid: false, + disabled: true, + labelPos: 'left', + }, +}; diff --git a/src/stories/components/Checkbox/Checkbox.vue b/src/stories/components/Checkbox/Checkbox.vue new file mode 100644 index 0000000..80eb924 --- /dev/null +++ b/src/stories/components/Checkbox/Checkbox.vue @@ -0,0 +1,143 @@ +<script setup lang="ts"> +import type { ICheckboxProps } from '@interfaces/componentsProps'; +import { computed } from 'vue'; +import { convertThemeToColor, convertThemeToTextColor } from '@helpers/common'; +import CheckMarkIcon from '@stories/icons/Mono/CheckMarkIcon.vue'; + +const props = withDefaults(defineProps<ICheckboxProps>(), { + label: '', + name: '', + labelPos: 'right', + size: 'normal', + theme: 'white', + activeTheme: 'black', + textColor: 'black', + borderColor: 'black', + darknessTheme: '500', + darknessActiveTheme: '500', + darknessTextColor: '500', + darknessBorderColor: '500', +}); +const active = defineModel('active'); +// watch(, () => {}); +const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const activeThemeColor = computed(() => convertThemeToColor(props.activeTheme, props.darknessActiveTheme)); +const iconColor = computed(() => + props.disabled ? '#62708c' : convertThemeToTextColor(props.activeTheme, props.darknessActiveTheme), +); +const color = computed(() => convertThemeToColor(props.textColor, props.darknessTextColor)); +const borderColor = computed(() => + props.invalid + ? 'red' + : props.disabled + ? '#62708c' + : convertThemeToColor(props.borderColor, props.darknessBorderColor), +); +const elSize = computed(() => { + const size = props.size; + if (size === 'normal') return 20; + if (size === 'large') return 30; + if (size === 'huge') return 40; + return 13; +}); +const gap = computed(() => { + if (!props.label) return '0px'; + const size = props.size; + if (size === 'normal') return '7px'; + if (size === 'large') return '10px'; + if (size === 'huge') return '15px'; + return '5px'; +}); +const borderWidth = computed(() => (props.size === 'large' || props.size === 'huge' ? 2 : 1)); +const borderRadius = computed(() => `${elSize.value / 7 - borderWidth.value}px`); +</script> + +<template> + <section + :class="[ + 'container', + { + flexColumn: ['top', 'bottom'].includes(labelPos), + }, + ]" + @click.prevent="!disabled ? (active = !active) : ''" + > + <div class="main" :style="`width: ${elSize}px; height: ${elSize}px; border: ${borderWidth}px solid ${borderColor}`"> + <input + :style="`width: ${elSize}px; height: ${elSize}px; position: absolute; z-index: 100; cursor: ${disabled ? 'initial' : 'pointer'}`" + v-model="active" + type="checkbox" + :name="name" + :value="label" + :disabled="disabled" + /> + <div + :class="[ + { + inactive: !active, + active: active, + disabled: disabled, + }, + ]" + > + <CheckMarkIcon + :style="`transition: all 0.3s ease-in-out; opacity: ${active ? 1 : 0}; position: absolute;`" + :color="iconColor" + :size="elSize" + /> + </div> + </div> + <p + :class="[ + { + first: ['top', 'left'].includes(labelPos), + }, + ]" + :style="`color: ${color}; line-height: 0.9; font-size: ${elSize}px; pointer-events: none`" + > + {{ label }} + </p> + </section> +</template> + +<style scoped> +.container { + position: relative; + display: flex; + gap: v-bind(gap); + box-sizing: content-box; + width: max-content; +} +.main { + position: relative; + border-radius: 15%; +} +.inactive { + height: 100%; + border-radius: v-bind(borderRadius); + + background-color: v-bind(themeColor); + transition: all 0.2s ease-in-out; +} +.active { + width: 100%; + height: 100%; + border-radius: v-bind(borderRadius); + background-color: v-bind(activeThemeColor); + transition: all 0.2s ease-in-out; +} +.disabled { + background-color: #e1e7f1 !important; +} +.first { + order: -1; +} +.flexColumn { + flex-direction: column; + align-items: center; +} +input[type='checkbox'] { + all: unset; + width: 100%; +} +</style> diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index 2bafd14..c716e46 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -222,7 +222,6 @@ export const Full: Story = { }, ], ], - fontSize: '24px', showAllLines: true, border: 'fuchsia', diff --git a/src/stories/components/Table/helpers.ts b/src/stories/components/Table/helpers.ts index fbb49f2..9b0d9eb 100644 --- a/src/stories/components/Table/helpers.ts +++ b/src/stories/components/Table/helpers.ts @@ -42,7 +42,6 @@ export const calcRows = ( } else { const index = sortStateActive[0]; const value = sortStateActive[1]; - console.log('index, value, columnToFilterType:', index, value, columnToFilterType); if (columnToFilterType === 'number') return rows.sort((a, b) => value === 'down' ? +a[index].value - +b[index].value : +b[index].value - +a[index].value, -- GitLab From 34cfc8c8fbebda046f916a6e4414da80456da1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 16:04:24 +0500 Subject: [PATCH 19/32] fix: description to "Table" and "Checkbox" --- src/stories/components/Checkbox/Checkbox.stories.ts | 2 +- src/stories/components/Table/Table.stories.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stories/components/Checkbox/Checkbox.stories.ts b/src/stories/components/Checkbox/Checkbox.stories.ts index 5d0f613..d0124e2 100644 --- a/src/stories/components/Checkbox/Checkbox.stories.ts +++ b/src/stories/components/Checkbox/Checkbox.stories.ts @@ -9,7 +9,7 @@ const meta: Meta = { parameters: { docs: { description: { - component: 'A component that is used as a Checkbox. Can be used with icon.', + component: 'An extension of standard checkbox.', }, }, }, diff --git a/src/stories/components/Table/Table.stories.ts b/src/stories/components/Table/Table.stories.ts index c716e46..18c530d 100644 --- a/src/stories/components/Table/Table.stories.ts +++ b/src/stories/components/Table/Table.stories.ts @@ -9,7 +9,7 @@ const meta: Meta = { parameters: { docs: { description: { - component: 'A component that is used as a Table. Can be used with icon.', + component: 'A component is used to display data in tabular format.', }, }, }, -- GitLab From ebbebcbc7db623738f84b26b3c18d17afb26b00b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 17:36:44 +0500 Subject: [PATCH 20/32] docs: edit README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f9d8950..8f2ddb6 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,14 @@ - SelectButton; - Button; - ToggleSwitch; +- Tag; - Checkbox; - Divider. --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ -### Components count: 12 -### Bundle size: 276.6KB +### Components count: 13 +### Bundle size: 278.3KB --- ## Важные моменты при разработке ### Общее начало шаблона Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²: -- GitLab From 2caf0a97f4908b2eaf4d658583fd416403d405d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 10 Jan 2025 17:36:57 +0500 Subject: [PATCH 21/32] feat: component "Tag" --- src/Playground.vue | 5 + src/common/interfaces/componentsProps.ts | 16 +- .../components/Checkbox/Checkbox.stories.ts | 2 +- src/stories/components/Checkbox/Checkbox.vue | 8 +- src/stories/components/Tag/Tag.stories.ts | 147 ++++++++++++++++++ src/stories/components/Tag/Tag.vue | 65 ++++++++ 6 files changed, 235 insertions(+), 8 deletions(-) create mode 100644 src/stories/components/Tag/Tag.stories.ts create mode 100644 src/stories/components/Tag/Tag.vue diff --git a/src/Playground.vue b/src/Playground.vue index 9caebc0..ce15ff7 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -14,6 +14,7 @@ import Table from '@stories/components/Table/Table.vue'; import { ref } from 'vue'; import type { ISBOption, ISliderOptions, ITableColumn } from '@interfaces/componentsProp'; import Checkbox from '@stories/components/Checkbox/Checkbox.vue'; +import Tag from '@stories/components/Tag/Tag.vue'; const visibleDrawer = ref(false); const sliderOptions: ISliderOptions[] = [ @@ -184,6 +185,10 @@ const activeCheckbox = ref(); <template> <h2 class="title gradient-text">Playground</h2> + <Tag theme="sky"> + <template #icon-right><TrashIcon color="#3333aa" size="18" /></template> + <template #icon-left><TrashIcon color="sky" size="18" /></template> + </Tag> {{ activeCheckbox }} <Checkbox v-model:active="activeCheckbox" size="small" /> <Checkbox v-model:active="activeCheckbox" /> diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 443f8b2..7d32e0b 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -157,6 +157,20 @@ export interface ITSProps { disabled?: boolean; } +export interface ITagProps { + value?: string; + size?: TSize; + rounded?: boolean; + iconLeft?: TIcons; + iconRight?: TIcons; + theme?: TThemeColor; + background?: TThemeColor; + border?: TThemeColor; + darknessTheme?: TDarkness; + darknessBackground?: TDarkness; + darknessBorder?: TDarkness; +} + export interface ICheckboxProps { label?: string; labelPos?: TPosition; @@ -171,7 +185,7 @@ export interface ICheckboxProps { darknessTheme?: TDarkness; darknessActiveTheme?: TDarkness; darknessTextColor?: TDarkness; - darknessBorderColor?: TDarkness; + darknessBorder?: TDarkness; } export interface IDividerProps { diff --git a/src/stories/components/Checkbox/Checkbox.stories.ts b/src/stories/components/Checkbox/Checkbox.stories.ts index d0124e2..9bdc8ac 100644 --- a/src/stories/components/Checkbox/Checkbox.stories.ts +++ b/src/stories/components/Checkbox/Checkbox.stories.ts @@ -30,7 +30,7 @@ const meta: Meta = { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, - darknessBorderColor: { + darknessBorder: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, diff --git a/src/stories/components/Checkbox/Checkbox.vue b/src/stories/components/Checkbox/Checkbox.vue index 80eb924..d4572c1 100644 --- a/src/stories/components/Checkbox/Checkbox.vue +++ b/src/stories/components/Checkbox/Checkbox.vue @@ -16,7 +16,7 @@ const props = withDefaults(defineProps<ICheckboxProps>(), { darknessTheme: '500', darknessActiveTheme: '500', darknessTextColor: '500', - darknessBorderColor: '500', + darknessBorder: '500', }); const active = defineModel('active'); // watch(, () => {}); @@ -27,11 +27,7 @@ const iconColor = computed(() => ); const color = computed(() => convertThemeToColor(props.textColor, props.darknessTextColor)); const borderColor = computed(() => - props.invalid - ? 'red' - : props.disabled - ? '#62708c' - : convertThemeToColor(props.borderColor, props.darknessBorderColor), + props.invalid ? 'red' : props.disabled ? '#62708c' : convertThemeToColor(props.borderColor, props.darknessBorder), ); const elSize = computed(() => { const size = props.size; diff --git a/src/stories/components/Tag/Tag.stories.ts b/src/stories/components/Tag/Tag.stories.ts new file mode 100644 index 0000000..91c23aa --- /dev/null +++ b/src/stories/components/Tag/Tag.stories.ts @@ -0,0 +1,147 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import Tag from './Tag.vue'; +import { iconsSet } from '@/common/constants/icons'; + +const meta: Meta = { + title: 'Components/Tag', + component: Tag, + tags: ['autodocs'], + parameters: { + docs: { + description: { + component: 'A component is used to categorize content. Can be used with icon.', + }, + }, + }, + argTypes: { + value: { control: 'text' }, + rounded: { control: 'boolean' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + iconLeft: { control: 'select', options: Object.keys(iconsSet) }, + iconRight: { control: 'select', options: Object.keys(iconsSet) }, + darknessTheme: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + darknessBackground: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + darknessBorder: { + control: 'select', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + theme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + background: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + border: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + }, + args: {}, +} satisfies Meta<typeof Tag>; + +export default meta; + +type Story = StoryObj<typeof meta>; + +export const Simple: Story = { + args: { + active: true, + }, +}; + +export const Small: Story = { + args: { + size: 'small', + theme: 'red', + value: 'Dangerous', + iconRight: 'Age18Icon', + }, +}; + +export const Normal_rounded: Story = { + args: { + size: 'normal', + theme: 'green', + value: 'Be calm', + rounded: true, + }, +}; + +export const Large: Story = { + args: { + size: 'large', + theme: 'sky', + value: 'Ice cream', + iconLeft: 'CoinsIcon', + }, +}; + +export const Huge: Story = { + args: { + size: 'huge', + theme: 'indigo', + value: 'Unique', + iconLeft: 'BallFootballIcon', + iconRight: 'ArrowForwardIcon', + darknessBackground: '300', + darknessBorder: '500', + border: 'indigo', + }, +}; diff --git a/src/stories/components/Tag/Tag.vue b/src/stories/components/Tag/Tag.vue new file mode 100644 index 0000000..d7d0839 --- /dev/null +++ b/src/stories/components/Tag/Tag.vue @@ -0,0 +1,65 @@ +<script setup lang="ts"> +import type { ITagProps } from '@interfaces/componentsProps'; +import { computed } from 'vue'; +import { convertThemeToColor } from '@helpers/common'; +import { iconsSet } from '@/common/constants/icons'; + +const props = withDefaults(defineProps<ITagProps>(), { + value: 'Tag', + size: 'normal', + theme: 'black', + darknessTheme: '700', + darknessBackground: '200', + darknessBorder: '500', +}); +const textColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const backgroundColor = computed(() => + convertThemeToColor( + props.background ?? (props.theme === 'white' ? 'black' : props.theme === 'black' ? 'white' : props.theme), + props.darknessBackground, + ), +); +const borderColor = computed(() => (props.border ? convertThemeToColor(props.border, props.darknessBorder) : '')); +const fontSize = computed(() => { + const size = props.size; + if (size === 'normal') return '16px'; + if (size === 'large') return '20px'; + if (size === 'huge') return '24px'; + return '12px'; +}); +const padding = computed(() => { + const size = props.size; + if (size === 'normal') return '5px 11px'; + if (size === 'large') return '6px 13px'; + if (size === 'huge') return '7px 16px'; + return '3px 7px'; +}); +</script> + +<template> + <div + class="container" + :style="`border-radius: ${rounded ? fontSize : `calc(${fontSize} / 2)`}; gap: calc(${fontSize} / 2.5); border: ${['normal', 'small'].includes(size) ? '1px' : '2px'} solid ${borderColor}`" + > + <slot name="icon-left"></slot> + <component v-show="iconLeft" :is="iconsSet[iconLeft ?? 0]" :color="textColor" :size="fontSize.slice(0, -2)" /> + <span class="text">{{ value }}</span> + <component v-show="iconRight" :is="iconsSet[iconRight ?? 0]" :color="textColor" :size="fontSize.slice(0, -2)" /> + <slot name="icon-right"></slot> + </div> +</template> + +<style scoped> +.container { + display: flex; + width: max-content; + padding: v-bind(padding); + align-items: center; + background-color: v-bind(backgroundColor); +} +.text { + font-weight: bold; + font-size: v-bind(fontSize); + color: v-bind(textColor); +} +</style> -- GitLab From 69c55394eeed9426265cd47c8f03c8b104bf71ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Sat, 11 Jan 2025 17:02:23 +0500 Subject: [PATCH 22/32] feat: almost finish with Select but still without group's logic (and add one icon) --- .storybook/main.ts | 13 +- README.md | 2 + src/App.vue | 2 + src/Playground.vue | 16 +- src/common/constants/icons.ts | 208 ++++++++-------- src/common/interfaces/componentsProp.ts | 19 ++ src/common/interfaces/componentsProps.ts | 17 ++ .../components/Select/Select.stories.ts | 116 +++++++++ src/stories/components/Select/Select.vue | 228 ++++++++++++++++++ src/stories/components/Tag/Tag.vue | 4 +- src/stories/icons/Mono/ArrowShortDownIcon.vue | 43 ++++ 11 files changed, 554 insertions(+), 114 deletions(-) create mode 100644 src/stories/components/Select/Select.stories.ts create mode 100644 src/stories/components/Select/Select.vue create mode 100644 src/stories/icons/Mono/ArrowShortDownIcon.vue diff --git a/.storybook/main.ts b/.storybook/main.ts index 48eccba..5934ec8 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,16 +1,11 @@ -import type { StorybookConfig } from '@storybook/vue3-vite' +import type { StorybookConfig } from '@storybook/vue3-vite'; const config: StorybookConfig = { stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], - addons: [ - '@storybook/addon-onboarding', - '@storybook/addon-essentials', - '@chromatic-com/storybook', - '@storybook/addon-interactions', - ], + addons: ['@storybook/addon-essentials', '@chromatic-com/storybook', '@storybook/addon-interactions'], framework: { name: '@storybook/vue3-vite', options: {}, }, -} -export default config +}; +export default config; diff --git a/README.md b/README.md index 8f2ddb6..80e32e1 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,9 @@ ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ### Components count: 13 ### Bundle size: 278.3KB + --- + ## Важные моменты при разработке ### Общее начало шаблона Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²: ``` diff --git a/src/App.vue b/src/App.vue index 00f92a0..0fd4939 100644 --- a/src/App.vue +++ b/src/App.vue @@ -107,6 +107,7 @@ import UserIcon from '@stories/icons/Mono/UserIcon.vue'; import ArrowsVerticalIcon from '@stories/icons/Mono/ArrowsVerticalIcon.vue'; import TriangleIcon from '@stories/icons/Mono/TriangleIcon.vue'; import Playground from '@/Playground.vue'; +import ArrowShortDownIcon from '@stories/icons/Mono/ArrowShortDownIcon.vue'; const gentleIcons = { Age18Icon, @@ -121,6 +122,7 @@ const gentleIcons = { ArrowForwardIcon, ArrowLeftIcon, ArrowRightIcon, + ArrowShortDownIcon, ArrowsVerticalIcon, AtIcon, AwardIcon, diff --git a/src/Playground.vue b/src/Playground.vue index ce15ff7..ba41d2a 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -15,6 +15,8 @@ import { ref } from 'vue'; import type { ISBOption, ISliderOptions, ITableColumn } from '@interfaces/componentsProp'; import Checkbox from '@stories/components/Checkbox/Checkbox.vue'; import Tag from '@stories/components/Tag/Tag.vue'; +import Select from '@stories/components/Select/Select.vue'; +import AtIcon from '@stories/icons/Mono/AtIcon.vue'; const visibleDrawer = ref(false); const sliderOptions: ISliderOptions[] = [ @@ -181,13 +183,25 @@ const tableData = [ ], ]; const activeCheckbox = ref(); +const selectOptions = [ + { + value: 'First', + }, + { + value: 'Second', + }, +]; </script> <template> <h2 class="title gradient-text">Playground</h2> + <Select :options="selectOptions" theme="sky"> + <template #icon-left-First> + <AtIcon color="#3aa" size="20" /> + </template> + </Select> <Tag theme="sky"> <template #icon-right><TrashIcon color="#3333aa" size="18" /></template> - <template #icon-left><TrashIcon color="sky" size="18" /></template> </Tag> {{ activeCheckbox }} <Checkbox v-model:active="activeCheckbox" size="small" /> diff --git a/src/common/constants/icons.ts b/src/common/constants/icons.ts index 250f8fe..3fb819b 100644 --- a/src/common/constants/icons.ts +++ b/src/common/constants/icons.ts @@ -107,113 +107,115 @@ import SortHorizontalIcon from '@stories/icons/Mono/SortHorizontalIcon.vue'; import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; +import ArrowShortDownIcon from '@stories/icons/Mono/ArrowShortDownIcon.vue'; export const iconsSet: Record<string, Component> = { - Age18Icon: Age18Icon, - AirplaneIcon: AirplaneIcon, - AlarmIcon: AlarmIcon, - AlignCenterIcon: AlignCenterIcon, - AlignLeftIcon: AlignLeftIcon, - AlignRightIcon: AlignRightIcon, - AnchorIcon: AnchorIcon, - AnchorLinkIcon: AnchorLinkIcon, - ArchiveIcon: ArchiveIcon, - ArrowForwardIcon: ArrowForwardIcon, - ArrowLeftIcon: ArrowLeftIcon, - ArrowRightIcon: ArrowRightIcon, - ArrowsVerticalIcon: ArrowsVerticalIcon, - AtIcon: AtIcon, - AwardIcon: AwardIcon, - BackspaceIcon: BackspaceIcon, - BadgeIcon: BadgeIcon, - BallFootballIcon: BallFootballIcon, - BallIcon: BallIcon, - BanknoteIcon: BanknoteIcon, - BellIcon: BellIcon, - BellOffIcon: BellOffIcon, - BoxIcon: BoxIcon, - BrightnessIcon: BrightnessIcon, - BulbIcon: BulbIcon, - CalculatorIcon: CalculatorIcon, - CalendarAddIcon: CalendarAddIcon, - CalendarIcon: CalendarIcon, - CalendarRemoveIcon: CalendarRemoveIcon, - CardsIcon: CardsIcon, - ChartLineIcon: ChartLineIcon, - ChartPieIcon: ChartPieIcon, - ChatIcon: ChatIcon, - ChatWritingIcon: ChatWritingIcon, - CheckMarkIcon: CheckMarkIcon, - ChemistryFlaskIcon: ChemistryFlaskIcon, - CodeIcon: CodeIcon, - CoinsIcon: CoinsIcon, - ColorPaletteIcon: ColorPaletteIcon, - CompassIcon: CompassIcon, - ConstructionWorkerIcon: ConstructionWorkerIcon, - ContactsIcon: ContactsIcon, - CropIcon: CropIcon, - CrossIcon: CrossIcon, - CrossCircleIcon: CrossCircleIcon, - CubeIcon: CubeIcon, - CupIcon: CupIcon, - CursorIcon: CursorIcon, - DiamondIcon: DiamondIcon, - DiaryIcon: DiaryIcon, - DiceIcon: DiceIcon, - DigIcon: DigIcon, - DislikeIcon: DislikeIcon, - DisplayIcon: DisplayIcon, - DocumentIcon: DocumentIcon, - DocumentAddIcon: DocumentAddIcon, - DocumentDeleteIcon: DocumentDeleteIcon, - DocumentEditIcon: DocumentEditIcon, - DollarIcon: DollarIcon, - DotsHorizontalIcon: DotsHorizontalIcon, - DotsVerticalIcon: DotsVerticalIcon, - DownloadIcon: DownloadIcon, - DropIcon: DropIcon, - DumbbelIcon: DumbbelIcon, - EarthIcon: EarthIcon, - EditIcon: EditIcon, - EncyclopediaIcon: EncyclopediaIcon, - ExitIcon: ExitIcon, - EyeIcon: EyeIcon, - FeedbackIcon: FeedbackIcon, - FilterIcon: FilterIcon, - FingerprintIcon: FingerprintIcon, - FireIcon: FireIcon, - FlagIcon: FlagIcon, - FlashIcon: FlashIcon, - FlashlightIcon: FlashlightIcon, - FolderLockIcon: FolderLockIcon, - FrameIcon: FrameIcon, - FullScreenIcon: FullScreenIcon, - GameControllerIcon: GameControllerIcon, - GiftIcon: GiftIcon, - GlassesIcon: GlassesIcon, - HamburgerIcon: HamburgerIcon, - HandIcon: HandIcon, - HomeIcon: HomeIcon, - ImageIcon: ImageIcon, - ImageEditIcon: ImageEditIcon, - LineIcon: LineIcon, - LineDashedIcon: LineDashedIcon, - LineDottedIcon: LineDottedIcon, - LineDiagonalIcon: LineDiagonalIcon, - MoveIcon: MoveIcon, - ParagraphIcon: ParagraphIcon, - PhoneHandsetIcon: PhoneHandsetIcon, - PlusCircleIcon: PlusCircleIcon, - PlusIcon: PlusIcon, - PointerIcon: PointerIcon, - SaveIcon: SaveIcon, - SettingsIcon: SettingsIcon, + Age18: Age18Icon, + Airplane: AirplaneIcon, + Alarm: AlarmIcon, + AlignCenter: AlignCenterIcon, + AlignLeft: AlignLeftIcon, + AlignRight: AlignRightIcon, + Anchor: AnchorIcon, + AnchorLink: AnchorLinkIcon, + Archive: ArchiveIcon, + ArrowForward: ArrowForwardIcon, + ArrowLeft: ArrowLeftIcon, + ArrowRight: ArrowRightIcon, + ArrowShortDown: ArrowShortDownIcon, + ArrowsVertical: ArrowsVerticalIcon, + At: AtIcon, + Award: AwardIcon, + Backspace: BackspaceIcon, + Badge: BadgeIcon, + BallFootball: BallFootballIcon, + Ball: BallIcon, + Banknote: BanknoteIcon, + Bell: BellIcon, + BellOff: BellOffIcon, + Box: BoxIcon, + Brightness: BrightnessIcon, + Bulb: BulbIcon, + Calculator: CalculatorIcon, + CalendarAdd: CalendarAddIcon, + Calendar: CalendarIcon, + CalendarRemove: CalendarRemoveIcon, + Cards: CardsIcon, + ChartLine: ChartLineIcon, + ChartPie: ChartPieIcon, + Chat: ChatIcon, + ChatWriting: ChatWritingIcon, + CheckMark: CheckMarkIcon, + ChemistryFlask: ChemistryFlaskIcon, + Code: CodeIcon, + Coins: CoinsIcon, + ColorPalette: ColorPaletteIcon, + Compass: CompassIcon, + ConstructionWorker: ConstructionWorkerIcon, + Contacts: ContactsIcon, + Crop: CropIcon, + Cross: CrossIcon, + CrossCircle: CrossCircleIcon, + Cube: CubeIcon, + Cup: CupIcon, + Cursor: CursorIcon, + Diamond: DiamondIcon, + Diary: DiaryIcon, + Dice: DiceIcon, + Dig: DigIcon, + Dislike: DislikeIcon, + Display: DisplayIcon, + Document: DocumentIcon, + DocumentAdd: DocumentAddIcon, + DocumentDelete: DocumentDeleteIcon, + DocumentEdit: DocumentEditIcon, + Dollar: DollarIcon, + DotsHorizontal: DotsHorizontalIcon, + DotsVertical: DotsVerticalIcon, + Download: DownloadIcon, + Drop: DropIcon, + Dumbbel: DumbbelIcon, + Earth: EarthIcon, + Edit: EditIcon, + Encyclopedia: EncyclopediaIcon, + Exit: ExitIcon, + Eye: EyeIcon, + Feedback: FeedbackIcon, + Filter: FilterIcon, + Fingerprint: FingerprintIcon, + Fire: FireIcon, + Flag: FlagIcon, + Flash: FlashIcon, + Flashlight: FlashlightIcon, + FolderLock: FolderLockIcon, + Frame: FrameIcon, + FullScreen: FullScreenIcon, + GameController: GameControllerIcon, + Gift: GiftIcon, + Glasses: GlassesIcon, + Hamburger: HamburgerIcon, + Hand: HandIcon, + Home: HomeIcon, + Image: ImageIcon, + ImageEdit: ImageEditIcon, + Line: LineIcon, + LineDashed: LineDashedIcon, + LineDotted: LineDottedIcon, + LineDiagonal: LineDiagonalIcon, + Move: MoveIcon, + Paragraph: ParagraphIcon, + PhoneHandset: PhoneHandsetIcon, + PlusCircle: PlusCircleIcon, + Plus: PlusIcon, + Pointer: PointerIcon, + Save: SaveIcon, + Settings: SettingsIcon, SortDownIcon, SortHorizontalIcon, SortUpIcon, SortVerticalIcon, - TableIcon: TableIcon, - TrashIcon: TrashIcon, - TriangleIcon: TriangleIcon, - UserIcon: UserIcon, + Table: TableIcon, + Trash: TrashIcon, + Triangle: TriangleIcon, + User: UserIcon, }; diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 5cf8fb5..7cda8e5 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -55,6 +55,25 @@ export interface IMDItemProps { onClick?: () => void; } +export interface ISelectOption { + value: string; + label?: string; + iconLeft?: TIcons; + iconRight?: TIcons; + iconColor?: TThemeColor; + color?: TThemeColor; + darknessColor?: TDarkness; + background?: TThemeColor; + darknessBackground?: TDarkness; +} + +export interface ISelectGroup { + title: string; + iconLeft?: TIcons; + iconRight?: TIcons; + items: string[]; +} + export interface ISBOption { label: string; value?: never; diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 7d32e0b..b0195bc 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -13,6 +13,8 @@ import type { import type { IMDItemProps, ISBOption, + ISelectGroup, + ISelectOption, ISliderOptions, ITableColumn, ITableItem, @@ -122,6 +124,21 @@ export interface IPopupProps { left?: number; } +export interface ISelectProps { + options: ISelectOption[]; + groups?: ISelectGroup[]; + width?: string; + placeholder?: string; + openIcon?: TIcons; + size?: TSize; + name?: string; + theme?: TThemeColor; + background?: TThemeColor; + darknessTheme?: TDarkness; + darknessBackground?: TDarkness; + disabled?: boolean; +} + export interface ISBProps { options: ISBOption[]; size?: TSize; diff --git a/src/stories/components/Select/Select.stories.ts b/src/stories/components/Select/Select.stories.ts new file mode 100644 index 0000000..de89784 --- /dev/null +++ b/src/stories/components/Select/Select.stories.ts @@ -0,0 +1,116 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import Select from './Select.vue'; + +const meta: Meta = { + title: 'Components/Select', + component: Select, + tags: ['autodocs'], + parameters: { + docs: { + description: { + component: 'A component that is used as a Select. Can be used with icon.', + }, + }, + }, + argTypes: { + width: { control: 'text' }, + disabled: { control: 'boolean' }, + placeholder: { control: 'text' }, + name: { control: 'text' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessBackground: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + theme: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + background: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + }, +} satisfies Meta<typeof Select>; + +export default meta; + +type Story = StoryObj<typeof meta>; + +export const Simple: Story = { + args: { + options: [ + { + value: 'First', + }, + { + value: 'Second', + }, + { + value: 'Third', + }, + ], + }, +}; + +export const Full: Story = { + args: { + options: [ + { + value: 'First', + iconLeft: 'At', + color: 'purple', + darknessColor: '800', + }, + { + value: 'Second', + iconColor: 'red', + iconRight: 'Age18', + }, + { + iconLeft: 'Calendar', + value: 'Third', + iconRight: 'CheckMark', + }, + ], + + placeholder: 'Select a city', + size: 'normal', + width: '250px', + theme: 'sky', + background: 'sky', + darknessTheme: '700', + darknessBackground: '200', + }, +}; diff --git a/src/stories/components/Select/Select.vue b/src/stories/components/Select/Select.vue new file mode 100644 index 0000000..93df67f --- /dev/null +++ b/src/stories/components/Select/Select.vue @@ -0,0 +1,228 @@ +<script setup lang="ts"> +import type { ISelectProps } from '@interfaces/componentsProps'; +import { computed, ref } from 'vue'; +import { convertThemeToColor } from '@helpers/common'; +import { iconsSet } from '@/common/constants/icons'; +import type { TThemeColor } from '@interfaces/common'; + +const props = withDefaults(defineProps<ISelectProps>(), { + size: 'normal', + width: '200px', + theme: 'black', + darknessTheme: '700', + darknessBackground: '200', + name: 'select', + placeholder: 'Nothing selected', + openIcon: 'ArrowShortDown', +}); +const selected = defineModel('value'); +// watch(, () => {}); +const isOpen = ref<boolean>(false); + +const selectedOption = computed(() => props.options.find((option) => option.value === selected.value)); +const textColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const backgroundColor = computed(() => + convertThemeToColor( + props.background ?? (props.theme === 'white' ? 'black' : props.theme === 'black' ? 'white' : props.theme), + (!props.background && props.theme === 'black') || (props.background === 'white' && props.theme === 'black') + ? '500' + : props.darknessBackground, + ), +); +const fontSize = computed(() => { + const size = props.size; + if (size === 'normal') return '16px'; + if (size === 'large') return '20px'; + if (size === 'huge') return '24px'; + return '12px'; +}); + +const pickOption = (value: string) => { + selected.value = value; + isOpen.value = false; +}; +const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | undefined, defaultColor: string) => + color ? convertThemeToColor(color, darknessColor ?? '500') : defaultColor; +</script> + +<template> + <section> + <select :name="name" id="select"> + <option value=""></option> + <option v-for="option of options" :key="option.value" :selected="selected === option.value"> + {{ option.label ?? option.value }} + </option> + </select> + <div class="list" :style="`background-color: ${backgroundColor}`"> + <button @click.prevent="isOpen = !isOpen" class="button" :style="`width: ${width}`"> + <span + class="selected" + :style="`color: ${selected ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) : '#62708c'}; font-weight: 600`" + > + <slot :name="`icon-left-${selectedOption?.value}`"></slot> + <component + v-if="selectedOption?.iconLeft" + :is="iconsSet[selectedOption?.iconLeft]" + :size="fontSize.slice(0, -2)" + :color=" + calcOptionColor( + selectedOption.iconColor ?? selectedOption?.color, + selectedOption?.darknessColor, + textColor, + ) + " /><span>{{ selected ?? placeholder }}</span> + <component + v-if="selectedOption?.iconRight" + :is="iconsSet[selectedOption?.iconRight]" + :size="fontSize.slice(0, -2)" + :color=" + calcOptionColor( + selectedOption.iconColor ?? selectedOption?.color, + selectedOption?.darknessColor, + textColor, + ) + " /><slot :name="`icon-right-${selectedOption?.value}`"></slot></span + ><component + :is="iconsSet[openIcon]" + :size="fontSize.slice(0, -2)" + color="#62708c" + :style="`width: ${fontSize}`" + /> + </button> + <div + :class="[ + 'options', + { + optionsOpened: isOpen, + }, + ]" + > + <div style="overflow: hidden"> + <p + @click.prevent="pickOption(option.value)" + v-for="option of options" + :key="option.value" + :class="[ + 'option', + { + firstOption: options[0].value === option.value, + lastOption: options[options.length - 1].value === option.value, + }, + ]" + :style="`color: ${calcOptionColor(option.color, option.darknessColor, textColor)}; + background-color: ${calcOptionColor(option.background, option.darknessBackground, backgroundColor)}`" + > + <slot :name="`icon-left-${option.value}`"></slot> + <component + v-if="option.iconLeft" + :is="iconsSet[option.iconLeft]" + :size="fontSize.slice(0, -2)" + :color="calcOptionColor(option.iconColor ?? option.color, option.darknessColor, textColor)" + /><span>{{ option.label ?? option.value }}</span + ><component + v-if="option.iconRight" + :is="iconsSet[option.iconRight]" + :size="fontSize.slice(0, -2)" + :color="calcOptionColor(option.iconColor ?? option.color, option.darknessColor, textColor)" + /> + <slot :name="`icon-right-${option.value}`"></slot> + </p> + </div> + </div> + </div> + </section> +</template> + +<style scoped> +#select { + display: none; +} +.list { + position: relative; + width: max-content; + border: 1px solid v-bind(textColor); + border-radius: 5px; + cursor: pointer; +} +.button { + display: flex; + padding: 7px; + justify-content: space-between; + gap: 10px; +} +.selected { + display: flex; + gap: 5px; +} +.options { + position: absolute; + z-index: 5000; + top: 101%; + width: 100%; + border: 1px solid v-bind(textColor); + border-radius: 5px; + display: grid; + grid-template-rows: 0fr; + opacity: 0; + transition: + all 0.2s ease-in-out, + opacity 0.1s ease-in-out; +} +.optionsOpened { + grid-template-rows: 1fr; + opacity: 1; +} +.option { + display: flex; + align-items: center; + gap: 5px; + padding: 7px; +} +.option:hover { + filter: brightness(90%); + transition: all 0.1s ease-in-out; +} +.group { + border-top: 1px solid v-bind(textColor); +} +.firstOption { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.lastOption { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +</style> +<!--.list {--> +<!--position: relative;--> +<!--width: max-content;--> +<!--border: 1px solid v-bind(textColor);--> +<!--border-radius: 5px 5px 0 0;--> +<!--cursor: pointer;--> +<!--}--> +<!--.button {--> +<!--display: flex;--> +<!--padding: 7px;--> +<!--justify-content: space-between;--> +<!--gap: 10px;--> +<!--}--> +<!--.selected {--> +<!--display: flex;--> +<!--gap: 5px;--> +<!--}--> +<!--.options {--> +<!--position: absolute;--> +<!--top: 100%;--> +<!--width: 100%;--> +<!--border: 1px solid v-bind(textColor);--> +<!--border-top: none;--> +<!--border-bottom-left-radius: 5px;--> +<!--border-bottom-right-radius: 5px;--> +<!--display: grid;--> +<!--grid-template-rows: 0fr;--> +<!--opacity: 0;--> +<!--transition:--> +<!--all 0.2s ease-in-out,--> +<!--opacity 0.1s ease-in-out;--> +<!--}--> diff --git a/src/stories/components/Tag/Tag.vue b/src/stories/components/Tag/Tag.vue index d7d0839..1de0ac7 100644 --- a/src/stories/components/Tag/Tag.vue +++ b/src/stories/components/Tag/Tag.vue @@ -19,7 +19,9 @@ const backgroundColor = computed(() => props.darknessBackground, ), ); -const borderColor = computed(() => (props.border ? convertThemeToColor(props.border, props.darknessBorder) : '')); +const borderColor = computed(() => + props.border ? convertThemeToColor(props.border, props.darknessBorder) : 'transparent', +); const fontSize = computed(() => { const size = props.size; if (size === 'normal') return '16px'; diff --git a/src/stories/icons/Mono/ArrowShortDownIcon.vue b/src/stories/icons/Mono/ArrowShortDownIcon.vue new file mode 100644 index 0000000..e3576dc --- /dev/null +++ b/src/stories/icons/Mono/ArrowShortDownIcon.vue @@ -0,0 +1,43 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="size ?? '40px'" + :height="size ?? '40px'" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 300 300" + shape-rendering="geometricPrecision" + text-rendering="geometricPrecision" + > + <line + x1="-63.725864" + y1="-43.107899" + x2="62.725865" + y2="43.107899" + transform="matrix(1.066014 0 0 1.167066 83.13335 150)" + fill="none" + :stroke="color ?? '#000000'" + stroke-width="30" + stroke-linecap="round" + /> + <line + x1="-62.725864" + y1="-43.107899" + x2="62.725865" + y2="43.107899" + transform="matrix(-1.068571 0 0 1.167066 217.02704 150)" + fill="none" + :stroke="color ?? '#000000'" + stroke-width="30" + stroke-linecap="round" + /> + </svg> +</template> + +<style scoped></style> -- GitLab From 599e574af80dc3226bfbb88767a5517cbe1f50a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Mon, 13 Jan 2025 19:56:16 +0500 Subject: [PATCH 23/32] feat: add logic for Select and create 'SelectItem' component --- src/common/interfaces/componentsProp.ts | 10 +- src/common/interfaces/componentsProps.ts | 3 + .../components/MenuDial/MenuDial.stories.ts | 4 +- .../components/Select/Select.stories.ts | 46 ++++++- src/stories/components/Select/Select.vue | 124 +++++++----------- src/stories/components/Select/SelectItem.vue | 36 +++++ 6 files changed, 137 insertions(+), 86 deletions(-) create mode 100644 src/stories/components/Select/SelectItem.vue diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 7cda8e5..7d1f60b 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -58,9 +58,11 @@ export interface IMDItemProps { export interface ISelectOption { value: string; label?: string; + group?: string; iconLeft?: TIcons; iconRight?: TIcons; - iconColor?: TThemeColor; + iconLeftColor?: TThemeColor; + iconRightColor?: TThemeColor; color?: TThemeColor; darknessColor?: TDarkness; background?: TThemeColor; @@ -68,10 +70,12 @@ export interface ISelectOption { } export interface ISelectGroup { - title: string; + name: string; + titleColor?: TThemeColor; iconLeft?: TIcons; iconRight?: TIcons; - items: string[]; + iconLeftColor?: TThemeColor; + iconRightColor?: TThemeColor; } export interface ISBOption { diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index b0195bc..fd964d6 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -134,8 +134,11 @@ export interface ISelectProps { name?: string; theme?: TThemeColor; background?: TThemeColor; + placeholderColor?: TThemeColor; + openIconColor?: TThemeColor; darknessTheme?: TDarkness; darknessBackground?: TDarkness; + darknessOpenIcon?: TDarkness; disabled?: boolean; } diff --git a/src/stories/components/MenuDial/MenuDial.stories.ts b/src/stories/components/MenuDial/MenuDial.stories.ts index ba5314d..4da386b 100644 --- a/src/stories/components/MenuDial/MenuDial.stories.ts +++ b/src/stories/components/MenuDial/MenuDial.stories.ts @@ -102,7 +102,7 @@ export const Full: Story = { }, }; -export const Down: Story = { +export const Vertical: Story = { args: { items: [ { @@ -125,7 +125,7 @@ export const Down: Story = { }, }; -export const Huge: Story = { +export const Full2: Story = { args: { items: [ { diff --git a/src/stories/components/Select/Select.stories.ts b/src/stories/components/Select/Select.stories.ts index de89784..2412f30 100644 --- a/src/stories/components/Select/Select.stories.ts +++ b/src/stories/components/Select/Select.stories.ts @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/vue3'; import Select from './Select.vue'; +import { iconsSet } from '@/common/constants/icons'; const meta: Meta = { title: 'Components/Select', @@ -18,9 +19,11 @@ const meta: Meta = { disabled: { control: 'boolean' }, placeholder: { control: 'text' }, name: { control: 'text' }, + openIcon: { control: 'select', options: Object.keys(iconsSet) }, size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessBackground: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessOpenIcon: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { control: 'select', options: [ @@ -61,6 +64,46 @@ const meta: Meta = { 'black', ], }, + openIconColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + placeholderColor: { + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, }, } satisfies Meta<typeof Select>; @@ -95,7 +138,7 @@ export const Full: Story = { }, { value: 'Second', - iconColor: 'red', + iconRightColor: 'red', iconRight: 'Age18', }, { @@ -112,5 +155,6 @@ export const Full: Story = { background: 'sky', darknessTheme: '700', darknessBackground: '200', + openIconColor: 'sky', }, }; diff --git a/src/stories/components/Select/Select.vue b/src/stories/components/Select/Select.vue index 93df67f..44ce926 100644 --- a/src/stories/components/Select/Select.vue +++ b/src/stories/components/Select/Select.vue @@ -4,6 +4,7 @@ import { computed, ref } from 'vue'; import { convertThemeToColor } from '@helpers/common'; import { iconsSet } from '@/common/constants/icons'; import type { TThemeColor } from '@interfaces/common'; +import SelectItem from '@stories/components/Select/SelectItem.vue'; const props = withDefaults(defineProps<ISelectProps>(), { size: 'normal', @@ -11,22 +12,20 @@ const props = withDefaults(defineProps<ISelectProps>(), { theme: 'black', darknessTheme: '700', darknessBackground: '200', + darknessOpenIcon: '700', name: 'select', placeholder: 'Nothing selected', openIcon: 'ArrowShortDown', }); const selected = defineModel('value'); -// watch(, () => {}); const isOpen = ref<boolean>(false); const selectedOption = computed(() => props.options.find((option) => option.value === selected.value)); -const textColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const textColor = computed(() => (props.disabled ? '#62708c' : convertThemeToColor(props.theme, props.darknessTheme))); const backgroundColor = computed(() => convertThemeToColor( props.background ?? (props.theme === 'white' ? 'black' : props.theme === 'black' ? 'white' : props.theme), - (!props.background && props.theme === 'black') || (props.background === 'white' && props.theme === 'black') - ? '500' - : props.darknessBackground, + (!props.background && props.theme === 'black') || props.background === 'white' ? '500' : props.darknessBackground, ), ); const fontSize = computed(() => { @@ -36,6 +35,13 @@ const fontSize = computed(() => { if (size === 'huge') return '24px'; return '12px'; }); +const padding = computed(() => { + const size = props.size; + if (size === 'normal') return '6px'; + if (size === 'large') return '10px'; + if (size === 'huge') return '14px'; + return '4px'; +}); const pickOption = (value: string) => { selected.value = value; @@ -54,38 +60,31 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | </option> </select> <div class="list" :style="`background-color: ${backgroundColor}`"> - <button @click.prevent="isOpen = !isOpen" class="button" :style="`width: ${width}`"> - <span + <button + @click.prevent="!disabled ? (isOpen = !isOpen) : ''" + :class="[ + 'button', + { + disabled: disabled, + }, + ]" + :style="`width: ${width}`" + > + <SelectItem class="selected" - :style="`color: ${selected ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) : '#62708c'}; font-weight: 600`" + :style="`color: ${selected ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) : placeholderColor ? convertThemeToColor(placeholderColor, '700') : '#62708c'}; font-weight: 600`" + :option="selectedOption" + :fontSize="fontSize" + :textColor="textColor" > <slot :name="`icon-left-${selectedOption?.value}`"></slot> - <component - v-if="selectedOption?.iconLeft" - :is="iconsSet[selectedOption?.iconLeft]" - :size="fontSize.slice(0, -2)" - :color=" - calcOptionColor( - selectedOption.iconColor ?? selectedOption?.color, - selectedOption?.darknessColor, - textColor, - ) - " /><span>{{ selected ?? placeholder }}</span> - <component - v-if="selectedOption?.iconRight" - :is="iconsSet[selectedOption?.iconRight]" - :size="fontSize.slice(0, -2)" - :color=" - calcOptionColor( - selectedOption.iconColor ?? selectedOption?.color, - selectedOption?.darknessColor, - textColor, - ) - " /><slot :name="`icon-right-${selectedOption?.value}`"></slot></span - ><component + <span :style="`font-size: ${fontSize}`">{{ selected ?? placeholder }}</span> + <slot :name="`icon-right-${selectedOption?.value}`"></slot> + </SelectItem> + <component :is="iconsSet[openIcon]" :size="fontSize.slice(0, -2)" - color="#62708c" + :color="openIconColor ? convertThemeToColor(openIconColor, darknessOpenIcon) : '#62708c'" :style="`width: ${fontSize}`" /> </button> @@ -98,7 +97,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | ]" > <div style="overflow: hidden"> - <p + <SelectItem @click.prevent="pickOption(option.value)" v-for="option of options" :key="option.value" @@ -111,22 +110,14 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | ]" :style="`color: ${calcOptionColor(option.color, option.darknessColor, textColor)}; background-color: ${calcOptionColor(option.background, option.darknessBackground, backgroundColor)}`" + :option="option" + :fontSize="fontSize" + :textColor="textColor" > <slot :name="`icon-left-${option.value}`"></slot> - <component - v-if="option.iconLeft" - :is="iconsSet[option.iconLeft]" - :size="fontSize.slice(0, -2)" - :color="calcOptionColor(option.iconColor ?? option.color, option.darknessColor, textColor)" - /><span>{{ option.label ?? option.value }}</span - ><component - v-if="option.iconRight" - :is="iconsSet[option.iconRight]" - :size="fontSize.slice(0, -2)" - :color="calcOptionColor(option.iconColor ?? option.color, option.darknessColor, textColor)" - /> + <span :style="`font-size: ${fontSize}`">{{ option.label ?? option.value }}</span> <slot :name="`icon-right-${option.value}`"></slot> - </p> + </SelectItem> </div> </div> </div> @@ -146,7 +137,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | } .button { display: flex; - padding: 7px; + padding: v-bind(padding); justify-content: space-between; gap: 10px; } @@ -176,7 +167,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | display: flex; align-items: center; gap: 5px; - padding: 7px; + padding: v-bind(padding); } .option:hover { filter: brightness(90%); @@ -193,36 +184,9 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } +.disabled { + cursor: auto; + background-color: #e1e7f1 !important; + border-radius: 4px; +} </style> -<!--.list {--> -<!--position: relative;--> -<!--width: max-content;--> -<!--border: 1px solid v-bind(textColor);--> -<!--border-radius: 5px 5px 0 0;--> -<!--cursor: pointer;--> -<!--}--> -<!--.button {--> -<!--display: flex;--> -<!--padding: 7px;--> -<!--justify-content: space-between;--> -<!--gap: 10px;--> -<!--}--> -<!--.selected {--> -<!--display: flex;--> -<!--gap: 5px;--> -<!--}--> -<!--.options {--> -<!--position: absolute;--> -<!--top: 100%;--> -<!--width: 100%;--> -<!--border: 1px solid v-bind(textColor);--> -<!--border-top: none;--> -<!--border-bottom-left-radius: 5px;--> -<!--border-bottom-right-radius: 5px;--> -<!--display: grid;--> -<!--grid-template-rows: 0fr;--> -<!--opacity: 0;--> -<!--transition:--> -<!--all 0.2s ease-in-out,--> -<!--opacity 0.1s ease-in-out;--> -<!--}--> diff --git a/src/stories/components/Select/SelectItem.vue b/src/stories/components/Select/SelectItem.vue new file mode 100644 index 0000000..5ed4643 --- /dev/null +++ b/src/stories/components/Select/SelectItem.vue @@ -0,0 +1,36 @@ +<script setup lang="ts"> +import { iconsSet } from '@/common/constants/icons'; +import type { ISelectOption } from '@interfaces/componentsProp'; +import type { TThemeColor } from '@interfaces/common'; +import { convertThemeToColor } from '@helpers/common'; +interface IProps { + option: ISelectOption | undefined; + fontSize: string; + textColor: string; +} +defineProps<IProps>(); +const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | undefined, defaultColor: string) => + color ? convertThemeToColor(color, darknessColor ?? '500') : defaultColor; +</script> + +<template> + <span> + <slot :name="`icon-left-${option?.value}`"></slot> + <component + v-if="option?.iconLeft" + :is="iconsSet[option?.iconLeft]" + :size="fontSize.slice(0, -2)" + :color="calcOptionColor(option?.iconLeftColor ?? option?.color, option?.darknessColor, textColor)" + /> + <slot /> + <component + v-if="option?.iconRight" + :is="iconsSet[option?.iconRight]" + :size="fontSize.slice(0, -2)" + :color="calcOptionColor(option?.iconRightColor ?? option?.color, option?.darknessColor, textColor)" + /> + <slot :name="`icon-right-${option?.value}`"></slot> + </span> +</template> + +<style scoped></style> -- GitLab From 8641adb7ab832f9ada4337b5c721e2127ef525f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Tue, 14 Jan 2025 17:47:34 +0500 Subject: [PATCH 24/32] feat: component 'Select' --- .yarn/install-state.gz | Bin 0 -> 609804 bytes .yarnrc.yml | 1 + src/App.vue | 2 + src/common/constants/icons.ts | 2 + src/common/interfaces/componentsProp.ts | 4 +- src/common/interfaces/componentsProps.ts | 1 + .../components/Select/Select.stories.ts | 12 +- src/stories/components/Select/Select.vue | 103 +- src/stories/components/Select/SelectItem.vue | 6 +- src/stories/components/Select/helpers.ts | 27 + src/stories/icons/Mono/SearchIcon.vue | 26 + yarn.lock | 10830 ++++++++++------ 12 files changed, 6705 insertions(+), 4309 deletions(-) create mode 100644 .yarn/install-state.gz create mode 100644 .yarnrc.yml create mode 100644 src/stories/components/Select/helpers.ts create mode 100644 src/stories/icons/Mono/SearchIcon.vue diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..c2e390d06011d0bc6d320a1f23f3052c3a272e2d GIT binary patch literal 609804 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	%n`yJqzV3j-&ty)qj4L$$;;B^VAh+#7 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%0Dts{^Ps(W(W{ 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%0DX#QxCbW$`b0bg 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%0A?P8 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∈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�{}lDdYNIdF*%k0haJZTv#ng^0L1;RV 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Π>K-wV5HOqJAi(=Za&t9UZ<@(}M5(WO7pA*Vj?O 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 bt#;GX2p|Ntx4!LP{PzD3m9+ADLR=gGlFWb* literal 0 HcmV?d00001 diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/src/App.vue b/src/App.vue index 0fd4939..e48e3c7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -95,6 +95,7 @@ import PlusCircleIcon from '@stories/icons/Mono/PlusCircleIcon.vue'; import PlusIcon from '@stories/icons/Mono/PlusIcon.vue'; import PointerIcon from '@stories/icons/Mono/PointerIcon.vue'; import SaveIcon from '@stories/icons/Mono/SaveIcon.vue'; +import SearchIcon from '@stories/icons/Mono/SearchIcon.vue'; import SettingsIcon from '@stories/icons/Mono/SettingsIcon.vue'; import SortHorizontalIcon from '@stories/icons/Mono/SortHorizontalIcon.vue'; import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; @@ -209,6 +210,7 @@ const gentleIcons = { PlusIcon, PointerIcon, SaveIcon, + SearchIcon, SettingsIcon, SortDownIcon, SortHorizontalIcon, diff --git a/src/common/constants/icons.ts b/src/common/constants/icons.ts index 3fb819b..41c5605 100644 --- a/src/common/constants/icons.ts +++ b/src/common/constants/icons.ts @@ -108,6 +108,7 @@ import SortDownIcon from '@stories/icons/Mono/SortDownIcon.vue'; import SortUpIcon from '@stories/icons/Mono/SortUpIcon.vue'; import SortVerticalIcon from '@stories/icons/Mono/SortVerticalIcon.vue'; import ArrowShortDownIcon from '@stories/icons/Mono/ArrowShortDownIcon.vue'; +import SearchIcon from '@stories/icons/Mono/SearchIcon.vue'; export const iconsSet: Record<string, Component> = { Age18: Age18Icon, @@ -209,6 +210,7 @@ export const iconsSet: Record<string, Component> = { Plus: PlusIcon, Pointer: PointerIcon, Save: SaveIcon, + SearchIcon, Settings: SettingsIcon, SortDownIcon, SortHorizontalIcon, diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 7d1f60b..8f00281 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -71,7 +71,9 @@ export interface ISelectOption { export interface ISelectGroup { name: string; - titleColor?: TThemeColor; + nameColor?: TThemeColor; + background?: TThemeColor; + items?: ISelectOption[]; iconLeft?: TIcons; iconRight?: TIcons; iconLeftColor?: TThemeColor; diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index fd964d6..7837ad2 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -139,6 +139,7 @@ export interface ISelectProps { darknessTheme?: TDarkness; darknessBackground?: TDarkness; darknessOpenIcon?: TDarkness; + filtered?: boolean; disabled?: boolean; } diff --git a/src/stories/components/Select/Select.stories.ts b/src/stories/components/Select/Select.stories.ts index 2412f30..f235774 100644 --- a/src/stories/components/Select/Select.stories.ts +++ b/src/stories/components/Select/Select.stories.ts @@ -16,6 +16,7 @@ const meta: Meta = { }, argTypes: { width: { control: 'text' }, + filtered: { control: 'boolean' }, disabled: { control: 'boolean' }, placeholder: { control: 'text' }, name: { control: 'text' }, @@ -135,19 +136,28 @@ export const Full: Story = { iconLeft: 'At', color: 'purple', darknessColor: '800', + group: 'Group', }, { value: 'Second', iconRightColor: 'red', iconRight: 'Age18', + group: 'Group', }, { iconLeft: 'Calendar', value: 'Third', iconRight: 'CheckMark', + group: 'Group 2', + }, + { + value: 'Sssss', }, ], - + groups: [ + { name: 'Group', background: 'white', iconLeft: 'Archive' }, + { name: 'Group 2', background: 'red', iconLeft: 'Badge' }, + ], placeholder: 'Select a city', size: 'normal', width: '250px', diff --git a/src/stories/components/Select/Select.vue b/src/stories/components/Select/Select.vue index 44ce926..8ad88f4 100644 --- a/src/stories/components/Select/Select.vue +++ b/src/stories/components/Select/Select.vue @@ -5,6 +5,8 @@ import { convertThemeToColor } from '@helpers/common'; import { iconsSet } from '@/common/constants/icons'; import type { TThemeColor } from '@interfaces/common'; import SelectItem from '@stories/components/Select/SelectItem.vue'; +import SearchIcon from '@stories/icons/Mono/SearchIcon.vue'; +import { calcFontSize, calcPadding, getOptionsGroups } from '@stories/components/Select/helpers'; const props = withDefaults(defineProps<ISelectProps>(), { size: 'normal', @@ -19,8 +21,20 @@ const props = withDefaults(defineProps<ISelectProps>(), { }); const selected = defineModel('value'); const isOpen = ref<boolean>(false); +const filter = ref<string>(''); +const optionsGroups = computed(() => getOptionsGroups(props.options, props.groups, filter.value)); +const optionsNoGroup = computed(() => + props.options.filter( + (option) => + !option.group && + (filter.value ? (option.label ?? option.value).toLowerCase().startsWith(filter.value.toLowerCase()) : true), + ), +); const selectedOption = computed(() => props.options.find((option) => option.value === selected.value)); +const fontSize = computed(() => calcFontSize(props.size)); +const fontSizeNumber = computed(() => fontSize.value.slice(0, -2)); +const padding = computed(() => calcPadding(props.size)); const textColor = computed(() => (props.disabled ? '#62708c' : convertThemeToColor(props.theme, props.darknessTheme))); const backgroundColor = computed(() => convertThemeToColor( @@ -28,20 +42,6 @@ const backgroundColor = computed(() => (!props.background && props.theme === 'black') || props.background === 'white' ? '500' : props.darknessBackground, ), ); -const fontSize = computed(() => { - const size = props.size; - if (size === 'normal') return '16px'; - if (size === 'large') return '20px'; - if (size === 'huge') return '24px'; - return '12px'; -}); -const padding = computed(() => { - const size = props.size; - if (size === 'normal') return '6px'; - if (size === 'large') return '10px'; - if (size === 'huge') return '14px'; - return '4px'; -}); const pickOption = (value: string) => { selected.value = value; @@ -74,7 +74,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | class="selected" :style="`color: ${selected ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) : placeholderColor ? convertThemeToColor(placeholderColor, '700') : '#62708c'}; font-weight: 600`" :option="selectedOption" - :fontSize="fontSize" + :fontSizeNumber="fontSizeNumber" :textColor="textColor" > <slot :name="`icon-left-${selectedOption?.value}`"></slot> @@ -83,7 +83,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | </SelectItem> <component :is="iconsSet[openIcon]" - :size="fontSize.slice(0, -2)" + :size="fontSizeNumber" :color="openIconColor ? convertThemeToColor(openIconColor, darknessOpenIcon) : '#62708c'" :style="`width: ${fontSize}`" /> @@ -97,12 +97,56 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | ]" > <div style="overflow: hidden"> + <div class="flex filter" v-if="filtered"> + <input v-model="filter" type="text" /><SearchIcon :size="fontSizeNumber" color="#62708c" /> + </div> + <div v-for="group of optionsGroups" :key="group.name" class="group"> + <h3 + class="flexNoHover groupHeader" + :style="`color: ${calcOptionColor(group.nameColor, darknessTheme, textColor)}; + background-color: ${calcOptionColor(group.background, group.background === 'white' ? '500' : '200', backgroundColor)}; font-size: calc(${fontSize} * 0.8); padding: calc(${padding} * 0.8)`" + > + <component + v-if="group?.iconLeft" + :is="iconsSet[group?.iconLeft]" + :size="fontSizeNumber" + :color="calcOptionColor(group?.iconLeftColor, darknessTheme, textColor)" + />{{ group.name }} + <component + v-if="group?.iconRight" + :is="iconsSet[group?.iconRight]" + :size="fontSizeNumber" + :color="calcOptionColor(group?.iconRightColor, darknessTheme, textColor)" + /> + </h3> + <SelectItem + @click.prevent="pickOption(option.value)" + v-for="option of group.items" + :key="option.value" + :class="[ + 'flex', + { + firstOption: options[0].value === option.value, + lastOption: options[options.length - 1].value === option.value, + }, + ]" + :style="`color: ${calcOptionColor(option.color, option.darknessColor, textColor)}; + background-color: ${calcOptionColor(option.background, option.darknessBackground, backgroundColor)}`" + :option="option" + :fontSizeNumber="fontSizeNumber" + :textColor="textColor" + > + <slot :name="`icon-left-${option.value}`"></slot> + <span :style="`font-size: ${fontSize}`">{{ option.label ?? option.value }}</span> + <slot :name="`icon-right-${option.value}`"></slot> + </SelectItem> + </div> <SelectItem @click.prevent="pickOption(option.value)" - v-for="option of options" + v-for="option of optionsNoGroup" :key="option.value" :class="[ - 'option', + 'flex', { firstOption: options[0].value === option.value, lastOption: options[options.length - 1].value === option.value, @@ -111,7 +155,7 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | :style="`color: ${calcOptionColor(option.color, option.darknessColor, textColor)}; background-color: ${calcOptionColor(option.background, option.darknessBackground, backgroundColor)}`" :option="option" - :fontSize="fontSize" + :fontSizeNumber="fontSizeNumber" :textColor="textColor" > <slot :name="`icon-left-${option.value}`"></slot> @@ -163,18 +207,35 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | grid-template-rows: 1fr; opacity: 1; } -.option { +.group { + border-top: 1px solid; +} +.groupHeader { + cursor: auto; +} +.flexNoHover { + display: flex; + align-items: center; + gap: 5px; + padding: v-bind(padding); +} +.flex { display: flex; align-items: center; gap: 5px; padding: v-bind(padding); } -.option:hover { +.flex:hover { filter: brightness(90%); transition: all 0.1s ease-in-out; } .group { border-top: 1px solid v-bind(textColor); + border-bottom: 1px solid v-bind(textColor); +} +.filter { + cursor: auto; + gap: 7px; } .firstOption { border-top-right-radius: 4px; diff --git a/src/stories/components/Select/SelectItem.vue b/src/stories/components/Select/SelectItem.vue index 5ed4643..152c06b 100644 --- a/src/stories/components/Select/SelectItem.vue +++ b/src/stories/components/Select/SelectItem.vue @@ -5,7 +5,7 @@ import type { TThemeColor } from '@interfaces/common'; import { convertThemeToColor } from '@helpers/common'; interface IProps { option: ISelectOption | undefined; - fontSize: string; + fontSizeNumber: string; textColor: string; } defineProps<IProps>(); @@ -19,14 +19,14 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | <component v-if="option?.iconLeft" :is="iconsSet[option?.iconLeft]" - :size="fontSize.slice(0, -2)" + :size="fontSizeNumber" :color="calcOptionColor(option?.iconLeftColor ?? option?.color, option?.darknessColor, textColor)" /> <slot /> <component v-if="option?.iconRight" :is="iconsSet[option?.iconRight]" - :size="fontSize.slice(0, -2)" + :size="fontSizeNumber" :color="calcOptionColor(option?.iconRightColor ?? option?.color, option?.darknessColor, textColor)" /> <slot :name="`icon-right-${option?.value}`"></slot> diff --git a/src/stories/components/Select/helpers.ts b/src/stories/components/Select/helpers.ts new file mode 100644 index 0000000..5f8deb6 --- /dev/null +++ b/src/stories/components/Select/helpers.ts @@ -0,0 +1,27 @@ +import type { TSize } from '@interfaces/common'; +import type { ISelectGroup, ISelectOption } from '@interfaces/componentsProp'; + +export const getOptionsGroups = (options: ISelectOption[], groups: ISelectGroup[] | undefined, filter: string) => { + if (!groups?.length) return []; + const optionsWithGroup = options.filter( + (option) => + option.group && (filter ? (option.label ?? option.value).toLowerCase().startsWith(filter.toLowerCase()) : true), + ); + if (filter) groups = groups.filter((group) => optionsWithGroup.find((option) => option.group === group.name)); + for (const group of groups) { + group.items = optionsWithGroup.filter((option) => option.group === group.name); + } + return groups; +}; +export const calcFontSize = (size: TSize) => { + if (size === 'normal') return '16px'; + if (size === 'large') return '20px'; + if (size === 'huge') return '24px'; + return '12px'; +}; +export const calcPadding = (size: TSize) => { + if (size === 'normal') return '6px'; + if (size === 'large') return '10px'; + if (size === 'huge') return '14px'; + return '4px'; +}; diff --git a/src/stories/icons/Mono/SearchIcon.vue b/src/stories/icons/Mono/SearchIcon.vue new file mode 100644 index 0000000..ed75c67 --- /dev/null +++ b/src/stories/icons/Mono/SearchIcon.vue @@ -0,0 +1,26 @@ +<script setup lang="ts"> +interface Props { + color?: string; + size?: string | number; +} +defineProps<Props>(); +</script> + +<template> + <svg + :width="`${size ?? 40}px`" + :height="`${size ?? 40}px`" + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M17.0392 15.6244C18.2714 14.084 19.0082 12.1301 19.0082 10.0041C19.0082 5.03127 14.9769 1 10.0041 1C5.03127 1 1 5.03127 1 10.0041C1 14.9769 5.03127 19.0082 10.0041 19.0082C12.1301 19.0082 14.084 18.2714 15.6244 17.0392L21.2921 22.707C21.6828 23.0977 22.3163 23.0977 22.707 22.707C23.0977 22.3163 23.0977 21.6828 22.707 21.2921L17.0392 15.6244ZM10.0041 17.0173C6.1308 17.0173 2.99087 13.8774 2.99087 10.0041C2.99087 6.1308 6.1308 2.99087 10.0041 2.99087C13.8774 2.99087 17.0173 6.1308 17.0173 10.0041C17.0173 13.8774 13.8774 17.0173 10.0041 17.0173Z" + :fill="color ?? '#000000'" + /> + </svg> +</template> + +<style scoped></style> diff --git a/yarn.lock b/yarn.lock index 3c4beea..0247720 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,4285 +1,6549 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adobe/css-tools@^4.4.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.1.tgz#2447a230bfe072c1659e6815129c03cf170710e3" - integrity sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@antfu/utils@^0.7.10": - version "0.7.10" - resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.10.tgz#ae829f170158e297a9b6a28f161a8e487d00814d" - integrity sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww== - -"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.25.9": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" - integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== - -"@babel/core@^7.23.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.0" - "@babel/generator" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.0" - "@babel/parser" "^7.26.0" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.25.9", "@babel/generator@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" - integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== - dependencies: - "@babel/parser" "^7.26.2" - "@babel/types" "^7.26.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" - integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.25.9" - semver "^6.3.1" - -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-imports@^7.24.7", "@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" - integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== - -"@babel/helper-replace-supers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" - integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== - dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" - -"@babel/parser@^7.24.7", "@babel/parser@^7.25.3", "@babel/parser@^7.25.6", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" - integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== - dependencies: - "@babel/types" "^7.26.0" - -"@babel/plugin-proposal-decorators@^7.23.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz#8680707f943d1a3da2cd66b948179920f097e254" - integrity sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-decorators" "^7.25.9" - -"@babel/plugin-syntax-decorators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz#986b4ca8b7b5df3f67cee889cedeffc2e2bf14b3" - integrity sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-jsx@^7.24.7": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typescript@^7.22.15": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" - integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" - integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.25.0", "@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.25.6", "@babel/traverse@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.24.7", "@babel/types@^7.25.6", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.6.1", "@babel/types@^7.9.6": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" - integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@chromatic-com/storybook@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@chromatic-com/storybook/-/storybook-3.2.3.tgz#0f4d167ac80fcb38293a92c230c43446049b6758" - integrity sha512-3+hfANx79kIjP1qrOSLxpoAXOiYUA0S7A0WI0A24kASrv7USFNNW8etR5TjUilMb0LmqKUn3wDwUK2h6aceQ9g== - dependencies: - chromatic "^11.15.0" - filesize "^10.0.12" - jsonfile "^6.1.0" - react-confetti "^6.1.0" - strip-ansi "^7.1.0" - -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== - -"@esbuild/aix-ppc64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c" - integrity sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw== - -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== - -"@esbuild/android-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz#1add7e0af67acefd556e407f8497e81fddad79c0" - integrity sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w== - -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - -"@esbuild/android-arm@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.0.tgz#ab7263045fa8e090833a8e3c393b60d59a789810" - integrity sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew== - -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== - -"@esbuild/android-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.0.tgz#e8f8b196cfdfdd5aeaebbdb0110983460440e705" - integrity sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ== - -"@esbuild/darwin-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" - integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== - -"@esbuild/darwin-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz#2d0d9414f2acbffd2d86e98253914fca603a53dd" - integrity sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw== - -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== - -"@esbuild/darwin-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz#33087aab31a1eb64c89daf3d2cf8ce1775656107" - integrity sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA== - -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== - -"@esbuild/freebsd-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz#bb76e5ea9e97fa3c753472f19421075d3a33e8a7" - integrity sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA== - -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== - -"@esbuild/freebsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz#e0e2ce9249fdf6ee29e5dc3d420c7007fa579b93" - integrity sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ== - -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== - -"@esbuild/linux-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz#d1b2aa58085f73ecf45533c07c82d81235388e75" - integrity sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g== - -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - -"@esbuild/linux-arm@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz#8e4915df8ea3e12b690a057e77a47b1d5935ef6d" - integrity sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw== - -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== - -"@esbuild/linux-ia32@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz#8200b1110666c39ab316572324b7af63d82013fb" - integrity sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA== - -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== - -"@esbuild/linux-loong64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz#6ff0c99cf647504df321d0640f0d32e557da745c" - integrity sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g== - -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== - -"@esbuild/linux-mips64el@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz#3f720ccd4d59bfeb4c2ce276a46b77ad380fa1f3" - integrity sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA== - -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== - -"@esbuild/linux-ppc64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz#9d6b188b15c25afd2e213474bf5f31e42e3aa09e" - integrity sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ== - -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== - -"@esbuild/linux-riscv64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz#f989fdc9752dfda286c9cd87c46248e4dfecbc25" - integrity sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw== - -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== - -"@esbuild/linux-s390x@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz#29ebf87e4132ea659c1489fce63cd8509d1c7319" - integrity sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g== - -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== - -"@esbuild/linux-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz#4af48c5c0479569b1f359ffbce22d15f261c0cef" - integrity sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA== - -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== - -"@esbuild/netbsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz#1ae73d23cc044a0ebd4f198334416fb26c31366c" - integrity sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg== - -"@esbuild/openbsd-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz#5d904a4f5158c89859fd902c427f96d6a9e632e2" - integrity sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg== - -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== - -"@esbuild/openbsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz#4c8aa88c49187c601bae2971e71c6dc5e0ad1cdf" - integrity sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q== - -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== - -"@esbuild/sunos-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz#8ddc35a0ea38575fa44eda30a5ee01ae2fa54dd4" - integrity sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA== - -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== - -"@esbuild/win32-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz#6e79c8543f282c4539db684a207ae0e174a9007b" - integrity sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA== - -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== - -"@esbuild/win32-ia32@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz#057af345da256b7192d18b676a02e95d0fa39103" - integrity sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw== - -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== - -"@esbuild/win32-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz#168ab1c7e1c318b922637fad8f339d48b01e1244" - integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" - integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/config-array@^0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.0.tgz#3251a528998de914d59bb21ba4c11767cf1b3519" - integrity sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ== - dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/core@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.9.0.tgz#168ee076f94b152c01ca416c3e5cf82290ab4fcd" - integrity sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg== - -"@eslint/eslintrc@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" - integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.15.0": - version "9.15.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.15.0.tgz#df0e24fe869143b59731942128c19938fdbadfb5" - integrity sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg== - -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== - -"@eslint/plugin-kit@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz#812980a6a41ecf3a8341719f92a6d1e784a2e0e8" - integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA== - dependencies: - levn "^0.4.1" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" - integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== - -"@humanwhocodes/retry@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" - integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@mdx-js/react@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" - integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== - dependencies: - "@types/mdx" "^2.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@one-ini/wasm@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@one-ini/wasm/-/wasm-0.1.1.tgz#6013659736c9dbfccc96e8a9c2b3de317df39323" - integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== - -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.28" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.28.tgz#d45e01c4a56f143ee69c54dd6b12eade9e270a73" - integrity sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw== - -"@rollup/pluginutils@^5.1.3": - version "5.1.3" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.3.tgz#3001bf1a03f3ad24457591f2c259c8e514e0dbdf" - integrity sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^4.0.2" - -"@rollup/rollup-android-arm-eabi@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz#e3c9cc13f144ba033df4d2c3130a214dc8e3473e" - integrity sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw== - -"@rollup/rollup-android-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz#0474250fcb5871aca952e249a0c3270fc4310b55" - integrity sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA== - -"@rollup/rollup-darwin-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz#77c29b4f9c430c1624f1a6835f2a7e82be3d16f2" - integrity sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q== - -"@rollup/rollup-darwin-x64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz#7d87711f641a458868758cbf110fb32eabd6a25a" - integrity sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ== - -"@rollup/rollup-freebsd-arm64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz#662f808d2780e4e91021ac9ee7ed800862bb9a57" - integrity sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw== - -"@rollup/rollup-freebsd-x64@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz#71e5a7bcfcbe51d8b65d158675acec1307edea79" - integrity sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA== - -"@rollup/rollup-linux-arm-gnueabihf@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz#08f67fcec61ee18f8b33b3f403a834ab8f3aa75d" - integrity sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w== - -"@rollup/rollup-linux-arm-musleabihf@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz#2e1ad4607f86475b1731556359c6070eb8f4b109" - integrity sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A== - -"@rollup/rollup-linux-arm64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz#c65d559dcb0d3dabea500cf7b8215959ae6cccf8" - integrity sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg== - -"@rollup/rollup-linux-arm64-musl@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz#6739f7eb33e20466bb88748519c98ce8dee23922" - integrity sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA== - -"@rollup/rollup-linux-powerpc64le-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz#8d9fe9471c256e55278cb1f7b1c977cd8fe6df20" - integrity sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ== - -"@rollup/rollup-linux-riscv64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz#9a467f7ad5b61c9d66b24e79a3c57cb755d02c35" - integrity sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw== - -"@rollup/rollup-linux-s390x-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz#efaddf22df27b87a267a731fbeb9539e92cd4527" - integrity sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg== - -"@rollup/rollup-linux-x64-gnu@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz#a959eccb04b07fd1591d7ff745a6865faa7042cd" - integrity sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q== - -"@rollup/rollup-linux-x64-musl@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz#927764f1da1f2dd50943716dec93796d10cb6e99" - integrity sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw== - -"@rollup/rollup-win32-arm64-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz#030b6cc607d845da23dced624e47fb45de105840" - integrity sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A== - -"@rollup/rollup-win32-ia32-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz#3457a3f44a84f51d8097c3606429e01f0d2d0ec2" - integrity sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ== - -"@rollup/rollup-win32-x64-msvc@4.27.4": - version "4.27.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz#67d516613c9f2fe42e2d8b78e252d0003179d92c" - integrity sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug== - -"@storybook/addon-actions@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.7.tgz#210c6bb5a7e17c3664c300b4b69b6243ec34b9cd" - integrity sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA== - dependencies: - "@storybook/global" "^5.0.0" - "@types/uuid" "^9.0.1" - dequal "^2.0.2" - polished "^4.2.2" - uuid "^9.0.0" - -"@storybook/addon-backgrounds@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.7.tgz#56856bdafc5a2ba18cc19422320883c9e8f66c1c" - integrity sha512-I4/aErqtFiazcoWyKafOAm3bLpxTj6eQuH/woSbk1Yx+EzN+Dbrgx1Updy8//bsNtKkcrXETITreqHC+a57DHQ== - dependencies: - "@storybook/global" "^5.0.0" - memoizerific "^1.11.3" - ts-dedent "^2.0.0" - -"@storybook/addon-controls@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.7.tgz#0c2ace0c7056248577f08f90471f29e861b485be" - integrity sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA== - dependencies: - "@storybook/global" "^5.0.0" - dequal "^2.0.2" - ts-dedent "^2.0.0" - -"@storybook/addon-docs@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.7.tgz#556515da1049f97023427301e11ecb52d0b9dbe7" - integrity sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w== - dependencies: - "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.4.7" - "@storybook/csf-plugin" "8.4.7" - "@storybook/react-dom-shim" "8.4.7" - react "^16.8.0 || ^17.0.0 || ^18.0.0" - react-dom "^16.8.0 || ^17.0.0 || ^18.0.0" - ts-dedent "^2.0.0" - -"@storybook/addon-essentials@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.7.tgz#381c74230d1b1a209d5fdc017d241c016b98affe" - integrity sha512-+BtZHCBrYtQKILtejKxh0CDRGIgTl9PumfBOKRaihYb4FX1IjSAxoV/oo/IfEjlkF5f87vouShWsRa8EUauFDw== - dependencies: - "@storybook/addon-actions" "8.4.7" - "@storybook/addon-backgrounds" "8.4.7" - "@storybook/addon-controls" "8.4.7" - "@storybook/addon-docs" "8.4.7" - "@storybook/addon-highlight" "8.4.7" - "@storybook/addon-measure" "8.4.7" - "@storybook/addon-outline" "8.4.7" - "@storybook/addon-toolbars" "8.4.7" - "@storybook/addon-viewport" "8.4.7" - ts-dedent "^2.0.0" - -"@storybook/addon-highlight@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.7.tgz#06b9752977e38884007e9446f9a2b0c04c873229" - integrity sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw== - dependencies: - "@storybook/global" "^5.0.0" - -"@storybook/addon-interactions@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-8.4.7.tgz#d34545db5ea6f03a5499ad6742c3317fb9e02d55" - integrity sha512-fnufT3ym8ht3HHUIRVXAH47iOJW/QOb0VSM+j269gDuvyDcY03D1civCu1v+eZLGaXPKJ8vtjr0L8zKQ/4P0JQ== - dependencies: - "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.7" - "@storybook/test" "8.4.7" - polished "^4.2.2" - ts-dedent "^2.2.0" - -"@storybook/addon-measure@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.7.tgz#9d556ba34b57c13ad8d00bd953b27ec405a64d23" - integrity sha512-QfvqYWDSI5F68mKvafEmZic3SMiK7zZM8VA0kTXx55hF/+vx61Mm0HccApUT96xCXIgmwQwDvn9gS4TkX81Dmw== - dependencies: - "@storybook/global" "^5.0.0" - tiny-invariant "^1.3.1" - -"@storybook/addon-outline@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.7.tgz#8a35fe519dd639bb287a370da2222e6ffdce4020" - integrity sha512-6LYRqUZxSodmAIl8icr585Oi8pmzbZ90aloZJIpve+dBAzo7ydYrSQxxoQEVltXbKf3VeVcrs64ouAYqjisMYA== - dependencies: - "@storybook/global" "^5.0.0" - ts-dedent "^2.0.0" - -"@storybook/addon-toolbars@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.7.tgz#b898d4deaf6f5a58f3b70bd8d136cd4ec2844b79" - integrity sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw== - -"@storybook/addon-viewport@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.7.tgz#e65c53608f52149c06347b395487960605fc4805" - integrity sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ== - dependencies: - memoizerific "^1.11.3" - -"@storybook/blocks@8.4.7", "@storybook/blocks@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.7.tgz#ee17f59dd52d11c97c39b0f6b03957085a80ad95" - integrity sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA== - dependencies: - "@storybook/csf" "^0.1.11" - "@storybook/icons" "^1.2.12" - ts-dedent "^2.0.0" - -"@storybook/builder-vite@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-8.4.7.tgz#3d6d542fa1f46fce5ee7a159dc8491cb4421254d" - integrity sha512-LovyXG5VM0w7CovI/k56ZZyWCveQFVDl0m7WwetpmMh2mmFJ+uPQ35BBsgTvTfc8RHi+9Q3F58qP1MQSByXi9g== - dependencies: - "@storybook/csf-plugin" "8.4.7" - browser-assert "^1.2.1" - ts-dedent "^2.0.0" - -"@storybook/components@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.7.tgz#09eeffa07aa672ad3966ca1764a43003731b1d30" - integrity sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g== - -"@storybook/core@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.7.tgz#af9cbb3f26f0b6c98c679a134ce776c202570d66" - integrity sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA== - dependencies: - "@storybook/csf" "^0.1.11" - better-opn "^3.0.2" - browser-assert "^1.2.1" - esbuild "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0" - esbuild-register "^3.5.0" - jsdoc-type-pratt-parser "^4.0.0" - process "^0.11.10" - recast "^0.23.5" - semver "^7.6.2" - util "^0.12.5" - ws "^8.2.3" - -"@storybook/csf-plugin@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.7.tgz#0117c872b05bf033eec089ab0224e0fab01da810" - integrity sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g== - dependencies: - unplugin "^1.3.1" - -"@storybook/csf@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.11.tgz#ad685a4fe564a47a6b73571c2e7c07b526f4f71b" - integrity sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg== - dependencies: - type-fest "^2.19.0" - -"@storybook/global@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed" - integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== - -"@storybook/icons@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.2.12.tgz#3e4c939113b67df7ab17b78f805dbb57f4acf0db" - integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q== - -"@storybook/instrumenter@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.4.7.tgz#5a37876fee8f828241a1e7fd76891c6effc1805a" - integrity sha512-k6NSD3jaRCCHAFtqXZ7tw8jAzD/yTEWXGya+REgZqq5RCkmJ+9S4Ytp/6OhQMPtPFX23gAuJJzTQVLcCr+gjRg== - dependencies: - "@storybook/global" "^5.0.0" - "@vitest/utils" "^2.1.1" - -"@storybook/manager-api@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.7.tgz#4e13debf645c9300d7d6d49195e720d0c7ecd261" - integrity sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ== - -"@storybook/preview-api@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.7.tgz#85e01a97f4182b974581765d725f6c7a7d190013" - integrity sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg== - -"@storybook/react-dom-shim@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.7.tgz#f0dd5bbf2fc185def72d9d08a11c8de22f152c2a" - integrity sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg== - -"@storybook/test@8.4.7", "@storybook/test@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/test/-/test-8.4.7.tgz#7f58f2cdf3a6d810bf3ff4e0e2fee634040c678f" - integrity sha512-AhvJsu5zl3uG40itSQVuSy5WByp3UVhS6xAnme4FWRwgSxhvZjATJ3AZkkHWOYjnnk+P2/sbz/XuPli1FVCWoQ== - dependencies: - "@storybook/csf" "^0.1.11" - "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.7" - "@testing-library/dom" "10.4.0" - "@testing-library/jest-dom" "6.5.0" - "@testing-library/user-event" "14.5.2" - "@vitest/expect" "2.0.5" - "@vitest/spy" "2.0.5" - -"@storybook/theming@8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.7.tgz#c308f6a883999bd35e87826738ab8a76515932b5" - integrity sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw== - -"@storybook/vue3-vite@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/vue3-vite/-/vue3-vite-8.4.7.tgz#036bee5652d7b9856d54510d5236d52678234631" - integrity sha512-MCU4GB6mKgeOy23eGL/yCxPWP1dBGuU4hRVoQYUzDyvNRNWD/0n7WOwIpKGeDHhmOW3J9PPX7C3k/N4ewFBmrQ== - dependencies: - "@storybook/builder-vite" "8.4.7" - "@storybook/vue3" "8.4.7" - find-package-json "^1.2.0" - magic-string "^0.30.0" - typescript "^5.0.0" - vue-component-meta "^2.0.0" - vue-docgen-api "^4.75.1" - -"@storybook/vue3@8.4.7", "@storybook/vue3@^8.4.7": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@storybook/vue3/-/vue3-8.4.7.tgz#c689b5fc3d68c9d9d094d6ce43c2ba3b275436d6" - integrity sha512-QvILEkgx7VyKBuLB4KiuQ0U8OLfQyLTwDuJ36wihQ75EEt86z29kYLNC2keHSbns/HUs3x3cjM9EkUT2xLgc/A== - dependencies: - "@storybook/components" "8.4.7" - "@storybook/global" "^5.0.0" - "@storybook/manager-api" "8.4.7" - "@storybook/preview-api" "8.4.7" - "@storybook/theming" "8.4.7" - "@vue/compiler-core" "^3.0.0" - ts-dedent "^2.0.0" - type-fest "~2.19" - vue-component-type-helpers latest - -"@testing-library/dom@10.4.0": - version "10.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.0.tgz#82a9d9462f11d240ecadbf406607c6ceeeff43a8" - integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.3.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz#50484da3f80fb222a853479f618a9ce5c47bfe54" - integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== - dependencies: - "@adobe/css-tools" "^4.4.0" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.6.3" - lodash "^4.17.21" - redent "^3.0.0" - -"@testing-library/user-event@14.5.2": - version "14.5.2" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.5.2.tgz#db7257d727c891905947bd1c1a99da20e03c2ebd" - integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ== - -"@tsconfig/node22@^22.0.0": - version "22.0.0" - resolved "https://registry.yarnpkg.com/@tsconfig/node22/-/node22-22.0.0.tgz#0bdaf702f2b7594383d24d7b2b8d557dcfdca1ed" - integrity sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/estree@1.0.6", "@types/estree@^1.0.0", "@types/estree@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - -"@types/jsdom@^21.1.7": - version "21.1.7" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.7.tgz#9edcb09e0b07ce876e7833922d3274149c898cfa" - integrity sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/mdx@^2.0.0": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" - integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== - -"@types/node@*": - version "22.9.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.3.tgz#08f3d64b3bc6d74b162d36f60213e8a6704ef2b4" - integrity sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw== - dependencies: - undici-types "~6.19.8" - -"@types/node@^22.10.1": - version "22.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" - integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== - dependencies: - undici-types "~6.20.0" - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/uuid@^9.0.1": - version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" - integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== - -"@typescript-eslint/eslint-plugin@8.15.0", "@typescript-eslint/eslint-plugin@^8.8.1": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz#c95c6521e70c8b095a684d884d96c0c1c63747d2" - integrity sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/type-utils" "8.15.0" - "@typescript-eslint/utils" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.15.0.tgz#92610da2b3af702cfbc02a46e2a2daa6260a9045" - integrity sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A== - dependencies: - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/typescript-estree" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz#28a1a0f13038f382424f45a988961acaca38f7c6" - integrity sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA== - dependencies: - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" - -"@typescript-eslint/type-utils@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz#a6da0f93aef879a68cc66c73fe42256cb7426c72" - integrity sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw== - dependencies: - "@typescript-eslint/typescript-estree" "8.15.0" - "@typescript-eslint/utils" "8.15.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.15.0.tgz#4958edf3d83e97f77005f794452e595aaf6430fc" - integrity sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ== - -"@typescript-eslint/typescript-estree@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz#915c94e387892b114a2a2cc0df2d7f19412c8ba7" - integrity sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg== - dependencies: - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@8.15.0", "@typescript-eslint/utils@^8.8.1": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.15.0.tgz#ac04679ad19252776b38b81954b8e5a65567cef6" - integrity sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/typescript-estree" "8.15.0" - -"@typescript-eslint/visitor-keys@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz#9ea5a85eb25401d2aa74ec8a478af4e97899ea12" - integrity sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q== - dependencies: - "@typescript-eslint/types" "8.15.0" - eslint-visitor-keys "^4.2.0" - -"@vitejs/plugin-vue@^5.1.4": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.0.tgz#994f3b4f12d3590c5a6895df4cbd270d9a6d5e17" - integrity sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g== - -"@vitest/eslint-plugin@1.1.7": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@vitest/eslint-plugin/-/eslint-plugin-1.1.7.tgz#f757b2e7a02227b927817aeefcafaa054ca187c0" - integrity sha512-pTWGW3y6lH2ukCuuffpan6kFxG6nIuoesbhMiQxskyQMRcCN5t9SXsKrNHvEw3p8wcCsgJoRqFZVkOTn6TjclA== - -"@vitest/expect@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.0.5.tgz#f3745a6a2c18acbea4d39f5935e913f40d26fa86" - integrity sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA== - dependencies: - "@vitest/spy" "2.0.5" - "@vitest/utils" "2.0.5" - chai "^5.1.1" - tinyrainbow "^1.2.0" - -"@vitest/expect@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.5.tgz#5a6afa6314cae7a61847927bb5bc038212ca7381" - integrity sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q== - dependencies: - "@vitest/spy" "2.1.5" - "@vitest/utils" "2.1.5" - chai "^5.1.2" - tinyrainbow "^1.2.0" - -"@vitest/mocker@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.5.tgz#54ee50648bc0bb606dfc58e13edfacb8b9208324" - integrity sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ== - dependencies: - "@vitest/spy" "2.1.5" - estree-walker "^3.0.3" - magic-string "^0.30.12" - -"@vitest/pretty-format@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.0.5.tgz#91d2e6d3a7235c742e1a6cc50e7786e2f2979b1e" - integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ== - dependencies: - tinyrainbow "^1.2.0" - -"@vitest/pretty-format@2.1.5", "@vitest/pretty-format@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.5.tgz#bc79b8826d4a63dc04f2a75d2944694039fa50aa" - integrity sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw== - dependencies: - tinyrainbow "^1.2.0" - -"@vitest/runner@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.5.tgz#4d5e2ba2dfc0af74e4b0f9f3f8be020559b26ea9" - integrity sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g== - dependencies: - "@vitest/utils" "2.1.5" - pathe "^1.1.2" - -"@vitest/snapshot@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.5.tgz#a09a8712547452a84e08b3ec97b270d9cc156b4f" - integrity sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg== - dependencies: - "@vitest/pretty-format" "2.1.5" - magic-string "^0.30.12" - pathe "^1.1.2" - -"@vitest/spy@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.0.5.tgz#590fc07df84a78b8e9dd976ec2090920084a2b9f" - integrity sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA== - dependencies: - tinyspy "^3.0.0" - -"@vitest/spy@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.5.tgz#f790d1394a5030644217ce73562e92465e83147e" - integrity sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw== - dependencies: - tinyspy "^3.0.2" - -"@vitest/utils@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.0.5.tgz#6f8307a4b6bc6ceb9270007f73c67c915944e926" - integrity sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ== - dependencies: - "@vitest/pretty-format" "2.0.5" - estree-walker "^3.0.3" - loupe "^3.1.1" - tinyrainbow "^1.2.0" - -"@vitest/utils@2.1.5", "@vitest/utils@^2.1.1": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.5.tgz#0e19ce677c870830a1573d33ee86b0d6109e9546" - integrity sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg== - dependencies: - "@vitest/pretty-format" "2.1.5" - loupe "^3.1.2" - tinyrainbow "^1.2.0" - -"@volar/language-core@2.4.10", "@volar/language-core@~2.4.8": - version "2.4.10" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.10.tgz#7d57c29d27f7bce2fa7eb9f3a1fc053a3e28e53f" - integrity sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA== - dependencies: - "@volar/source-map" "2.4.10" - -"@volar/source-map@2.4.10": - version "2.4.10" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.10.tgz#08cc505613f8e5d39af740e96cec5eb4553576d4" - integrity sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA== - -"@volar/typescript@~2.4.8": - version "2.4.10" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.10.tgz#5d0d6476c98a3e0820731f5be36e859d48ed135f" - integrity sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw== - dependencies: - "@volar/language-core" "2.4.10" - path-browserify "^1.0.1" - vscode-uri "^3.0.8" - -"@vue/babel-helper-vue-transform-on@1.2.5": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz#b9e195b92bfa8d15d5aa9581ca01cb702dbcc19d" - integrity sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw== - -"@vue/babel-plugin-jsx@^1.1.5": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz#77f4f9f189d00c24ebd587ab84ae615dfa1c3abb" - integrity sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.6" - "@babel/types" "^7.25.6" - "@vue/babel-helper-vue-transform-on" "1.2.5" - "@vue/babel-plugin-resolve-type" "1.2.5" - html-tags "^3.3.1" - svg-tags "^1.0.0" - -"@vue/babel-plugin-resolve-type@1.2.5": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz#f6ed0d39987fe0158370659b73156c55e80d17b5" - integrity sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/parser" "^7.25.6" - "@vue/compiler-sfc" "^3.5.3" - -"@vue/compiler-core@3.5.13", "@vue/compiler-core@^3.0.0": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz#b0ae6c4347f60c03e849a05d34e5bf747c9bda05" - integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/shared" "3.5.13" - entities "^4.5.0" - estree-walker "^2.0.2" - source-map-js "^1.2.0" - -"@vue/compiler-dom@3.5.13", "@vue/compiler-dom@^3.2.0", "@vue/compiler-dom@^3.3.4", "@vue/compiler-dom@^3.5.0": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz#bb1b8758dbc542b3658dda973b98a1c9311a8a58" - integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== - dependencies: - "@vue/compiler-core" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/compiler-sfc@3.5.13", "@vue/compiler-sfc@^3.2.0", "@vue/compiler-sfc@^3.5.3": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz#461f8bd343b5c06fac4189c4fef8af32dea82b46" - integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.13" - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" - estree-walker "^2.0.2" - magic-string "^0.30.11" - postcss "^8.4.48" - source-map-js "^1.2.0" - -"@vue/compiler-ssr@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz#e771adcca6d3d000f91a4277c972a996d07f43ba" - integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/compiler-vue2@^2.7.16": - version "2.7.16" - resolved "https://registry.yarnpkg.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz#2ba837cbd3f1b33c2bc865fbe1a3b53fb611e249" - integrity sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A== - dependencies: - de-indent "^1.0.2" - he "^1.2.0" - -"@vue/devtools-core@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@vue/devtools-core/-/devtools-core-7.6.4.tgz#592549458a3281728643f94cec42242d1147b158" - integrity sha512-blSwGVYpb7b5TALMjjoBiAl5imuBF7WEOAtaJaBMNikR8SQkm6mkUt4YlIKh9874/qoimwmpDOm+GHBZ4Y5m+g== - dependencies: - "@vue/devtools-kit" "^7.6.4" - "@vue/devtools-shared" "^7.6.4" - mitt "^3.0.1" - nanoid "^3.3.4" - pathe "^1.1.2" - vite-hot-client "^0.2.3" - -"@vue/devtools-kit@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.6.4.tgz#2a74750d5604b6b3c2fe3388a454c9eac2c6c1f4" - integrity sha512-Zs86qIXXM9icU0PiGY09PQCle4TI750IPLmAJzW5Kf9n9t5HzSYf6Rz6fyzSwmfMPiR51SUKJh9sXVZu78h2QA== - dependencies: - "@vue/devtools-shared" "^7.6.4" - birpc "^0.2.19" - hookable "^5.5.3" - mitt "^3.0.1" - perfect-debounce "^1.0.0" - speakingurl "^14.0.1" - superjson "^2.2.1" - -"@vue/devtools-shared@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.6.4.tgz#110044c88bafee3b2daa992fd90730546dec7b11" - integrity sha512-nD6CUvBEel+y7zpyorjiUocy0nh77DThZJ0k1GRnJeOmY3ATq2fWijEp7wk37gb023Cb0R396uYh5qMSBQ5WFg== - dependencies: - rfdc "^1.4.1" - -"@vue/eslint-config-prettier@^10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-10.1.0.tgz#12b2f12548645c7945770a325394588dab4cb108" - integrity sha512-J6wV91y2pXc0Phha01k0WOHBTPsoSTf4xlmMjoKaeSxBpAdsgTppGF5RZRdOHM7OA74zAXD+VLANrtYXpiPKkQ== - dependencies: - eslint-config-prettier "^9.1.0" - eslint-plugin-prettier "^5.2.1" - -"@vue/eslint-config-typescript@^14.1.3": - version "14.1.3" - resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-14.1.3.tgz#6df0d2fab863585def1f4c3e41b6fee1b0806f9b" - integrity sha512-L4NUJQz/0We2QYtrNwRAGRy4KfpOagl5V3MpZZ+rQ51a+bKjlKYYrugi7lp7PIX8LolRgu06ZwDoswnSGWnAmA== - dependencies: - "@typescript-eslint/eslint-plugin" "^8.8.1" - fast-glob "^3.3.2" - typescript-eslint "^8.8.1" - vue-eslint-parser "^9.4.3" - -"@vue/language-core@2.1.10": - version "2.1.10" - resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.1.10.tgz#5988e9ea155f3e09ccbbb3b2a0ddd530dad912e6" - integrity sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ== - dependencies: - "@volar/language-core" "~2.4.8" - "@vue/compiler-dom" "^3.5.0" - "@vue/compiler-vue2" "^2.7.16" - "@vue/shared" "^3.5.0" - alien-signals "^0.2.0" - minimatch "^9.0.3" - muggle-string "^0.4.1" - path-browserify "^1.0.1" - -"@vue/reactivity@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.13.tgz#b41ff2bb865e093899a22219f5b25f97b6fe155f" - integrity sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg== - dependencies: - "@vue/shared" "3.5.13" - -"@vue/runtime-core@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz#1fafa4bf0b97af0ebdd9dbfe98cd630da363a455" - integrity sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw== - dependencies: - "@vue/reactivity" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/runtime-dom@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz#610fc795de9246300e8ae8865930d534e1246215" - integrity sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog== - dependencies: - "@vue/reactivity" "3.5.13" - "@vue/runtime-core" "3.5.13" - "@vue/shared" "3.5.13" - csstype "^3.1.3" - -"@vue/server-renderer@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz#429ead62ee51de789646c22efe908e489aad46f7" - integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== - dependencies: - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/shared@3.5.13", "@vue/shared@^3.5.0": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.13.tgz#87b309a6379c22b926e696893237826f64339b6f" - integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== - -"@vue/test-utils@^2.4.6": - version "2.4.6" - resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.4.6.tgz#7d534e70c4319d2a587d6a3b45a39e9695ade03c" - integrity sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow== - dependencies: - js-beautify "^1.14.9" - vue-component-type-helpers "^2.0.0" - -"@vue/tsconfig@^0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.5.1.tgz#3124ec16cc0c7e04165b88dc091e6b97782fffa9" - integrity sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ== - -abbrev@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" - integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.14.0, acorn@^8.9.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - -agent-base@^7.0.2, agent-base@^7.1.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== - dependencies: - debug "^4.3.4" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -alien-signals@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/alien-signals/-/alien-signals-0.2.2.tgz#439d09b363dc4d609c0f6ce69362dce068d23197" - integrity sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0, ansi-styles@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -aria-query@^5.0.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" - integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -assert-never@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.3.0.tgz#c53cf3ad8fcdb67f400a941dea66dac7fe82dd2e" - integrity sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ== - -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - -ast-types@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2" - integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== - dependencies: - tslib "^2.0.1" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -babel-walk@3.0.0-canary-5: - version "3.0.0-canary-5" - resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" - integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== - dependencies: - "@babel/types" "^7.9.6" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -better-opn@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-3.0.2.tgz#f96f35deaaf8f34144a4102651babcf00d1d8817" - integrity sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ== - dependencies: - open "^8.0.4" - -birpc@^0.2.19: - version "0.2.19" - resolved "https://registry.yarnpkg.com/birpc/-/birpc-0.2.19.tgz#cdd183a4a70ba103127d49765b4a71349da5a0ca" - integrity sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ== - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browser-assert@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" - integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== - -browserslist@^4.24.0: - version "4.24.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== - dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" - -bundle-name@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" - integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== - dependencies: - run-applescript "^7.0.0" - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -call-bind@^1.0.2, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001669: - version "1.0.30001684" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz#0eca437bab7d5f03452ff0ef9de8299be6b08e16" - integrity sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ== - -chai@^5.1.1, chai@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" - integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== - dependencies: - assertion-error "^2.0.1" - check-error "^2.1.1" - deep-eql "^5.0.1" - loupe "^3.1.0" - pathval "^2.0.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -character-parser@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" - integrity sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== - dependencies: - is-regex "^1.0.3" - -check-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" - integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== - -chromatic@^11.15.0: - version "11.18.1" - resolved "https://registry.yarnpkg.com/chromatic/-/chromatic-11.18.1.tgz#c8f7b330dbd9be3b45a84abcb924f5217dc6c326" - integrity sha512-hkNT9vA6K9+PnE/khhZYBnRCOm8NonaQDs7RZ8YHFo7/lh1b/x/uFMkTjWjaj/mkM6QOR/evu5VcZMtcaauSlw== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -config-chain@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -constantinople@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" - integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== - dependencies: - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.1" - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -copy-anything@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0" - integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w== - dependencies: - is-what "^4.1.8" - -cross-spawn@^7.0.0, cross-spawn@^7.0.3, cross-spawn@^7.0.5: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssstyle@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.1.0.tgz#161faee382af1bafadb6d3867a92a19bcb4aea70" - integrity sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA== - dependencies: - rrweb-cssom "^0.7.1" - -csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -data-urls@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" - integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== - dependencies: - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== - -debug@4, debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -deep-eql@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" - integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -default-browser-id@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" - integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== - -default-browser@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" - integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== - dependencies: - bundle-name "^4.1.0" - default-browser-id "^5.0.0" - -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-lazy-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" - integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dequal@^2.0.2, dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -doctypes@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" - integrity sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== - -dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-accessibility-api@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" - integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -editorconfig@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-1.0.4.tgz#040c9a8e9a6c5288388b87c2db07028aa89f53a3" - integrity sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q== - dependencies: - "@one-ini/wasm" "0.1.1" - commander "^10.0.0" - minimatch "9.0.1" - semver "^7.5.3" - -electron-to-chromium@^1.5.41: - version "1.5.64" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz#ac8c4c89075d35a1514b620f47dfe48a71ec3697" - integrity sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -entities@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -error-stack-parser-es@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz#15b50b67bea4b6ed6596976ee07c7867ae25bb1c" - integrity sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg== - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== - -esbuild-register@^3.5.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.6.0.tgz#cf270cfa677baebbc0010ac024b823cbf723a36d" - integrity sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg== - dependencies: - debug "^4.3.4" - -"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.0.tgz#f2d470596885fcb2e91c21eb3da3b3c89c0b55e7" - integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ== - optionalDependencies: - "@esbuild/aix-ppc64" "0.24.0" - "@esbuild/android-arm" "0.24.0" - "@esbuild/android-arm64" "0.24.0" - "@esbuild/android-x64" "0.24.0" - "@esbuild/darwin-arm64" "0.24.0" - "@esbuild/darwin-x64" "0.24.0" - "@esbuild/freebsd-arm64" "0.24.0" - "@esbuild/freebsd-x64" "0.24.0" - "@esbuild/linux-arm" "0.24.0" - "@esbuild/linux-arm64" "0.24.0" - "@esbuild/linux-ia32" "0.24.0" - "@esbuild/linux-loong64" "0.24.0" - "@esbuild/linux-mips64el" "0.24.0" - "@esbuild/linux-ppc64" "0.24.0" - "@esbuild/linux-riscv64" "0.24.0" - "@esbuild/linux-s390x" "0.24.0" - "@esbuild/linux-x64" "0.24.0" - "@esbuild/netbsd-x64" "0.24.0" - "@esbuild/openbsd-arm64" "0.24.0" - "@esbuild/openbsd-x64" "0.24.0" - "@esbuild/sunos-x64" "0.24.0" - "@esbuild/win32-arm64" "0.24.0" - "@esbuild/win32-ia32" "0.24.0" - "@esbuild/win32-x64" "0.24.0" - -esbuild@^0.21.3: - version "0.21.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" - integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== - optionalDependencies: - "@esbuild/aix-ppc64" "0.21.5" - "@esbuild/android-arm" "0.21.5" - "@esbuild/android-arm64" "0.21.5" - "@esbuild/android-x64" "0.21.5" - "@esbuild/darwin-arm64" "0.21.5" - "@esbuild/darwin-x64" "0.21.5" - "@esbuild/freebsd-arm64" "0.21.5" - "@esbuild/freebsd-x64" "0.21.5" - "@esbuild/linux-arm" "0.21.5" - "@esbuild/linux-arm64" "0.21.5" - "@esbuild/linux-ia32" "0.21.5" - "@esbuild/linux-loong64" "0.21.5" - "@esbuild/linux-mips64el" "0.21.5" - "@esbuild/linux-ppc64" "0.21.5" - "@esbuild/linux-riscv64" "0.21.5" - "@esbuild/linux-s390x" "0.21.5" - "@esbuild/linux-x64" "0.21.5" - "@esbuild/netbsd-x64" "0.21.5" - "@esbuild/openbsd-x64" "0.21.5" - "@esbuild/sunos-x64" "0.21.5" - "@esbuild/win32-arm64" "0.21.5" - "@esbuild/win32-ia32" "0.21.5" - "@esbuild/win32-x64" "0.21.5" - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-plugin-prettier@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" - integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.9.1" - -eslint-plugin-storybook@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.11.1.tgz#4ef4f3550855fdc4a902296dfc278340ec287506" - integrity sha512-yGKpAYkBm/Q2hZg476vRUAvd9lAccjjSvzU5nYy3BSQbKTPy7uopx7JEpwk2vSuw4weTMZzWF64z9/gp/K5RCg== - dependencies: - "@storybook/csf" "^0.1.11" - "@typescript-eslint/utils" "^8.8.1" - ts-dedent "^2.2.0" - -eslint-plugin-vue@^9.30.0: - version "9.31.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.31.0.tgz#5da53c2826f8efd8a62835aad596826053b1085e" - integrity sha512-aYMUCgivhz1o4tLkRHj5oq9YgYPM4/EJc0M7TAKRLCUA5OYxRLAhYEVD2nLtTwLyixEFI+/QXSvKU9ESZFgqjQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - globals "^13.24.0" - natural-compare "^1.4.0" - nth-check "^2.1.1" - postcss-selector-parser "^6.0.15" - semver "^7.6.3" - vue-eslint-parser "^9.4.3" - xml-name-validator "^4.0.0" - -eslint-scope@^7.1.1: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-scope@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" - integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== - -eslint@^9.14.0: - version "9.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.15.0.tgz#77c684a4e980e82135ebff8ee8f0a9106ce6b8a6" - integrity sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.9.0" - "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.15.0" - "@eslint/plugin-kit" "^0.2.3" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.1" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.5" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -esm-resolve@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/esm-resolve/-/esm-resolve-1.0.11.tgz#93f0021d5c06fb9bed77fcd010eb9de54538e1db" - integrity sha512-LxF0wfUQm3ldUDHkkV2MIbvvY0TgzIpJ420jHSV1Dm+IlplBEWiJTKWM61GtxUfvjV6iD4OtTYFGAGM2uuIUWg== - -espree@^10.0.1, espree@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -espree@^9.3.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0, esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - -expect-type@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75" - integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -filesize@^10.0.12: - version "10.1.6" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.6.tgz#31194da825ac58689c0bce3948f33ce83aabd361" - integrity sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-package-json@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/find-package-json/-/find-package-json-1.2.0.tgz#4057d1b943f82d8445fe52dc9cf456f6b8b58083" - integrity sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw== - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" - integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -form-data@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" - integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^10.3.3: - version "10.4.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.24.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -hasown@^2.0.0, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hookable@^5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d" - integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== - -html-encoding-sniffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" - integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== - dependencies: - whatwg-encoding "^3.1.1" - -html-tags@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -http-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -https-proxy-agent@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" - integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inherits@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.4: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== - dependencies: - hasown "^2.0.2" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - -is-expression@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" - integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== - dependencies: - acorn "^7.1.1" - object-assign "^4.1.1" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-inside-container@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== - dependencies: - is-docker "^3.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-promise@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-regex@^1.0.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-what@^4.1.8: - version "4.1.16" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f" - integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-wsl@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" - integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== - dependencies: - is-inside-container "^1.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isexe@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" - integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -js-beautify@^1.14.9: - version "1.15.1" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.15.1.tgz#4695afb508c324e1084ee0b952a102023fc65b64" - integrity sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA== - dependencies: - config-chain "^1.1.13" - editorconfig "^1.0.4" - glob "^10.3.3" - js-cookie "^3.0.5" - nopt "^7.2.0" - -js-cookie@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" - integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== - -js-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" - integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdoc-type-pratt-parser@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz#ff6b4a3f339c34a6c188cbf50a16087858d22113" - integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== - -jsdom@^25.0.1: - version "25.0.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-25.0.1.tgz#536ec685c288fc8a5773a65f82d8b44badcc73ef" - integrity sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw== - dependencies: - cssstyle "^4.1.0" - data-urls "^5.0.0" - decimal.js "^10.4.3" - form-data "^4.0.0" - html-encoding-sniffer "^4.0.0" - http-proxy-agent "^7.0.2" - https-proxy-agent "^7.0.5" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.12" - parse5 "^7.1.2" - rrweb-cssom "^0.7.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^5.0.0" - w3c-xmlserializer "^5.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^3.1.1" - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" - ws "^8.18.0" - xml-name-validator "^5.0.0" - -jsesc@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz#d3f67bd5925e81d3e31aa466acc821c8375cec43" - integrity sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1, jsonfile@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jstransformer@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== - dependencies: - is-promise "^2.0.0" - promise "^7.0.1" - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kolorist@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" - integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loupe@^3.1.0, loupe@^3.1.1, loupe@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" - integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== - -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^8.0.3: - version "8.0.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-8.0.5.tgz#983fe337f3e176667f8e567cfcce7cb064ea214e" - integrity sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -magic-string@^0.30.0, magic-string@^0.30.11, magic-string@^0.30.12, magic-string@^0.30.4: - version "0.30.13" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.13.tgz#92438e3ff4946cf54f18247c981e5c161c46683c" - integrity sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -map-or-similar@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" - integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== - -memoizerific@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" - integrity sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog== - dependencies: - map-or-similar "^1.5.0" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253" - integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -mitt@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" - integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== - -mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -muggle-string@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.4.1.tgz#3b366bd43b32f809dc20659534dd30e7c8a0d328" - integrity sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ== - -nanoid@^3.3.4, nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -nopt@^7.2.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" - integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== - dependencies: - abbrev "^2.0.0" - -npm-normalize-package-bin@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz#df79e70cd0a113b77c02d1fe243c96b8e618acb1" - integrity sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w== - -npm-run-all2@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npm-run-all2/-/npm-run-all2-7.0.1.tgz#7a20f65d072db4a880802d4ba5cd19566daef752" - integrity sha512-Adbv+bJQ8UTAM03rRODqrO5cx0YU5KCG2CvHtSURiadvdTjjgGJXdbc1oQ9CXBh9dnGfHSoSB1Web/0Dzp6kOQ== - dependencies: - ansi-styles "^6.2.1" - cross-spawn "^7.0.3" - memorystream "^0.3.1" - minimatch "^9.0.0" - pidtree "^0.6.0" - read-package-json-fast "^4.0.0" - shell-quote "^1.7.3" - which "^5.0.0" - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - -nth-check@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.12: - version "2.2.13" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" - integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -open@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1" - integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== - dependencies: - default-browser "^5.2.1" - define-lazy-prop "^3.0.0" - is-inside-container "^1.0.0" - is-wsl "^3.1.0" - -open@^8.0.4: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse5@^7.0.0, parse5@^7.1.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" - integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== - dependencies: - entities "^4.5.0" - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -pathe@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" - integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== - -pathval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" - integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== - -perfect-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" - integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== - -picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -pidtree@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== - -polished@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/polished/-/polished-4.3.1.tgz#5a00ae32715609f83d89f6f31d0f0261c6170548" - integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA== - dependencies: - "@babel/runtime" "^7.17.8" - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-selector-parser@^6.0.15: - version "6.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss@^8.4.43, postcss@^8.4.48: - version "8.4.49" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" - integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" - integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== - -pretty-format@^27.0.2: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -promise@^7.0.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -pug-attrs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" - integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== - dependencies: - constantinople "^4.0.1" - js-stringify "^1.0.2" - pug-runtime "^3.0.0" - -pug-code-gen@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.3.tgz#58133178cb423fe1716aece1c1da392a75251520" - integrity sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw== - dependencies: - constantinople "^4.0.1" - doctypes "^1.1.0" - js-stringify "^1.0.2" - pug-attrs "^3.0.0" - pug-error "^2.1.0" - pug-runtime "^3.0.1" - void-elements "^3.1.0" - with "^7.0.0" - -pug-error@^2.0.0, pug-error@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.1.0.tgz#17ea37b587b6443d4b8f148374ec27b54b406e55" - integrity sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg== - -pug-filters@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" - integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== - dependencies: - constantinople "^4.0.1" - jstransformer "1.0.0" - pug-error "^2.0.0" - pug-walk "^2.0.0" - resolve "^1.15.1" - -pug-lexer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" - integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== - dependencies: - character-parser "^2.2.0" - is-expression "^4.0.0" - pug-error "^2.0.0" - -pug-linker@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" - integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== - dependencies: - pug-error "^2.0.0" - pug-walk "^2.0.0" - -pug-load@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" - integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== - dependencies: - object-assign "^4.1.1" - pug-walk "^2.0.0" - -pug-parser@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" - integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== - dependencies: - pug-error "^2.0.0" - token-stream "1.0.0" - -pug-runtime@^3.0.0, pug-runtime@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" - integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== - -pug-strip-comments@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" - integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== - dependencies: - pug-error "^2.0.0" - -pug-walk@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" - integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== - -pug@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.3.tgz#e18324a314cd022883b1e0372b8af3a1a99f7597" - integrity sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g== - dependencies: - pug-code-gen "^3.0.3" - pug-filters "^4.0.0" - pug-lexer "^5.0.1" - pug-linker "^4.0.0" - pug-load "^3.0.0" - pug-parser "^6.0.0" - pug-runtime "^3.0.1" - pug-strip-comments "^2.0.0" - -punycode@^2.1.0, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-confetti@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-confetti/-/react-confetti-6.1.0.tgz#03dc4340d955acd10b174dbf301f374a06e29ce6" - integrity sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw== - dependencies: - tween-functions "^1.2.0" - -"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0": - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -"react@^16.8.0 || ^17.0.0 || ^18.0.0": - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -read-package-json-fast@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz#8ccbc05740bb9f58264f400acc0b4b4eee8d1b39" - integrity sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg== - dependencies: - json-parse-even-better-errors "^4.0.0" - npm-normalize-package-bin "^4.0.0" - -recast@^0.23.1, recast@^0.23.5: - version "0.23.9" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.9.tgz#587c5d3a77c2cfcb0c18ccce6da4361528c2587b" - integrity sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q== - dependencies: - ast-types "^0.16.1" - esprima "~4.0.0" - source-map "~0.6.1" - tiny-invariant "^1.3.3" - tslib "^2.0.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.15.1: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" - integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== - -rollup@^4.20.0: - version "4.27.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.27.4.tgz#b23e4ef4fe4d0d87f5237dacf63f95a499503897" - integrity sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw== - dependencies: - "@types/estree" "1.0.6" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.27.4" - "@rollup/rollup-android-arm64" "4.27.4" - "@rollup/rollup-darwin-arm64" "4.27.4" - "@rollup/rollup-darwin-x64" "4.27.4" - "@rollup/rollup-freebsd-arm64" "4.27.4" - "@rollup/rollup-freebsd-x64" "4.27.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.27.4" - "@rollup/rollup-linux-arm-musleabihf" "4.27.4" - "@rollup/rollup-linux-arm64-gnu" "4.27.4" - "@rollup/rollup-linux-arm64-musl" "4.27.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.27.4" - "@rollup/rollup-linux-riscv64-gnu" "4.27.4" - "@rollup/rollup-linux-s390x-gnu" "4.27.4" - "@rollup/rollup-linux-x64-gnu" "4.27.4" - "@rollup/rollup-linux-x64-musl" "4.27.4" - "@rollup/rollup-win32-arm64-msvc" "4.27.4" - "@rollup/rollup-win32-ia32-msvc" "4.27.4" - "@rollup/rollup-win32-x64-msvc" "4.27.4" - fsevents "~2.3.2" - -rrweb-cssom@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" - integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== - -run-applescript@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" - integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.6, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^4.0.1, signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sirv@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-3.0.0.tgz#f8d90fc528f65dff04cb597a88609d4e8a4361ce" - integrity sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg== - dependencies: - "@polka/url" "^1.0.0-next.24" - mrmime "^2.0.0" - totalist "^3.0.0" - -source-map-js@^1.2.0, source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -speakingurl@^14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" - integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" - integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== - -storybook@^8.4.7: - version "8.4.7" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.7.tgz#a3068787a58074cec1b4197eed1c4427ec644b3f" - integrity sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw== - dependencies: - "@storybook/core" "8.4.7" - -"string-width-cjs@npm:string-width@^4.2.0": - 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@^4.1.0: - 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@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -"strip-ansi-cjs@npm: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@^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, strip-ansi@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -superjson@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.1.tgz#9377a7fa80fedb10c851c9dbffd942d4bcf79733" - integrity sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA== - dependencies: - copy-anything "^3.0.2" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.9.1: - version "0.9.2" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" - integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - -tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" - integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== - -tinybench@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" - integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== - -tinyexec@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" - integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== - -tinypool@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" - integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== - -tinyrainbow@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz#5c57d2fc0fb3d1afd78465c33ca885d04f02abb5" - integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ== - -tinyspy@^3.0.0, tinyspy@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" - integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== - -tldts-core@^6.1.64: - version "6.1.64" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.64.tgz#0b017a7fefb92d8542b1078c793c00cc28ad9eac" - integrity sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q== - -tldts@^6.1.32: - version "6.1.64" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.64.tgz#bfeaa17f881944c943f1f6647494af418901d73f" - integrity sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw== - dependencies: - tldts-core "^6.1.64" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -token-stream@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" - integrity sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -tough-cookie@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" - integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== - dependencies: - tldts "^6.1.32" - -tr46@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" - integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== - dependencies: - punycode "^2.3.1" - -ts-api-utils@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.1.tgz#7c0a304cd446d9a497c24c960b8abbf0bc1611ae" - integrity sha512-5RU2/lxTA3YUZxju61HO2U6EoZLvBLtmV2mbTvqyu4a/7s7RmJPT+1YekhMVsQhznRWk/czIwDUg+V8Q9ZuG4w== - -ts-dedent@^2.0.0, ts-dedent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" - integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== - -ts-map@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff" - integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w== - -tslib@^2.0.1, tslib@^2.6.2: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -tween-functions@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" - integrity sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^2.19.0, type-fest@~2.19: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -typescript-eslint@^8.8.1: - version "8.15.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.15.0.tgz#c8a2a0d183c3eb48ae176aa078c1b9daa584cf9d" - integrity sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w== - dependencies: - "@typescript-eslint/eslint-plugin" "8.15.0" - "@typescript-eslint/parser" "8.15.0" - "@typescript-eslint/utils" "8.15.0" - -typescript@^5.0.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" - integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== - -typescript@~5.6.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== - -undici-types@~6.19.8: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - -undici-types@~6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" - integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unplugin@^1.3.1: - version "1.16.0" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.0.tgz#ca0f248bf8798cd752dd02e5b381223b737cef72" - integrity sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ== - dependencies: - acorn "^8.14.0" - webpack-virtual-modules "^0.6.2" - -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -vite-hot-client@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vite-hot-client/-/vite-hot-client-0.2.3.tgz#db52aba46edbcfa7906dbca8255fd35b9a9270b2" - integrity sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg== - -vite-node@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.5.tgz#cf28c637b2ebe65921f3118a165b7cf00a1cdf19" - integrity sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w== - dependencies: - cac "^6.7.14" - debug "^4.3.7" - es-module-lexer "^1.5.4" - pathe "^1.1.2" - vite "^5.0.0" - -vite-plugin-inspect@^0.8.7: - version "0.8.8" - resolved "https://registry.yarnpkg.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.8.tgz#b9857007ce4f79c9c6b0565936c474f64109b756" - integrity sha512-aZlBuXsWUPJFmMK92GIv6lH7LrwG2POu4KJ+aEdcqnu92OAf+rhBnfMDQvxIJPEB7hE2t5EyY/PMgf5aDLT8EA== - dependencies: - "@antfu/utils" "^0.7.10" - "@rollup/pluginutils" "^5.1.3" - debug "^4.3.7" - error-stack-parser-es "^0.1.5" - fs-extra "^11.2.0" - open "^10.1.0" - perfect-debounce "^1.0.0" - picocolors "^1.1.1" - sirv "^3.0.0" - -vite-plugin-vue-devtools@^7.5.4: - version "7.6.4" - resolved "https://registry.yarnpkg.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.6.4.tgz#84743162aecba41f089775078874d403c1de229c" - integrity sha512-jxSsLyuETfmZ1OSrmnDp28BG6rmURrP7lkeyHW2gBFDyo+4dUcqVeQNMhbV7uKZn80mDdv06Mysw/5AdGxDvJQ== - dependencies: - "@vue/devtools-core" "^7.6.4" - "@vue/devtools-kit" "^7.6.4" - "@vue/devtools-shared" "^7.6.4" - execa "^8.0.1" - sirv "^3.0.0" - vite-plugin-inspect "^0.8.7" - vite-plugin-vue-inspector "^5.2.0" - -vite-plugin-vue-inspector@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.0.tgz#a57150c1d7da5a870dc1ccbffae083c74692c93d" - integrity sha512-F6JNRUOrZl8FaUCTxPhsOLn2ka7N7Sz9ppxmmEwpybVBDYnhelbNnnlZpeFPc4ULnxbitSi8b0V2C0KT3CjReg== - dependencies: - "@babel/core" "^7.23.0" - "@babel/plugin-proposal-decorators" "^7.23.0" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-transform-typescript" "^7.22.15" - "@vue/babel-plugin-jsx" "^1.1.5" - "@vue/compiler-dom" "^3.3.4" - kolorist "^1.8.0" - magic-string "^0.30.4" - -vite@^5.0.0, vite@^5.4.10: - version "5.4.11" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" - integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== - dependencies: - esbuild "^0.21.3" - postcss "^8.4.43" - rollup "^4.20.0" - optionalDependencies: - fsevents "~2.3.3" - -vitest@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.5.tgz#a93b7b84a84650130727baae441354e6df118148" - integrity sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A== - dependencies: - "@vitest/expect" "2.1.5" - "@vitest/mocker" "2.1.5" - "@vitest/pretty-format" "^2.1.5" - "@vitest/runner" "2.1.5" - "@vitest/snapshot" "2.1.5" - "@vitest/spy" "2.1.5" - "@vitest/utils" "2.1.5" - chai "^5.1.2" - debug "^4.3.7" - expect-type "^1.1.0" - magic-string "^0.30.12" - pathe "^1.1.2" - std-env "^3.8.0" - tinybench "^2.9.0" - tinyexec "^0.3.1" - tinypool "^1.0.1" - tinyrainbow "^1.2.0" - vite "^5.0.0" - vite-node "2.1.5" - why-is-node-running "^2.3.0" - -void-elements@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== - -vscode-uri@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" - integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== - -vue-component-meta@^2.0.0: - version "2.1.10" - resolved "https://registry.yarnpkg.com/vue-component-meta/-/vue-component-meta-2.1.10.tgz#28890025457620db5a5dbc18588c24117f011a0a" - integrity sha512-YEFSau36lLCJNvoM6eynAcq891Y6HKIEdEk3PCzCyNVySeYJAXgE/9iCYqQzLtBJlKg/bBpImz8VbUZsh4N/7Q== - dependencies: - "@volar/typescript" "~2.4.8" - "@vue/language-core" "2.1.10" - path-browserify "^1.0.1" - vue-component-type-helpers "2.1.10" - -vue-component-type-helpers@2.1.10, vue-component-type-helpers@^2.0.0, vue-component-type-helpers@latest: - version "2.1.10" - resolved "https://registry.yarnpkg.com/vue-component-type-helpers/-/vue-component-type-helpers-2.1.10.tgz#9f80c56a141e85ec577cf4f0b6965a61b6f1e1ef" - integrity sha512-lfgdSLQKrUmADiSV6PbBvYgQ33KF3Ztv6gP85MfGaGaSGMTXORVaHT1EHfsqCgzRNBstPKYDmvAV9Do5CmJ07A== - -vue-docgen-api@^4.75.1: - version "4.79.2" - resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-4.79.2.tgz#de2c499601472f385dc28006742e2208ba927306" - integrity sha512-n9ENAcs+40awPZMsas7STqjkZiVlIjxIKgiJr5rSohDP0/JCrD9VtlzNojafsA1MChm/hz2h3PDtUedx3lbgfA== - dependencies: - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" - "@vue/compiler-dom" "^3.2.0" - "@vue/compiler-sfc" "^3.2.0" - ast-types "^0.16.1" - esm-resolve "^1.0.8" - hash-sum "^2.0.0" - lru-cache "^8.0.3" - pug "^3.0.2" - recast "^0.23.1" - ts-map "^1.0.3" - vue-inbrowser-compiler-independent-utils "^4.69.0" - -vue-eslint-parser@^9.4.3: - version "9.4.3" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" - integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== - dependencies: - debug "^4.3.4" - eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^7.3.6" - -vue-inbrowser-compiler-independent-utils@^4.69.0: - version "4.71.1" - resolved "https://registry.yarnpkg.com/vue-inbrowser-compiler-independent-utils/-/vue-inbrowser-compiler-independent-utils-4.71.1.tgz#dc6830b204f7cfdc30ffc4f31ba81b0c72c52136" - integrity sha512-K3wt3iVmNGaFEOUR4JIThQRWfqokxLfnPslD41FDZB2ajXp789+wCqJyGYlIFsvEQ2P61PInw6/ph5iiqg51gg== - -vue-tsc@^2.1.10: - version "2.1.10" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-2.1.10.tgz#4d61a64e5fad763b8b40c1884259fd48986f0b4e" - integrity sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA== - dependencies: - "@volar/typescript" "~2.4.8" - "@vue/language-core" "2.1.10" - semver "^7.5.4" - -vue@^3.5.12: - version "3.5.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.13.tgz#9f760a1a982b09c0c04a867903fc339c9f29ec0a" - integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-sfc" "3.5.13" - "@vue/runtime-dom" "3.5.13" - "@vue/server-renderer" "3.5.13" - "@vue/shared" "3.5.13" - -w3c-xmlserializer@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" - integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== - dependencies: - xml-name-validator "^5.0.0" - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-virtual-modules@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" - integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== - -whatwg-encoding@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" - integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" - integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== - -whatwg-url@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" - integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== - dependencies: - tr46 "^5.0.0" - webidl-conversions "^7.0.0" - -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/which/-/which-5.0.0.tgz#d93f2d93f79834d4363c7d0c23e00d07c466c8d6" - integrity sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ== - dependencies: - isexe "^3.1.1" - -why-is-node-running@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" - integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -with@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" - integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== - dependencies: - "@babel/parser" "^7.9.6" - "@babel/types" "^7.9.6" - assert-never "^1.2.1" - babel-walk "3.0.0-canary-5" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@adobe/css-tools@npm:^4.4.0": + version: 4.4.1 + resolution: "@adobe/css-tools@npm:4.4.1" + checksum: 10c0/1a68ad9af490f45fce7b6e50dd2d8ac0c546d74431649c0d42ee4ceb1a9fa057fae0a7ef1e148effa12d84ec00ed71869ebfe0fb1dcdcc80bfcb6048c12abcc0 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@antfu/utils@npm:^0.7.10": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: 10c0/98991f66a4752ef097280b4235b27d961a13a2c67ef8e5b716a120eb9823958e20566516711204e2bfb08f0b935814b715f49ecd79c3b9b93ce32747ac297752 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.25.9": + version: 7.26.2 + resolution: "@babel/compat-data@npm:7.26.2" + checksum: 10c0/c9b5f3724828d17f728a778f9d66c19b55c018d0d76de6d731178cca64f182c22b71400a73bf2b65dcc4fcfe52b630088a94d5902911b54206aa90e3ffe07d12 + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.0": + version: 7.26.0 + resolution: "@babel/core@npm:7.26.0" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.0" + "@babel/generator": "npm:^7.26.0" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.0" + "@babel/parser": "npm:^7.26.0" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/91de73a7ff5c4049fbc747930aa039300e4d2670c2a91f5aa622f1b4868600fc89b01b6278385fbcd46f9574186fa3d9b376a9e7538e50f8d118ec13cfbcb63e + languageName: node + linkType: hard + +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": + version: 7.26.2 + resolution: "@babel/generator@npm:7.26.2" + dependencies: + "@babel/parser": "npm:^7.26.2" + "@babel/types": "npm:^7.26.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/167ebce8977142f5012fad6bd91da51ac52bcd752f2261a54b7ab605d928aebe57e21636cdd2a9c7757e552652c68d9fcb5d40b06fcb66e02d9ee7526e118a5c + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" + dependencies: + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.24.7, @babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.6, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.26.2 + resolution: "@babel/parser@npm:7.26.2" + dependencies: + "@babel/types": "npm:^7.26.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.23.0": + version: 7.25.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-decorators": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7d54644f50a60c47090d70121905ca76534bd7a837c03d25e163ca6ae384b48ef6dcfb125a99f12b3ce7e78e074a33f6fa8c4531c1a46aa31274153f587b05e + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/47e44a7d61b76dac4f18fd61edc186012e084eb8f1fe253c483b0fe90b73366b4ebd2b0b03728e000fd1fdedc8af3aa6e93246caf97183a8d9d42a0eb57ecfcc + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.22.5": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.24.7": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.22.15": + version: 7.25.9 + resolution: "@babel/plugin-transform-typescript@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8": + version: 7.26.0 + resolution: "@babel/runtime@npm:7.26.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/12c01357e0345f89f4f7e8c0e81921f2a3e3e101f06e8eaa18a382b517376520cd2fa8c237726eb094dab25532855df28a7baaf1c26342b52782f6936b07c287 + languageName: node + linkType: hard + +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" + dependencies: + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.6, @babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" + dependencies: + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 + languageName: node + linkType: hard + +"@babel/types@npm:^7.24.7, @babel/types@npm:^7.25.6, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 + languageName: node + linkType: hard + +"@chromatic-com/storybook@npm:^3.2.3": + version: 3.2.3 + resolution: "@chromatic-com/storybook@npm:3.2.3" + dependencies: + chromatic: "npm:^11.15.0" + filesize: "npm:^10.0.12" + jsonfile: "npm:^6.1.0" + react-confetti: "npm:^6.1.0" + strip-ansi: "npm:^7.1.0" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/23c59b7d225347d4af8cb6a7596da3417dc3abc2d5036c4ef5cee2852b994a16b5996a1bd1a584bb56e97266d85ce9ae7daeeac296b3060d6b80b14cad10d9d1 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/aix-ppc64@npm:0.24.0" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm64@npm:0.24.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm@npm:0.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-x64@npm:0.24.0" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-arm64@npm:0.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-x64@npm:0.24.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-arm64@npm:0.24.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-x64@npm:0.24.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm64@npm:0.24.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-arm@npm:0.24.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ia32@npm:0.24.0" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-loong64@npm:0.24.0" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-mips64el@npm:0.24.0" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-ppc64@npm:0.24.0" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-riscv64@npm:0.24.0" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-s390x@npm:0.24.0" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/linux-x64@npm:0.24.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/netbsd-x64@npm:0.24.0" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-arm64@npm:0.24.0" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/openbsd-x64@npm:0.24.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/sunos-x64@npm:0.24.0" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-arm64@npm:0.24.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-ia32@npm:0.24.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/win32-x64@npm:0.24.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.19.0": + version: 0.19.0 + resolution: "@eslint/config-array@npm:0.19.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/def23c6c67a8f98dc88f1b87e17a5668e5028f5ab9459661aabfe08e08f2acd557474bbaf9ba227be0921ae4db232c62773dbb7739815f8415678eb8f592dbf5 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/core@npm:0.9.0" + checksum: 10c0/6d8e8e0991cef12314c49425d8d2d9394f5fb1a36753ff82df7c03185a4646cb7c8736cf26638a4a714782cedf4b23cfc17667d282d3e5965b3920a0e7ce20d4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/43867a07ff9884d895d9855edba41acf325ef7664a8df41d957135a81a477ff4df4196f5f74dc3382627e5cc8b7ad6b815c2cea1b58f04a75aced7c43414ab8b + languageName: node + linkType: hard + +"@eslint/js@npm:9.15.0": + version: 9.15.0 + resolution: "@eslint/js@npm:9.15.0" + checksum: 10c0/56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.3": + version: 0.2.3 + resolution: "@eslint/plugin-kit@npm:0.2.3" + dependencies: + levn: "npm:^0.4.1" + checksum: 10c0/89a8035976bb1780e3fa8ffe682df013bd25f7d102d991cecd3b7c297f4ce8c1a1b6805e76dd16465b5353455b670b545eff2b4ec3133e0eab81a5f9e99bd90f + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10c0/be7bb6841c4c01d0b767d9bb1ec1c9359ee61421ce8ba66c249d035c5acdfd080f32d55a5c9e859cdd7868788b8935774f65b2caf24ec0b7bd7bf333791f063b + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/react@npm:3.1.0" + dependencies: + "@types/mdx": "npm:^2.0.0" + peerDependencies: + "@types/react": ">=16" + react: ">=16" + checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@one-ini/wasm@npm:0.1.1": + version: 0.1.1 + resolution: "@one-ini/wasm@npm:0.1.1" + checksum: 10c0/54700e055037f1a63bfcc86d24822203b25759598c2c3e295d1435130a449108aebc119c9c2e467744767dbe0b6ab47a182c61aa1071ba7368f5e20ab197ba65 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.28 + resolution: "@polka/url@npm:1.0.0-next.28" + checksum: 10c0/acc5ea62597e4da2fb42dbee02749d07f102ae7d6d2c966bf7e423c79cd65d1621da305af567e6e7c232f3b565e242d1ec932cbb3dcc0db1508d02e9a2cafa2e + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.1.3": + version: 5.1.3 + resolution: "@rollup/pluginutils@npm:5.1.3" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/ba46ad588733fb01d184ee3bc7a127d626158bc840b5874a94c129ff62689d12f16f537530709c54da6f3b71f67d705c4e09235b1dc9542e9d47ee8f2d0b8b9e + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.27.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-android-arm64@npm:4.27.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-darwin-arm64@npm:4.27.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-darwin-x64@npm:4.27.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.27.4" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-freebsd-x64@npm:4.27.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.27.4" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.27.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.27.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.27.4" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.27.4" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.27.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.27.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.27.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.27.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.27.4": + version: 4.27.4 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.27.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@storybook/addon-actions@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-actions@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@types/uuid": "npm:^9.0.1" + dequal: "npm:^2.0.2" + polished: "npm:^4.2.2" + uuid: "npm:^9.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/411be60f358101291cbd4ff8e5ddbac58fa0583c95338b82b410dc030a73632b654eaf7004b421c7e309cf0bfa709c4f93728b943e1b59dcfff5a249686501c1 + languageName: node + linkType: hard + +"@storybook/addon-backgrounds@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-backgrounds@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + memoizerific: "npm:^1.11.3" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/d22c4acd1d99f616865dde11c70b444a0aac7fe7623904479a29a0142b504f284ddc2407eacfd1203c3b0856e5497e7902eb86e287516364c7735b90e224bbcb + languageName: node + linkType: hard + +"@storybook/addon-controls@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-controls@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + dequal: "npm:^2.0.2" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/900c71d172e9f75a1c39a87de1d411890fcea012586be02e3293c705c500a3a62a2bdecb10c11ba9c9f6117706dfbc34aaa40d2ca8e8a9d7b8a6a739d6a73e0c + languageName: node + linkType: hard + +"@storybook/addon-docs@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-docs@npm:8.4.7" + dependencies: + "@mdx-js/react": "npm:^3.0.0" + "@storybook/blocks": "npm:8.4.7" + "@storybook/csf-plugin": "npm:8.4.7" + "@storybook/react-dom-shim": "npm:8.4.7" + react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" + react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/0eb1854ddb6dbef1b32f89746944ee7a16db986403fe0a3712f43d39faa6335e0bce4ac21a8c20d09955ae73cccd1962f3b45037ab1144f61c1317d686e8695f + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-essentials@npm:8.4.7" + dependencies: + "@storybook/addon-actions": "npm:8.4.7" + "@storybook/addon-backgrounds": "npm:8.4.7" + "@storybook/addon-controls": "npm:8.4.7" + "@storybook/addon-docs": "npm:8.4.7" + "@storybook/addon-highlight": "npm:8.4.7" + "@storybook/addon-measure": "npm:8.4.7" + "@storybook/addon-outline": "npm:8.4.7" + "@storybook/addon-toolbars": "npm:8.4.7" + "@storybook/addon-viewport": "npm:8.4.7" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/82ddd8424dfd5bf0ef44cee6a320f8395c63678bc0d4566307b2c68bd83c39f6bd447fb421681e3ab581c35c9d991207b01bebf20269c083931f581bb4651d6d + languageName: node + linkType: hard + +"@storybook/addon-highlight@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-highlight@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/2256b880d1f83c86c64287988bd4f4b76a8e1990f2a2a080a322994a9a8e553013fc21b7503c218ec394a880c1b72b131975e6eeadec6accb7eb35d3cb85a6ce + languageName: node + linkType: hard + +"@storybook/addon-interactions@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-interactions@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/instrumenter": "npm:8.4.7" + "@storybook/test": "npm:8.4.7" + polished: "npm:^4.2.2" + ts-dedent: "npm:^2.2.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/5c35d2f33122f053568a746c36eb99eb1764ee990146ea374b0fc01defd3f0b33674d2758c027c760fe2966f8683193e8c414089c07e1136ffc562e3346ce479 + languageName: node + linkType: hard + +"@storybook/addon-measure@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-measure@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + tiny-invariant: "npm:^1.3.1" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/a9e87c91cbcade2d0059cdc471e8ba479ad6d9dee0c2558c3b706e37d58b4cb3d986924ea0ff623aa791300ee2a8d2429e8fb3ef32eeec9d49861f8677815ac2 + languageName: node + linkType: hard + +"@storybook/addon-outline@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-outline@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/13e8579ad1e9c8e338a66935331764351d9681e177469c7be72bc8383d6ab0441a783b2089ac3a730979d9a97c347800a47769b1f1ab5b4dfd7fc31f29e1709f + languageName: node + linkType: hard + +"@storybook/addon-toolbars@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-toolbars@npm:8.4.7" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/1c315d5ad07291f35ad780ef69fbd6570a582c008ab911cf14bff84061546b9ea1373d1127213844652d73a47c3011d28c1ad08d465fc120969c133dabfe7638 + languageName: node + linkType: hard + +"@storybook/addon-viewport@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/addon-viewport@npm:8.4.7" + dependencies: + memoizerific: "npm:^1.11.3" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/4dec3b59be1f3b99d3c9eaab695a7e346d975b772f6691f8286005d78a13a204c5680c6c8733ae83060c7639b56efed9f3580cee7413834ac6595b56345183ef + languageName: node + linkType: hard + +"@storybook/blocks@npm:8.4.7, @storybook/blocks@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/blocks@npm:8.4.7" + dependencies: + "@storybook/csf": "npm:^0.1.11" + "@storybook/icons": "npm:^1.2.12" + ts-dedent: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.7 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 10c0/1cb87811f9c7bad087dca752fb0d6483c237cb5776abea59cb555d8fce9ca14f4d5487725f5d8679a49f7e3f38bbe84189703498a31f2a9aa306f9fb3c8e65c8 + languageName: node + linkType: hard + +"@storybook/builder-vite@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/builder-vite@npm:8.4.7" + dependencies: + "@storybook/csf-plugin": "npm:8.4.7" + browser-assert: "npm:^1.2.1" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^8.4.7 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + checksum: 10c0/138651b9042356972580a121eb3116c745f9fbc8b188ae0a5e543070dc54fcb6c1f14d35bc0cd1294ee763993a5f0e3a30cbe92508e74d183fed04a4d4125591 + languageName: node + linkType: hard + +"@storybook/components@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/components@npm:8.4.7" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/7c1eb12fe2310a306f3c2f77a499c3a0caeb4694d4af8dde418f3b2d2ac8a3549b3f56cdc4629b9c15d79177c72e8668dd781a71bf257948f799b0e9cba201fa + languageName: node + linkType: hard + +"@storybook/core@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/core@npm:8.4.7" + dependencies: + "@storybook/csf": "npm:^0.1.11" + better-opn: "npm:^3.0.2" + browser-assert: "npm:^1.2.1" + esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0" + esbuild-register: "npm:^3.5.0" + jsdoc-type-pratt-parser: "npm:^4.0.0" + process: "npm:^0.11.10" + recast: "npm:^0.23.5" + semver: "npm:^7.6.2" + util: "npm:^0.12.5" + ws: "npm:^8.2.3" + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + checksum: 10c0/0943ea7cd092739834ae4347cb46c66aa1c238ee9494af60345364f11568ee60d6290875a593808cd7aeb79715ae27365c2448e6ae5c644e316cd194af184755 + languageName: node + linkType: hard + +"@storybook/csf-plugin@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/csf-plugin@npm:8.4.7" + dependencies: + unplugin: "npm:^1.3.1" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/da38e2422e474e323e237e569b3dd678af77d975a4a08fa36108e66c9228858e510246628e18b013bd859a4e674c1a3d0072952a71dac0d7058e03e7c3417b3f + languageName: node + linkType: hard + +"@storybook/csf@npm:^0.1.11": + version: 0.1.11 + resolution: "@storybook/csf@npm:0.1.11" + dependencies: + type-fest: "npm:^2.19.0" + checksum: 10c0/c5329fc13e7d762049b5c91df1bc1c0e510a1a898c401b72b68f1ff64139a85ab64a92f8e681d2fcb226c0a4a55d0f23b569b2bdb517e0f067bd05ea46228356 + languageName: node + linkType: hard + +"@storybook/global@npm:^5.0.0": + version: 5.0.0 + resolution: "@storybook/global@npm:5.0.0" + checksum: 10c0/8f1b61dcdd3a89584540896e659af2ecc700bc740c16909a7be24ac19127ea213324de144a141f7caf8affaed017d064fea0618d453afbe027cf60f54b4a6d0b + languageName: node + linkType: hard + +"@storybook/icons@npm:^1.2.12": + version: 1.2.12 + resolution: "@storybook/icons@npm:1.2.12" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/97f6a7b7841fb5a0d1c8a30c36173469e7b0814a674c8103c7c0fd8803f0f7c2a778545af864012d40883195a533534dbc98541deac2bafe31e6a3fe37fdfc66 + languageName: node + linkType: hard + +"@storybook/instrumenter@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/instrumenter@npm:8.4.7" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@vitest/utils": "npm:^2.1.1" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/bc0865fed7f3c8242cd97978257e3d48f1880ad01e9794cc45122c4bcc7cf4a498c6ff8deebffcc70332b4a096e98b00e695ac152e40d0ef2c23160009c86f5d + languageName: node + linkType: hard + +"@storybook/manager-api@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/manager-api@npm:8.4.7" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/a3aeed441a2cca1a8fac73336a853b389a00a1e7dbbbbcd54492a90f2f12f86e976235fd1272f27a606532fb7e0f82dec3f7ecd1f2b87b03ffa74b667830152a + languageName: node + linkType: hard + +"@storybook/preview-api@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/preview-api@npm:8.4.7" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/86e8dd8e46b20a4cab99655ded093a76ae5a2b2b9ab03af57292022c8143d76e0f76a137f8768b8f6847fd1b522abf3dee8504f0ba5ff16b5779120d3875967c + languageName: node + linkType: hard + +"@storybook/react-dom-shim@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/react-dom-shim@npm:8.4.7" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.7 + checksum: 10c0/5db1306c844a36264587836860d17f3fd44e5981a2417e66ccb0699d2b05364736f29df2ebc605ae19a7f7b9b9d6a19845771c3052b167ce27702e20337cd334 + languageName: node + linkType: hard + +"@storybook/test@npm:8.4.7, @storybook/test@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/test@npm:8.4.7" + dependencies: + "@storybook/csf": "npm:^0.1.11" + "@storybook/global": "npm:^5.0.0" + "@storybook/instrumenter": "npm:8.4.7" + "@testing-library/dom": "npm:10.4.0" + "@testing-library/jest-dom": "npm:6.5.0" + "@testing-library/user-event": "npm:14.5.2" + "@vitest/expect": "npm:2.0.5" + "@vitest/spy": "npm:2.0.5" + peerDependencies: + storybook: ^8.4.7 + checksum: 10c0/4b100eacdca6d016a08358b1bf4c17f36450dffc9005557e0184814e546e71d200afccfb652fd2d45404fbd15e75f61fb4b93d869694249769ca919a0a2111f1 + languageName: node + linkType: hard + +"@storybook/theming@npm:8.4.7": + version: 8.4.7 + resolution: "@storybook/theming@npm:8.4.7" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/20a4975478063cea616ce6ab6b1e9ec181af1424280678ed74dc5afc15b828c043e843696a1643601331c4fd266169ec4bcc5bb43fd2f1f3c01c0e21443a658a + languageName: node + linkType: hard + +"@storybook/vue3-vite@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/vue3-vite@npm:8.4.7" + dependencies: + "@storybook/builder-vite": "npm:8.4.7" + "@storybook/vue3": "npm:8.4.7" + find-package-json: "npm:^1.2.0" + magic-string: "npm:^0.30.0" + typescript: "npm:^5.0.0" + vue-component-meta: "npm:^2.0.0" + vue-docgen-api: "npm:^4.75.1" + peerDependencies: + storybook: ^8.4.7 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + checksum: 10c0/f754ff82ee8f807750c16f86e44d0064f315f4ccb0b74f5cd17a2294de13eb102018724a952c06e610a27912bf52aa81758500ebec5a8080a4167e13591eba15 + languageName: node + linkType: hard + +"@storybook/vue3@npm:8.4.7, @storybook/vue3@npm:^8.4.7": + version: 8.4.7 + resolution: "@storybook/vue3@npm:8.4.7" + dependencies: + "@storybook/components": "npm:8.4.7" + "@storybook/global": "npm:^5.0.0" + "@storybook/manager-api": "npm:8.4.7" + "@storybook/preview-api": "npm:8.4.7" + "@storybook/theming": "npm:8.4.7" + "@vue/compiler-core": "npm:^3.0.0" + ts-dedent: "npm:^2.0.0" + type-fest: "npm:~2.19" + vue-component-type-helpers: "npm:latest" + peerDependencies: + storybook: ^8.4.7 + vue: ^3.0.0 + checksum: 10c0/b4abba6bd1d98a4aed88376f7d967d9a1c3e10b5f1b7a9e2aeb403a67fdb8c390905316394b74e779e0009171a51b4e38365552aaac219213c227f675cd0d6d9 + languageName: node + linkType: hard + +"@testing-library/dom@npm:10.4.0": + version: 10.4.0 + resolution: "@testing-library/dom@npm:10.4.0" + dependencies: + "@babel/code-frame": "npm:^7.10.4" + "@babel/runtime": "npm:^7.12.5" + "@types/aria-query": "npm:^5.0.1" + aria-query: "npm:5.3.0" + chalk: "npm:^4.1.0" + dom-accessibility-api: "npm:^0.5.9" + lz-string: "npm:^1.5.0" + pretty-format: "npm:^27.0.2" + checksum: 10c0/0352487720ecd433400671e773df0b84b8268fb3fe8e527cdfd7c11b1365b398b4e0eddba6e7e0c85e8d615f48257753283fccec41f6b986fd6c85f15eb5f84f + languageName: node + linkType: hard + +"@testing-library/jest-dom@npm:6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" + dependencies: + "@adobe/css-tools": "npm:^4.4.0" + aria-query: "npm:^5.0.0" + chalk: "npm:^3.0.0" + css.escape: "npm:^1.5.1" + dom-accessibility-api: "npm:^0.6.3" + lodash: "npm:^4.17.21" + redent: "npm:^3.0.0" + checksum: 10c0/fd5936a547f04608d8de15a7de3ae26516f21023f8f45169b10c8c8847015fd20ec259b7309f08aa1031bcbc37c6e5e6f532d1bb85ef8f91bad654193ec66a4c + languageName: node + linkType: hard + +"@testing-library/user-event@npm:14.5.2": + version: 14.5.2 + resolution: "@testing-library/user-event@npm:14.5.2" + peerDependencies: + "@testing-library/dom": ">=7.21.4" + checksum: 10c0/68a0c2aa28a3c8e6eb05cafee29705438d7d8a9427423ce5064d44f19c29e89b5636de46dd2f28620fb10abba75c67130185bbc3aa23ac1163a227a5f36641e1 + languageName: node + linkType: hard + +"@tsconfig/node22@npm:^22.0.0": + version: 22.0.0 + resolution: "@tsconfig/node22@npm:22.0.0" + checksum: 10c0/ccb736a008d33fb5ae0ac1254e83d7fa53cdbade02c645131eafcddd11f61982a4efe4c507487952202c240d2bd46c991561a4a0dfea52972947446d80de2081 + languageName: node + linkType: hard + +"@types/aria-query@npm:^5.0.1": + version: 5.0.4 + resolution: "@types/aria-query@npm:5.0.4" + checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a + languageName: node + linkType: hard + +"@types/jsdom@npm:^21.1.7": + version: 21.1.7 + resolution: "@types/jsdom@npm:21.1.7" + dependencies: + "@types/node": "npm:*" + "@types/tough-cookie": "npm:*" + parse5: "npm:^7.0.0" + checksum: 10c0/c0c0025adc2b193e85453eeeea168bb909f0ebad08d6552be7474a407e9c163db8f696dcf1e3cbe8cb9c9d970ba45f4386171794509c1a0fe5d1fed72c91679d + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.9.3 + resolution: "@types/node@npm:22.9.3" + dependencies: + undici-types: "npm:~6.19.8" + checksum: 10c0/954ec72bf29436ea62425a9563914a9c1e93f97b18194acd51d74d13998a701977547ed2985ed3a0e97211b785436d28377116e5f613bfcf3182d9bd81d784dc + languageName: node + linkType: hard + +"@types/node@npm:^22.10.1": + version: 22.10.1 + resolution: "@types/node@npm:22.10.1" + dependencies: + undici-types: "npm:~6.20.0" + checksum: 10c0/0fbb6d29fa35d807f0223a4db709c598ac08d66820240a2cd6a8a69b8f0bc921d65b339d850a666b43b4e779f967e6ed6cf6f0fca3575e08241e6b900364c234 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: 10c0/68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 + languageName: node + linkType: hard + +"@types/uuid@npm:^9.0.1": + version: 9.0.8 + resolution: "@types/uuid@npm:9.0.8" + checksum: 10c0/b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.15.0, @typescript-eslint/eslint-plugin@npm:^8.8.1": + version: 8.15.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.15.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.15.0" + "@typescript-eslint/type-utils": "npm:8.15.0" + "@typescript-eslint/utils": "npm:8.15.0" + "@typescript-eslint/visitor-keys": "npm:8.15.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/90ef10cc7d37a81abec4f4a3ffdfc3a0da8e99d949e03c75437e96e8ab2e896e34b85ab64718690180a7712581031b8611c5d8e7666d6ed4d60b9ace834d58e3 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/parser@npm:8.15.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.15.0" + "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/typescript-estree": "npm:8.15.0" + "@typescript-eslint/visitor-keys": "npm:8.15.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/19c25aea0dc51faa758701a5319a89950fd30494d9d645db8ced84fb60714c5e7d4b51fc4ee8ccb07ddefec88c51ee307ee7e49addd6330ee8f3e7ee9ba329fc + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/scope-manager@npm:8.15.0" + dependencies: + "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/visitor-keys": "npm:8.15.0" + checksum: 10c0/c27dfdcea4100cc2d6fa967f857067cbc93155b55e648f9f10887a1b9372bb76cf864f7c804f3fa48d7868d9461cdef10bcea3dab7637d5337e8aa8042dc08b9 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/type-utils@npm:8.15.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.15.0" + "@typescript-eslint/utils": "npm:8.15.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/20f09c79c83b38a962cf7eff10d47a2c01bcc0bab7bf6d762594221cd89023ef8c7aec26751c47b524f53f5c8d38bba55a282529b3df82d5f5ab4350496316f9 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/types@npm:8.15.0" + checksum: 10c0/84abc6fd954aff13822a76ac49efdcb90a55c0025c20eee5d8cebcfb68faff33b79bbc711ea524e0209cecd90c5ee3a5f92babc7083c081d3a383a0710264a41 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.15.0" + dependencies: + "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/visitor-keys": "npm:8.15.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/3af5c129532db3575349571bbf64d32aeccc4f4df924ac447f5d8f6af8b387148df51965eb2c9b99991951d3dadef4f2509d7ce69bf34a2885d013c040762412 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.15.0, @typescript-eslint/utils@npm:^8.8.1": + version: 8.15.0 + resolution: "@typescript-eslint/utils@npm:8.15.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.15.0" + "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/typescript-estree": "npm:8.15.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/65743f51845a1f6fd2d21f66ca56182ba33e966716bdca73d30b7a67c294e47889c322de7d7b90ab0818296cd33c628e5eeeb03cec7ef2f76c47de7a453eeda2 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.15.0": + version: 8.15.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.15.0" + dependencies: + "@typescript-eslint/types": "npm:8.15.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/02a954c3752c4328482a884eb1da06ca8fb72ae78ef28f1d854b18f3779406ed47263af22321cf3f65a637ec7584e5f483e34a263b5c8cec60ec85aebc263574 + languageName: node + linkType: hard + +"@vitejs/plugin-vue@npm:^5.1.4": + version: 5.2.0 + resolution: "@vitejs/plugin-vue@npm:5.2.0" + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + checksum: 10c0/cdd1850b9dfb4a4548731420381bcfea0912a4dac2392bef0ca0448d5689eefd08e7cfd928f12fccbf7c4a72dd8355fc5d5e8dc61d58853eabb95c96172eb529 + languageName: node + linkType: hard + +"@vitest/eslint-plugin@npm:1.1.7": + version: 1.1.7 + resolution: "@vitest/eslint-plugin@npm:1.1.7" + peerDependencies: + "@typescript-eslint/utils": ">= 8.0" + eslint: ">= 8.57.0" + typescript: ">= 5.0.0" + vitest: "*" + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + checksum: 10c0/a2c7e3361dcf02b214eaaead63838abd0a07f0fa6294871b61df4e5dc3ca951056acf75b64feeec196e12f129306dc5780601dd94a88f9df3c2e6623863b39f2 + languageName: node + linkType: hard + +"@vitest/expect@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/expect@npm:2.0.5" + dependencies: + "@vitest/spy": "npm:2.0.5" + "@vitest/utils": "npm:2.0.5" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/08cb1b0f106d16a5b60db733e3d436fa5eefc68571488eb570dfe4f599f214ab52e4342273b03dbe12331cc6c0cdc325ac6c94f651ad254cd62f3aa0e3d185aa + languageName: node + linkType: hard + +"@vitest/expect@npm:2.1.5": + version: 2.1.5 + resolution: "@vitest/expect@npm:2.1.5" + dependencies: + "@vitest/spy": "npm:2.1.5" + "@vitest/utils": "npm:2.1.5" + chai: "npm:^5.1.2" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/68f7011e7883dea1d1974fa05d30d7a1eff72f08741312e84f1b138f474e75e9db7ff7ced23a50fc16605baa123a2f10ef9a834b418e03dbeed23d1e0043fc90 + languageName: node + linkType: hard + +"@vitest/mocker@npm:2.1.5": + version: 2.1.5 + resolution: "@vitest/mocker@npm:2.1.5" + dependencies: + "@vitest/spy": "npm:2.1.5" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.12" + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/57034aa3476768133042c6b4193d71dbd4ace98c39241ae2c1fa21c33d5afd6d469de86511cdc59a0d7dd5585c05ac605406c60b0ae3cfbf3f650326642d4aca + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/pretty-format@npm:2.0.5" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/236c0798c5170a0b5ad5d4bd06118533738e820b4dd30079d8fbcb15baee949d41c60f42a9f769906c4a5ce366d7ef11279546070646c0efc03128c220c31f37 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.5, @vitest/pretty-format@npm:^2.1.5": + version: 2.1.5 + resolution: "@vitest/pretty-format@npm:2.1.5" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/d6667f1e5d272f557f8cca440af65645346b5aa74a04041466859087f14a78a296e3f1928caa05de0cc558880cc8a49ce14696fef7b8f5dbc3eb856d672b0abf + languageName: node + linkType: hard + +"@vitest/runner@npm:2.1.5": + version: 2.1.5 + resolution: "@vitest/runner@npm:2.1.5" + dependencies: + "@vitest/utils": "npm:2.1.5" + pathe: "npm:^1.1.2" + checksum: 10c0/d39ea4c6f8805aa3e52130ac0a3d325506a4d4bb97d0d7ac80734beb21d9a496ee50586de9801f4b66f2dc8ff38f27a75065a258fd3633bc1cfe68bd9c1dd73e + languageName: node + linkType: hard + +"@vitest/snapshot@npm:2.1.5": + version: 2.1.5 + resolution: "@vitest/snapshot@npm:2.1.5" + dependencies: + "@vitest/pretty-format": "npm:2.1.5" + magic-string: "npm:^0.30.12" + pathe: "npm:^1.1.2" + checksum: 10c0/3dc44b5a043acbbd15e08c3c0519ef5a344d06ade10ee9522b4e4305f4826f2be8353b58d0b6e11aa272078ba42ff0d2ffa62368b6e0cf996ad0d7977df9f22f + languageName: node + linkType: hard + +"@vitest/spy@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/spy@npm:2.0.5" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10c0/70634c21921eb271b54d2986c21d7ab6896a31c0f4f1d266940c9bafb8ac36237846d6736638cbf18b958bd98e5261b158a6944352742accfde50b7818ff655e + languageName: node + linkType: hard + +"@vitest/spy@npm:2.1.5": + version: 2.1.5 + resolution: "@vitest/spy@npm:2.1.5" + dependencies: + tinyspy: "npm:^3.0.2" + checksum: 10c0/c5222cc7074db5705573e5da674b8488f9e46d61a2bd64e992f5f5819feff35f015e8d0236c7e07d1870bddf5d36dc0622f674c071ab4ca8fa4f4f5d02172315 + languageName: node + linkType: hard + +"@vitest/utils@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/utils@npm:2.0.5" + dependencies: + "@vitest/pretty-format": "npm:2.0.5" + estree-walker: "npm:^3.0.3" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/0d1de748298f07a50281e1ba058b05dcd58da3280c14e6f016265e950bd79adab6b97822de8f0ea82d3070f585654801a9b1bcf26db4372e51cf7746bf86d73b + languageName: node + linkType: hard + +"@vitest/utils@npm:2.1.5, @vitest/utils@npm:^2.1.1": + version: 2.1.5 + resolution: "@vitest/utils@npm:2.1.5" + dependencies: + "@vitest/pretty-format": "npm:2.1.5" + loupe: "npm:^3.1.2" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/3d1e65025e418948b215b8856548a91856522660d898b872485a91acf397e085e90968ee9c3f521589b5274717da32e954ef8a549aa60cc1c3338224fdfb4c5e + languageName: node + linkType: hard + +"@volar/language-core@npm:2.4.10, @volar/language-core@npm:~2.4.8": + version: 2.4.10 + resolution: "@volar/language-core@npm:2.4.10" + dependencies: + "@volar/source-map": "npm:2.4.10" + checksum: 10c0/c4c7cb57f9fa477c7669f8c312675a5a94f5d18d19ca125eacf24538ce58b937729910acb46a5532091993999f99cfa51ed1aff51ba8bcd137b777dae5eb4b3c + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.10": + version: 2.4.10 + resolution: "@volar/source-map@npm:2.4.10" + checksum: 10c0/6d3b18d062c805d4c5c843396df0efc57bbf17ef8697cc17b39e1dfafd4de5fd36adafce945e9c039e4f06c7240c59ca7dcda75ef2d52e125efb35498296f70b + languageName: node + linkType: hard + +"@volar/typescript@npm:~2.4.8": + version: 2.4.10 + resolution: "@volar/typescript@npm:2.4.10" + dependencies: + "@volar/language-core": "npm:2.4.10" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/0d9e5b751fa04f15f519f3252f29dc65e080c5193bf6eefa240ac988b2e85bf096d3a4c50e34fd3149f3e52b00cfa9dadf70888938066ceecdc90c4682401ef4 + languageName: node + linkType: hard + +"@vue/babel-helper-vue-transform-on@npm:1.2.5": + version: 1.2.5 + resolution: "@vue/babel-helper-vue-transform-on@npm:1.2.5" + checksum: 10c0/b5bc64395263ed2472b3c47f4bc9ce70cb8edcd22a76d30211ad00f13857ed4568e210331540a672c3900dbde6cf113098ea72f14d36c6fcd58183daf40bccee + languageName: node + linkType: hard + +"@vue/babel-plugin-jsx@npm:^1.1.5": + version: 1.2.5 + resolution: "@vue/babel-plugin-jsx@npm:1.2.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/plugin-syntax-jsx": "npm:^7.24.7" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.6" + "@babel/types": "npm:^7.25.6" + "@vue/babel-helper-vue-transform-on": "npm:1.2.5" + "@vue/babel-plugin-resolve-type": "npm:1.2.5" + html-tags: "npm:^3.3.1" + svg-tags: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: 10c0/9a348fb312970532f305839f025b69b574696a94f08187cae8d466abff0fddbfab799dea1cd12dbf49c3fa11e53a3ea700dc2e2592f7fa3f29916e471bec5e32 + languageName: node + linkType: hard + +"@vue/babel-plugin-resolve-type@npm:1.2.5": + version: 1.2.5 + resolution: "@vue/babel-plugin-resolve-type@npm:1.2.5" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/parser": "npm:^7.25.6" + "@vue/compiler-sfc": "npm:^3.5.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/de521d76ea50050e7d0bbec6584c6cb55a029c9c5b248866843d15e97a07a31d1dba8373ff82bbb30b5416f4bcc86b3fda9dedf978e9951955899b930c879eca + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.5.13, @vue/compiler-core@npm:^3.0.0": + version: 3.5.13 + resolution: "@vue/compiler-core@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/shared": "npm:3.5.13" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/b89f3e3ca92c3177ae449ada1480df13d99b5b3b2cdcf3202fd37dc30f294a1db1f473209f8bae9233e2d338632219d39b2bfa6941d158cea55255e4b0b30f90 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.5.13, @vue/compiler-dom@npm:^3.2.0, @vue/compiler-dom@npm:^3.3.4, @vue/compiler-dom@npm:^3.5.0": + version: 3.5.13 + resolution: "@vue/compiler-dom@npm:3.5.13" + dependencies: + "@vue/compiler-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/8f424a71883c9ef4abdd125d2be8d12dd8cf94ba56089245c88734b1f87c65e10597816070ba2ea0a297a2f66dc579f39275a9a53ef5664c143a12409612cd72 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:3.5.13, @vue/compiler-sfc@npm:^3.2.0, @vue/compiler-sfc@npm:^3.5.3": + version: 3.5.13 + resolution: "@vue/compiler-sfc@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/compiler-core": "npm:3.5.13" + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.11" + postcss: "npm:^8.4.48" + source-map-js: "npm:^1.2.0" + checksum: 10c0/5fd57895ce2801e480c08f31f91f0d1746ed08a9c1973895fd7269615f5bcdf75497978fb358bda738938d9844dea2404064c53b2cdda991014225297acce19e + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-ssr@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/67621337b12fc414fcf9f16578961850724713a9fb64501136e432c2dfe95de99932c46fa24be9820f8bcdf8e7281f815f585b519a95ea979753bafd637dde1b + languageName: node + linkType: hard + +"@vue/compiler-vue2@npm:^2.7.16": + version: 2.7.16 + resolution: "@vue/compiler-vue2@npm:2.7.16" + dependencies: + de-indent: "npm:^1.0.2" + he: "npm:^1.2.0" + checksum: 10c0/c76c3fad770b9a7da40b314116cc9da173da20e5fd68785c8ed8dd8a87d02f239545fa296e16552e040ec86b47bfb18283b39447b250c2e76e479bd6ae475bb3 + languageName: node + linkType: hard + +"@vue/devtools-core@npm:^7.6.4": + version: 7.6.4 + resolution: "@vue/devtools-core@npm:7.6.4" + dependencies: + "@vue/devtools-kit": "npm:^7.6.4" + "@vue/devtools-shared": "npm:^7.6.4" + mitt: "npm:^3.0.1" + nanoid: "npm:^3.3.4" + pathe: "npm:^1.1.2" + vite-hot-client: "npm:^0.2.3" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/8acde0c4bafcddb9b59313233c1c87787e07c9811359dee1b3606b6620955d584e203ddcbfbfe2f2f659c7cdd9f4fdac3f13f1854280b6b73731091b0f0c1568 + languageName: node + linkType: hard + +"@vue/devtools-kit@npm:^7.6.4": + version: 7.6.4 + resolution: "@vue/devtools-kit@npm:7.6.4" + dependencies: + "@vue/devtools-shared": "npm:^7.6.4" + birpc: "npm:^0.2.19" + hookable: "npm:^5.5.3" + mitt: "npm:^3.0.1" + perfect-debounce: "npm:^1.0.0" + speakingurl: "npm:^14.0.1" + superjson: "npm:^2.2.1" + checksum: 10c0/3f41de78070b8c71a4db0493702323406634725510c914b909a43f84b3f4cd9fa86d002f149bab238ec110567087e3d1bc9757b4f48bec1ec43d8c3b38237e53 + languageName: node + linkType: hard + +"@vue/devtools-shared@npm:^7.6.4": + version: 7.6.4 + resolution: "@vue/devtools-shared@npm:7.6.4" + dependencies: + rfdc: "npm:^1.4.1" + checksum: 10c0/4cee3e674d781af0ee22b3384f039907a1056a6c6f6d701f1bc21f93f4d376cffa584539cbe3c0ce7f5de9d771b00167526c19dec200ce73c2beb10c30d70a5c + languageName: node + linkType: hard + +"@vue/eslint-config-prettier@npm:^10.1.0": + version: 10.1.0 + resolution: "@vue/eslint-config-prettier@npm:10.1.0" + dependencies: + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-prettier: "npm:^5.2.1" + peerDependencies: + eslint: ">= 8.21.0" + prettier: ">= 3.0.0" + checksum: 10c0/b3216e10fe7644374fca8025b8f8be253cd501c484a9bbe9d71619fe5a06552b3d9e6292827103f8dc1162f11f697b3f6662aa621b38aec5b4dd19b75769b15b + languageName: node + linkType: hard + +"@vue/eslint-config-typescript@npm:^14.1.3": + version: 14.1.3 + resolution: "@vue/eslint-config-typescript@npm:14.1.3" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:^8.8.1" + fast-glob: "npm:^3.3.2" + typescript-eslint: "npm:^8.8.1" + vue-eslint-parser: "npm:^9.4.3" + peerDependencies: + eslint: ^9.10.0 + eslint-plugin-vue: ^9.28.0 + typescript: ">=4.8.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/48e4b2a6ba812d3346ade386aaa2d1e9ce8b9f2e8b4944d3e4aa54826ec7ed8a6f860a6f378d9c13fe0aa07de9bab6cde6ac3091317c5f1e78a4dd8b35a482fb + languageName: node + linkType: hard + +"@vue/language-core@npm:2.1.10": + version: 2.1.10 + resolution: "@vue/language-core@npm:2.1.10" + dependencies: + "@volar/language-core": "npm:~2.4.8" + "@vue/compiler-dom": "npm:^3.5.0" + "@vue/compiler-vue2": "npm:^2.7.16" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^0.2.0" + minimatch: "npm:^9.0.3" + muggle-string: "npm:^0.4.1" + path-browserify: "npm:^1.0.1" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/9257f1fcbb84749f806cf0926ccc6d5f40bdee51ec3febbd7f72586ddf52db0b11bb8c24dc24b1b3ada8b34d80865b10a0a183c8033b028daab9f77326e44fb6 + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/reactivity@npm:3.5.13" + dependencies: + "@vue/shared": "npm:3.5.13" + checksum: 10c0/4bf2754a4b8cc31afc8da5bdfd12bba6be67b2963a65f7c9e2b59810883c58128dfc58cce6d1e479c4f666190bc0794f17208d9efd3fc909a2e4843d2cc0e69e + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-core@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/b6be854bf082a224222614a334fbeac0e7b6445f3cf4ea45cbd49ae4bb1551200c461c14c7a452d748f2459f7402ad4dee5522d51be5a28ea4ae1f699a7c016f + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-dom@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/runtime-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + csstype: "npm:^3.1.3" + checksum: 10c0/8ee7f3980d19f77f8e7ae854e3ff1f7ee9a9b8b4e214c8d0492e1180ae818e33c04803b3d094503524d557431a30728b78cf15c3683d8abbbbd1b263a299d62a + languageName: node + linkType: hard + +"@vue/server-renderer@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/server-renderer@npm:3.5.13" + dependencies: + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + vue: 3.5.13 + checksum: 10c0/f500bdabc199abf41f1d84defd2a365a47afce1f2223a34c32fada84f6193b39ec2ce50636483409eec81b788b8ef0fa1ff59c63ca0c74764d738c24409eef8f + languageName: node + linkType: hard + +"@vue/shared@npm:3.5.13, @vue/shared@npm:^3.5.0": + version: 3.5.13 + resolution: "@vue/shared@npm:3.5.13" + checksum: 10c0/2c940ef907116f1c2583ca1d7733984e5705983ab07054c4e72f1d95eb0f7bdf4d01efbdaee1776c2008f79595963f44e98fced057f5957d86d57b70028f5025 + languageName: node + linkType: hard + +"@vue/test-utils@npm:^2.4.6": + version: 2.4.6 + resolution: "@vue/test-utils@npm:2.4.6" + dependencies: + js-beautify: "npm:^1.14.9" + vue-component-type-helpers: "npm:^2.0.0" + checksum: 10c0/37fa46cb6b98f90affb2faf5aa41422617bbd23ff35bc714d08035334e593ae31d18757d5ae688f778dd8b4c28de431601c0b9b7ca17fc1b55f1401a5577375e + languageName: node + linkType: hard + +"@vue/tsconfig@npm:^0.5.1": + version: 0.5.1 + resolution: "@vue/tsconfig@npm:0.5.1" + checksum: 10c0/cf4049c0daf26579e42803eca661809f95f9196323b4a6aec1714ac3c80df37b44d3878468f56e2f3d1fe64640fe9cb42f20db42509ef858ab059fe05e0dd862 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^7.1.1": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 + languageName: node + linkType: hard + +"acorn@npm:^8.14.0, acorn@npm:^8.9.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"alien-signals@npm:^0.2.0": + version: 0.2.2 + resolution: "alien-signals@npm:0.2.2" + checksum: 10c0/47adce909e0a12cdd78ed982d82ae2f9b93c7e8e315d57e49b6f9e2734db2c1ec1e2173365d044202b1a8c4085c87161a4311934547cdfacf1ba85b28961fdb6 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: "npm:^2.0.3" + checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 + languageName: node + linkType: hard + +"aria-query@npm:^5.0.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"asap@npm:~2.0.3": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d + languageName: node + linkType: hard + +"assert-never@npm:^1.2.1": + version: 1.3.0 + resolution: "assert-never@npm:1.3.0" + checksum: 10c0/5dbd4fb93bca5c5639c04b5216feebe00e44005b2967e35490cb3154b0ffa48637f796fdb48141b40ffd5b32bd669eb675ba876e112f269fc4bf5a70e70374a8 + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"ast-types@npm:^0.16.1": + version: 0.16.1 + resolution: "ast-types@npm:0.16.1" + dependencies: + tslib: "npm:^2.0.1" + checksum: 10c0/abcc49e42eb921a7ebc013d5bec1154651fb6dbc3f497541d488859e681256901b2990b954d530ba0da4d0851271d484f7057d5eff5e07cb73e8b10909f711bf + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"babel-walk@npm:3.0.0-canary-5": + version: 3.0.0-canary-5 + resolution: "babel-walk@npm:3.0.0-canary-5" + dependencies: + "@babel/types": "npm:^7.9.6" + checksum: 10c0/17b689874d15c37714cedf6797dd9321dcb998d8e0dda9a8fe8c8bbbf128bbdeb8935cf56e8630d6b67eae76d2a0bc1e470751e082c3b0e30b80d58beafb5e64 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"better-opn@npm:^3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" + dependencies: + open: "npm:^8.0.4" + checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 + languageName: node + linkType: hard + +"birpc@npm:^0.2.19": + version: 0.2.19 + resolution: "birpc@npm:0.2.19" + checksum: 10c0/be3c6a4044e3041a5d8eb4c4d50b57b46158dc8149ada718ead20544e50b68b72b34c9d8bf0457d23d5f18e5a66d206b8bef5ff22c1018e1e39d373187eed455 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browser-assert@npm:^1.2.1": + version: 1.2.1 + resolution: "browser-assert@npm:1.2.1" + checksum: 10c0/902abf999f92c9c951fdb6d7352c09eea9a84706258699655f7e7906e42daa06a1ae286398a755872740e05a6a71c43c5d1a0c0431d67a8cdb66e5d859a3fc0c + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" + dependencies: + caniuse-lite: "npm:^1.0.30001669" + electron-to-chromium: "npm:^1.5.41" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.1" + bin: + browserslist: cli.js + checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a + languageName: node + linkType: hard + +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001684 + resolution: "caniuse-lite@npm:1.0.30001684" + checksum: 10c0/446485ca3d9caf408a339a44636a86a2b119ec247492393ae661cd93dccd6668401dd2dfec1e149be4e44563cd1e23351b44453a52fa2c2f19e2bf3287c865f6 + languageName: node + linkType: hard + +"chai@npm:^5.1.1, chai@npm:^5.1.2": + version: 5.1.2 + resolution: "chai@npm:5.1.2" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/6c04ff8495b6e535df9c1b062b6b094828454e9a3c9493393e55b2f4dbff7aa2a29a4645133cad160fb00a16196c4dc03dc9bb37e1f4ba9df3b5f50d7533a736 + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"character-parser@npm:^2.2.0": + version: 2.2.0 + resolution: "character-parser@npm:2.2.0" + dependencies: + is-regex: "npm:^1.0.3" + checksum: 10c0/5a8d3eff2c912a6878c84e2ebf9d42524e858aa7e1a1c7e8bb79ab54da109ad008fe9057a9d2b3230541d7ff858eda98983a2ae15db57ba01af2e989d29e932e + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10c0/979f13eccab306cf1785fa10941a590b4e7ea9916ea2a4f8c87f0316fc3eab07eabefb6e587424ef0f88cbcd3805791f172ea739863ca3d7ce2afc54641c7f0e + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chromatic@npm:^11.15.0": + version: 11.18.1 + resolution: "chromatic@npm:11.18.1" + peerDependencies: + "@chromatic-com/cypress": ^0.*.* || ^1.0.0 + "@chromatic-com/playwright": ^0.*.* || ^1.0.0 + peerDependenciesMeta: + "@chromatic-com/cypress": + optional: true + "@chromatic-com/playwright": + optional: true + bin: + chroma: dist/bin.js + chromatic: dist/bin.js + chromatic-cli: dist/bin.js + checksum: 10c0/7f95a702f33047badb4ef1c8e3a400ed4e8cb738926505fd6de632b60fc43fd6e9fa3a3d35756c8b285366c9c72085b330af7bdb5ec5c1672a39262a86540163 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^10.0.0": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"config-chain@npm:^1.1.13": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e + languageName: node + linkType: hard + +"constantinople@npm:^4.0.1": + version: 4.0.1 + resolution: "constantinople@npm:4.0.1" + dependencies: + "@babel/parser": "npm:^7.6.0" + "@babel/types": "npm:^7.6.1" + checksum: 10c0/15129adef19b1af2c3ade8bd38f97c34781bf461472a30ab414384b28d072be83070c8d2175787c045ef7c222c415101ae609936e7903427796a0c0eca8449fd + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"copy-anything@npm:^3.0.2": + version: 3.0.5 + resolution: "copy-anything@npm:3.0.5" + dependencies: + is-what: "npm:^4.1.8" + checksum: 10c0/01eadd500c7e1db71d32d95a3bfaaedcb839ef891c741f6305ab0461398056133de08f2d1bf4c392b364e7bdb7ce498513896e137a7a183ac2516b065c28a4fe + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"css.escape@npm:^1.5.1": + version: 1.5.1 + resolution: "css.escape@npm:1.5.1" + checksum: 10c0/5e09035e5bf6c2c422b40c6df2eb1529657a17df37fda5d0433d722609527ab98090baf25b13970ca754079a0f3161dd3dfc0e743563ded8cfa0749d861c1525 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssstyle@npm:^4.1.0": + version: 4.1.0 + resolution: "cssstyle@npm:4.1.0" + dependencies: + rrweb-cssom: "npm:^0.7.1" + checksum: 10c0/05c6597e5d3e0ec6b15221f2c0ce9a0443a46cc50a6089a3ba9ee1ac27f83ff86a445a8f95435137dadd859f091fc61b6d342abaf396d3c910471b5b33cfcbfa + languageName: node + linkType: hard + +"csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" + dependencies: + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad + languageName: node + linkType: hard + +"de-indent@npm:^1.0.2": + version: 1.0.2 + resolution: "de-indent@npm:1.0.2" + checksum: 10c0/7058ce58abd6dfc123dd204e36be3797abd419b59482a634605420f47ae97639d0c183ec5d1b904f308a01033f473673897afc2bd59bc620ebf1658763ef4291 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"default-browser-id@npm:^5.0.0": + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10c0/957fb886502594c8e645e812dfe93dba30ed82e8460d20ce39c53c5b0f3e2afb6ceaec2249083b90bdfbb4cb0f34e1f73fde3d68cac00becdbcfd894156b5ead + languageName: node + linkType: hard + +"default-browser@npm:^5.2.1": + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/73f17dc3c58026c55bb5538749597db31f9561c0193cd98604144b704a981c95a466f8ecc3c2db63d8bfd04fb0d426904834cfc91ae510c6aeb97e13c5167c4d + languageName: node + linkType: hard + +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"dequal@npm:^2.0.2, dequal@npm:^2.0.3": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"doctypes@npm:^1.1.0": + version: 1.1.0 + resolution: "doctypes@npm:1.1.0" + checksum: 10c0/b3f9d597ad8b9ac6aeba9d64df61f0098174f7570e3d34f7ee245ebc736c7bee122d9738a18e22010b98983fd9a340d63043d3841f02d8a7742a2d96d2c72610 + languageName: node + linkType: hard + +"dom-accessibility-api@npm:^0.5.9": + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 + languageName: node + linkType: hard + +"dom-accessibility-api@npm:^0.6.3": + version: 0.6.3 + resolution: "dom-accessibility-api@npm:0.6.3" + checksum: 10c0/10bee5aa514b2a9a37c87cd81268db607a2e933a050074abc2f6fa3da9080ebed206a320cbc123567f2c3087d22292853bdfdceaffdd4334ffe2af9510b29360 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"editorconfig@npm:^1.0.4": + version: 1.0.4 + resolution: "editorconfig@npm:1.0.4" + dependencies: + "@one-ini/wasm": "npm:0.1.1" + commander: "npm:^10.0.0" + minimatch: "npm:9.0.1" + semver: "npm:^7.5.3" + bin: + editorconfig: bin/editorconfig + checksum: 10c0/ed6985959d7b34a56e1c09bef118758c81c969489b768d152c93689fce8403b0452462e934f665febaba3478eebc0fd41c0a36100783eaadf6d926c4abc87a3d + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.41": + version: 1.5.64 + resolution: "electron-to-chromium@npm:1.5.64" + checksum: 10c0/331c2160cc37ef85317b44f2078af8ff16f068fc95d4af2210fe943b567f20b1445a7faa40c05d290bc229102ef1b662371464ba2725d10ff6c8543af6d40adf + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"entities@npm:^4.5.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-stack-parser-es@npm:^0.1.5": + version: 0.1.5 + resolution: "error-stack-parser-es@npm:0.1.5" + checksum: 10c0/60331183269d5d5f2d80ce01be58387e7f7ef86ec821db7bba3e7aad201174b3f1b561973c678af7ec945542de8f2d1d23d5152ff8adf6154080eff02cd0e0b5 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.5.4": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: 10c0/300a469488c2f22081df1e4c8398c78db92358496e639b0df7f89ac6455462aaf5d8893939087c1a1cbcbf20eed4610c70e0bcb8f3e4b0d80a5d2611c539408c + languageName: node + linkType: hard + +"esbuild-register@npm:^3.5.0": + version: 3.6.0 + resolution: "esbuild-register@npm:3.6.0" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + esbuild: ">=0.12 <1" + checksum: 10c0/77193b7ca32ba9f81b35ddf3d3d0138efb0b1429d71b39480cfee932e1189dd2e492bd32bf04a4d0bc3adfbc7ec7381ceb5ffd06efe35f3e70904f1f686566d5 + languageName: node + linkType: hard + +"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0": + version: 0.24.0 + resolution: "esbuild@npm:0.24.0" + dependencies: + "@esbuild/aix-ppc64": "npm:0.24.0" + "@esbuild/android-arm": "npm:0.24.0" + "@esbuild/android-arm64": "npm:0.24.0" + "@esbuild/android-x64": "npm:0.24.0" + "@esbuild/darwin-arm64": "npm:0.24.0" + "@esbuild/darwin-x64": "npm:0.24.0" + "@esbuild/freebsd-arm64": "npm:0.24.0" + "@esbuild/freebsd-x64": "npm:0.24.0" + "@esbuild/linux-arm": "npm:0.24.0" + "@esbuild/linux-arm64": "npm:0.24.0" + "@esbuild/linux-ia32": "npm:0.24.0" + "@esbuild/linux-loong64": "npm:0.24.0" + "@esbuild/linux-mips64el": "npm:0.24.0" + "@esbuild/linux-ppc64": "npm:0.24.0" + "@esbuild/linux-riscv64": "npm:0.24.0" + "@esbuild/linux-s390x": "npm:0.24.0" + "@esbuild/linux-x64": "npm:0.24.0" + "@esbuild/netbsd-x64": "npm:0.24.0" + "@esbuild/openbsd-arm64": "npm:0.24.0" + "@esbuild/openbsd-x64": "npm:0.24.0" + "@esbuild/sunos-x64": "npm:0.24.0" + "@esbuild/win32-arm64": "npm:0.24.0" + "@esbuild/win32-ia32": "npm:0.24.0" + "@esbuild/win32-x64": "npm:0.24.0" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683 + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.9.1" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 + languageName: node + linkType: hard + +"eslint-plugin-storybook@npm:^0.11.1": + version: 0.11.1 + resolution: "eslint-plugin-storybook@npm:0.11.1" + dependencies: + "@storybook/csf": "npm:^0.1.11" + "@typescript-eslint/utils": "npm:^8.8.1" + ts-dedent: "npm:^2.2.0" + peerDependencies: + eslint: ">=6" + checksum: 10c0/0520018311c6da25fe2d0db24a59e99ecefe74c4cadd4eba42ce3b1b0ce2c3cc6f88d48680389374f99e10151a7ef3da52386853d9d5a4058c41ae72e2184549 + languageName: node + linkType: hard + +"eslint-plugin-vue@npm:^9.30.0": + version: 9.31.0 + resolution: "eslint-plugin-vue@npm:9.31.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + globals: "npm:^13.24.0" + natural-compare: "npm:^1.4.0" + nth-check: "npm:^2.1.1" + postcss-selector-parser: "npm:^6.0.15" + semver: "npm:^7.6.3" + vue-eslint-parser: "npm:^9.4.3" + xml-name-validator: "npm:^4.0.0" + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/c87ab4d59bc431be6c2235501139b257c906b86fdeb1a64a5ff7d560a5c9439e7f1a78341d78c80e81ed5fe43dd2df8f0daf403581f62c4443cc0c6f7af2c997 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.1.1": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/8d2d58e2136d548ac7e0099b1a90d9fab56f990d86eb518de1247a7066d38c908be2f3df477a79cf60d70b30ba18735d6c6e70e9914dca2ee515a729975d70d6 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^9.14.0": + version: 9.15.0 + resolution: "eslint@npm:9.15.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.15.0" + "@eslint/plugin-kit": "npm:^0.2.3" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.5" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/d0d7606f36bfcccb1c3703d0a24df32067b207a616f17efe5fb1765a91d13f085afffc4fc97ecde4ab9c9f4edd64d9b4ce750e13ff7937a25074b24bee15b20f + languageName: node + linkType: hard + +"esm-resolve@npm:^1.0.8": + version: 1.0.11 + resolution: "esm-resolve@npm:1.0.11" + checksum: 10c0/c57bba8a2156e99f76433f24687da710fc366024870e2d2a5aa5c357973956d63c306595d97028eeb329a90ee6e6e9f4a4ca26a529c4f949ed3d66aff3d1d2ee + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + languageName: node + linkType: hard + +"espree@npm:^9.3.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:~4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0, esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"expect-type@npm:^1.1.0": + version: 1.1.0 + resolution: "expect-type@npm:1.1.0" + checksum: 10c0/5af0febbe8fe18da05a6d51e3677adafd75213512285408156b368ca471252565d5ca6e59e4bddab25121f3cfcbbebc6a5489f8cc9db131cc29e69dcdcc7ae15 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"filesize@npm:^10.0.12": + version: 10.1.6 + resolution: "filesize@npm:10.1.6" + checksum: 10c0/9a196d64da4e947b8c0d294be09a3dfa7a634434a1fc5fb3465f1c9acc1237ea0363f245ba6e24477ea612754d942bc964d86e0e500905a72e9e0e17ae1bbdbc + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-package-json@npm:^1.2.0": + version: 1.2.0 + resolution: "find-package-json@npm:1.2.0" + checksum: 10c0/85d6c97afb9f8f0deb0d344a1c4eb8027347cf4d61666c28d3ac3f913e916684441218682b3dd6f8ad570e5d43c96a7db521f70183d70df559d07e1f99cdc635 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: 10c0/24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: "npm:^1.1.3" + checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.1 + resolution: "form-data@npm:4.0.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/bb102d570be8592c23f4ea72d7df9daa50c7792eb0cf1c5d7e506c1706e7426a4e4ae48a35b109e91c85f1c0ec63774a21ae252b66f4eb981cb8efef7d0463c8 + languageName: node + linkType: hard + +"fs-extra@npm:^11.2.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin<compat/fsevents>": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin<compat/fsevents>::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3, glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.24.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hash-sum@npm:^2.0.0": + version: 2.0.0 + resolution: "hash-sum@npm:2.0.0" + checksum: 10c0/45dee9cf318d7a9b0ba5f766d35bfa14eb9483f9b878b1f980f097a87c2a490219774d42962c0c5c9bf53b1cca51724307bc35a0781218236da3d33715b4962d + languageName: node + linkType: hard + +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"hookable@npm:^5.5.3": + version: 5.5.3 + resolution: "hookable@npm:5.5.3" + checksum: 10c0/275f4cc84d27f8d48c5a5cd5685b6c0fea9291be9deea5bff0cfa72856ed566abde1dcd8cb1da0f9a70b4da3d7ec0d60dc3554c4edbba647058cc38816eced3d + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 + languageName: node + linkType: hard + +"html-tags@npm:^3.3.1": + version: 3.3.1 + resolution: "html-tags@npm:3.3.1" + checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.5": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0": + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 + languageName: node + linkType: hard + +"is-expression@npm:^4.0.0": + version: 4.0.0 + resolution: "is-expression@npm:4.0.0" + dependencies: + acorn: "npm:^7.1.1" + object-assign: "npm:^4.1.1" + checksum: 10c0/541831d39d3e7bfc8cecd966d6b0f3c0e6d9055342f17b634fb23e74f51ce90f1bfc3cf231c722fe003a61e8d4f0b9e07244fdaba57f4fc70a163c74006fd5a0 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + +"is-promise@npm:^2.0.0": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 10c0/2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 + languageName: node + linkType: hard + +"is-regex@npm:^1.0.3": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + languageName: node + linkType: hard + +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 10c0/611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"js-beautify@npm:^1.14.9": + version: 1.15.1 + resolution: "js-beautify@npm:1.15.1" + dependencies: + config-chain: "npm:^1.1.13" + editorconfig: "npm:^1.0.4" + glob: "npm:^10.3.3" + js-cookie: "npm:^3.0.5" + nopt: "npm:^7.2.0" + bin: + css-beautify: js/bin/css-beautify.js + html-beautify: js/bin/html-beautify.js + js-beautify: js/bin/js-beautify.js + checksum: 10c0/4140dd95537143eb429b6c8e47e21310f16c032d97a03163c6c7c0502bc663242a5db08d3ad941b87f24a142ce4f9190c556d2340bcd056545326377dfae5362 + languageName: node + linkType: hard + +"js-cookie@npm:^3.0.5": + version: 3.0.5 + resolution: "js-cookie@npm:3.0.5" + checksum: 10c0/04a0e560407b4489daac3a63e231d35f4e86f78bff9d792011391b49c59f721b513411cd75714c418049c8dc9750b20fcddad1ca5a2ca616c3aca4874cce5b3a + languageName: node + linkType: hard + +"js-stringify@npm:^1.0.2": + version: 1.0.2 + resolution: "js-stringify@npm:1.0.2" + checksum: 10c0/a450c04fde3a7e1c27f1c3c4300433f8d79322f9e3c2e76266843cef8c0b5a69b5f11b5f173212b2f15f2df09e068ef7ddf46ef775e2486f3006a6f4e912578d + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:^4.0.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: 10c0/7700372d2e733a32f7ea0a1df9cec6752321a5345c11a91b2ab478a031a426e934f16d5c1f15c8566c7b2c10af9f27892a29c2c789039f595470e929a4aa60ea + languageName: node + linkType: hard + +"jsdom@npm:^25.0.1": + version: 25.0.1 + resolution: "jsdom@npm:25.0.1" + dependencies: + cssstyle: "npm:^4.1.0" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.5" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.12" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.7.1" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^5.0.0" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.18.0" + xml-name-validator: "npm:^5.0.0" + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/6bda32a6dfe4e37a30568bf51136bdb3ba9c0b72aadd6356280404275a34c9e097c8c25b5eb3c742e602623741e172da977ff456684befd77c9042ed9bf8c2b4 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^4.0.0": + version: 4.0.0 + resolution: "json-parse-even-better-errors@npm:4.0.0" + checksum: 10c0/84cd9304a97e8fb2af3937bf53acb91c026aeb859703c332684e688ea60db27fc2242aa532a84e1883fdcbe1e5c1fb57c2bef38e312021aa1cd300defc63cf16 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jstransformer@npm:1.0.0": + version: 1.0.0 + resolution: "jstransformer@npm:1.0.0" + dependencies: + is-promise: "npm:^2.0.0" + promise: "npm:^7.0.1" + checksum: 10c0/11f9b4f368a55878dd7973154cd83b0adca27f974d21217728652530775b2bec281e92109de66f0c9e37c76af796d5b76b33f3e38363214a83d102d523a7285b + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"loupe@npm:^3.1.0, loupe@npm:^3.1.1, loupe@npm:^3.1.2": + version: 3.1.2 + resolution: "loupe@npm:3.1.2" + checksum: 10c0/b13c02e3ddd6a9d5f8bf84133b3242de556512d824dddeea71cce2dbd6579c8f4d672381c4e742d45cf4423d0701765b4a6e5fbc24701def16bc2b40f8daa96a + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^8.0.3": + version: 8.0.5 + resolution: "lru-cache@npm:8.0.5" + checksum: 10c0/cd95a9c38497611c5a6453de39a881f6eb5865851a2a01b5f14104ff3fee515362a7b1e7de28606028f423802910ba05bdb8ae1aa7b0d54eae70c92f0cec10b2 + languageName: node + linkType: hard + +"lz-string@npm:^1.5.0": + version: 1.5.0 + resolution: "lz-string@npm:1.5.0" + bin: + lz-string: bin/bin.js + checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + languageName: node + linkType: hard + +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.11, magic-string@npm:^0.30.12, magic-string@npm:^0.30.4": + version: 0.30.13 + resolution: "magic-string@npm:0.30.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/a275faeca1564c545019b4742c38a42ca80226c8c9e0805c32d1a1cc58b0e6ff7bbd914ed885fd10043858a7da0f732cb8f49c8975c3ecebde9cad4b57db5115 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"map-or-similar@npm:^1.5.0": + version: 1.5.0 + resolution: "map-or-similar@npm:1.5.0" + checksum: 10c0/33c6ccfdc272992e33e4e99a69541a3e7faed9de3ac5bc732feb2500a9ee71d3f9d098980a70b7746e7eeb7f859ff7dfb8aa9b5ecc4e34170a32ab78cfb18def + languageName: node + linkType: hard + +"memoizerific@npm:^1.11.3": + version: 1.11.3 + resolution: "memoizerific@npm:1.11.3" + dependencies: + map-or-similar: "npm:^1.5.0" + checksum: 10c0/661bf69b7afbfad57f0208f0c63324f4c96087b480708115b78ee3f0237d86c7f91347f6db31528740b2776c2e34c709bcb034e1e910edee2270c9603a0a469e + languageName: node + linkType: hard + +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"minimatch@npm:9.0.1": + version: 9.0.1 + resolution: "minimatch@npm:9.0.1" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/aa043eb8822210b39888a5d0d28df0017b365af5add9bd522f180d2a6962de1cbbf1bdeacdb1b17f410dc3336bc8d76fb1d3e814cdc65d00c2f68e01f0010096 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass-fetch@npm:4.0.0" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/7fa30ce7c373fb6f94c086b374fff1589fd7e78451855d2d06c2e2d9df936d131e73e952163063016592ed3081444bd8d1ea608533313b0149156ce23311da4b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" + dependencies: + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 + languageName: node + linkType: hard + +"mitt@npm:^3.0.1": + version: 3.0.1 + resolution: "mitt@npm:3.0.1" + checksum: 10c0/3ab4fdecf3be8c5255536faa07064d05caa3dd332bd318ff02e04621f7b3069ca1de9106cfe8e7ced675abfc2bec2ce4c4ef321c4a1bb1fb29df8ae090741913 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.0 + resolution: "mrmime@npm:2.0.0" + checksum: 10c0/312b35ed288986aec90955410b21ed7427fd1e4ee318cb5fc18765c8d029eeded9444faa46589e5b1ed6b35fb2054a802ac8dcb917ddf6b3e189cb3bf11a965c + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.4, nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.0.0 + resolution: "node-gyp@npm:11.0.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/a3b885bbee2d271f1def32ba2e30ffcf4562a3db33af06b8b365e053153e2dd2051b9945783c3c8e852d26a0f20f65b251c7e83361623383a99635c0280ee573 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 + languageName: node + linkType: hard + +"nopt@npm:^7.2.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.0.0 + resolution: "nopt@npm:8.0.0" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/19cb986f79abaca2d0f0b560021da7b32ee6fcc3de48f3eaeb0c324d36755c17754f886a754c091f01f740c17caf7d6aea8237b7fbaf39f476ae5e30a249f18f + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^4.0.0": + version: 4.0.0 + resolution: "npm-normalize-package-bin@npm:4.0.0" + checksum: 10c0/1fa546fcae8eaab61ef9b9ec237b6c795008da50e1883eae030e9e38bb04ffa32c5aabcef9a0400eae3dc1f91809bcfa85e437ce80d677c69b419d1d9cacf0ab + languageName: node + linkType: hard + +"npm-run-all2@npm:^7.0.1": + version: 7.0.1 + resolution: "npm-run-all2@npm:7.0.1" + dependencies: + ansi-styles: "npm:^6.2.1" + cross-spawn: "npm:^7.0.3" + memorystream: "npm:^0.3.1" + minimatch: "npm:^9.0.0" + pidtree: "npm:^0.6.0" + read-package-json-fast: "npm:^4.0.0" + shell-quote: "npm:^1.7.3" + which: "npm:^5.0.0" + bin: + npm-run-all: bin/npm-run-all/index.js + npm-run-all2: bin/npm-run-all/index.js + run-p: bin/run-p/index.js + run-s: bin/run-s/index.js + checksum: 10c0/1f2438341473280f7f55015f04a9c5bbbb3226e8235ef50811f50f98514f10ff2ac1640da592e0d5a2e6c7b95060e1bb1c7a86b5177fa746151912ac99a8f3b7 + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"nth-check@npm:^2.1.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.12": + version: 2.2.13 + resolution: "nwsapi@npm:2.2.13" + checksum: 10c0/9dbd1071bba3570ef0b046c43c03d0584c461063f27539ba39f4185188e9d5c10cb06fd4426cdb300bb83020c3daa2c8f4fa9e8a070299539ac4007433357ac0 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"open@npm:^10.1.0": + version: 10.1.0 + resolution: "open@npm:10.1.0" + dependencies: + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + is-wsl: "npm:^3.1.0" + checksum: 10c0/c86d0b94503d5f735f674158d5c5d339c25ec2927562f00ee74590727292ed23e1b8d9336cb41ffa7e1fa4d3641d29b199b4ea37c78cb557d72b511743e90ebb + languageName: node + linkType: hard + +"open@npm:^8.0.4": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": + version: 7.2.1 + resolution: "parse5@npm:7.2.1" + dependencies: + entities: "npm:^4.5.0" + checksum: 10c0/829d37a0c709215a887e410a7118d754f8e1afd7edb529db95bc7bbf8045fb0266a7b67801331d8e8d9d073ea75793624ec27ce9ff3b96862c3b9008f4d68e80 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 + languageName: node + linkType: hard + +"perfect-debounce@npm:^1.0.0": + version: 1.0.0 + resolution: "perfect-debounce@npm:1.0.0" + checksum: 10c0/e2baac416cae046ef1b270812cf9ccfb0f91c04ea36ac7f5b00bc84cb7f41bdbba087c0ab21b4e02a7ef3a1f1f6db399f137cecec46868bd7d8d88c2a9ee431f + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pidtree@npm:^0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 10c0/0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + +"polished@npm:^4.2.2": + version: 4.3.1 + resolution: "polished@npm:4.3.1" + dependencies: + "@babel/runtime": "npm:^7.17.8" + checksum: 10c0/45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.15": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss@npm:^8.4.43, postcss@npm:^8.4.48": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:^3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + languageName: node + linkType: hard + +"pretty-format@npm:^27.0.2": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: "npm:^5.0.1" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^17.0.1" + checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"promise@npm:^7.0.1": + version: 7.3.1 + resolution: "promise@npm:7.3.1" + dependencies: + asap: "npm:~2.0.3" + checksum: 10c0/742e5c0cc646af1f0746963b8776299701ad561ce2c70b49365d62c8db8ea3681b0a1bf0d4e2fe07910bf72f02d39e51e8e73dc8d7503c3501206ac908be107f + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"pug-attrs@npm:^3.0.0": + version: 3.0.0 + resolution: "pug-attrs@npm:3.0.0" + dependencies: + constantinople: "npm:^4.0.1" + js-stringify: "npm:^1.0.2" + pug-runtime: "npm:^3.0.0" + checksum: 10c0/28178e91c05e8eb9130861c78dccc61eae3e1610931346065bd32ad0b08b023a8dcf2470c3b2409ba45a5098d6d7ed15687717e91cf77770c6381a18626e5194 + languageName: node + linkType: hard + +"pug-code-gen@npm:^3.0.3": + version: 3.0.3 + resolution: "pug-code-gen@npm:3.0.3" + dependencies: + constantinople: "npm:^4.0.1" + doctypes: "npm:^1.1.0" + js-stringify: "npm:^1.0.2" + pug-attrs: "npm:^3.0.0" + pug-error: "npm:^2.1.0" + pug-runtime: "npm:^3.0.1" + void-elements: "npm:^3.1.0" + with: "npm:^7.0.0" + checksum: 10c0/517a93930dbc80bc7fa5f60ff324229a07cc5ab70ed9d344ce105e2fe24de68db5121c8457a9ba99cdc8d48dd18779dd34956ebfcab009b3c1c6843a3cade109 + languageName: node + linkType: hard + +"pug-error@npm:^2.0.0, pug-error@npm:^2.1.0": + version: 2.1.0 + resolution: "pug-error@npm:2.1.0" + checksum: 10c0/bbce339b17fab9890de84975c0cd8723a847bf65f35653d3ebcf77018e8ad91529d56e978ab80f4c64c9f4f07ef9e56e7a9fda3be44249c344a93ba11fccff79 + languageName: node + linkType: hard + +"pug-filters@npm:^4.0.0": + version: 4.0.0 + resolution: "pug-filters@npm:4.0.0" + dependencies: + constantinople: "npm:^4.0.1" + jstransformer: "npm:1.0.0" + pug-error: "npm:^2.0.0" + pug-walk: "npm:^2.0.0" + resolve: "npm:^1.15.1" + checksum: 10c0/7ddd62f5eb97f5242858bd56d93ffed387fef3742210a53770c980020cf91a34384b84b7fc8f0de185b43dfa77de2c4d0f63f575a4c5b3887fdef4e64b8d559d + languageName: node + linkType: hard + +"pug-lexer@npm:^5.0.1": + version: 5.0.1 + resolution: "pug-lexer@npm:5.0.1" + dependencies: + character-parser: "npm:^2.2.0" + is-expression: "npm:^4.0.0" + pug-error: "npm:^2.0.0" + checksum: 10c0/24195a5681953ab91c6a3ccd80a643f760dddb65e2f266bf8ccba145018ba0271536efe1572de2c2224163eb00873c2f1df0ad7ea7aa8bcbf79a66b586ca8435 + languageName: node + linkType: hard + +"pug-linker@npm:^4.0.0": + version: 4.0.0 + resolution: "pug-linker@npm:4.0.0" + dependencies: + pug-error: "npm:^2.0.0" + pug-walk: "npm:^2.0.0" + checksum: 10c0/db754ff34cdd4ba9d9e2d9535cce2a74178f2172e848a5fa6381907cb5bfaa0d39d4cc3eb29893d35fc1c417e83ae3cfd434640ba7d3b635c63199104fae976c + languageName: node + linkType: hard + +"pug-load@npm:^3.0.0": + version: 3.0.0 + resolution: "pug-load@npm:3.0.0" + dependencies: + object-assign: "npm:^4.1.1" + pug-walk: "npm:^2.0.0" + checksum: 10c0/2a7659dfaf9872dd25d851f85e4c27fa447d907b1db3540030cd844614159ff181e067d8f2bedf90eb6b5b1ff03747253859ecbbb822e40f4834b15591d4e108 + languageName: node + linkType: hard + +"pug-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "pug-parser@npm:6.0.0" + dependencies: + pug-error: "npm:^2.0.0" + token-stream: "npm:1.0.0" + checksum: 10c0/faa6cec43afdeb2705eb8c68dfdb2e65836238df8043ae55295ffb72450b8c7a990ea1be60adbde19f58988b9e1d18a84ea42453e2c4f104d0031f78fda737b2 + languageName: node + linkType: hard + +"pug-runtime@npm:^3.0.0, pug-runtime@npm:^3.0.1": + version: 3.0.1 + resolution: "pug-runtime@npm:3.0.1" + checksum: 10c0/0db8166d2e17695a6941d1de81dcb21c8a52921299b1e03bf6a0a3d2b0036b51cf98101b3937b731c745e8d3e0268cb0b728c02f61a80a25fcfaa15c594fb1be + languageName: node + linkType: hard + +"pug-strip-comments@npm:^2.0.0": + version: 2.0.0 + resolution: "pug-strip-comments@npm:2.0.0" + dependencies: + pug-error: "npm:^2.0.0" + checksum: 10c0/ca498adedaeba51dd836b20129bbd161e2d5a397a2baaa553b1e74e888caa2258dcd7326396fc6f8fed8c7b7f906cfebc4c386ccbee8888a27b2ca0d4d86d206 + languageName: node + linkType: hard + +"pug-walk@npm:^2.0.0": + version: 2.0.0 + resolution: "pug-walk@npm:2.0.0" + checksum: 10c0/005d63177bcf057f5a618b182f6d4600afb039200b07a381a0d89288a2b3126e763a0a6c40b758eab0731c8e63cad1bbcb46d96803b9ae9cfc879f6ef5a0f8f4 + languageName: node + linkType: hard + +"pug@npm:^3.0.2": + version: 3.0.3 + resolution: "pug@npm:3.0.3" + dependencies: + pug-code-gen: "npm:^3.0.3" + pug-filters: "npm:^4.0.0" + pug-lexer: "npm:^5.0.1" + pug-linker: "npm:^4.0.0" + pug-load: "npm:^3.0.0" + pug-parser: "npm:^6.0.0" + pug-runtime: "npm:^3.0.1" + pug-strip-comments: "npm:^2.0.0" + checksum: 10c0/bda53d3a6deea1d348cd5ab17427c77f3d74165510ad16f4fd182cc63618ad09388ecda317d17122ee890c8a68f9a54b96221fce7f44a332e463fdbb10a9d1e2 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"react-confetti@npm:^6.1.0": + version: 6.1.0 + resolution: "react-confetti@npm:6.1.0" + dependencies: + tween-functions: "npm:^1.2.0" + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + checksum: 10c0/5b4eb23eef564695f6db1d25b294ed31d5fa21ff4092c6a38e641f85cd10e3e0b50014366e3ac0f7cf772e73faaecd14614e5b11a5531336fa769dda8068ab59 + languageName: node + linkType: hard + +"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + languageName: node + linkType: hard + +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 + languageName: node + linkType: hard + +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^4.0.0": + version: 4.0.0 + resolution: "read-package-json-fast@npm:4.0.0" + dependencies: + json-parse-even-better-errors: "npm:^4.0.0" + npm-normalize-package-bin: "npm:^4.0.0" + checksum: 10c0/8a03509ae8e852f1abc4b109c1be571dd90ac9ea65d55433b2fe287e409113441a9b00df698288fe48aa786c1a2550569d47b5ab01ed83ada073d691d5aff582 + languageName: node + linkType: hard + +"recast@npm:^0.23.1, recast@npm:^0.23.5": + version: 0.23.9 + resolution: "recast@npm:0.23.9" + dependencies: + ast-types: "npm:^0.16.1" + esprima: "npm:~4.0.0" + source-map: "npm:~0.6.1" + tiny-invariant: "npm:^1.3.3" + tslib: "npm:^2.0.1" + checksum: 10c0/65d6e780351f0180ea4fe5c9593ac18805bf2b79977f5bedbbbf26f6d9b619ed0f6992c1bf9e06dd40fca1aea727ad6d62463cfb5d3a33342ee5a6e486305fe5 + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: 10c0/d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve@npm:^1.15.1": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.15.1#optional!builtin<compat/resolve>": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc + languageName: node + linkType: hard + +"rollup@npm:^4.20.0": + version: 4.27.4 + resolution: "rollup@npm:4.27.4" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.27.4" + "@rollup/rollup-android-arm64": "npm:4.27.4" + "@rollup/rollup-darwin-arm64": "npm:4.27.4" + "@rollup/rollup-darwin-x64": "npm:4.27.4" + "@rollup/rollup-freebsd-arm64": "npm:4.27.4" + "@rollup/rollup-freebsd-x64": "npm:4.27.4" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.27.4" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.27.4" + "@rollup/rollup-linux-arm64-gnu": "npm:4.27.4" + "@rollup/rollup-linux-arm64-musl": "npm:4.27.4" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.27.4" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.27.4" + "@rollup/rollup-linux-s390x-gnu": "npm:4.27.4" + "@rollup/rollup-linux-x64-gnu": "npm:4.27.4" + "@rollup/rollup-linux-x64-musl": "npm:4.27.4" + "@rollup/rollup-win32-arm64-msvc": "npm:4.27.4" + "@rollup/rollup-win32-ia32-msvc": "npm:4.27.4" + "@rollup/rollup-win32-x64-msvc": "npm:4.27.4" + "@types/estree": "npm:1.0.6" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/1442650cfea5e4617ce14743784f6f578817e31db56f9c8aaf96a82daa9bc20b6ccd66c0d677dbf302a4da3e70664dc3bef11a1aec85e6aff3cecccb945b1d35 + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.7.1": + version: 0.7.1 + resolution: "rrweb-cssom@npm:0.7.1" + checksum: 10c0/127b8ca6c8aac45e2755abbae6138d4a813b1bedc2caabf79466ae83ab3cfc84b5bfab513b7033f0aa4561c7753edf787d0dd01163ceacdee2e8eb1b6bf7237e + languageName: node + linkType: hard + +"run-applescript@npm:^7.0.0": + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10c0/bd821bbf154b8e6c8ecffeaf0c33cebbb78eb2987476c3f6b420d67ab4c5301faa905dec99ded76ebb3a7042b4e440189ae6d85bbbd3fc6e8d493347ecda8bfe + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^3.0.0": + version: 3.0.0 + resolution: "sirv@npm:3.0.0" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/282c52ee5a93cafa297096ad31aa6c3004a21d4c93abe728b701e51e4329acb887f6e92f07696225414fd6bb4a7782fd64a42d0b6b6467ae0f66bd3fde90b865 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"speakingurl@npm:^14.0.1": + version: 14.0.1 + resolution: "speakingurl@npm:14.0.1" + checksum: 10c0/1de1d1b938a7c4d9e79593ff7a26d312ec04a7c3234ca40b7f9b8106daf74ea9d2110a077f5db97ecf3762b83069e3ccbf9694431b51d4fcfd863f0b3333c342 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^3.8.0": + version: 3.8.0 + resolution: "std-env@npm:3.8.0" + checksum: 10c0/f560a2902fd0fa3d648d7d0acecbd19d664006f7372c1fba197ed4c216b4c9e48db6e2769b5fe1616d42a9333c9f066c5011935035e85c59f45dc4f796272040 + languageName: node + linkType: hard + +"storybook@npm:^8.4.7": + version: 8.4.7 + resolution: "storybook@npm:8.4.7" + dependencies: + "@storybook/core": "npm:8.4.7" + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + bin: + getstorybook: ./bin/index.cjs + sb: ./bin/index.cjs + storybook: ./bin/index.cjs + checksum: 10c0/795b79950b88b41ee0158fe2e2583a8ce97ff843c054f91e3c55310967b9e5c4e4d72814773380b543c33bd6d57ce6b5f377ce93ce73962e803b250a751be37c + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10c0/ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"superjson@npm:^2.2.1": + version: 2.2.1 + resolution: "superjson@npm:2.2.1" + dependencies: + copy-anything: "npm:^3.0.2" + checksum: 10c0/5d8202c955170bd98ef2647f712754ac54d2d007923cfdb53a4b035304d8964b8c41d5eff41ee277896e2ac32e06abb009b571f1589416b729fe40216320cc7a + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"svg-tags@npm:^1.0.0": + version: 1.0.0 + resolution: "svg-tags@npm:1.0.0" + checksum: 10c0/5867e29e8f431bf7aecf5a244d1af5725f80a1086187dbc78f26d8433b5e96b8fe9361aeb10d1699ff483b9afec785a10916b9312fe9d734d1a7afd48226c954 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + +"synckit@npm:^0.9.1": + version: 0.9.2 + resolution: "synckit@npm:0.9.2" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e0c262817444e5b872708adb6f5ad37951ba33f6b2d1d4477d45db1f57573a784618ceed5e6614e0225db330632b1f6b95bb74d21e4d013e45ad4bde03d0cb59 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.1": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 10c0/11e7a7c5d8b3bddf8b5cbe82a9290d70a6fad84d528421d5d18297f165723cb53d2e737d8f58dcce5ca56f2e4aa2d060f02510b1f8971784f97eb3e9aec28f09 + languageName: node + linkType: hard + +"tinypool@npm:^1.0.1": + version: 1.0.2 + resolution: "tinypool@npm:1.0.2" + checksum: 10c0/31ac184c0ff1cf9a074741254fe9ea6de95026749eb2b8ec6fd2b9d8ca94abdccda731f8e102e7f32e72ed3b36d32c6975fd5f5523df3f1b6de6c3d8dfd95e63 + languageName: node + linkType: hard + +"tinyrainbow@npm:^1.2.0": + version: 1.2.0 + resolution: "tinyrainbow@npm:1.2.0" + checksum: 10c0/7f78a4b997e5ba0f5ecb75e7ed786f30bab9063716e7dff24dd84013fb338802e43d176cb21ed12480561f5649a82184cf31efb296601a29d38145b1cdb4c192 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.0, tinyspy@npm:^3.0.2": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 + languageName: node + linkType: hard + +"tldts-core@npm:^6.1.64": + version: 6.1.64 + resolution: "tldts-core@npm:6.1.64" + checksum: 10c0/e5f562c5c46bbea520db3a5675f63c679cd4f107b716031899f1b65f333677ef413a321492c06c1745d0e0e7f9f686cb862cd286adc62332c83a18782cfbb0f4 + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.64 + resolution: "tldts@npm:6.1.64" + dependencies: + tldts-core: "npm:^6.1.64" + bin: + tldts: bin/cli.js + checksum: 10c0/d30b0501a57f9ad918ce5c6ee49ac67d37f5e81db482a0ff274a634bbb35360086e815f82d35990d1327655cd26a96ac0205916ae8aabe9ec60a5632c359e3bc + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"token-stream@npm:1.0.0": + version: 1.0.0 + resolution: "token-stream@npm:1.0.0" + checksum: 10c0/c1924a89686fc035d579cbe856da12306571d5fe7408eeeebe80df7c25c5cc644b8ae102d5cbc0f085d0e105f391d1a48dc0e568520434c5b444ea6c7de2b822 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"tough-cookie@npm:^5.0.0": + version: 5.0.0 + resolution: "tough-cookie@npm:5.0.0" + dependencies: + tldts: "npm:^6.1.32" + checksum: 10c0/4a69c885bf6f45c5a64e60262af99e8c0d58a33bd3d0ce5da62121eeb9c00996d0128a72df8fc4614cbde59cc8b70aa3e21e4c3c98c2bbde137d7aba7fa00124 + languageName: node + linkType: hard + +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.3.0": + version: 1.4.1 + resolution: "ts-api-utils@npm:1.4.1" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/11a2c4b280ead1026722bd2dd5cbfd8a88d06adcbf6ade8ce92914bd4828c08b384cf9f98cf652bd41d61320604186c5ed60f3077bc9cb8a8c44e9ceae29d0e8 + languageName: node + linkType: hard + +"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 + languageName: node + linkType: hard + +"ts-map@npm:^1.0.3": + version: 1.0.3 + resolution: "ts-map@npm:1.0.3" + checksum: 10c0/82a790ffff3b3b18a024402c612a327407de79ce318270d60c2a247f0fb7c1d3d3afecbf38098a7897fe444dd576d01c017942a5ab692317bd4316bc87f195a9 + languageName: node + linkType: hard + +"tslib@npm:^2.0.1, tslib@npm:^2.6.2": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"tween-functions@npm:^1.2.0": + version: 1.2.0 + resolution: "tween-functions@npm:1.2.0" + checksum: 10c0/7e59295b8b0ee4132ed2fe335f56a9db5c87056dad6b6fd3011be72239fd20398003ddb4403bc98ad9f5c94468890830f64016edbbde35581faf95b32cda8305 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^2.19.0, type-fest@npm:~2.19": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.8.1": + version: 8.15.0 + resolution: "typescript-eslint@npm:8.15.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.15.0" + "@typescript-eslint/parser": "npm:8.15.0" + "@typescript-eslint/utils": "npm:8.15.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/589aebf0d0b9b79db1cd0b7c2ea08c6b5727c1db095d39077d070c332066c7d549a0eb2ef60b0d41619720c317c1955236c5c8ee6320bc7c6ae475add7223b55 + languageName: node + linkType: hard + +"typescript@npm:^5.0.0": + version: 5.7.2 + resolution: "typescript@npm:5.7.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622 + languageName: node + linkType: hard + +"typescript@npm:~5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.0.0#optional!builtin<compat/typescript>": + version: 5.7.2 + resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin<compat/typescript>::version=5.7.2&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/f3b8082c9d1d1629a215245c9087df56cb784f9fb6f27b5d55577a20e68afe2a889c040aacff6d27e35be165ecf9dca66e694c42eb9a50b3b2c451b36b5675cb + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.6.3#optional!builtin<compat/typescript>": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/7c9d2e07c81226d60435939618c91ec2ff0b75fbfa106eec3430f0fcf93a584bc6c73176676f532d78c3594fe28a54b36eb40b3d75593071a7ec91301533ace7 + languageName: node + linkType: hard + +"ui-storybook@workspace:.": + version: 0.0.0-use.local + resolution: "ui-storybook@workspace:." + dependencies: + "@chromatic-com/storybook": "npm:^3.2.3" + "@storybook/addon-essentials": "npm:^8.4.7" + "@storybook/addon-interactions": "npm:^8.4.7" + "@storybook/blocks": "npm:^8.4.7" + "@storybook/test": "npm:^8.4.7" + "@storybook/vue3": "npm:^8.4.7" + "@storybook/vue3-vite": "npm:^8.4.7" + "@tsconfig/node22": "npm:^22.0.0" + "@types/jsdom": "npm:^21.1.7" + "@types/node": "npm:^22.10.1" + "@vitejs/plugin-vue": "npm:^5.1.4" + "@vitest/eslint-plugin": "npm:1.1.7" + "@vue/eslint-config-prettier": "npm:^10.1.0" + "@vue/eslint-config-typescript": "npm:^14.1.3" + "@vue/test-utils": "npm:^2.4.6" + "@vue/tsconfig": "npm:^0.5.1" + eslint: "npm:^9.14.0" + eslint-plugin-storybook: "npm:^0.11.1" + eslint-plugin-vue: "npm:^9.30.0" + jsdom: "npm:^25.0.1" + npm-run-all2: "npm:^7.0.1" + prettier: "npm:^3.3.3" + storybook: "npm:^8.4.7" + typescript: "npm:~5.6.3" + vite: "npm:^5.4.10" + vite-plugin-vue-devtools: "npm:^7.5.4" + vitest: "npm:^2.1.4" + vue: "npm:^3.5.12" + vue-tsc: "npm:^2.1.10" + languageName: unknown + linkType: soft + +"undici-types@npm:~6.19.8": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + +"undici-types@npm:~6.20.0": + version: 6.20.0 + resolution: "undici-types@npm:6.20.0" + checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unplugin@npm:^1.3.1": + version: 1.16.0 + resolution: "unplugin@npm:1.16.0" + dependencies: + acorn: "npm:^8.14.0" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/547f6bd5ec1dd7411533e68e73c60d5e9527e68d52aa326442650d084866ed3307ac68719068abae23ceab09db197cad43b382a7e69c2d8ca338b27802392fed + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.1": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util@npm:^0.12.5": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: "npm:^2.0.3" + is-arguments: "npm:^1.0.4" + is-generator-function: "npm:^1.0.7" + is-typed-array: "npm:^1.1.3" + which-typed-array: "npm:^1.1.2" + checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 + languageName: node + linkType: hard + +"uuid@npm:^9.0.0": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + +"vite-hot-client@npm:^0.2.3": + version: 0.2.3 + resolution: "vite-hot-client@npm:0.2.3" + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + checksum: 10c0/e60eedfb3c06bf70abde65e46ca1cde72fa5449bdd16a8951a6605360f7a036e0622901f75eaa248258ad8446314d05fcdf8d3ca95648ad33a4119fb1576dfd3 + languageName: node + linkType: hard + +"vite-node@npm:2.1.5": + version: 2.1.5 + resolution: "vite-node@npm:2.1.5" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.7" + es-module-lexer: "npm:^1.5.4" + pathe: "npm:^1.1.2" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/4ebe6bdf52f5ed65cb6f18af087faa87d8dca8e1a87413d1dbb8ead141d6e5d359ae006bd6c5e8f8c89cd5d90499bbf1d3f9e9a161dcc4bc86ec526862c01360 + languageName: node + linkType: hard + +"vite-plugin-inspect@npm:^0.8.7": + version: 0.8.8 + resolution: "vite-plugin-inspect@npm:0.8.8" + dependencies: + "@antfu/utils": "npm:^0.7.10" + "@rollup/pluginutils": "npm:^5.1.3" + debug: "npm:^4.3.7" + error-stack-parser-es: "npm:^0.1.5" + fs-extra: "npm:^11.2.0" + open: "npm:^10.1.0" + perfect-debounce: "npm:^1.0.0" + picocolors: "npm:^1.1.1" + sirv: "npm:^3.0.0" + peerDependencies: + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + checksum: 10c0/9b055fad1fd70cab686ce42dd9d8e457a38ee6c57ffc35f2f5ee02b6d4eac34d709eca03e3fb89f28a50570c1697fb49a46dac1fa21277a240a683c9bbd63b51 + languageName: node + linkType: hard + +"vite-plugin-vue-devtools@npm:^7.5.4": + version: 7.6.4 + resolution: "vite-plugin-vue-devtools@npm:7.6.4" + dependencies: + "@vue/devtools-core": "npm:^7.6.4" + "@vue/devtools-kit": "npm:^7.6.4" + "@vue/devtools-shared": "npm:^7.6.4" + execa: "npm:^8.0.1" + sirv: "npm:^3.0.0" + vite-plugin-inspect: "npm:^0.8.7" + vite-plugin-vue-inspector: "npm:^5.2.0" + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 + checksum: 10c0/913cd5d755a592a55c30f1ad7bfcffee95d947a5daeb203603b404b8bdcde7f06f3018c126433002aa7ec74569b635a1229c17677c2194e150ee1f9cf8689fcf + languageName: node + linkType: hard + +"vite-plugin-vue-inspector@npm:^5.2.0": + version: 5.3.0 + resolution: "vite-plugin-vue-inspector@npm:5.3.0" + dependencies: + "@babel/core": "npm:^7.23.0" + "@babel/plugin-proposal-decorators": "npm:^7.23.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.22.5" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-transform-typescript": "npm:^7.22.15" + "@vue/babel-plugin-jsx": "npm:^1.1.5" + "@vue/compiler-dom": "npm:^3.3.4" + kolorist: "npm:^1.8.0" + magic-string: "npm:^0.30.4" + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + checksum: 10c0/71c953442826ac76046174fa77cc4970e4b09a1e99089fc6065b55a723ff9f8e3bd36b16826d664a460d112afd075b6e01237f81f34890fa42bf497770afacee + languageName: node + linkType: hard + +"vite@npm:^5.0.0, vite@npm:^5.4.10": + version: 5.4.11 + resolution: "vite@npm:5.4.11" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/d536bb7af57dd0eca2a808f95f5ff1d7b7ffb8d86e17c6893087680a0448bd0d15e07475270c8a6de65cb5115592d037130a1dd979dc76bcef8c1dda202a1874 + languageName: node + linkType: hard + +"vitest@npm:^2.1.4": + version: 2.1.5 + resolution: "vitest@npm:2.1.5" + dependencies: + "@vitest/expect": "npm:2.1.5" + "@vitest/mocker": "npm:2.1.5" + "@vitest/pretty-format": "npm:^2.1.5" + "@vitest/runner": "npm:2.1.5" + "@vitest/snapshot": "npm:2.1.5" + "@vitest/spy": "npm:2.1.5" + "@vitest/utils": "npm:2.1.5" + chai: "npm:^5.1.2" + debug: "npm:^4.3.7" + expect-type: "npm:^1.1.0" + magic-string: "npm:^0.30.12" + pathe: "npm:^1.1.2" + std-env: "npm:^3.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.1" + tinypool: "npm:^1.0.1" + tinyrainbow: "npm:^1.2.0" + vite: "npm:^5.0.0" + vite-node: "npm:2.1.5" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 2.1.5 + "@vitest/ui": 2.1.5 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/1befb842da0826eed8761fe6cbd6ecae6b38d1ae83ac6619b994544d07e47905feaff2b254210315aa8e9b86645174c71a63b5d809799a289679a0063381c9a4 + languageName: node + linkType: hard + +"void-elements@npm:^3.1.0": + version: 3.1.0 + resolution: "void-elements@npm:3.1.0" + checksum: 10c0/0b8686f9f9aa44012e9bd5eabf287ae0cde409b9a2854c5a2335cb83920c957668ac5876e3f0d158dd424744ac411a7270e64128556b451ed3bec875ef18534d + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 10c0/f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9 + languageName: node + linkType: hard + +"vue-component-meta@npm:^2.0.0": + version: 2.1.10 + resolution: "vue-component-meta@npm:2.1.10" + dependencies: + "@volar/typescript": "npm:~2.4.8" + "@vue/language-core": "npm:2.1.10" + path-browserify: "npm:^1.0.1" + vue-component-type-helpers: "npm:2.1.10" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/7b670bd63754dea24a0a85abf4f2d607436f49c8fd225fdf2954098d9344f7eef14b51ee2f33ea3d576514cb72fd4e896624c71135b1dea27467cc1c4d526f27 + languageName: node + linkType: hard + +"vue-component-type-helpers@npm:2.1.10, vue-component-type-helpers@npm:^2.0.0": + version: 2.1.10 + resolution: "vue-component-type-helpers@npm:2.1.10" + checksum: 10c0/c8389b4db2310fca403c7ce1c1cfd4c98146a9f99922c7c1cd883de687e3934255d5e173aad55ce8e2f457a86a0098a7ed0b3cb25cb4df1be2189c8cf04c6500 + languageName: node + linkType: hard + +"vue-component-type-helpers@npm:latest": + version: 2.2.0 + resolution: "vue-component-type-helpers@npm:2.2.0" + checksum: 10c0/3e95ddc38e01accdc1f0ae4bdeb3b5a32fd9ad3f7f10100d84c2752492d4f757d305d3026d26244b574d921eb35123a5f1cfa6f2e2c943a4ecd7deeaf777843d + languageName: node + linkType: hard + +"vue-docgen-api@npm:^4.75.1": + version: 4.79.2 + resolution: "vue-docgen-api@npm:4.79.2" + dependencies: + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + "@vue/compiler-dom": "npm:^3.2.0" + "@vue/compiler-sfc": "npm:^3.2.0" + ast-types: "npm:^0.16.1" + esm-resolve: "npm:^1.0.8" + hash-sum: "npm:^2.0.0" + lru-cache: "npm:^8.0.3" + pug: "npm:^3.0.2" + recast: "npm:^0.23.1" + ts-map: "npm:^1.0.3" + vue-inbrowser-compiler-independent-utils: "npm:^4.69.0" + peerDependencies: + vue: ">=2" + checksum: 10c0/c992cc5f34b0666f266850fd1a0c48dc118b4ca8a3b31ec2a42bd3ca8c02d9c654a1b39a27059bdeeef9de5f8730ead648f2eee31f66f70aec78105e908ce08c + languageName: node + linkType: hard + +"vue-eslint-parser@npm:^9.4.3": + version: 9.4.3 + resolution: "vue-eslint-parser@npm:9.4.3" + dependencies: + debug: "npm:^4.3.4" + eslint-scope: "npm:^7.1.1" + eslint-visitor-keys: "npm:^3.3.0" + espree: "npm:^9.3.1" + esquery: "npm:^1.4.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.3.6" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/128be5988de025b5abd676a91c3e92af68288a5da1c20b2ff848fe90e040c04b2222a03b5d8048cf4a5e0b667a8addfb6f6e6565860d4afb5190c4cc42d05578 + languageName: node + linkType: hard + +"vue-inbrowser-compiler-independent-utils@npm:^4.69.0": + version: 4.71.1 + resolution: "vue-inbrowser-compiler-independent-utils@npm:4.71.1" + peerDependencies: + vue: ">=2" + checksum: 10c0/ff2630639fb4e3a9974927845bb32a6c69a8be82fc224e2a623939a59af5537f1859c8eb13a1e3bfd0811c13409de5501deaf7c719a980f51d7f97bef140cdb5 + languageName: node + linkType: hard + +"vue-tsc@npm:^2.1.10": + version: 2.1.10 + resolution: "vue-tsc@npm:2.1.10" + dependencies: + "@volar/typescript": "npm:~2.4.8" + "@vue/language-core": "npm:2.1.10" + semver: "npm:^7.5.4" + peerDependencies: + typescript: ">=5.0.0" + bin: + vue-tsc: ./bin/vue-tsc.js + checksum: 10c0/6367db8b36e59fcea432b1f9f53ac36f0389b26278cd8f1f7cc914a26ba82dda7db5a4407e8e159f33a9a788821f6e6f69037bc3db0f9f2be9fe700123032282 + languageName: node + linkType: hard + +"vue@npm:^3.5.12": + version: 3.5.13 + resolution: "vue@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-sfc": "npm:3.5.13" + "@vue/runtime-dom": "npm:3.5.13" + "@vue/server-renderer": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4bbb5caf3f04fed933b01c100804f3693ff902984a3152ea1359a972264fa3240f6551d32f0163a79c64df3715b4d6691818c9f652cdd41b2473c69e2b0a373d + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" + dependencies: + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 + languageName: node + linkType: hard + +"webpack-virtual-modules@npm:^0.6.2": + version: 0.6.2 + resolution: "webpack-virtual-modules@npm:0.6.2" + checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add + languageName: node + linkType: hard + +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" + dependencies: + tr46: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"with@npm:^7.0.0": + version: 7.0.2 + resolution: "with@npm:7.0.2" + dependencies: + "@babel/parser": "npm:^7.9.6" + "@babel/types": "npm:^7.9.6" + assert-never: "npm:^1.2.1" + babel-walk: "npm:3.0.0-canary-5" + checksum: 10c0/99289e49afc4b1776afae0ef85e84cfa775e8e07464d2b9853a31b0822347031d1cf77f287d25adc8c3f81e4fa68f4ee31526a9c95d4981ba08a1fe24dee111a + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard "wrap-ansi-cjs@npm: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.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -ws@^8.18.0, ws@^8.2.3: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml-name-validator@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" - integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"ws@npm:^8.18.0, ws@npm:^8.2.3": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd + languageName: node + linkType: hard + +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard -- GitLab From 68205487a4e1ed5b4bac550ba0d9435024100c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Tue, 14 Jan 2025 17:47:44 +0500 Subject: [PATCH 25/32] docs: README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 80e32e1..6d930cb 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ - Slider; - Drawer; - Modal; +- Select; - SelectButton; - Button; - ToggleSwitch; @@ -22,7 +23,7 @@ --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ### Components count: 13 -### Bundle size: 278.3KB +### Bundle size: 287.4KB --- -- GitLab From d6f1223a9e54f085b154fe80696cb6d3f7dda0fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Tue, 14 Jan 2025 17:49:42 +0500 Subject: [PATCH 26/32] docs: README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d930cb..8b46a97 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ -### Components count: 13 +### Components count: 14 ### Bundle size: 287.4KB --- -- GitLab From 0adb2ed10f326e6d7e04632dcbd0300a564af5cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Tue, 14 Jan 2025 17:58:57 +0500 Subject: [PATCH 27/32] feat: init 'Knob' --- src/common/interfaces/componentsProps.ts | 13 ++ src/stories/components/Knob/Knob.stories.ts | 130 ++++++++++++++++++++ src/stories/components/Knob/Knob.vue | 15 +++ 3 files changed, 158 insertions(+) create mode 100644 src/stories/components/Knob/Knob.stories.ts create mode 100644 src/stories/components/Knob/Knob.vue diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index 7837ad2..ef09ded 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -68,6 +68,19 @@ export interface IMDProps { // direction?: TDirection | 'circle'; } +export interface IKnobProps { + min?: string | number; + max?: string | number; + step?: string | number; + size?: TSize; + theme?: TThemeColor; + negativeTheme?: TThemeColor; + darknessTheme?: TDarkness; + darknessNegativeTheme?: TDarkness; + buttons?: boolean; + showLabel?: boolean; +} + export interface ISliderProps { width?: string | number; min?: string | number; diff --git a/src/stories/components/Knob/Knob.stories.ts b/src/stories/components/Knob/Knob.stories.ts new file mode 100644 index 0000000..ea90618 --- /dev/null +++ b/src/stories/components/Knob/Knob.stories.ts @@ -0,0 +1,130 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import Knob from './Knob.vue'; + +const meta: Meta = { + title: 'Components/Knob', + component: Knob, + tags: ['autodocs'], + parameters: { + docs: { + description: { + component: 'A component that is used as a Knob. Can be used with icon.', + }, + }, + }, + argTypes: { + buttons: { control: 'boolean' }, + showLabel: { control: 'boolean' }, + min: { control: 'text' }, + max: { control: 'text' }, + step: { control: 'text' }, + size: { control: 'Knob', options: ['small', 'normal', 'large', 'huge'] }, + darknessTheme: { control: 'Knob', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + darknessNegativeTheme: { + control: 'Knob', + options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + }, + theme: { + control: 'Knob', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + negativeTheme: { + control: 'Knob', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + }, +} satisfies Meta<typeof Knob>; + +export default meta; + +type Story = StoryObj<typeof meta>; + +export const Simple: Story = { + args: { + options: [ + { + value: 'First', + }, + { + value: 'Second', + }, + { + value: 'Third', + }, + ], + }, +}; + +export const Full: Story = { + args: { + options: [ + { + value: 'First', + iconLeft: 'At', + color: 'purple', + darknessColor: '800', + group: 'Group', + }, + { + value: 'Second', + iconRightColor: 'red', + iconRight: 'Age18', + group: 'Group', + }, + { + iconLeft: 'Calendar', + value: 'Third', + iconRight: 'CheckMark', + group: 'Group 2', + }, + { + value: 'Sssss', + }, + ], + groups: [ + { name: 'Group', background: 'white', iconLeft: 'Archive' }, + { name: 'Group 2', background: 'red', iconLeft: 'Badge' }, + ], + placeholder: 'Knob a city', + size: 'normal', + width: '250px', + theme: 'sky', + background: 'sky', + darknessTheme: '700', + darknessBackground: '200', + openIconColor: 'sky', + }, +}; diff --git a/src/stories/components/Knob/Knob.vue b/src/stories/components/Knob/Knob.vue new file mode 100644 index 0000000..73dc2bd --- /dev/null +++ b/src/stories/components/Knob/Knob.vue @@ -0,0 +1,15 @@ +<script setup lang="ts"> +import type { IKnobProps } from '@interfaces/componentsProps'; + +const props = withDefaults(defineProps<IKnobProps>(), {}); +const value = defineModel('value'); +</script> + +<template> + <section class="container"></section> +</template> + +<style scoped> +.container { +} +</style> -- GitLab From f384c34cc8742d51c6a28a91ab7a8b883d4649e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Wed, 15 Jan 2025 13:28:27 +0500 Subject: [PATCH 28/32] refactor: 'Select' --- src/stories/components/Select/Select.stories.ts | 3 +++ src/stories/components/Select/Select.vue | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/stories/components/Select/Select.stories.ts b/src/stories/components/Select/Select.stories.ts index f235774..3a8358c 100644 --- a/src/stories/components/Select/Select.stories.ts +++ b/src/stories/components/Select/Select.stories.ts @@ -154,10 +154,12 @@ export const Full: Story = { value: 'Sssss', }, ], + groups: [ { name: 'Group', background: 'white', iconLeft: 'Archive' }, { name: 'Group 2', background: 'red', iconLeft: 'Badge' }, ], + placeholder: 'Select a city', size: 'normal', width: '250px', @@ -166,5 +168,6 @@ export const Full: Story = { darknessTheme: '700', darknessBackground: '200', openIconColor: 'sky', + filtered: true, }, }; diff --git a/src/stories/components/Select/Select.vue b/src/stories/components/Select/Select.vue index 8ad88f4..f72e5d5 100644 --- a/src/stories/components/Select/Select.vue +++ b/src/stories/components/Select/Select.vue @@ -72,7 +72,13 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | > <SelectItem class="selected" - :style="`color: ${selected ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) : placeholderColor ? convertThemeToColor(placeholderColor, '700') : '#62708c'}; font-weight: 600`" + :style="`color: ${ + selected + ? calcOptionColor(selectedOption?.color, selectedOption?.darknessColor, textColor) + : placeholderColor + ? convertThemeToColor(placeholderColor, '700') + : '#62708c' + }; font-weight: 600`" :option="selectedOption" :fontSizeNumber="fontSizeNumber" :textColor="textColor" @@ -104,19 +110,20 @@ const calcOptionColor = (color: TThemeColor | undefined, darknessColor: string | <h3 class="flexNoHover groupHeader" :style="`color: ${calcOptionColor(group.nameColor, darknessTheme, textColor)}; - background-color: ${calcOptionColor(group.background, group.background === 'white' ? '500' : '200', backgroundColor)}; font-size: calc(${fontSize} * 0.8); padding: calc(${padding} * 0.8)`" + background-color: ${calcOptionColor(group.background, group.background === 'white' ? '500' : '200', backgroundColor)}; + font-size: calc(${fontSize} * 0.8); padding: calc(${padding} * 0.8)`" > <component v-if="group?.iconLeft" :is="iconsSet[group?.iconLeft]" :size="fontSizeNumber" - :color="calcOptionColor(group?.iconLeftColor, darknessTheme, textColor)" + :color="calcOptionColor(group?.iconLeftColor ?? group.nameColor, darknessTheme, textColor)" />{{ group.name }} <component v-if="group?.iconRight" :is="iconsSet[group?.iconRight]" :size="fontSizeNumber" - :color="calcOptionColor(group?.iconRightColor, darknessTheme, textColor)" + :color="calcOptionColor(group?.iconRightColor ?? group.nameColor, darknessTheme, textColor)" /> </h3> <SelectItem -- GitLab From a6b4e0e00292ef047642986cf3da415fcf8f1340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Wed, 15 Jan 2025 17:07:13 +0500 Subject: [PATCH 29/32] feat: 'Knob' in process --- src/stories/components/Knob/Knob.vue | 58 +++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/src/stories/components/Knob/Knob.vue b/src/stories/components/Knob/Knob.vue index 73dc2bd..7ed7a92 100644 --- a/src/stories/components/Knob/Knob.vue +++ b/src/stories/components/Knob/Knob.vue @@ -1,15 +1,69 @@ <script setup lang="ts"> import type { IKnobProps } from '@interfaces/componentsProps'; +import { computed } from 'vue'; +import { convertThemeToColor } from '@helpers/common'; -const props = withDefaults(defineProps<IKnobProps>(), {}); +const props = withDefaults(defineProps<IKnobProps>(), { + min: 0, + max: 2, + negativeTheme: 'black', + showLabel: true, +}); const value = defineModel('value'); + +const degreesTotal = computed(() => 360 - 90); +const length = computed(() => props.max - props.min); +const textColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); +const background = computed(() => { + const color = convertThemeToColor( + props.negativeTheme ?? (props.theme === 'white' ? 'black' : props.theme === 'black' ? 'white' : props.theme), + (!props.negativeTheme && props.theme === 'black') || props.negativeTheme === 'white' + ? '500' + : props.darknessNegativeTheme, + ); + return `radial-gradient(circle at center, transparent 50%, ${color} 50%)`; +}); +const conicGradient = computed(() => { + return `conic-gradient(red ${(225 + (1 / length.value) * degreesTotal.value) % 360}deg, transparent 225deg)`; +}); </script> <template> - <section class="container"></section> + {{ (225 + (1 / length) * degreesTotal) % 360 }} + {{ length }} + {{ conicGradient }} + <section class="container"> + <div class="circle" :style="`width: 100px; height: 100px`"> + <div class="circle selected" :style="`width: 100px; height: 100px`"></div> + + <span v-if="showLabel" class="count">{{ value }}</span> + </div> + </section> </template> <style scoped> .container { + position: relative; +} +.circle { + overflow: hidden; + border-radius: 50%; + background: v-bind(background); + clip-path: polygon(0 0, 0 100%, 50% 50%, 50% 50%, 100% 100%, 100% 0); +} +.selected { + position: absolute; + z-index: 100; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: v-bind(conicGradient); +} +.count { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); } </style> -- GitLab From a920a2ddd846d9465a1b7acec2a9655823afe4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 17 Jan 2025 15:59:17 +0500 Subject: [PATCH 30/32] feat: component 'Knob' --- src/Playground.vue | 3 + src/common/helpers/common.ts | 3 +- src/common/interfaces/common.ts | 20 +++ src/common/interfaces/componentsProp.ts | 7 + src/common/interfaces/componentsProps.ts | 17 ++- src/stories/components/Knob/Knob.stories.ts | 129 ++++++++++------ src/stories/components/Knob/Knob.vue | 157 +++++++++++++++++--- src/stories/components/Knob/helpers.ts | 61 ++++++++ 8 files changed, 330 insertions(+), 67 deletions(-) create mode 100644 src/stories/components/Knob/helpers.ts diff --git a/src/Playground.vue b/src/Playground.vue index ba41d2a..bc22e0d 100644 --- a/src/Playground.vue +++ b/src/Playground.vue @@ -17,6 +17,7 @@ import Checkbox from '@stories/components/Checkbox/Checkbox.vue'; import Tag from '@stories/components/Tag/Tag.vue'; import Select from '@stories/components/Select/Select.vue'; import AtIcon from '@stories/icons/Mono/AtIcon.vue'; +import Knob from '@stories/components/Knob/Knob.vue'; const visibleDrawer = ref(false); const sliderOptions: ISliderOptions[] = [ @@ -191,10 +192,12 @@ const selectOptions = [ value: 'Second', }, ]; +const knob = ref(); </script> <template> <h2 class="title gradient-text">Playground</h2> + <Knob v-model:value="knob" /> <Select :options="selectOptions" theme="sky"> <template #icon-left-First> <AtIcon color="#3aa" size="20" /> diff --git a/src/common/helpers/common.ts b/src/common/helpers/common.ts index f3e9829..d224eb3 100644 --- a/src/common/helpers/common.ts +++ b/src/common/helpers/common.ts @@ -1,4 +1,4 @@ -import type { TDarkness, TThemeColor } from '@interfaces/common'; +import { EThemeColor, type TDarkness, type TThemeColor } from '@interfaces/common'; import { convert100ThemeToColor, convert200ThemeToColor, @@ -15,6 +15,7 @@ import { * Convert color of type TThemeColor to hex */ export const convertThemeToColor = (theme: TThemeColor, darkness: TDarkness | string = '500'): string => { + if (!(theme in EThemeColor)) return theme; if (darkness === '500') return convert500ThemeToColor(theme); if (darkness === '100') return convert100ThemeToColor(theme); if (darkness === '200') return convert200ThemeToColor(theme); diff --git a/src/common/interfaces/common.ts b/src/common/interfaces/common.ts index 7a0383a..cb8b472 100644 --- a/src/common/interfaces/common.ts +++ b/src/common/interfaces/common.ts @@ -21,6 +21,26 @@ export type TThemeColor = | 'red' | 'black'; +export enum EThemeColor { + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'lime', + 'green', + 'yellow', + 'amber', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', +} + export type TDarkness = '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'; export type TThemeColorNoWhite = Exclude<TThemeColor, 'white'>; diff --git a/src/common/interfaces/componentsProp.ts b/src/common/interfaces/componentsProp.ts index 8f00281..3b7b90a 100644 --- a/src/common/interfaces/componentsProp.ts +++ b/src/common/interfaces/componentsProp.ts @@ -55,6 +55,13 @@ export interface IMDItemProps { onClick?: () => void; } +export interface IKnobColorGap { + start: number; + end: number; + color: TThemeColor; + darknessColor?: TDarkness; +} + export interface ISelectOption { value: string; label?: string; diff --git a/src/common/interfaces/componentsProps.ts b/src/common/interfaces/componentsProps.ts index ef09ded..46309d8 100644 --- a/src/common/interfaces/componentsProps.ts +++ b/src/common/interfaces/componentsProps.ts @@ -11,6 +11,7 @@ import type { TThemeColorNoWhite, } from '@interfaces/common'; import type { + IKnobColorGap, IMDItemProps, ISBOption, ISelectGroup, @@ -69,16 +70,25 @@ export interface IMDProps { } export interface IKnobProps { - min?: string | number; - max?: string | number; - step?: string | number; + min?: number; + max?: number; + step?: number; size?: TSize; theme?: TThemeColor; + colorGaps?: IKnobColorGap[]; negativeTheme?: TThemeColor; + color?: TThemeColor; + background?: string; darknessTheme?: TDarkness; darknessNegativeTheme?: TDarkness; + darknessColor?: TDarkness; buttons?: boolean; showLabel?: boolean; + colorAsTheme?: boolean; + fontSize?: string; + textBold?: boolean; + textBefore?: string; + textAfter?: string; } export interface ISliderProps { @@ -175,6 +185,7 @@ export interface IButtonProps { textStyle?: TTextStyle; iconPos?: TPosition; width?: string | number; + padding?: string; iconOnly?: boolean; theme?: TThemeColor; textColor?: TThemeColor; diff --git a/src/stories/components/Knob/Knob.stories.ts b/src/stories/components/Knob/Knob.stories.ts index ea90618..eafa6c6 100644 --- a/src/stories/components/Knob/Knob.stories.ts +++ b/src/stories/components/Knob/Knob.stories.ts @@ -16,17 +16,26 @@ const meta: Meta = { argTypes: { buttons: { control: 'boolean' }, showLabel: { control: 'boolean' }, - min: { control: 'text' }, - max: { control: 'text' }, - step: { control: 'text' }, - size: { control: 'Knob', options: ['small', 'normal', 'large', 'huge'] }, - darknessTheme: { control: 'Knob', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, + colorAsTheme: { control: 'boolean' }, + textBold: { control: 'boolean' }, + value: { control: 'number' }, + min: { control: 'number' }, + max: { control: 'number' }, + step: { control: 'number' }, + fontSize: { control: 'text' }, + textBefore: { control: 'text' }, + textAfter: { control: 'text' }, + colorGaps: { control: 'object' }, + size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, + background: { control: 'color' }, + darknessTheme: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, darknessNegativeTheme: { - control: 'Knob', + control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], }, + darknessColor: { control: 'select', options: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] }, theme: { - control: 'Knob', + control: 'select', options: [ 'white', 'blue', @@ -46,7 +55,27 @@ const meta: Meta = { ], }, negativeTheme: { - control: 'Knob', + control: 'select', + options: [ + 'white', + 'blue', + 'sky', + 'cyan', + 'teal', + 'green', + 'yellow', + 'orange', + 'pink', + 'fuchsia', + 'purple', + 'indigo', + 'rose', + 'red', + 'black', + ], + }, + color: { + control: 'select', options: [ 'white', 'blue', @@ -73,58 +102,66 @@ export default meta; type Story = StoryObj<typeof meta>; export const Simple: Story = { + args: {}, +}; + +export const Half: Story = { args: { - options: [ - { - value: 'First', - }, - { - value: 'Second', - }, - { - value: 'Third', - }, - ], + textBold: true, + colorAsTheme: true, + showLabel: true, + min: 0, + max: 5000, + theme: 'red', + negativeTheme: 'yellow', + value: 2500, + textAfter: '', + textBefore: '$', + step: 1, + fontSize: '1.3rem', }, }; export const Full: Story = { args: { - options: [ + value: 60, + min: 0, + max: 100, + size: 'huge', + + colorGaps: [ { - value: 'First', - iconLeft: 'At', - color: 'purple', - darknessColor: '800', - group: 'Group', + start: 0, + end: 20, + color: 'red', }, { - value: 'Second', - iconRightColor: 'red', - iconRight: 'Age18', - group: 'Group', + start: 20, + end: 40, + color: 'orange', + darknessColor: '400', }, { - iconLeft: 'Calendar', - value: 'Third', - iconRight: 'CheckMark', - group: 'Group 2', + start: 40, + end: 60, + color: 'yellow', + darknessColor: '400', }, { - value: 'Sssss', + start: 60, + end: 80, + color: 'green', + darknessColor: '600', }, ], - groups: [ - { name: 'Group', background: 'white', iconLeft: 'Archive' }, - { name: 'Group 2', background: 'red', iconLeft: 'Badge' }, - ], - placeholder: 'Knob a city', - size: 'normal', - width: '250px', - theme: 'sky', - background: 'sky', - darknessTheme: '700', - darknessBackground: '200', - openIconColor: 'sky', + + theme: 'blue', + darknessTheme: '500', + step: 2, + textBold: true, + colorAsTheme: true, + textBefore: '', + textAfter: '%', + buttons: true, }, }; diff --git a/src/stories/components/Knob/Knob.vue b/src/stories/components/Knob/Knob.vue index 7ed7a92..3e0a74b 100644 --- a/src/stories/components/Knob/Knob.vue +++ b/src/stories/components/Knob/Knob.vue @@ -1,20 +1,68 @@ <script setup lang="ts"> import type { IKnobProps } from '@interfaces/componentsProps'; -import { computed } from 'vue'; +import { computed, ref, type Ref } from 'vue'; import { convertThemeToColor } from '@helpers/common'; +import { + calcCenter, + calcStart, + calcNewValue, + calcThemeColor, + calcContainerSize, +} from '@stories/components/Knob/helpers'; +import Button from '@stories/components/Button/Button.vue'; const props = withDefaults(defineProps<IKnobProps>(), { + value: 0, min: 0, - max: 2, + max: 5, + step: 1, + size: 'normal', + buttons: false, + theme: 'sky', + darknessTheme: '500', negativeTheme: 'black', + darknessNegativeTheme: '500', + color: 'black', + darknessColor: '500', + background: 'white', showLabel: true, + colorAsTheme: false, + textBold: false, }); -const value = defineModel('value'); +const value = defineModel<number>('value', { + default: 0, +}) as Ref<number>; + +const isClickHold = ref<boolean>(false); const degreesTotal = computed(() => 360 - 90); const length = computed(() => props.max - props.min); -const textColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); -const background = computed(() => { +const center = computed(() => calcCenter(document.querySelector('.container')!)); +const start = computed(() => calcStart(document.querySelector('.container')!)); +const containerSize = computed(() => calcContainerSize(props.size)); +const buttonSize = computed(() => { + const size = props.size; + return size === 'normal' || size === 'small' ? 'small' : size === 'large' ? 'large' : 'huge'; +}); +const textSize = computed(() => { + if (props.fontSize) return props.fontSize; + const size = props.size; + return size === 'normal' ? '1.7rem' : size === 'small' ? '1.3rem' : size === 'large' ? '2.5rem' : '3.5rem'; +}); +const buttonPadding = computed(() => { + const size = props.size; + return size === 'normal' + ? '0.3rem 0.5rem' + : size === 'small' + ? '0.2rem' + : size === 'large' + ? '0.5rem 0.75rem' + : '0.7rem 1rem'; +}); +const backgroundSize = computed(() => `${containerSize.value.slice(0, -2) * 0.71}px`); +const themeColor = computed(() => calcThemeColor(props.colorGaps, props.theme, props.darknessTheme, value.value)); +const textColor = computed(() => convertThemeToColor(props.color, props.darknessColor)); +const backgroundCircle = computed(() => { const color = convertThemeToColor( props.negativeTheme ?? (props.theme === 'white' ? 'black' : props.theme === 'black' ? 'white' : props.theme), (!props.negativeTheme && props.theme === 'black') || props.negativeTheme === 'white' @@ -24,19 +72,69 @@ const background = computed(() => { return `radial-gradient(circle at center, transparent 50%, ${color} 50%)`; }); const conicGradient = computed(() => { - return `conic-gradient(red ${(225 + (1 / length.value) * degreesTotal.value) % 360}deg, transparent 225deg)`; + const valueDeg = 225 + (value.value / length.value) * degreesTotal.value; + if (valueDeg >= 360) + return `conic-gradient(${themeColor.value} 0deg ${valueDeg % 360}deg, transparent ${valueDeg % 360}deg 225deg, ${themeColor.value} 225deg 360deg)`; + return `conic-gradient(transparent 0deg 225deg, ${themeColor.value} 225deg ${valueDeg}deg, transparent ${valueDeg}deg 360deg)`; }); + +const setNewValue = ($event) => { + value.value = calcNewValue( + $event, + center.value, + start.value, + degreesTotal.value, + length.value, + props.step, + value.value, + ); +}; +const onPointerDown = ($event) => { + isClickHold.value = true; + setNewValue($event); +}; </script> <template> - {{ (225 + (1 / length) * degreesTotal) % 360 }} - {{ length }} - {{ conicGradient }} - <section class="container"> - <div class="circle" :style="`width: 100px; height: 100px`"> - <div class="circle selected" :style="`width: 100px; height: 100px`"></div> - - <span v-if="showLabel" class="count">{{ value }}</span> + <section + @pointerdown.prevent="!buttons && onPointerDown($event)" + @pointermove="isClickHold ? setNewValue($event) : ''" + @pointerup="isClickHold = false" + class="container containerSize" + > + <div class="background"></div> + <span + v-if="showLabel" + class="count" + :style="`color: ${colorAsTheme ? themeColor : textColor}; + font-weight: ${textBold ? 'bold' : 'medium'}; + font-size: ${textSize}`" + >{{ textBefore ?? '' }}{{ value }}{{ textAfter ?? '' }}</span + > + <div class="circle containerSize"> + <div class="circle containerSize selected"></div> + </div> + <div v-if="buttons" class="buttons" :style="`gap: ${textSize.slice(0, -3) * 3}px`"> + <Button + @click="value++" + :theme="negativeTheme" + textColor="white" + :size="buttonSize" + label="+" + textStyle="bold" + :padding="buttonPadding" + :width="`${textSize.slice(0, -3) * 0.78}rem`" + ></Button> + <Button + @click="value--" + :theme="negativeTheme" + textColor="white" + :size="buttonSize" + label="-" + textStyle="bold" + :padding="buttonPadding" + :width="`${textSize.slice(0, -3) * 0.78}rem`" + ></Button> </div> </section> </template> @@ -45,25 +143,50 @@ const conicGradient = computed(() => { .container { position: relative; } +.containerSize { + width: v-bind(containerSize); + height: v-bind(containerSize); +} .circle { - overflow: hidden; + position: relative; border-radius: 50%; - background: v-bind(background); + background: v-bind(backgroundCircle); clip-path: polygon(0 0, 0 100%, 50% 50%, 50% 50%, 100% 100%, 100% 0); } .selected { position: absolute; - z-index: 100; + z-index: 3; top: 0; left: 0; width: 100%; height: 100%; background: v-bind(conicGradient); } +.background { + width: v-bind(backgroundSize); + height: v-bind(backgroundSize); + position: absolute; + top: 50%; + left: 50%; + z-index: 4; + background: v-bind(background); + border-radius: 50%; + transform: translate(-50%, -50%); +} .count { position: absolute; top: 50%; left: 50%; + z-index: 5; transform: translate(-50%, -50%); + user-select: none; +} +.buttons { + display: flex; + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%); + z-index: 5; } </style> diff --git a/src/stories/components/Knob/helpers.ts b/src/stories/components/Knob/helpers.ts new file mode 100644 index 0000000..abc880e --- /dev/null +++ b/src/stories/components/Knob/helpers.ts @@ -0,0 +1,61 @@ +import { convertThemeToColor } from '@helpers/common'; +import { EThemeColor, type TDarkness, type TSize, type TThemeColor } from '@interfaces/common'; +import type { IKnobColorGap } from '@interfaces/componentsProp'; + +export const calcNewValue = ( + event: MouseEvent, + center: number[], + start: number[], + degreesTotal: number, + length: number, + step: number, + value: number, +) => { + const x = event.clientX; + const y = event.clientY; + const a = Math.sqrt(Math.pow(x - center[0], 2) + Math.pow(y - center[1], 2)); + const b = Math.sqrt(Math.pow(x - start[0], 2) + Math.pow(y - start[1], 2)); + const c = Math.sqrt(Math.pow(center[0] - start[0], 2) + Math.pow(center[1] - start[1], 2)); + + let angle = (Math.acos((Math.pow(a, 2) - Math.pow(b, 2) + Math.pow(c, 2)) / (2 * a * c)) * 180) / Math.PI; + + const emptyDegreesHalf = (360 - degreesTotal) / 2; + if (angle < emptyDegreesHalf) return value; + if (x > center[0]) angle = 360 - angle; + + return Math.round((angle - emptyDegreesHalf) / ((degreesTotal / length) * step)) * step; +}; + +export const calcCenter = (container: Element) => { + const clientRect = container.getBoundingClientRect(); + return [ + clientRect.left + (clientRect.right - clientRect.left) / 2, + clientRect.top + (clientRect.bottom - clientRect.top) / 2, + ]; +}; + +export const calcStart = (container: Element) => { + const clientRect = container.getBoundingClientRect(); + return [clientRect.left + (clientRect.right - clientRect.left) / 2, clientRect.bottom]; +}; + +export const calcThemeColor = ( + colorGaps: IKnobColorGap[], + theme: TThemeColor, + darknessTheme: TDarkness, + value: number, +) => { + if (!colorGaps) return convertThemeToColor(theme, darknessTheme); + const current = colorGaps.find((item) => item.start <= value && value <= item.end); + if (!current) return convertThemeToColor(theme, darknessTheme); + return current.color in EThemeColor + ? convertThemeToColor(current.color, current.darknessColor ?? '500') + : current.color; +}; + +export const calcContainerSize = (size: TSize) => { + if (size === 'normal') return '100px'; + if (size === 'large') return '150px'; + if (size === 'huge') return '200px'; + return '70px'; +}; -- GitLab From c78519c73b52d570c864d2348bf9be60ec9a72a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 17 Jan 2025 15:59:34 +0500 Subject: [PATCH 31/32] refactor: component 'Button' (add 'padding' prop) --- src/stories/components/Button/Button.stories.ts | 1 + src/stories/components/Button/Button.vue | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/stories/components/Button/Button.stories.ts b/src/stories/components/Button/Button.stories.ts index eaefe1f..666b620 100644 --- a/src/stories/components/Button/Button.stories.ts +++ b/src/stories/components/Button/Button.stories.ts @@ -15,6 +15,7 @@ const meta: Meta = { }, argTypes: { label: { control: 'text' }, + padding: { control: 'text' }, size: { control: 'select', options: ['small', 'normal', 'large', 'huge'] }, textStyle: { control: 'select', options: ['bold', 'italic'] }, iconPos: { control: 'select', options: ['left', 'top', 'right', 'bottom'] }, diff --git a/src/stories/components/Button/Button.vue b/src/stories/components/Button/Button.vue index 81fe6a3..41d7e61 100644 --- a/src/stories/components/Button/Button.vue +++ b/src/stories/components/Button/Button.vue @@ -18,7 +18,7 @@ const color = computed(() => : convertThemeToTextColor(props.theme, props.darknessTheme), ); const borderColor = computed(() => convertThemeToSecondaryColor(props.theme, props.darknessTheme)); -const width = computed(() => (props.width ? `${props.width}px` : 'max-content')); +const width = computed(() => (props.width ? props.width : 'max-content')); const textSize = computed(() => { switch (props.size) { case 'small': @@ -31,15 +31,16 @@ const textSize = computed(() => { return '16px'; }); const buttonPadding = computed(() => { + if (props.padding) return props.padding; switch (props.size) { case 'small': - return '0.5rem 0.375rem'; + return '0.5rem'; case 'large': - return '1.2rem 0.8rem'; + return '1.2rem'; case 'huge': - return '1.8rem 1.2rem'; + return '1.8rem'; } - return '0.75rem 0.5rem'; + return '0.75rem'; }); </script> -- GitLab From 4809c4e0ac7f6aadc62fdb7fd7cf6158a93ec449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Fri, 17 Jan 2025 16:03:23 +0500 Subject: [PATCH 32/32] docs: README.md --- README.md | 5 +++-- package.json | 3 +++ src/stories/components/Knob/Knob.vue | 13 +++++++------ src/stories/components/Knob/helpers.ts | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8b46a97..3e593b3 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ - Slider; - Drawer; - Modal; +- Knob; - Select; - SelectButton; - Button; @@ -22,8 +23,8 @@ --- ## ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ -### Components count: 14 -### Bundle size: 287.4KB +### Components count: 15 +### Bundle size: 292.7KB --- diff --git a/package.json b/package.json index d29dba7..6d95ea9 100644 --- a/package.json +++ b/package.json @@ -52,5 +52,8 @@ "extends": [ "plugin:storybook/recommended" ] + }, + "volta": { + "node": "23.6.0" } } diff --git a/src/stories/components/Knob/Knob.vue b/src/stories/components/Knob/Knob.vue index 3e0a74b..169c6ae 100644 --- a/src/stories/components/Knob/Knob.vue +++ b/src/stories/components/Knob/Knob.vue @@ -59,7 +59,8 @@ const buttonPadding = computed(() => { ? '0.5rem 0.75rem' : '0.7rem 1rem'; }); -const backgroundSize = computed(() => `${containerSize.value.slice(0, -2) * 0.71}px`); +const buttonWidth = computed(() => `${+textSize.value.slice(0, -3) * 0.78}rem`); +const backgroundSize = computed(() => `${+containerSize.value.slice(0, -2) * 0.71}px`); const themeColor = computed(() => calcThemeColor(props.colorGaps, props.theme, props.darknessTheme, value.value)); const textColor = computed(() => convertThemeToColor(props.color, props.darknessColor)); const backgroundCircle = computed(() => { @@ -78,7 +79,7 @@ const conicGradient = computed(() => { return `conic-gradient(transparent 0deg 225deg, ${themeColor.value} 225deg ${valueDeg}deg, transparent ${valueDeg}deg 360deg)`; }); -const setNewValue = ($event) => { +const setNewValue = ($event: MouseEvent) => { value.value = calcNewValue( $event, center.value, @@ -89,7 +90,7 @@ const setNewValue = ($event) => { value.value, ); }; -const onPointerDown = ($event) => { +const onPointerDown = ($event: MouseEvent) => { isClickHold.value = true; setNewValue($event); }; @@ -114,7 +115,7 @@ const onPointerDown = ($event) => { <div class="circle containerSize"> <div class="circle containerSize selected"></div> </div> - <div v-if="buttons" class="buttons" :style="`gap: ${textSize.slice(0, -3) * 3}px`"> + <div v-if="buttons" class="buttons" :style="`gap: ${+textSize.slice(0, -3) * 3}px`"> <Button @click="value++" :theme="negativeTheme" @@ -123,7 +124,7 @@ const onPointerDown = ($event) => { label="+" textStyle="bold" :padding="buttonPadding" - :width="`${textSize.slice(0, -3) * 0.78}rem`" + :width="buttonWidth" ></Button> <Button @click="value--" @@ -133,7 +134,7 @@ const onPointerDown = ($event) => { label="-" textStyle="bold" :padding="buttonPadding" - :width="`${textSize.slice(0, -3) * 0.78}rem`" + :width="buttonWidth" ></Button> </div> </section> diff --git a/src/stories/components/Knob/helpers.ts b/src/stories/components/Knob/helpers.ts index abc880e..2a53cd0 100644 --- a/src/stories/components/Knob/helpers.ts +++ b/src/stories/components/Knob/helpers.ts @@ -40,7 +40,7 @@ export const calcStart = (container: Element) => { }; export const calcThemeColor = ( - colorGaps: IKnobColorGap[], + colorGaps: IKnobColorGap[] | undefined, theme: TThemeColor, darknessTheme: TDarkness, value: number, -- GitLab