From 7c5912ebe495e86f3687fbc53b9ff7c757f9c2db Mon Sep 17 00:00:00 2001 From: Ivan Vasilov Date: Mon, 16 Dec 2024 11:50:20 +0100 Subject: [PATCH] chore: Remove storybook (#31096) * Remove all stories files. * Remove some extra files which were used by storybook or werent used at all. * Remove all references to storybook in documentation and code. * Remove all storybook packages. * Fix prettier error. * Remove two css configs which were used for storybook. --- .../content/docs/tailwind-classes.mdx | 6 - apps/studio/.storybook/main.js | 15 - apps/studio/.storybook/preview.css | 113 - apps/studio/.storybook/preview.js | 22 - .../Settings/Logs/LogTable.stories.tsx | 34 - .../LogsErrorRenderers.stories.tsx | 69 - .../ui/Charts/AreaChart.stories.tsx | 55 - .../components/ui/Charts/BarChart.stories.tsx | 56 - .../ui/Charts/StackedBarChart.stories.tsx | 81 - .../ui/DatePicker/DatePicker.stories.tsx | 35 - apps/studio/package.json | 7 - babel.config.js | 3 - package-lock.json | 3076 ----------------- .../AssistantChatCommands.stories.tsx | 90 - .../AssistantChatForm.stories.tsx | 66 - .../ui-patterns/DataInputs/Input.stories.tsx | 69 - .../Dialogs/TextConfirmModal.stories.tsx | 295 -- .../FormItemLayout/FormItemLayout.stories.tsx | 283 -- packages/ui-patterns/form/FormLayout.tsx | 357 -- packages/ui-patterns/form/Page.stories.tsx | 37 - packages/ui-patterns/form/Page2.stories.tsx | 37 - packages/ui-patterns/lib/transformSource.tsx | 210 -- packages/ui/.babelrc.json | 15 - packages/ui/README.tokens.md | 1 - packages/ui/components.json | 2 +- packages/ui/package.json | 5 - packages/ui/postcss.config.js | 1 - .../Accordion/Accordion.stories.tsx | 184 - .../ui/src/components/Alert/Alert.stories.tsx | 135 - .../Breadcrumb/Breadcrumb.stories.tsx | 18 - .../src/components/Button/Button.stories.tsx | 176 - .../ui/src/components/Card/Card.stories.tsx | 61 - .../components/Checkbox/Checkbox.stories.tsx | 128 - .../Collapsible/Collapsible.stories.tsx | 62 - .../ContextMenu/ContextMenu.stories.tsx | 157 - .../components/Divider/Divider.stories.tsx | 52 - .../ui/src/components/Form/Form.stories.tsx | 487 --- .../ui/src/components/Icon/Icon.stories.tsx | 66 - .../ui/src/components/Input/Input.stories.tsx | 156 - .../InputNumber/InputNumber.stories.tsx | 61 - .../src/components/InputOld/Input.stories.js | 14 - .../src/components/Select/Select.stories.tsx | 183 - .../SidePanel/SidePanel.stories.tsx | 262 -- .../ui/src/components/Tabs/Tabs.stories.tsx | 165 - .../src/components/Toggle/Toggle.stories.tsx | 68 - .../Typography/Typography.stories.tsx | 65 - .../src/components/Upload/Upload.stories.tsx | 70 - packages/ui/src/lib/colors.stories.tsx | 98 - packages/ui/tailwind-theming.md | 6 - packages/ui/tailwind.config.js | 90 - packages/ui/tsconfig.json | 2 +- 51 files changed, 2 insertions(+), 7804 deletions(-) delete mode 100644 apps/studio/.storybook/main.js delete mode 100644 apps/studio/.storybook/preview.css delete mode 100644 apps/studio/.storybook/preview.js delete mode 100644 apps/studio/components/interfaces/Settings/Logs/LogTable.stories.tsx delete mode 100644 apps/studio/components/interfaces/Settings/Logs/LogsErrorRenderers/LogsErrorRenderers.stories.tsx delete mode 100644 apps/studio/components/ui/Charts/AreaChart.stories.tsx delete mode 100644 apps/studio/components/ui/Charts/BarChart.stories.tsx delete mode 100644 apps/studio/components/ui/Charts/StackedBarChart.stories.tsx delete mode 100644 apps/studio/components/ui/DatePicker/DatePicker.stories.tsx delete mode 100644 babel.config.js delete mode 100644 packages/ui-patterns/AssistantChat/AssistantChatCommands.stories.tsx delete mode 100644 packages/ui-patterns/AssistantChat/AssistantChatForm.stories.tsx delete mode 100644 packages/ui-patterns/DataInputs/Input.stories.tsx delete mode 100644 packages/ui-patterns/Dialogs/TextConfirmModal.stories.tsx delete mode 100644 packages/ui-patterns/form/FormItemLayout/FormItemLayout.stories.tsx delete mode 100644 packages/ui-patterns/form/FormLayout.tsx delete mode 100644 packages/ui-patterns/form/Page.stories.tsx delete mode 100644 packages/ui-patterns/form/Page2.stories.tsx delete mode 100644 packages/ui-patterns/lib/transformSource.tsx delete mode 100644 packages/ui/.babelrc.json delete mode 100644 packages/ui/README.tokens.md delete mode 100644 packages/ui/postcss.config.js delete mode 100644 packages/ui/src/components/Accordion/Accordion.stories.tsx delete mode 100644 packages/ui/src/components/Alert/Alert.stories.tsx delete mode 100644 packages/ui/src/components/Breadcrumb/Breadcrumb.stories.tsx delete mode 100644 packages/ui/src/components/Button/Button.stories.tsx delete mode 100644 packages/ui/src/components/Card/Card.stories.tsx delete mode 100644 packages/ui/src/components/Checkbox/Checkbox.stories.tsx delete mode 100644 packages/ui/src/components/Collapsible/Collapsible.stories.tsx delete mode 100644 packages/ui/src/components/ContextMenu/ContextMenu.stories.tsx delete mode 100644 packages/ui/src/components/Divider/Divider.stories.tsx delete mode 100644 packages/ui/src/components/Form/Form.stories.tsx delete mode 100644 packages/ui/src/components/Icon/Icon.stories.tsx delete mode 100644 packages/ui/src/components/Input/Input.stories.tsx delete mode 100644 packages/ui/src/components/InputNumber/InputNumber.stories.tsx delete mode 100644 packages/ui/src/components/InputOld/Input.stories.js delete mode 100644 packages/ui/src/components/Select/Select.stories.tsx delete mode 100644 packages/ui/src/components/SidePanel/SidePanel.stories.tsx delete mode 100644 packages/ui/src/components/Tabs/Tabs.stories.tsx delete mode 100644 packages/ui/src/components/Toggle/Toggle.stories.tsx delete mode 100644 packages/ui/src/components/Typography/Typography.stories.tsx delete mode 100644 packages/ui/src/components/Upload/Upload.stories.tsx delete mode 100644 packages/ui/src/lib/colors.stories.tsx delete mode 100644 packages/ui/tailwind.config.js diff --git a/apps/design-system/content/docs/tailwind-classes.mdx b/apps/design-system/content/docs/tailwind-classes.mdx index 270d4886e58..a90261449b9 100644 --- a/apps/design-system/content/docs/tailwind-classes.mdx +++ b/apps/design-system/content/docs/tailwind-classes.mdx @@ -186,9 +186,3 @@ text-border-control | `500` | | `DEFAULT` | | `600` | - -## Storybook - -The current colors are also auto documented in Storybook - -[Storybook Colors](https://ui-storybook-pre-release.vercel.app/) diff --git a/apps/studio/.storybook/main.js b/apps/studio/.storybook/main.js deleted file mode 100644 index bc8160546ae..00000000000 --- a/apps/studio/.storybook/main.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path') -module.exports = { - stories: ['./*.stories.mdx', '../components/**/*.stories.@(js|jsx|ts|tsx)'], - addons: [ - '@storybook/addon-links', - '@storybook/addon-essentials', - '@storybook/addon-interactions', - 'storybook-dark-mode', - ], - - webpackFinal: async (config) => { - config.resolve.modules = [...(config.resolve.modules || []), path.resolve(__dirname, '../')] - return config - }, -} diff --git a/apps/studio/.storybook/preview.css b/apps/studio/.storybook/preview.css deleted file mode 100644 index 29b55284e98..00000000000 --- a/apps/studio/.storybook/preview.css +++ /dev/null @@ -1,113 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -.dark, -.light, -.light .docs-story, -.dark .docs-story { - @apply bg-studio; -} - -/* // date picker */ -/* !!!! THIS IS A COPY OF THE styles/date-picker.scss !! */ - -.react-datepicker__input-container input { - @apply block w-full text-base md:text-sm bg-white border border-muted rounded shadow-sm; -} - -.react-datepicker-popper { - @apply z-40 w-72 text-sm bg-surface-100 shadow px-3 py-2 border-2 border-background rounded; -} - -.react-datepicker-left { - @apply absolute left-0 right-auto top-11 transform-none !important; -} - -.react-datepicker-right { - @apply absolute right-0 left-auto top-11 transform-none !important; -} - -.react-datepicker__portal { - @apply absolute z-10 w-72 text-sm transform-none bg-white shadow px-3 py-2 top-12 right-0 border-2 border-background rounded; -} - -.react-datepicker__month-container { - @apply flex flex-col; -} - -.react-datepicker__month { - @apply flex flex-col; - @apply -space-y-px; -} - -.react-datepicker__current-month { - @apply ml-2.5 text-lg font-semibold text-border-stronger; -} - -.react-datepicker__week { - @apply flex -space-x-px; -} - -.react-datepicker__day-names { - @apply flex -space-x-px text-foreground-lighter font-normal text-center text-xs; -} - -.react-datepicker__day-name { - @apply w-10 h-10 flex items-center justify-center py-1 rounded-full; -} - -.react-datepicker__navigation { - @apply absolute top-2; -} - -.react-datepicker__navigation--previous { - @apply right-12 w-10 h-10 rounded transition flex items-center justify-center hover:bg-studio; -} - -.react-datepicker__navigation--next { - @apply right-4 w-10 h-10 rounded transition flex items-center justify-center hover:bg-studio; -} - -.react-datepicker__day { - @apply w-10 h-10 flex items-center font-normal justify-center text-sm leading-loose transition text-foreground-light; - /* @apply mb-1 py-1; */ - @apply -space-y-px; - @apply border border-default; -} - -.react-datepicker__day--disabled { - @apply cursor-not-allowed opacity-40 hover:bg-transparent; -} - -.react-datepicker__day--outside-month { - @apply text-border-stronger; -} - -.react-datepicker__day--in-range { - @apply bg-brand-300 text-scale-fixed-100 border-brand-300; -} - -.react-datepicker__day--in-selecting-range { - @apply bg-brand-400 text-scale-fixed-100 border-brand-400; -} - -.react-datepicker__day--selecting-range-start { - @apply bg-studio; -} - -.react-datepicker__day--selecting-range-end { - @apply bg-studio; -} - -.react-datepicker__day--selected { - @apply bg-brand-300 text-white; -} - -.react-datepicker__day--range-start { - @apply bg-brand text-white hover:text-border-strong hover:bg-white; -} - -.react-datepicker__day--range-end { - @apply bg-brand text-white hover:text-border-strong hover:bg-white; -} diff --git a/apps/studio/.storybook/preview.js b/apps/studio/.storybook/preview.js deleted file mode 100644 index b91e38238f4..00000000000 --- a/apps/studio/.storybook/preview.js +++ /dev/null @@ -1,22 +0,0 @@ -import './preview.css' - -export const parameters = { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, - darkMode: { - darkClass: 'dark', - lightClass: 'light', - stylePreview: true, - }, -} - -export const decorators = [ - (Story) => { - return - }, -] diff --git a/apps/studio/components/interfaces/Settings/Logs/LogTable.stories.tsx b/apps/studio/components/interfaces/Settings/Logs/LogTable.stories.tsx deleted file mode 100644 index 2fb584d1289..00000000000 --- a/apps/studio/components/interfaces/Settings/Logs/LogTable.stories.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' - -import LogTable from './LogTable' - -export default { - title: 'Logs', -} - -export const Functions = (args: any) => ( -
- -
-) diff --git a/apps/studio/components/interfaces/Settings/Logs/LogsErrorRenderers/LogsErrorRenderers.stories.tsx b/apps/studio/components/interfaces/Settings/Logs/LogsErrorRenderers/LogsErrorRenderers.stories.tsx deleted file mode 100644 index 5676760b144..00000000000 --- a/apps/studio/components/interfaces/Settings/Logs/LogsErrorRenderers/LogsErrorRenderers.stories.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useState } from 'react' - -import { DefaultErrorRenderer } from './DefaultErrorRenderer' -import ResourcesExceededErrorRenderer from './ResourcesExceededErrorRenderer' -import { Alert } from 'ui' - -export default { - title: 'Logs', -} - -export const ErrorRenderers = () => ( -
- {[ - , - , - , - - , - ].map((child, i) => ( - - {child} - - ))} -
-) diff --git a/apps/studio/components/ui/Charts/AreaChart.stories.tsx b/apps/studio/components/ui/Charts/AreaChart.stories.tsx deleted file mode 100644 index 635c2abb439..00000000000 --- a/apps/studio/components/ui/Charts/AreaChart.stories.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { StoryObj } from '@storybook/react' -import dayjs from 'dayjs' -import React from 'react' -import Chart, { AreaChartProps } from './AreaChart' - -export default { - title: 'Charts', -} as StoryObj - -const DATA = [290, 430, 649, 422, 321, 893, 111].map((value, index) => ({ - ram_usage: value, - timestamp: dayjs().subtract(index, 'day').toISOString(), -})) - -const PROPS: AreaChartProps<(typeof DATA)[number]> = { - title: 'Memory usage', - xAxisKey: 'timestamp', - yAxisKey: 'ram_usage', - data: DATA, -} - -export const AreaChart = () => ( -
- {[ - { title: 'Normal', props: {} }, - { title: 'No title', props: { title: undefined } }, - { title: 'Minimal Header', props: { minimalHeader: true } }, - { title: 'Minimal Highlighted Value', props: { minimalHeader: true, highlightedValue: 123 } }, - { - title: 'Highlighted Value', - props: { highlightedValue: 123, highlightedLabel: 'some custom label' }, - }, - { - title: 'Formatter - Auto 2 Precision for floats', - props: { data: DATA.map((d) => ({ ...d, ram_usage: d.ram_usage + 0.1231233 })) }, - }, - { title: 'UTC Dates', props: { displayDateInUtc: true } }, - { title: 'Custom date format', props: { customDateFormat: 'HH:mm' } }, - { title: 'Value format', props: { format: 'c' } }, - { title: 'Minimal Value format', props: { minimalHeader: true, format: 'c' } }, - { title: 'No data', props: { data: [] } }, - ].map(({ title, props }) => ( -
- {title} -
- -
-
- ))} -
-) - -const ExampleName: React.FC = ({ children }) => ( -

{children}

-) diff --git a/apps/studio/components/ui/Charts/BarChart.stories.tsx b/apps/studio/components/ui/Charts/BarChart.stories.tsx deleted file mode 100644 index d3df720127d..00000000000 --- a/apps/studio/components/ui/Charts/BarChart.stories.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { StoryObj } from '@storybook/react' -import dayjs from 'dayjs' -import React from 'react' -import Chart, { BarChartProps } from './BarChart' - -export default { - title: 'Charts', -} as StoryObj - -const DATA = [290, 430, 649, 422, 321, 893, 111].map((value, index) => ({ - ram_usage: value, - timestamp: dayjs().subtract(index, 'day').toISOString(), -})) - -const PROPS: BarChartProps<(typeof DATA)[number]> = { - title: 'Memory usage', - xAxisKey: 'timestamp', - yAxisKey: 'ram_usage', - data: DATA, -} - -export const BarChart = () => ( -
- {[ - { title: 'Normal', props: {} }, - { title: 'No title', props: { title: undefined } }, - { title: 'Minimal Header', props: { minimalHeader: true } }, - { title: 'Minimal Highlighted Value', props: { minimalHeader: true, highlightedValue: 123 } }, - { - title: 'Highlighted Value', - props: { highlightedValue: 123, highlightedLabel: 'some custom label' }, - }, - { - title: 'Formatter - Auto 2 Precision for floats', - props: { data: DATA.map((d) => ({ ...d, ram_usage: d.ram_usage + 0.1231233 })) }, - }, - { title: 'UTC Dates', props: { displayDateInUtc: true } }, - { title: 'Custom date format', props: { customDateFormat: 'HH:mm' } }, - { title: 'Value format', props: { format: 'c' } }, - { title: 'Minimal Value format', props: { minimalHeader: true, format: 'c' } }, - { title: 'No data', props: { data: [] } }, - { title: 'onBarClick', props: { onBarClick: console.log } }, - ].map(({ title, props }) => ( -
- {title} -
- -
-
- ))} -
-) - -const ExampleName: React.FC = ({ children }) => ( -

{children}

-) diff --git a/apps/studio/components/ui/Charts/StackedBarChart.stories.tsx b/apps/studio/components/ui/Charts/StackedBarChart.stories.tsx deleted file mode 100644 index acb8dcca092..00000000000 --- a/apps/studio/components/ui/Charts/StackedBarChart.stories.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react' -import { StoryObj } from '@storybook/react' -import dayjs from 'dayjs' -import Chart from './StackedBarChart' -import { DEFAULT_STACK_COLORS, genStackColorScales } from './Charts.constants' - -export default { - title: 'Charts/StackedBarChart', -} as StoryObj - -const DATA = [290, 430, 649, 422, 321].flatMap((value, index) => [ - { - count: value, - level: 'error', - timestamp: dayjs().subtract(index, 'day').toISOString(), - }, - { - count: value * 2, - level: 'info', - timestamp: dayjs().subtract(index, 'day').toISOString(), - }, - { - count: value * 1.3, - level: 'warn', - timestamp: dayjs().subtract(index, 'day').toISOString(), - }, -]) - -const PROPS = { - title: 'Memory usage', - xAxisKey: 'timestamp', - yAxisKey: 'count', - stackKey: 'level', - data: DATA, -} -export const StackedBarChart = () => ( -
- Default Stacked Chart Colors -
- {genStackColorScales(DEFAULT_STACK_COLORS).map((c) => ( -
- ))} -
- - Examples -
- {[ - { title: 'Normal', props: {} }, - { title: 'No title', props: { title: undefined } }, - { title: 'Minimal Header', props: { minimalHeader: true } }, - { title: 'Hide Legend', props: { hideLegend: true } }, - { title: 'Hide header', props: { hideHeader: true } }, - { title: 'Percentage Bars', props: { variant: 'percentages' as const } }, - { - title: 'Percentage Bars with suffix', - props: { variant: 'percentages' as const, format: 'mem' }, - }, - { - title: 'Formatter - Auto 2 Precision for floats', - props: { data: DATA.map((d) => ({ ...d, count: d.count + 5.12 })) }, - }, - { title: 'UTC Dates', props: { displayDateInUtc: true } }, - { title: 'Custom date format', props: { customDateFormat: 'HH:mm' } }, - { title: 'Value format (c suffix)', props: { format: 'c' } }, - { title: 'Minimal Value format', props: { minimalHeader: true, format: 'c' } }, - { title: 'No data', props: { data: [] } }, - ].map(({ title, props }, i) => ( -
- {title} -
- -
-
- ))} -
-
-) - -const ExampleName: React.FC = ({ children }) => ( -

{children}

-) diff --git a/apps/studio/components/ui/DatePicker/DatePicker.stories.tsx b/apps/studio/components/ui/DatePicker/DatePicker.stories.tsx deleted file mode 100644 index c88c49a8b9e..00000000000 --- a/apps/studio/components/ui/DatePicker/DatePicker.stories.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import React, { useState } from 'react' - -import { DatePicker } from '.' -import ReactDatePicker from 'react-datepicker' - -export default { - title: 'Data/DatePicker', - component: DatePicker, -} - -export const Default = (args: any) => ( -
- -
-) - -export const Simple = () => { - const [startDate, setStartDate] = useState(new Date()) - const [endDate, setEndDate] = useState(null) - const onChange = (dates: any) => { - const [start, end] = dates - setStartDate(start) - setEndDate(end) - } - return ( - - ) -} diff --git a/apps/studio/package.json b/apps/studio/package.json index 0dd1d48a1e0..6466ef888b1 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -16,8 +16,6 @@ "test:update:watch": "vitest --watch --update", "deploy:staging": "VERCEL_ORG_ID=team_E6KJ1W561hMTjon1QSwOh0WO VERCEL_PROJECT_ID=QmcmhbiAtCMFTAHCuGgQscNbke4TzgWULECctNcKmxWCoT vercel --prod -A .vercel/staging.json", "typecheck": "tsc --noEmit", - "storybook": "start-storybook -p 6006", - "build-storybook": "build-storybook", "prettier:check": "prettier --check .", "prettier:write": "prettier --write ." }, @@ -135,10 +133,6 @@ }, "devDependencies": { "@aws-sdk/client-secrets-manager": "^3.410.0", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-interactions": "^7.5.3", - "@storybook/addon-links": "^7.5.3", - "@storybook/react": "^7.5.3", "@supabase/postgres-meta": "^0.64.4", "@testing-library/dom": "^9.3.3", "@testing-library/react": "^14.0.0", @@ -178,7 +172,6 @@ "next-router-mock": "^0.9.13", "postcss": "^8.4.31", "prettier": "^4.0.0-alpha.8", - "storybook-dark-mode": "^3.0.1", "tailwindcss": "^3.4.1", "typescript": "~5.5.0" } diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index eee873213fe..00000000000 --- a/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'], -} diff --git a/package-lock.json b/package-lock.json index 0fe9f5b4c40..5f5d1904645 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1765,10 +1765,6 @@ }, "devDependencies": { "@aws-sdk/client-secrets-manager": "^3.410.0", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-interactions": "^7.5.3", - "@storybook/addon-links": "^7.5.3", - "@storybook/react": "^7.5.3", "@supabase/postgres-meta": "^0.64.4", "@testing-library/dom": "^9.3.3", "@testing-library/react": "^14.0.0", @@ -1808,7 +1804,6 @@ "next-router-mock": "^0.9.13", "postcss": "^8.4.31", "prettier": "^4.0.0-alpha.8", - "storybook-dark-mode": "^3.0.1", "tailwindcss": "^3.4.1", "typescript": "~5.5.0" } @@ -1821,22 +1816,6 @@ "react": ">= 16" } }, - "apps/studio/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "apps/studio/node_modules/@opentelemetry/api": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", @@ -1846,757 +1825,6 @@ "node": ">=8.0.0" } }, - "apps/studio/node_modules/@storybook/addon-backgrounds": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz", - "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz", - "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.6.17", - "@storybook/addon-backgrounds": "7.6.17", - "@storybook/addon-controls": "7.6.17", - "@storybook/addon-docs": "7.6.17", - "@storybook/addon-highlight": "7.6.17", - "@storybook/addon-measure": "7.6.17", - "@storybook/addon-outline": "7.6.17", - "@storybook/addon-toolbars": "7.6.17", - "@storybook/addon-viewport": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/manager-api": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview-api": "7.6.17", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/core-common": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", - "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/find-cache-dir": "^3.2.1", - "@types/node": "^18.0.0", - "@types/node-fetch": "^2.6.4", - "@types/pretty-hrtime": "^1.0.0", - "chalk": "^4.1.0", - "esbuild": "^0.18.0", - "esbuild-register": "^3.5.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/node-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", - "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/preview-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", - "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-essentials/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-highlight": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz", - "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-interactions": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz", - "integrity": "sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "jest-mock": "^27.0.6", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-interactions/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-interactions/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-interactions/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-interactions/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-links": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz", - "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "apps/studio/node_modules/@storybook/addon-measure": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz", - "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-outline": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz", - "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-toolbars": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz", - "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/addon-viewport": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz", - "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==", - "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/channels": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.4.tgz", - "integrity": "sha512-haKV+8RbiSzLjicowUfc7h2fTClZHX/nz9SRUecf4IEZUEu2T78OgM/TzqZvL7rA3+/fKqp5iI+3PN3OA75Sdg==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "8.0.4", - "@storybook/core-events": "8.0.4", - "@storybook/global": "^5.0.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/client-logger": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.4.tgz", - "integrity": "sha512-2SeEg3PT/d0l/+EAVtyj9hmMLTyTPp+bRBSzxYouBjtJPM1jrdKpFagj1o3uBRovwWm9SIVX6/ZsoRC33PEV1g==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/core-common": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.4.tgz", - "integrity": "sha512-dzFRLm5FxUa2EFE6Rx/KLDTJNLBIp1S2/+Q1K+rG8V+CLvewCc2Cd486rStZqSXEKI7vDnsRs/aMla+N0X/++Q==", - "dev": true, - "dependencies": { - "@storybook/core-events": "8.0.4", - "@storybook/csf-tools": "8.0.4", - "@storybook/node-logger": "8.0.4", - "@storybook/types": "8.0.4", - "@yarnpkg/fslib": "2.10.3", - "@yarnpkg/libzip": "2.3.0", - "chalk": "^4.1.0", - "cross-spawn": "^7.0.3", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0", - "esbuild-register": "^3.5.0", - "execa": "^5.0.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "semver": "^7.3.7", - "tempy": "^1.0.1", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0", - "util": "^0.12.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/core-common/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "apps/studio/node_modules/@storybook/core-events": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.4.tgz", - "integrity": "sha512-1FgLacIGi9i6/fyxw7ZJDC621RK47IMaA3keH4lc11ASRzCSwJ4YOrXjBFjfPc79EF2BuX72DDJNbhj6ynfF3g==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/csf-tools": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.4.tgz", - "integrity": "sha512-dMSZxWnXBhmXGOZZOAJ4DKZRCYdA0HaqqZ4/eF9MLLsI+qvW4EklcpjVY6bsIzACgubRWtRZkTpxTnjExi/N1A==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/types": "8.0.4", - "fs-extra": "^11.1.0", - "recast": "^0.23.5", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/docs-tools": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.0.4.tgz", - "integrity": "sha512-PONfG8j/AOHi79NbEkneFRZIscrShbA0sgA+62zeejH4r9+fuIkIKtLnKcAxvr8Bm6uo9aSQbISJZUcBG42WhQ==", - "dev": true, - "dependencies": { - "@storybook/core-common": "8.0.4", - "@storybook/preview-api": "8.0.4", - "@storybook/types": "8.0.4", - "@types/doctrine": "^0.0.3", - "assert": "^2.1.0", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/manager-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", - "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/manager-api/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/manager-api/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/manager-api/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/manager-api/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/node-logger": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.4.tgz", - "integrity": "sha512-cALLHuX53vLQsoJamGRlquh2pfhPq9copXou2JTmFT6mrCcipo77SzhBDfeeuhaGv6vUWPfmGjPBEHXWGPe4+g==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/preview-api": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.4.tgz", - "integrity": "sha512-uZCgZ/7BZkFTNudCBWx3YPFVdReMQSZJj9EfQVhQaPmfGORHGMvZMRsQXl0ONhPy7zDD4rVQxu5dSKWmIiYoWQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "8.0.4", - "@storybook/client-logger": "8.0.4", - "@storybook/core-events": "8.0.4", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/types": "8.0.4", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/react": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.0.4.tgz", - "integrity": "sha512-p4wQSJIhG48UD2fZ6tFDT9zaqrVnvZxjV18+VjSi3dez/pDoEMJ3SWZWcmeDenKwvvk+SPdRH7k5mUHW1Rh0xg==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "8.0.4", - "@storybook/docs-tools": "8.0.4", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "8.0.4", - "@storybook/react-dom-shim": "8.0.4", - "@storybook/types": "8.0.4", - "@types/escodegen": "^0.0.6", - "@types/estree": "^0.0.51", - "@types/node": "^18.0.0", - "acorn": "^7.4.1", - "acorn-jsx": "^5.3.1", - "acorn-walk": "^7.2.0", - "escodegen": "^2.1.0", - "html-tags": "^3.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2", - "react-element-to-jsx-string": "^15.0.0", - "semver": "^7.3.7", - "ts-dedent": "^2.0.0", - "type-fest": "~2.19", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "typescript": ">= 4.2.x" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/studio/node_modules/@storybook/react-dom-shim": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.0.4.tgz", - "integrity": "sha512-H8bci23e+G40WsdYPuPrhAjCeeXypXuAV6mTVvLHGKH+Yb+3wiB1weaXrot/TgzPbkDNybuhTI3Qm48FPLt0bw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/studio/node_modules/@storybook/react/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "apps/studio/node_modules/@storybook/router": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", - "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/router/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/studio/node_modules/@storybook/theming/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "apps/studio/node_modules/@storybook/types": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.4.tgz", - "integrity": "sha512-OO7QY+qZFCYkItDUBACtIV32p75O7sNziAiyS1V2Oxgo7Ln7fwZwr3mJcA1ruBed6ZcrW3c87k7Xs40T2zAWcg==", - "dev": true, - "dependencies": { - "@storybook/channels": "8.0.4", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "apps/studio/node_modules/@tanstack/query-core": { "version": "4.35.7", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", @@ -2651,51 +1879,6 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "apps/studio/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "apps/studio/node_modules/@types/node": { - "version": "18.19.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", - "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "apps/studio/node_modules/@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "apps/studio/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "apps/studio/node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "apps/studio/node_modules/ai": { "version": "3.4.33", "resolved": "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz", @@ -2766,41 +1949,10 @@ } } }, - "apps/studio/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "apps/studio/node_modules/argparse": { "version": "2.0.1", "license": "Python-2.0" }, - "apps/studio/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "apps/studio/node_modules/eventsource-parser": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", @@ -2834,40 +1986,6 @@ } } }, - "apps/studio/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "apps/studio/node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "apps/studio/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "apps/studio/node_modules/mime-db": { "version": "1.53.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", @@ -2916,24 +2034,6 @@ "svelte": "^4.0.0 || ^5.0.0-next.0" } }, - "apps/studio/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "apps/studio/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "apps/studio/node_modules/zustand": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.1.tgz", @@ -4495,20 +3595,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", @@ -4946,21 +4032,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", @@ -5317,55 +4388,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", - "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", - "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", - "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", - "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.24.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", @@ -5394,22 +4416,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", - "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", @@ -5517,24 +4523,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", - "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-typescript": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", @@ -5693,22 +4681,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-flow": { - "version": "7.22.15", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "dev": true, @@ -5722,45 +4694,6 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/preset-react": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", - "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-transform-react-display-name": "^7.24.7", - "@babel/plugin-transform-react-jsx": "^7.24.7", - "@babel/plugin-transform-react-jsx-development": "^7.24.7", - "@babel/plugin-transform-react-pure-annotations": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", - "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", - "@babel/plugin-transform-typescript": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "dev": true, @@ -5823,11 +4756,6 @@ "node": ">=6.9.0" } }, - "node_modules/@base2/pretty-print-object": { - "version": "1.0.1", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "dev": true, @@ -6414,14 +5342,6 @@ "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==", "dev": true }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" - } - }, "node_modules/@esbuild-plugins/node-resolve": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-resolve/-/node-resolve-0.2.2.tgz", @@ -8224,11 +7144,6 @@ "tslib": "2" } }, - "node_modules/@juggle/resize-observer": { - "version": "3.4.0", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/@kwsites/file-exists": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", @@ -12168,156 +11083,6 @@ } } }, - "node_modules/@radix-ui/react-select": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/number": "1.0.1", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.4", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.3", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.2", - "@radix-ui/react-portal": "1.0.3", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-previous": "1.0.1", - "@radix-ui/react-visually-hidden": "1.0.3", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-popper": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-separator": { "version": "1.0.3", "license": "MIT", @@ -12498,35 +11263,6 @@ } } }, - "node_modules/@radix-ui/react-toolbar": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-separator": "1.0.3", - "@radix-ui/react-toggle-group": "1.0.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-tooltip": { "version": "1.0.7", "license": "MIT", @@ -14942,985 +13678,6 @@ "version": "1.2.8", "license": "MIT" }, - "node_modules/@storybook/addon-actions": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz", - "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "@types/uuid": "^9.0.1", - "dequal": "^2.0.2", - "polished": "^4.2.2", - "uuid": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-actions/node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true - }, - "node_modules/@storybook/addon-controls": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz", - "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.6.17", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz", - "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/csf-plugin": "7.6.17", - "@storybook/csf-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.6.17", - "@storybook/postinstall": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/react-dom-shim": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/node-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", - "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", - "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/react-dom-shim": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz", - "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addons": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/manager-api": "7.5.3", - "@storybook/preview-api": "7.5.3", - "@storybook/types": "7.5.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/api": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/client-logger": "7.5.3", - "@storybook/manager-api": "7.5.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/blocks": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz", - "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/docs-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "tocbot": "^4.20.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/core-common": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", - "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/find-cache-dir": "^3.2.1", - "@types/node": "^18.0.0", - "@types/node-fetch": "^2.6.4", - "@types/pretty-hrtime": "^1.0.0", - "chalk": "^4.1.0", - "esbuild": "^0.18.0", - "esbuild-register": "^3.5.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/docs-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz", - "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==", - "dev": true, - "dependencies": { - "@storybook/core-common": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", - "@types/doctrine": "^0.0.3", - "assert": "^2.1.0", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", - "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/node-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", - "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", - "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/router": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", - "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@types/node": { - "version": "18.19.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.20.tgz", - "integrity": "sha512-SKXZvI375jkpvAj8o+5U2518XQv76mAsixqfXiVyWyXZbVWQK25RurFovYpVIxVzul0rZoH58V/3SkEnm7s3qA==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@storybook/blocks/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@storybook/blocks/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@storybook/blocks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/blocks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/channels": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/client-logger": "7.5.3", - "@storybook/core-events": "7.5.3", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/client-logger": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz", - "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==", - "dev": true, - "dependencies": { - "@radix-ui/react-select": "^1.2.2", - "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/global": "^5.0.0", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", - "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-events": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", - "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==", - "dev": true, - "dependencies": { - "type-fest": "^2.19.0" - } - }, - "node_modules/@storybook/csf-plugin": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz", - "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==", - "dev": true, - "dependencies": { - "@storybook/csf-tools": "7.6.17", - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz", - "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/types": "7.6.17", - "fs-extra": "^11.1.0", - "recast": "^0.23.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/manager-api": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/channels": "7.5.3", - "@storybook/client-logger": "7.5.3", - "@storybook/core-events": "7.5.3", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.5.3", - "@storybook/theming": "7.5.3", - "@storybook/types": "7.5.3", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/manager-api/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/manager-api/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/manager-api/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@storybook/mdx2-csf": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/postinstall": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz", - "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preview-api": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/channels": "7.5.3", - "@storybook/client-logger": "7.5.3", - "@storybook/core-events": "7.5.3", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.5.3", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/router": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/client-logger": "7.5.3", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/theming": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.5.3", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/types": { - "version": "7.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/channels": "7.5.3", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@stripe/react-stripe-js": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@stripe/react-stripe-js/-/react-stripe-js-2.5.0.tgz", @@ -16647,15 +14404,6 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/body-parser": { - "version": "1.19.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, "node_modules/@types/btoa-lite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.2.tgz", @@ -16928,22 +14676,6 @@ "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==", "license": "MIT" }, - "node_modules/@types/doctrine": { - "version": "0.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/emscripten": { - "version": "1.39.10", - "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz", - "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==", - "dev": true - }, - "node_modules/@types/escodegen": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -16956,29 +14688,6 @@ "@types/estree": "*" } }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.37", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, "node_modules/@types/extend": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.4.tgz", @@ -16990,11 +14699,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/find-cache-dir": { - "version": "3.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/@types/geojson": { "version": "7946.0.12", "license": "MIT" @@ -17022,11 +14726,6 @@ "hoist-non-react-statics": "^3.3.0" } }, - "node_modules/@types/http-errors": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "dev": true, @@ -17178,11 +14877,6 @@ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz", "integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==" }, - "node_modules/@types/mime": { - "version": "1.3.3", - "dev": true, - "license": "MIT" - }, "node_modules/@types/mime-db": { "version": "1.43.5", "resolved": "https://registry.npmjs.org/@types/mime-db/-/mime-db-1.43.5.tgz", @@ -17270,11 +14964,6 @@ "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.4.tgz", "integrity": "sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA==" }, - "node_modules/@types/pretty-hrtime": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/@types/prismjs": { "version": "1.26.3", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", @@ -17284,11 +14973,6 @@ "version": "15.7.8", "license": "MIT" }, - "node_modules/@types/qs": { - "version": "6.9.8", - "dev": true, - "license": "MIT" - }, "node_modules/@types/randombytes": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/randombytes/-/randombytes-2.0.3.tgz", @@ -17298,11 +14982,6 @@ "@types/node": "*" } }, - "node_modules/@types/range-parser": { - "version": "1.2.5", - "dev": true, - "license": "MIT" - }, "node_modules/@types/react": { "version": "18.3.3", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", @@ -17485,25 +15164,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/send": { - "version": "0.17.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, "node_modules/@types/shimmer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", @@ -18317,44 +15977,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "peer": true }, - "node_modules/@yarnpkg/fslib": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", - "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", - "dev": true, - "dependencies": { - "@yarnpkg/libzip": "^2.3.0", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" - } - }, - "node_modules/@yarnpkg/fslib/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@yarnpkg/libzip": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", - "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", - "dev": true, - "dependencies": { - "@types/emscripten": "^1.39.6", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" - } - }, - "node_modules/@yarnpkg/libzip/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/@zip.js/zip.js": { "version": "2.7.30", "license": "BSD-3-Clause", @@ -18655,11 +16277,6 @@ "resolved": "packages/api-types", "link": true }, - "node_modules/app-root-dir": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/aproba": { "version": "2.0.0", "license": "ISC" @@ -18905,18 +16522,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/assert": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" - } - }, "node_modules/assert-plus": { "version": "1.0.0", "license": "MIT", @@ -18932,17 +16537,6 @@ "node": "*" } }, - "node_modules/ast-types": { - "version": "0.16.1", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -20585,15 +18179,6 @@ "node": ">= 8" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/css-background-parser": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz", @@ -21191,65 +18776,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "license": "MIT", @@ -21492,14 +19018,6 @@ "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, "node_modules/dotty": { "version": "0.1.2", "dev": true, @@ -21857,17 +19375,6 @@ "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/esbuild-register": { - "version": "3.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, "node_modules/esbuild/node_modules/@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -23394,15 +20901,6 @@ "version": "2.0.5", "license": "MIT" }, - "node_modules/file-system-cache": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fs-extra": "11.1.1", - "ramda": "0.29.0" - } - }, "node_modules/filelist": { "version": "1.0.4", "dev": true, @@ -23441,81 +20939,6 @@ "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/find-up": { "version": "5.0.0", "license": "MIT", @@ -23744,19 +21167,6 @@ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" }, - "node_modules/fs-extra": { - "version": "11.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/fs-minipass": { "version": "2.1.0", "license": "ISC", @@ -25414,17 +22824,6 @@ "version": "2.0.2", "license": "MIT" }, - "node_modules/html-tags": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/html-to-image": { "version": "1.11.11", "license": "MIT" @@ -25827,14 +23226,6 @@ "resolved": "https://registry.npmjs.org/ip-num/-/ip-num-1.5.1.tgz", "integrity": "sha512-QziFxgxq3mjIf5CuwlzXFYscHxgLqdEdJKRo2UJ5GurL5zrSRMzT/O+nK0ABimoFH8MWF8YwIiwECYsHc1LpUQ==" }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-alphabetical": { "version": "2.0.1", "license": "MIT", @@ -26086,21 +23477,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-nan": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -26162,15 +23538,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "license": "MIT", @@ -28638,19 +26005,6 @@ "node": ">=0.10.0" } }, - "node_modules/lazy-universal-dotenv": { - "version": "4.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "app-root-dir": "^1.0.2", - "dotenv": "^16.0.0", - "dotenv-expand": "^10.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -29126,11 +26480,6 @@ "tmpl": "1.0.5" } }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "dev": true, - "license": "MIT" - }, "node_modules/mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -29260,54 +26609,6 @@ "version": "3.0.0", "license": "MIT" }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-is": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", @@ -31238,14 +28539,6 @@ "version": "5.2.1", "license": "MIT" }, - "node_modules/memoizerific": { - "version": "1.11.3", - "dev": true, - "license": "MIT", - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, "node_modules/memorystream": { "version": "0.3.1", "dev": true, @@ -35722,17 +33015,6 @@ "node": ">= 6" } }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/pkg-types": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.0.tgz", @@ -36160,14 +33442,6 @@ "dev": true, "license": "MIT" }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/prism-react-renderer": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", @@ -36354,21 +33628,6 @@ ], "license": "MIT" }, - "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/querystringify": { "version": "2.2.0", "license": "MIT" @@ -36399,15 +33658,6 @@ "version": "1.0.0", "license": "CC0-1.0" }, - "node_modules/ramda": { - "version": "0.29.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/randexp": { "version": "0.4.6", "license": "MIT", @@ -36485,15 +33735,6 @@ "react-dom": "^16.8.5 || ^17.0.0 || ^18.0.0" } }, - "node_modules/react-colorful": { - "version": "5.6.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, "node_modules/react-contexify": { "version": "5.0.0", "license": "MIT", @@ -36667,25 +33908,6 @@ "react-dom": ">= 16.3.0" } }, - "node_modules/react-element-to-jsx-string": { - "version": "15.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@base2/pretty-print-object": "1.0.1", - "is-plain-object": "5.0.0", - "react-is": "18.1.0" - }, - "peerDependencies": { - "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", - "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0" - } - }, - "node_modules/react-element-to-jsx-string/node_modules/react-is": { - "version": "18.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/react-error-boundary": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz", @@ -37274,22 +34496,6 @@ "node": ">=8.10.0" } }, - "node_modules/recast": { - "version": "0.23.6", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.6.tgz", - "integrity": "sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==", - "dev": true, - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/recharts": { "version": "2.12.7", "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.7.tgz", @@ -37969,67 +35175,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-external-links": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^4.0.0", - "space-separated-tokens": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-external-links/node_modules/space-separated-tokens": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/remark-external-links/node_modules/unist-util-is": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-external-links/node_modules/unist-util-visit": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-external-links/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-frontmatter": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", @@ -38793,70 +35938,6 @@ "@types/unist": "^2" } }, - "node_modules/remark-slug": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/github-slugger": { - "version": "1.5.0", - "dev": true, - "license": "ISC" - }, - "node_modules/remark-slug/node_modules/mdast-util-to-string": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-is": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-visit": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-stringify": { "version": "11.0.0", "license": "MIT", @@ -40310,38 +37391,6 @@ "node": ">= 0.4" } }, - "node_modules/store2": { - "version": "2.14.2", - "dev": true, - "license": "(MIT OR GPL-3.0)" - }, - "node_modules/storybook-dark-mode": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/addons": "^7.0.0", - "@storybook/api": "^7.0.0", - "@storybook/components": "^7.0.0", - "@storybook/core-events": "^7.0.0", - "@storybook/global": "^5.0.0", - "@storybook/theming": "^7.0.0", - "fast-deep-equal": "^3.1.3", - "memoizerific": "^1.11.3" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, "node_modules/streamsearch": { "version": "1.1.0", "engines": { @@ -41242,11 +38291,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/synchronous-promise": { - "version": "2.0.17", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/tailwind-merge": { "version": "1.14.0", "license": "MIT", @@ -41347,54 +38391,6 @@ "version": "4.0.0", "license": "ISC" }, - "node_modules/telejson": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "memoizerific": "^1.11.3" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", - "dev": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { "version": "5.32.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", @@ -41916,11 +38912,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/tocbot": { - "version": "4.22.0", - "dev": true, - "license": "MIT" - }, "node_modules/toggle-selection": { "version": "1.0.6", "license": "MIT" @@ -42035,14 +39026,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, "node_modules/ts-easing": { "version": "0.2.0", "license": "Unlicense" @@ -42771,18 +39754,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/unist-builder": { "version": "3.0.1", "license": "MIT", @@ -42985,18 +39956,6 @@ "node": ">= 10.0.0" } }, - "node_modules/unplugin": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz", - "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==", - "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "chokidar": "^3.5.3", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.6.1" - } - }, "node_modules/untildify": { "version": "4.0.0", "dev": true, @@ -43135,18 +40094,6 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/use-resize-observer": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@juggle/resize-observer": "^3.3.1" - }, - "peerDependencies": { - "react": "16.8.0 - 18", - "react-dom": "16.8.0 - 18" - } - }, "node_modules/use-sidecar": { "version": "1.1.2", "license": "MIT", @@ -43187,18 +40134,6 @@ "node": ">=6.14.2" } }, - "node_modules/util": { - "version": "0.12.5", - "dev": true, - "license": "MIT", - "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" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "license": "MIT" @@ -44446,12 +41381,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack-virtual-modules": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "license": "BSD-2-Clause", @@ -45428,11 +42357,6 @@ "zod": "^3.22.3" }, "devDependencies": { - "@babel/plugin-syntax-flow": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@babel/preset-flow": "^7.21.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.4", "@ctrl/tinycolor": "^3.4.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", diff --git a/packages/ui-patterns/AssistantChat/AssistantChatCommands.stories.tsx b/packages/ui-patterns/AssistantChat/AssistantChatCommands.stories.tsx deleted file mode 100644 index 05d40164afd..00000000000 --- a/packages/ui-patterns/AssistantChat/AssistantChatCommands.stories.tsx +++ /dev/null @@ -1,90 +0,0 @@ -// import { StoryObj } from '@storybook/react' -// import { AssistantChatForm } from './AssistantChatForm' -// import { AssistantCommandsPopover } from './AssistantCommandsPopover' -// import { Box, User } from 'lucide-react' -// import { createRef, useRef, useState } from 'react' - -// // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -// export default { -// title: 'AI/Assistant Chat', -// component: AssistantChatForm, -// parameters: { -// // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout -// layout: 'centered', -// }, -// decorators: [ -// (Story: any) => { -// return ( -//
-// -//
-// ) -// }, -// ], -// // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs -// tags: ['autodocs'], -// // More on argTypes: https://storybook.js.org/docs/api/argtypes -// // argTypes: {}, -// } - -// // export default meta - -// type Story = StoryObj - -// export const CommandsPopover: Story = { -// render: function Render(args) { -// const [commandsOpen, setCommandsOpen] = useState(false) -// const textAreaRef = createRef() -// const [value, setValueState] = useState('') -// const [loading, setLoading] = useState(false) - -// function handleSubmit(event: React.FormEvent) { -// // set loading for 3 seconds and then reset -// setLoading(true) -// setTimeout(() => { -// setLoading(false) -// }, 1500) -// } - -// const suggestions = [ -// 'Add policy for org Inserted User Access', -// 'Add policy for User-Specific Todo Access', -// 'Add policy for Org Update Restriction', -// ] - -// return ( -// <> -// setValueState(e)} -// suggestions={suggestions} -// > -// setValueState(e.target.value)} -// commandsOpen={commandsOpen} -// setCommandsOpen={setCommandsOpen} -// onSubmit={async (event) => { -// event.preventDefault() -// handleSubmit(event) -// }} -// /> -// -//

-// Press / to open -// commands -//

-// -// ) -// }, -// args: { -// // placeholder: 'Ask AI a question...', -// }, -// } diff --git a/packages/ui-patterns/AssistantChat/AssistantChatForm.stories.tsx b/packages/ui-patterns/AssistantChat/AssistantChatForm.stories.tsx deleted file mode 100644 index a59b6fa8143..00000000000 --- a/packages/ui-patterns/AssistantChat/AssistantChatForm.stories.tsx +++ /dev/null @@ -1,66 +0,0 @@ -// import { StoryObj } from '@storybook/react' -// import { AssistantChatForm } from './AssistantChatForm' -// import { Box, User } from 'lucide-react' -// import { createRef, useRef, useState } from 'react' - -// // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -// export default { -// title: 'AI/Assistant Chat', -// component: AssistantChatForm, -// parameters: { -// // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout -// layout: 'centered', -// }, -// decorators: [ -// (Story: any) => { -// return ( -//
-// -//
-// ) -// }, -// ], -// // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs -// tags: ['autodocs'], -// // More on argTypes: https://storybook.js.org/docs/api/argtypes -// // argTypes: {}, -// } - -// // export default meta - -// type Story = StoryObj - -// export const Primary: Story = { -// render: function Render(args) { -// const textAreaRef = createRef() -// const [value, setValueState] = useState('') -// const [loading, setLoading] = useState(false) - -// function handleSubmit(event: React.FormEvent) { -// // set loading for 3 seconds and then reset -// setLoading(true) -// setTimeout(() => { -// setLoading(false) -// }, 1500) -// } - -// return ( -// } -// value={value} -// loading={loading} -// disabled={loading} -// onValueChange={(e) => setValueState(e.target.value)} -// onSubmit={async (event) => { -// event.preventDefault() -// handleSubmit(event) -// }} -// /> -// ) -// }, -// args: { -// // placeholder: 'Ask AI a question...', -// }, -// } diff --git a/packages/ui-patterns/DataInputs/Input.stories.tsx b/packages/ui-patterns/DataInputs/Input.stories.tsx deleted file mode 100644 index 59ad924e26a..00000000000 --- a/packages/ui-patterns/DataInputs/Input.stories.tsx +++ /dev/null @@ -1,69 +0,0 @@ -// import { StoryObj } from '@storybook/react' -// import { Input } from './Input' -// import { User } from 'lucide-react' - -// // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -// export default { -// title: 'Data Inputs/Input', -// component: Input, -// parameters: { -// // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout -// layout: 'centered', -// }, -// decorators: [ -// (Story: any) => { -// return ( -//
-// -//
-// ) -// }, -// ], -// // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs -// tags: ['autodocs'], -// // More on argTypes: https://storybook.js.org/docs/api/argtypes -// // argTypes: {}, -// } - -// // export default meta - -// type Story = StoryObj - -// export const Primary: Story = { -// render: function Render(args) { -// return -// }, -// args: { -// placeholder: 'mildtomato', -// }, -// } - -// export const withIcon: Story = { -// render: function Render(args) { -// return -// }, -// args: { -// placeholder: 'mildtomato', -// icon: , -// }, -// } - -// export const withCopy: Story = { -// render: function Render(args) { -// return -// }, -// args: { -// placeholder: 'mildtomato', -// copy: true, -// }, -// } - -// export const size: Story = { -// render: function Render(args) { -// return -// }, -// args: { -// placeholder: 'mildtomato', -// size: 'small', -// }, -// } diff --git a/packages/ui-patterns/Dialogs/TextConfirmModal.stories.tsx b/packages/ui-patterns/Dialogs/TextConfirmModal.stories.tsx deleted file mode 100644 index 6880be697e5..00000000000 --- a/packages/ui-patterns/Dialogs/TextConfirmModal.stories.tsx +++ /dev/null @@ -1,295 +0,0 @@ -// import { useArgs } from '@storybook/preview-api' -// import { StoryObj } from '@storybook/react' -// import { Button, IconUserPlus } from 'ui' -// import TextConfirmModal from './TextConfirmModal' - -// // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -// export default { -// title: 'Dialogs/TextConfirmModal', -// component: TextConfirmModal, -// parameters: { -// // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout -// layout: 'centered', -// }, -// // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs -// tags: ['autodocs'], -// // More on argTypes: https://storybook.js.org/docs/api/argtypes -// argTypes: { -// title: { control: 'text' }, -// cancelLabel: { control: 'text' }, -// confirmLabel: { control: 'text' }, -// }, -// } - -// // export default meta - -// // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args -// // export const Primary = { -// // args: { -// // size: 'small', -// // // visible: true, -// // }, -// // } - -// type Story = StoryObj - -// export const Primary: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// title: 'Are you sure you want to delete?', -// size: 'small', -// // label: 'Try Me!', -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} -// // onChange={onChange} - -// // isChecked={isChecked} -// /> -// -// ) -// }, -// } - -// export const withInfoAlert: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// variant: 'default', -// title: 'Are you sure you want to move?', -// alert: { -// title: 'This is a reminder banner', -// description: 'This should not be used for important CRUD events.', -// }, -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() -// // const [visible, setVisibleState] = useState(args.visible) - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} /> -// -// ) -// }, -// } - -// export const withWarningAlert: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// variant: 'warning', -// title: 'Are you sure you want to delete?', -// alert: { -// title: 'This is a warning', -// description: 'You are about to delete this item. This action cannot be undone.', -// }, -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() -// // const [visible, setVisibleState] = useState(args.visible) - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} /> -// -// ) -// }, -// } - -// export const withDestructiveAlert: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// variant: 'destructive', -// title: 'Are you sure you want to delete?', -// alert: { -// title: 'This is a warning', -// description: 'You are about to delete this item. This action cannot be undone.', -// }, -// // label: 'Try Me!', -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() -// // const [visible, setVisibleState] = useState(args.visible) - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} /> -// -// ) -// }, -// } - -// export const withCancelButton: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// variant: 'destructive', -// title: 'Are you sure you want to delete?', -// blockDeleteButton: false, -// // label: 'Try Me!', -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() -// // const [visible, setVisibleState] = useState(args.visible) - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} /> -// -// ) -// }, -// } - -// export const withChildren: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// variant: 'destructive', -// title: 'Are you sure you want to delete?', -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} -// // onChange={onChange} - -// // isChecked={isChecked} -// > -//
-//
-// -//

-// This is a paragraph with some bold text -//

-//
-//
-// -//

-// This is a paragraph with some bold text -//

-//
-//
-// -//

-// This is a paragraph with some bold text -//

-//
-//
-//
-// -// ) -// }, -// } - -// export const withSize: Story = { -// args: { -// confirmString: 'project name', -// visible: false, -// size: 'xlarge', -// variant: 'destructive', -// title: 'Are you sure you want to delete?', -// }, -// /** -// * 👇 To avoid linting issues, it is recommended to use a function with a capitalized name. -// * If you are not concerned with linting, you may use an arrow function. -// */ -// render: function Render(args) { -// const [{ visible }, updateArgs] = useArgs() - -// function onVisibleChange() { -// updateArgs({ visible: !visible }) -// } - -// return ( -// <> -// -// onVisibleChange()} /> -// -// ) -// }, -// } diff --git a/packages/ui-patterns/form/FormItemLayout/FormItemLayout.stories.tsx b/packages/ui-patterns/form/FormItemLayout/FormItemLayout.stories.tsx deleted file mode 100644 index 8c1cb4c0a7f..00000000000 --- a/packages/ui-patterns/form/FormItemLayout/FormItemLayout.stories.tsx +++ /dev/null @@ -1,283 +0,0 @@ -// import { zodResolver } from '@hookform/resolvers/zod' -// import { StoryContext, StoryObj } from '@storybook/react' -// import { useForm } from 'react-hook-form' -// import { -// Button, -// FormControl_Shadcn_, -// FormField_Shadcn_, -// FormItem_Shadcn_, -// Form_Shadcn_, -// PopoverContent_Shadcn_, -// PopoverTrigger_Shadcn_, -// Popover_Shadcn_, -// SelectContent_Shadcn_, -// SelectItem_Shadcn_, -// SelectTrigger_Shadcn_, -// SelectValue_Shadcn_, -// Select_Shadcn_, -// Calendar, -// cn, -// } from 'ui' -// import { z } from 'zod' -// import { transformSourceForm } from '../../lib/transformSource' -// import { FormItemLayout } from './FormItemLayout' -// import { Input } from '../../DataInputs/Input' -// import { Calendar as CalendarIcon } from 'lucide-react' -// import { format } from 'date-fns' - -// // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -// export default { -// title: 'Form/FormItemLayout', -// component: FormItemLayout, -// decorators: [ -// (Story: any) => { -// return -// }, -// ], -// parameters: { -// // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout -// layout: 'centered', -// docs: { -// // controls: { exclude: ['style'] }, -// source: { -// language: 'tsx', -// transform: (code: string, StoryContext: StoryContext) => -// transformSourceForm(code, StoryContext).replace('_c', 'FormInput'), -// }, -// }, -// }, -// // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs -// tags: ['autodocs'], -// // More on argTypes: https://storybook.js.org/docs/api/argtypes -// // argTypes: {}, -// } - -// type Story = StoryObj - -// export const Primary: Story = { -// render: function Render(args) { -// const formSchema = z.object({ -// username: z.string().min(2, { -// message: 'Username must be at least 2 characters.', -// }), -// }) - -// // 1. Define your form. -// const form = useForm>({ -// resolver: zodResolver(formSchema), -// defaultValues: { -// username: '', -// }, -// }) - -// // 2. Define a submit handler. -// function onSubmit(values: z.infer) { -// // Do something with the form values. -// // ✅ This will be type-safe and validated. -// console.log(values) -// // action('form form.handleSubmit(onSubmit)')(values) -// } -// return ( -// -//
-// ( -// -// -// -// -// -// )} -// /> -// -// -//
-// ) -// }, -// args: { -// label: 'Username', -// description: 'this is the description', -// labelOptional: 'optional', -// }, -// } - -// export const withSelect: Story = { -// render: function Render(args) { -// const FormSchema = z.object({ -// email: z -// .string({ -// required_error: 'Please select an email to display.', -// }) -// .email(), -// }) - -// const form = useForm>({ -// resolver: zodResolver(FormSchema), -// }) - -// // 2. Define a submit handler. -// function onSubmit(values: z.infer) { -// // Do something with the form values. -// // ✅ This will be type-safe and validated. -// console.log(values) -// // action('form form.handleSubmit(onSubmit)')(values) -// } - -// return ( -// -//
-// ( -// -// -// -// -// -// -// -// -// m@example.com -// m@google.com -// m@support.com -// -// -// -// )} -// /> -// -// -//
-// ) -// }, -// args: { -// label: 'Username', -// description: 'this is the description', -// labelOptional: 'optional', -// }, -// } - -// export const withLayoutChange: Story = { -// render: function Render(args) { -// const formSchema = z.object({ -// username: z.string().min(2, { -// message: 'Username must be at least 2 characters.', -// }), -// }) - -// // 1. Define your form. -// const form = useForm>({ -// resolver: zodResolver(formSchema), -// defaultValues: { -// username: '', -// }, -// }) - -// // 2. Define a submit handler. -// function onSubmit(values: z.infer) { -// // Do something with the form values. -// // ✅ This will be type-safe and validated. -// console.log(values) -// // action('form form.handleSubmit(onSubmit)')(values) -// } -// return ( -// -//
-// ( -// -// -// -// -// -// )} -// /> -// -// -//
-// ) -// }, -// args: { -// layout: 'horizontal', -// label: 'Username', -// description: 'this is the description', -// labelOptional: 'optional', -// }, -// } - -// export const withCalendar: Story = { -// render: function Render(args) { -// const FormSchema = z.object({ -// dob: z.date({ -// required_error: 'A date of birth is required.', -// }), -// }) - -// const form = useForm>({ -// resolver: zodResolver(FormSchema), -// }) -// // 2. Define a submit handler. -// function onSubmit(values: z.infer) { -// // Do something with the form values. -// // ✅ This will be type-safe and validated. -// console.log(values) -// // action('form form.handleSubmit(onSubmit)')(values) -// } -// return ( -// -//
-// ( -// -// -// -// -// -// -// -// -// date > new Date() || date < new Date('1900-01-01')} -// initialFocus -// /> -// -// -// -// )} -// /> -// -// -//
-// ) -// }, -// args: { -// layout: 'vertical', -// label: 'Date of birth', -// description: 'Your date of birth is used to calculate your age.', -// labelOptional: 'optional', -// }, -// } diff --git a/packages/ui-patterns/form/FormLayout.tsx b/packages/ui-patterns/form/FormLayout.tsx deleted file mode 100644 index 9c2e10549b9..00000000000 --- a/packages/ui-patterns/form/FormLayout.tsx +++ /dev/null @@ -1,357 +0,0 @@ -import { zodResolver } from '@hookform/resolvers/zod' -import { Box, FileWarning } from 'lucide-react' -import { useForm } from 'react-hook-form' -import { - Badge, - Button, - Checkbox_Shadcn_, - Form_Shadcn_, - FormControl_Shadcn_, - FormField_Shadcn_, - RadioGroup_Shadcn_, - RadioGroupItem_Shadcn_, - Select_Shadcn_, - SelectContent_Shadcn_, - SelectItem_Shadcn_, - SelectTrigger_Shadcn_, - SelectValue_Shadcn_, - Separator, - Switch, -} from 'ui' -import { z } from 'zod' -import { Input } from '../DataInputs/Input' -import { InfoTooltip } from '../info-tooltip' -import { FormItemLayout } from './FormItemLayout/FormItemLayout' - -/** - * This is helper file for the FormLayout stories. - */ -const items = [ - { - id: 'recents', - label: 'Recents', - }, - { - id: 'home', - label: 'Home', - }, - { - id: 'applications', - label: 'Applications', - }, - { - id: 'desktop', - label: 'Desktop', - }, - { - id: 'downloads', - label: 'Downloads', - }, - { - id: 'documents', - label: 'Documents', - }, -] as const - -export const Page = () => { - const FormSchema = z.object({ - username: z.string().min(2, { - message: 'Username must be at least 2 characters.', - }), - kevins_input: z.string().min(6, { - message: 'Username must be at least 6 characters.', - }), - email: z - .string({ - required_error: 'Please select an email to display.', - }) - .email(), - consistent_settings: z.boolean().default(false).optional(), - switch_option: z.boolean().default(false).optional(), - items: z.array(z.string()).refine((value) => value.some((item) => item), { - message: 'You have to select at least one item.', - }), - type: z.enum(['all', 'mentions', 'none'], { - required_error: 'You need to select a notification type.', - }), - }) - - const form = useForm>({ - resolver: zodResolver(FormSchema), - defaultValues: { - username: '', - items: ['recents', 'home'], - }, - }) - - function onSubmit(data: z.infer) { - console.log(data) - } - - const UserIcon = () => { - return ( -
- -
- ) - } - - return ( - -
-
-

Welcome

-

Please fill in the following

-
- - - - ( - You can also rename this later.} - > - - } - placeholder="mildtomato" - {...field} - /> - - - )} - /> - - - - ( - - - - - - )} - /> - - - - ( - - - - - - - - - -
- - m@example.com -
-
- -
- - UserIconm@google.com -
-
- -
- - m@support.com -
-
-
-
-
- )} - /> - - - - ( - - - } - placeholder="Needs to be 6 long" - {...field} - /> - - - )} - /> - - - - ( - - - Danger zone! - - } - label="Use consistent settings" - description="This is your public display name." - layout="flex" - > - - - - - )} - /> - - - - ( - Please give me info} - > - {/*
- Sidebar - - Select the items you want to display in the sidebar. - -
*/} - {items.map((item) => ( - { - return ( - - - { - return checked - ? field.onChange([...field.value, item.id]) - : field.onChange(field.value?.filter((value) => value !== item.id)) - }} - /> - - - ) - }} - /> - ))} - {/* */} -
- )} - /> - - ( - - - - - - - - - - - - - - - - - - - - - - )} - /> - - -
- -
- -
- ) -} diff --git a/packages/ui-patterns/form/Page.stories.tsx b/packages/ui-patterns/form/Page.stories.tsx deleted file mode 100644 index 345c32effb3..00000000000 --- a/packages/ui-patterns/form/Page.stories.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// import { within, userEvent, expect } from '@storybook/test' -import { TooltipProvider_Shadcn_ } from 'ui' -import { Page } from './FormLayout' - -export default { - title: 'Form Examples/One', - component: Page, - parameters: { - // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout - layout: 'centered', - }, - decorators: [ - (Story: any) => { - return ( - - - - ) - }, - ], -} - -export const StateOne = {} - -// More on interaction testing: https://storybook.js.org/docs/writing-tests/interaction-testing -// export const LoggedIn = { -// play: async ({ canvasElement }) => { -// const canvas = within(canvasElement) -// const loginButton = canvas.getByRole('button', { name: /Log in/i }) -// await expect(loginButton).toBeInTheDocument() -// await userEvent.click(loginButton) -// await expect(loginButton).not.toBeInTheDocument() - -// const logoutButton = canvas.getByRole('button', { name: /Log out/i }) -// await expect(logoutButton).toBeInTheDocument() -// }, -// } diff --git a/packages/ui-patterns/form/Page2.stories.tsx b/packages/ui-patterns/form/Page2.stories.tsx deleted file mode 100644 index 84956639fcb..00000000000 --- a/packages/ui-patterns/form/Page2.stories.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// import { within, userEvent, expect } from '@storybook/test' -import { TooltipProvider_Shadcn_ } from 'ui' -import { Page } from './FormLayout2' - -export default { - title: 'Form Examples/Side Panel Function Create', - component: Page, - parameters: { - // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout - layout: 'centered', - }, - decorators: [ - (Story: any) => { - return ( - - - - ) - }, - ], -} - -export const StateOne = {} - -// More on interaction testing: https://storybook.js.org/docs/writing-tests/interaction-testing -// export const LoggedIn = { -// play: async ({ canvasElement }) => { -// const canvas = within(canvasElement) -// const loginButton = canvas.getByRole('button', { name: /Log in/i }) -// await expect(loginButton).toBeInTheDocument() -// await userEvent.click(loginButton) -// await expect(loginButton).not.toBeInTheDocument() - -// const logoutButton = canvas.getByRole('button', { name: /Log out/i }) -// await expect(logoutButton).toBeInTheDocument() -// }, -// } diff --git a/packages/ui-patterns/lib/transformSource.tsx b/packages/ui-patterns/lib/transformSource.tsx deleted file mode 100644 index 6bd9a4e8783..00000000000 --- a/packages/ui-patterns/lib/transformSource.tsx +++ /dev/null @@ -1,210 +0,0 @@ -// import { StoryContext } from '@storybook/react' - -// export function transformSourceForm(code: string, StoryContext: StoryContext) { -// let _code = code -// // _code = _code.replace(' {}} -// control={{ -// _defaultValues: { -// username: '' -// }, -// _executeSchema: () => {}, -// _fields: {}, -// _formState: { -// dirtyFields: {}, -// errors: {}, -// isDirty: false, -// isLoading: false, -// isSubmitSuccessful: false, -// isSubmitted: false, -// isSubmitting: false, -// isValid: false, -// isValidating: false, -// submitCount: 0, -// touchedFields: {} -// }, -// _formValues: { -// username: '' -// }, -// _getDirty: () => {}, -// _getFieldArray: () => {}, -// _getWatch: () => {}, -// _names: { -// array: {}, -// mount: {}, -// unMount: {}, -// watch: {} -// }, -// _options: { -// defaultValues: { -// username: '' -// }, -// mode: 'onSubmit', -// reValidateMode: 'onChange', -// resolver: () => {}, -// shouldFocusError: true -// }, -// _proxyFormState: { -// dirtyFields: false, -// errors: false, -// isDirty: false, -// isValid: false, -// isValidating: false, -// touchedFields: false -// }, -// _removeUnmounted: () => {}, -// _reset: () => {}, -// _resetDefaultValues: () => {}, -// _state: { -// action: false, -// mount: false, -// watch: false -// }, -// _subjects: { -// array: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// }, -// state: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// }, -// values: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// } -// }, -// _updateDisabledField: () => {}, -// _updateFieldArray: () => {}, -// _updateFormState: () => {}, -// _updateValid: () => {}, -// getFieldState: () => {}, -// handleSubmit: () => {}, -// register: () => {}, -// setError: () => {}, -// unregister: () => {} -// }} -// formState={{ -// defaultValues: { -// username: '' -// } -// }} -// getFieldState={() => {}} -// getValues={() => {}} -// handleSubmit={() => {}} -// register={() => {}} -// reset={() => {}} -// resetField={() => {}} -// setError={() => {}} -// setFocus={() => {}} -// setValue={() => {}} -// trigger={() => {}} -// unregister={() => {}} -// watch={() => {}} -// >`, -// `` -// ) -// _code = _code.replace( -// ` -// control={{ -// _defaultValues: { -// username: '' -// }, -// _executeSchema: () => {}, -// _fields: {}, -// _formState: { -// dirtyFields: {}, -// errors: {}, -// isDirty: false, -// isLoading: false, -// isSubmitSuccessful: false, -// isSubmitted: false, -// isSubmitting: false, -// isValid: false, -// isValidating: false, -// submitCount: 0, -// touchedFields: {} -// }, -// _formValues: { -// username: '' -// }, -// _getDirty: () => {}, -// _getFieldArray: () => {}, -// _getWatch: () => {}, -// _names: { -// array: {}, -// mount: {}, -// unMount: {}, -// watch: {} -// }, -// _options: { -// defaultValues: { -// username: '' -// }, -// mode: 'onSubmit', -// reValidateMode: 'onChange', -// resolver: () => {}, -// shouldFocusError: true -// }, -// _proxyFormState: { -// defaultValues: 'all', -// dirtyFields: false, -// errors: false, -// isDirty: false, -// isValid: false, -// isValidating: false, -// touchedFields: false -// }, -// _removeUnmounted: () => {}, -// _reset: () => {}, -// _resetDefaultValues: () => {}, -// _state: { -// action: false, -// mount: false, -// watch: false -// }, -// _subjects: { -// array: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// }, -// state: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// }, -// values: { -// next: () => {}, -// observers: [], -// subscribe: () => {}, -// unsubscribe: () => {} -// } -// }, -// _updateDisabledField: () => {}, -// _updateFieldArray: () => {}, -// _updateFormState: () => {}, -// _updateValid: () => {}, -// getFieldState: () => {}, -// handleSubmit: () => {}, -// register: () => {}, -// setError: () => {}, -// unregister: () => {} -// }}`, -// ` -// control={form.control}` -// ) - -// _code = _code.replace('', '') -// return _code -// } diff --git a/packages/ui/.babelrc.json b/packages/ui/.babelrc.json deleted file mode 100644 index 104d722287c..00000000000 --- a/packages/ui/.babelrc.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "chrome": "58" - } - } - ], - "@babel/preset-typescript", - "@babel/preset-react" - ], - "plugins": [] -} diff --git a/packages/ui/README.tokens.md b/packages/ui/README.tokens.md deleted file mode 100644 index bcc8a0bd7ec..00000000000 --- a/packages/ui/README.tokens.md +++ /dev/null @@ -1 +0,0 @@ -# tokens diff --git a/packages/ui/components.json b/packages/ui/components.json index 15ad1e04d39..9f1db7ce50e 100644 --- a/packages/ui/components.json +++ b/packages/ui/components.json @@ -4,7 +4,7 @@ "rsc": false, "tailwind": { "config": "./../config/tailwind-shadcn.config.js", - "css": ".storybook/shadcn.css", + "css": "./build/css/source/global.css", "baseColor": "gray", "cssVariables": true }, diff --git a/packages/ui/package.json b/packages/ui/package.json index df7ad43ac4c..366c09cf616 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -94,11 +94,6 @@ "zod": "^3.22.3" }, "devDependencies": { - "@babel/plugin-syntax-flow": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@babel/preset-flow": "^7.21.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.4", "@ctrl/tinycolor": "^3.4.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", diff --git a/packages/ui/postcss.config.js b/packages/ui/postcss.config.js deleted file mode 100644 index 29c447cb54b..00000000000 --- a/packages/ui/postcss.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('config/postcss.config') diff --git a/packages/ui/src/components/Accordion/Accordion.stories.tsx b/packages/ui/src/components/Accordion/Accordion.stories.tsx deleted file mode 100644 index 41eea4d7350..00000000000 --- a/packages/ui/src/components/Accordion/Accordion.stories.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import React from 'react' - -import Accordion, { AccordionProps } from './Accordion' -import { Badge } from '../Badge' - -export default { - title: 'Displays/Accordion', - component: Accordion, -} - -export const OneItem = (args: AccordionProps) => ( - - - - Title of the thing - - Test badge - - } - id="first" - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - -) - -export const MultipleItems = (args: AccordionProps) => ( - - - Title of the thing - - } - id={'1'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'2'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'3'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'4'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - -) - -export const Bordered = (args: AccordionProps) => ( - - - Title of the thing - - } - id={'1'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'2'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'3'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Title of the thing - - } - id={'4'} - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - -) - -Bordered.args = { - type: 'bordered', -} - -export const LeftAlignedChevron = (args: AccordionProps) => ( - - - First item - Test badge - - } - id="first" - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - - Second item - - } - id="second" - > - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - - - -) - -// export const withDefaultActive = Multiple.bind({}) -// withDefaultActive.args = { -// defaultActiveId: [1], -// } - -// export const withIconLeft = Multiple.bind({}) -// withIconLeft.args = { -// iconPosition: 'left', -// } - -// export const withCustomIcon = Multiple.bind({}) -// withCustomIcon.args = { -// icon: , -// } diff --git a/packages/ui/src/components/Alert/Alert.stories.tsx b/packages/ui/src/components/Alert/Alert.stories.tsx deleted file mode 100644 index 42e52242b83..00000000000 --- a/packages/ui/src/components/Alert/Alert.stories.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import React from 'react' - -import { Alert, AlertProps } from './Alert' - -export default { - title: 'Displays/Alerts', - component: Alert, -} - -export const Neutral = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const Success = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const SuccessWithIcon = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const Danger = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const DangerWithIcon = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const Info = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const InfoWithIcon = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const Warning = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const WarningWithIcon = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const Closable = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -export const WithAction = (args: AlertProps) => ( - - Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore. - -) - -Neutral.args = { - title: 'Success alert with icon', - withIcon: true, -} - -Success.args = { - title: 'Success alert', - variant: 'success', -} - -SuccessWithIcon.args = { - title: 'Success alert with icon', - variant: 'success', - withIcon: true, -} - -Danger.args = { - title: 'Danger alert', - variant: 'danger', -} - -DangerWithIcon.args = { - title: 'Danger alert with icon', - variant: 'danger', - withIcon: true, -} - -Info.args = { - title: 'Info alert', - variant: 'info', -} - -InfoWithIcon.args = { - title: 'Info alert with icon', - variant: 'info', - withIcon: true, -} - -Warning.args = { - title: 'Warning alert', - variant: 'warning', -} - -WarningWithIcon.args = { - title: 'Warning alert with icon', - variant: 'warning', - withIcon: true, -} - -Closable.args = { - title: 'Closable alert', - closable: true, -} - -WithAction.args = { - title: 'Alert with action', - variant: 'warning', - withIcon: true, - actions:
Hello
, -} diff --git a/packages/ui/src/components/Breadcrumb/Breadcrumb.stories.tsx b/packages/ui/src/components/Breadcrumb/Breadcrumb.stories.tsx deleted file mode 100644 index 681539b05b7..00000000000 --- a/packages/ui/src/components/Breadcrumb/Breadcrumb.stories.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react' -import { Breadcrumb } from './../../../' - -export default { - title: 'Navigation/Breadcrumb', - component: Breadcrumb, -} - -export const Default = ({ children, ...args }: any) => {children} - -Default.args = { - children: [ - Brothers, - Grimm, - Hansel, - Gretel, - ], -} diff --git a/packages/ui/src/components/Button/Button.stories.tsx b/packages/ui/src/components/Button/Button.stories.tsx deleted file mode 100644 index 64ef8392507..00000000000 --- a/packages/ui/src/components/Button/Button.stories.tsx +++ /dev/null @@ -1,176 +0,0 @@ -// import React from 'react' -// import { Button } from './../Button' - -// import type { Meta, StoryObj } from '@storybook/react' - -// import { ButtonProps } from './../Button' - -// import { IconActivity } from '../Icon/icons/IconActivity' - -// const meta: Meta = { -// /* 👇 The title prop is optional. -// * See https://storybook.js.org/docs/react/configure/overview#configure-story-loading -// * to learn how to generate automatic titles -// */ -// title: 'Old Primitives/Button', -// component: Button, -// } - -// export default meta - -// type Story = StoryObj - -// /* -// *👇 Render functions are a framework specific feature to allow you control on how the component renders. -// * See https://storybook.js.org/docs/react/api/csf -// * to learn how to use render functions. -// */ - -// export const Primary = { -// args: { -// children: 'Hello world', -// type: 'primary', -// }, -// render: ({ children, type }: ButtonProps) => , -// } -// export const Default = { -// args: { -// children: 'Hello world', -// type: 'default', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Alternative = { -// args: { -// children: 'Hello world', -// type: 'alternative', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Outline = { -// args: { -// children: 'Hello world', -// type: 'outline', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Secondary = { -// args: { -// children: 'Hello world', -// type: 'secondary', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Dashed = { -// args: { -// children: 'Hello world', -// type: 'dashed', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Link = { -// args: { -// children: 'Hello world', -// type: 'link', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Text = { -// args: { -// children: 'Hello world', -// type: 'text', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Danger = { -// args: { -// children: 'Hello world', -// type: 'danger', -// }, -// render: ({ children, type }: ButtonProps) => , -// } - -// export const Block = { -// args: { -// children: 'Hello world', -// type: 'primary', -// block: true, -// }, -// render: ({ children, type, block }: ButtonProps) => ( -// -// ), -// } - -// export const Disabled = { -// args: { -// children: 'Hello world', -// type: 'primary', -// disabled: true, -// }, -// render: ({ children, type, disabled }: ButtonProps) => ( -// -// ), -// } - -// export const Sizes = { -// args: { -// children: 'Change the size below', -// type: 'primary', -// size: 'large', -// }, -// render: ({ children, type, size }: ButtonProps) => ( -// -// ), -// } - -// export const LeftIcon = { -// args: { -// children: 'Change the size below', -// type: 'default', -// icon: , -// }, -// render: ({ children, type, icon }: ButtonProps) => ( -// -// ), -// } - -// export const RightIcon = { -// args: { -// children: 'Change the size below', -// type: 'primary', -// iconRight: , -// }, -// render: ({ children, type, iconRight }: ButtonProps) => ( -// -// ), -// } - -// export const Loading = { -// args: { -// children: 'Change the size below', -// type: 'primary', -// loading: true, -// }, -// render: ({ children, type, loading }: ButtonProps) => ( -// -// ), -// } diff --git a/packages/ui/src/components/Card/Card.stories.tsx b/packages/ui/src/components/Card/Card.stories.tsx deleted file mode 100644 index 36fd25b1945..00000000000 --- a/packages/ui/src/components/Card/Card.stories.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from 'react' -import Typography from '../Typography' -// import { AutoForm } from 'uniforms' - -import { Card } from './' - -export default { - title: 'Displays/Card', - component: Card, -} - -export const Default = (args: any) => ( - - Card content - Card content - Card content - -) - -export const withCover = (args: any) => ( - - Sub title here - To Do List with Vue.JS - -) - -export const withMeta = (args: any) => ( - - - -) - -export const withHover = (args: any) => ( - - - -) - -Default.args = { - title: 'I am a title', - titleExtra: Learn more, -} - -withCover.args = { - cover: ( - {'title'} - ), -} - -withMeta.args = { - title: 'title is here' -} - -withHover.args = { - title: 'This card can hover', - hoverable: true -} diff --git a/packages/ui/src/components/Checkbox/Checkbox.stories.tsx b/packages/ui/src/components/Checkbox/Checkbox.stories.tsx deleted file mode 100644 index 55979991380..00000000000 --- a/packages/ui/src/components/Checkbox/Checkbox.stories.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { Checkbox } from '.' - -export default { - title: 'Data Input/Checkbox', - component: Checkbox, -} - -export const Default = (args: any) => - -export const withGroup = (args: any) => ( - - - - - -) - -export const withGroupHorizontal = (args: any) => ( - - - - - -) - -export const size = (args: any) => ( - - - - - -) - -export const withBeforeAndAfterLabels = (args: any) => - -Default.args = { - label: 'This is the label', - description: 'This is the description', -} - -withGroup.args = { - id: 'checkobox-q', - label: 'This is the label', - description: 'This is the description', - disabled: false, - size: 'medium', - className: 'font-sans', - layout: 'vertical', -} - -withGroupHorizontal.args = { - id: 'checkobox-q', - label: 'This is the label', - description: 'This is the description', - disabled: false, - className: 'font-sans', - layout: 'horizontal', -} - -size.args = { - id: 'checkobox-q', - label: 'Control the size of the checkboxes', - description: 'You can add a size just the Group component and it will affect the children', - disabled: false, - className: 'font-sans', - layout: 'horizontal', - size: 'tiny', -} - -withBeforeAndAfterLabels.args = { - label: 'Label', - beforeLabel: 'Before : ', - afterLabel: ' : After', - options: [ - { - label: 'Label', - beforeLabel: 'Before : ', - afterLabel: ' : After', - description: 'Description', - }, - ], - className: 'font-sans', -} diff --git a/packages/ui/src/components/Collapsible/Collapsible.stories.tsx b/packages/ui/src/components/Collapsible/Collapsible.stories.tsx deleted file mode 100644 index 24f809563a7..00000000000 --- a/packages/ui/src/components/Collapsible/Collapsible.stories.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { Collapsible } from './' -import { IconChevronUp } from '../../components/Icon/icons/IconChevronUp' -import { Button } from './../Button' - -export default { - title: 'Displays/Collapsible', - component: Collapsible, -} - -export const Default = (args: any) => { - return ( - <> - - - - - - - -
-

I am content

-

I am content

-

I am content

-

I am content

-
-
-
- - - - - -
-

I am content

-

I am content

-

I am content

-

I am content

-
-
-
- - ) -} - -Default.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Name', - layout: 'vertical', -} diff --git a/packages/ui/src/components/ContextMenu/ContextMenu.stories.tsx b/packages/ui/src/components/ContextMenu/ContextMenu.stories.tsx deleted file mode 100644 index 10b4f3ef8eb..00000000000 --- a/packages/ui/src/components/ContextMenu/ContextMenu.stories.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import React, { useState } from 'react' -import { Button } from '../Button' -import { Divider } from '../Divider' -import { IconSettings } from '../Icon/icons/IconSettings' -import { IconLogOut } from '../Icon/icons/IconLogOut' - -import { ContextMenu } from '.' -import { IconLogIn } from '../Icon/icons/IconLogIn' - -export default { - title: 'Navigation/ContextMenu', - component: ContextMenu, -} - -const triggerArea = ( -
- Right click this area -
-) - -export const Default = (args: any) => ( -
- -
- Signed in as - tom@example.com -
- , - , - Group label, - console.log('clicked')}>Account, - Settings, - , - }>Log out, - ]} - > - {triggerArea} -
-
-) - -Default.args = {} - -export const doNotcloseOverlay = (args: any) => ( -
- - Signed in as - tom@example.com - , - , - Account, - Settings, - - - , - ]} - > - {triggerArea} - -
-) - -doNotcloseOverlay.args = {} - -export const withCustomStyles = (args: any) => ( -
- - Signed in as - tom@example.com - , - , - Account, - Settings, - , - - - , - ]} - > - {triggerArea} - -
-) - -withCustomStyles.args = {} - -export const Checkbox = (args: any) => { - const [checked, setChecked] = useState(false) - - return ( -
- }>Account, - Settings, - , - - Show subtitles - , - ]} - > - {triggerArea} - -
- ) -} - -export const Radio = (args: any) => { - const [value, setValue] = useState('red') - - return ( -
- - Red - Blue - Green - , - ]} - > - {triggerArea} - -
- ) -} diff --git a/packages/ui/src/components/Divider/Divider.stories.tsx b/packages/ui/src/components/Divider/Divider.stories.tsx deleted file mode 100644 index eb0c6246ffd..00000000000 --- a/packages/ui/src/components/Divider/Divider.stories.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { Button } from '../Button' -import { Divider } from './' - -export default { - title: 'Utilities/Divider', - component: Divider, -} - -export const Default = (args: any) => - -export const withCenterText = (args: any) => Hello world - -export const withLeftText = (args: any) => Hello world - -export const withRightText = (args: any) => Hello world - -export const lighterColor = (args: any) => - -export const vertical = (args: any) => ( -
-
- - - - - - Some text - - -
-
-) - -Default.args = {} - -withCenterText.args = {} - -withLeftText.args = { - orientation: 'left', -} - -withRightText.args = { - orientation: 'right', -} - -lighterColor.args = { - light: true, -} - -vertical.args = { - type: 'vertical', -} diff --git a/packages/ui/src/components/Form/Form.stories.tsx b/packages/ui/src/components/Form/Form.stories.tsx deleted file mode 100644 index ad48d26524c..00000000000 --- a/packages/ui/src/components/Form/Form.stories.tsx +++ /dev/null @@ -1,487 +0,0 @@ -import { Form } from '.' -import { Input, Button, InputNumber, Toggle, Checkbox, Radio, Select, Listbox } from '../../index' - -import * as Yup from 'yup' -import { User } from '../Icon/IconImportHandler' -import React from 'react' - -export default { - title: 'Data Input/Form', - component: Form, -} - -interface Values { - email: string - last_name: string - profession: string - number: number | undefined - // remember_me: boolean - checkbox_alone: boolean - favorite_food: string - check_3: boolean - check_2: boolean - check_1: boolean - textarea: string - toggle: boolean - people: number | undefined -} - -const INITIAL_VALUES: Values = { - email: '', - last_name: '', - profession: '', - number: undefined, - checkbox_alone: false, - // remember_me: false, - favorite_food: '', - check_3: false, - check_2: true, - check_1: false, - textarea: '', - toggle: true, - people: undefined, -} - -export const InputLevelValidation = () => { - function validateEmail(value: string) { - console.log('validateEmail running') - let error - if (!value) { - error = 'Required' - } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(value)) { - error = 'Invalid email address' - } - return error - } - - return ( -
{ - setTimeout(() => { - alert(JSON.stringify(values, null, 2)) - setSubmitting(false) - }, 400) - }} - > - {({ isSubmitting }: { isSubmitting: boolean }) => ( -
- - {/* */} - -
- )} -
- ) -} - -export const InputLevelValidationYip = () => { - // validation schema - const SignupSchema = Yup.object().shape({ - firstname: Yup.string().min(2, 'Too Short!').max(50, 'Too Long!').required('Required'), - lastname: Yup.string().min(2, 'Too Short!').max(50, 'Too Long!').required('Required'), - email: Yup.string().email('Invalid email').required('Required'), - }) - - return ( -
{ - setTimeout(() => { - alert(JSON.stringify(values, null, 2)) - setSubmitting(false) - }, 400) - }} - > - {({ isSubmitting }: any) => ( -
- - - - -
- )} -
- ) -} - -const people = [ - { - value: 1, - label: 'Wade Cooper', - avatar: - 'https://images.unsplash.com/photo-1491528323818-fdd1faba62cc?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 2, - label: 'Arlene Mccoy', - avatar: - 'https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 3, - label: 'Devon Webb', - avatar: - 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2.25&w=256&h=256&q=80', - }, - { - value: 4, - label: 'Tom Cook', - avatar: - 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 5, - label: 'Tanya Fox', - avatar: - 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 6, - label: 'Hellen Schmidt', - avatar: - 'https://images.unsplash.com/photo-1487412720507-e7ab37603c6f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 7, - label: 'Caroline Schultz', - avatar: - 'https://images.unsplash.com/photo-1568409938619-12e139227838?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 8, - label: 'Mason Heaney', - avatar: - 'https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 9, - label: 'Claudie Smitham', - avatar: - 'https://images.unsplash.com/photo-1584486520270-19eca1efcce5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, - { - value: 10, - label: 'Emil Schaefer', - avatar: - 'https://images.unsplash.com/photo-1561505457-3bcad021f8ee?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80', - }, -] - -export const LargerExample = () => { - return ( - <> -
{ - setTimeout(() => { - alert(JSON.stringify(values, null, 2)) - setSubmitting(false) - }, 400) - }} - validate={(values: Values) => { - const errors: any = {} - - console.log('values for validation', values) - - if (!values.email) { - errors.email = 'Required' - } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(values.email)) { - errors.email = 'Invalid email address' - } - - if (!values.profession) { - errors.profession = 'Required' - } - - if (!values.textarea) { - errors.textarea = 'Required' - } - - if (!values.number) { - errors.number = 'Required' - } - - if (values.number <= 13) { - errors.number = 'Must be a number above 13' - } - - if (values.number >= 32) { - errors.number = 'Must be a number below 32' - } - - if (!values.favorite_food) { - errors.favorite_food = 'You must select a favourite food' - } - - if (!values.toggle) { - errors.toggle = 'This needs to be turned on' - } - - // if (!values.people) { - // errors.people = 'Please select a person' - // } - - // if (values.remember_me) - - return errors - }} - > - {({ isSubmitting }: any) => ( - <> -
-

{isSubmitting ? 'submitting' : 'not submitting'}

- - - - - - - - - - - - - - - - - - - - {people.map((person) => { - return ( - ( - - )} - children={({ active, selected }: any) => { - // console.log('selected', selected) - // console.log('active', active) - return {person.label} - }} - /> - ) - })} - - - -
- - )} -
- - ) -} - -export const CardForm = () => { - // panel - const Panel = ({ - children, - header, - footer, - }: { - children: React.ReactNode - header?: React.ReactNode - footer?: React.ReactNode - }) => ( -
- {header &&
{header}
} -
{children}
- {footer} -
- ) - - const Section = ({ - children, - header, - }: { - children: React.ReactNode - header?: React.ReactNode - }) => ( -
- {header} - {children} -
- ) - - return ( - <> -
{ - setTimeout(() => { - alert(JSON.stringify(values, null, 2)) - setSubmitting(false) - }, 400) - }} - validate={(values: Values) => { - const errors: any = {} - - return errors - }} - > - {({ isSubmitting }: any) => ( - -

Custom Options

-

- These settings apply to payment pages you create using Stripe Checkout and Payment - Links. -

- - } - footer={ - <> -
-
- - -
- - } - > - {/*

{isSubmitting ? 'submitting' : 'not submitting'}

*/} - {/*
*/} -
Faster checkout} - > - -
-
-
Faster checkout} - > - - - - -
-
-
Faster checkout} - > -
- - - This can be found in{' '} - - the developer settings - - - } - /> -
-
-
- )} -
- - ) -} - -export { default as AuthForm } from './examples/AuthForm' diff --git a/packages/ui/src/components/Icon/Icon.stories.tsx b/packages/ui/src/components/Icon/Icon.stories.tsx deleted file mode 100644 index 8fcc2f8b607..00000000000 --- a/packages/ui/src/components/Icon/Icon.stories.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react' - -import { IconMail, Typography } from './../../index' - -export default { - title: 'General/Icon', - component: IconMail, -} - -export const Default = (args: any) => ( -
-
- - - -
-
-) - -Default.args = { - size: 16, - strokeWidth: 2, -} - -// export const IconList = (args: any) => ( -// <> -//
-// This icons uses react-feather from Feather Icons. For detail you can check -// it here and{' '} -// here -//
-//
-// {LIST_ICONS.map((icon) => ( -//
-// -// {icon} -//
-// ))} -//
-// -// ) - -// IconList.args = { -// size: 16, -// strokeWidth: 2, -// } - -// // const SvgMessagesIcon = () => ( -// // -// // -// // -// // ) - -// // export const IconWithSVG = (args: any) => ( -// // } /> -// // ) - -// // IconWithSVG.args = { -// // size: 'xxxlarge', -// // strokeWidth: 4, -// // } diff --git a/packages/ui/src/components/Input/Input.stories.tsx b/packages/ui/src/components/Input/Input.stories.tsx deleted file mode 100644 index 38c0f666042..00000000000 --- a/packages/ui/src/components/Input/Input.stories.tsx +++ /dev/null @@ -1,156 +0,0 @@ -import React from 'react' -// import { AutoForm } from 'uniforms' - -import { Input } from './../Input' -import { Package } from 'lucide-react' -import { Button } from '../Button' - -export default { - title: 'Old primitives/Input', - component: Input, -} - -export const Default = (args: any) => - -export const ErrorState = (args: any) => - -export const withIcon = (args: any) => - -export const withOption = (args: any) => - -export const withDescription = (args: any) => - -export const withCustomStyle = (args: any) => - -export const textArea = (args: any) => - -export const textAreaWithCopy = (args: any) => - -export const textAreaWithLimit = (args: any) => - -export const withRevealAndCopy = (args: any) => - -export const withCustomActions = (args: any) => - -export const withBeforeAndAfterLabel = (args: any) => - -export const size = (args: any) => - -export const borderless = (args: any) => - -export const date = (args: any) => - -const icon: any = - -Default.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Name', - layout: 'vertical', -} - -ErrorState.args = { - type: 'text', - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - error: 'Your password must be less than 4 characters.', -} - -withIcon.args = { - type: 'text', - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an icon', - icon: icon, -} - -withOption.args = { - type: 'text', - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - labelOptional: 'This is required', -} - -withDescription.args = { - type: 'text', - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - descriptionText: 'Make your password short and easy to guess', -} - -withCustomStyle.args = { - type: 'text', - label: 'This has custom styling {width: 50%}', - style: { width: '50%' }, -} - -textArea.args = { - type: 'text', - label: 'This is a text area', -} - -textAreaWithCopy.args = { - copy: true, - rows: 3, - type: 'text', - label: 'This is a text area', -} - -textAreaWithLimit.args = { - type: 'text', - label: 'This is a text area, with 10 rows', - labelOptional: '500 character limit', - rows: 10, - limit: 500, -} - -withRevealAndCopy.args = { - type: 'text', - label: 'Reveal and copy', - labelOptional: 'Reveal the text, then copy it', - value: '12341234HDGRHSGR/adJDJD', - copy: true, - reveal: true, -} - -withCustomActions.args = { - type: 'text', - label: 'Custom actions', - labelOptional: 'Use any react components', - value: 'Value of input', - actions: [ - , - , - ], -} - -size.args = { - type: 'text', - label: 'You can change the size of this Input', - size: 'tiny', -} - -withBeforeAndAfterLabel.args = { - type: 'text', - label: 'This is the label', - beforeLabel: 'Before label : ', - afterLabel: ' : After label', -} - -borderless.args = { - type: 'text', - label: 'This is the label', - borderless: true, - size: 'tiny', -} - -date.args = { - type: 'date', - placeholder: 'Type text here ...', - disabled: false, - label: 'Name', - layout: 'vertical', -} diff --git a/packages/ui/src/components/InputNumber/InputNumber.stories.tsx b/packages/ui/src/components/InputNumber/InputNumber.stories.tsx deleted file mode 100644 index bce31a52703..00000000000 --- a/packages/ui/src/components/InputNumber/InputNumber.stories.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React, { useState, useCallback } from 'react' -// import { AutoForm } from 'uniforms' - -import { InputNumber } from '.' -import { IconPackage } from './../../index' -import { Button } from '../Button' -import { Space } from '../Space' - -export default { - title: 'Data Input/InputNumber', - component: InputNumber, -} - -export const Default = (args: any) => - -export const ErrorState = (args: any) => - -export const WithIcon = (args: any) => - -export const Controlled = (props: any) => { - const [state, setState] = useState(() => undefined) - - const onChange = useCallback((e: React.ChangeEvent) => { - // console.log({ e, value: e.currentTarget.value }) - setState(e.currentTarget.value) - }, []) - - return -} - -Default.args = { - label: 'Max of 100 and min of 0', - disabled: false, - layout: 'vertical', - max: 100, - min: 0, -} - -ErrorState.args = { - disabled: false, - layout: 'vertical', - label: 'Input Number with an error message', - error: 'Input Number must be in range', -} - -WithIcon.args = { - label: 'Max of 100 and min of 0 with a Icon', - disabled: false, - layout: 'vertical', - max: 100, - min: 0, - icon: , -} - -Controlled.args = { - label: 'Max of 100 and min of 0', - disabled: false, - layout: 'vertical', - max: 100, - min: 0, -} diff --git a/packages/ui/src/components/InputOld/Input.stories.js b/packages/ui/src/components/InputOld/Input.stories.js deleted file mode 100644 index 90faec6c033..00000000000 --- a/packages/ui/src/components/InputOld/Input.stories.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react' - -import { Input } from '.' - -export default { - title: 'Archive/Input Old', - component: Input, -} - -export const Default = (args) => -Default.args = { - placeholder: 'Type text here ...', - disabled: false -} diff --git a/packages/ui/src/components/Select/Select.stories.tsx b/packages/ui/src/components/Select/Select.stories.tsx deleted file mode 100644 index b69cad8efd9..00000000000 --- a/packages/ui/src/components/Select/Select.stories.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import React from 'react' - -import Select from '.' -import { IconBook } from '../../index' - -const { Option, OptGroup } = Select - -export default { - title: 'Data Input/Select', - component: Select, -} - -export const Default = (args: any) => ( - -) - -export const withCheckboxes = (args: any) => - - - - -) - -export const withOptionGroup = (args: any) => ( - -) - -export const withIcon = (args: any) => ( - -) - -export const withOptionLabel = (args: any) => ( - -) - -export const withBeforeAndAfterLabel = (args: any) => ( - -) - -export const withDescription = (args: any) => ( - -) - -export const size = (args: any) => ( - -) - -const data = ['England', 'Wales', 'Scotland', 'Ireland'] -const icon = - -Default.args = { - disabled: false, - label: 'Label', - className: 'font-sans', - layout: 'vertical', - children: [ - <> - - - - , - ], -} - -withOptionGroup.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - className: 'font-sans', - value: 'Value of input', - layout: 'vertical', -} - -withCheckboxes.args = { - disabled: false, - checkboxes: data, - allowedValues: data, - className: 'font-sans', - layout: 'vertical', -} - -ErrorState.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - className: 'font-sans', - value: 'Value of input', - error: 'Your password must be less than 4 characters.', - allowedValues: data, - layout: 'vertical', -} - -withIcon.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an Icon', - className: 'font-sans', - value: 'Value of input', - icon: icon, - allowedValues: data, - layout: 'vertical', -} - -withOptionLabel.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - className: 'font-sans', - value: 'Value of input', - labelOptional: 'This is required', - allowedValues: data, - layout: 'vertical', -} - -withBeforeAndAfterLabel.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Label', - beforeLabel: 'Before : ', - afterLabel: ' : After', - className: 'font-sans', - value: 'Value of input', - labelOptional: 'This is required', - allowedValues: data, - layout: 'vertical', -} - -withDescription.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with an error message', - className: 'font-sans', - value: 'Value of input', - descriptionText: 'Make your password short and easy to guess', - allowedValues: data, - layout: 'vertical', -} - -size.args = { - placeholder: 'Type text here ...', - disabled: false, - label: 'Input with a size selected', - value: 'Value of input', - descriptionText: 'Choose a different size and font and padding will change', - allowedValues: data, - layout: 'vertical', - size: 'tiny', -} diff --git a/packages/ui/src/components/SidePanel/SidePanel.stories.tsx b/packages/ui/src/components/SidePanel/SidePanel.stories.tsx deleted file mode 100644 index 8dc7e5fcba7..00000000000 --- a/packages/ui/src/components/SidePanel/SidePanel.stories.tsx +++ /dev/null @@ -1,262 +0,0 @@ -import { action } from '@storybook/addon-actions' -import { useState } from 'react' - -import { Button } from '../Button' -import { Space } from '../Space' -import { SidePanel } from './index' - -export default { - title: 'Overlays/SidePanel', - component: SidePanel, -} - -const content = ( - - SidePanel content is inserted here, if you need to insert anything into the SidePanel you can do - so via - children - -) - -export const Default = (args: any) => ( - <> - -

This is the title

-

This is the title

- - } - > - {content} -
- -) - -export const withWideLayout = (args: any) => ( - <> - {content} - -) - -export const leftAlignedFooter = (args: any) => ( - <> - {content} - -) - -export const leftAligned = (args: any) => ( - <> - {content} - -) - -export const hideFooter = (args: any) => ( - <> - {content} - -) - -export const customFooter = (args: any) => ( - <> - {content} - -) - -export const triggerElement = (args: any) => ( - <> - - This was opened with a trigger element - - -) - -export const nestedSidepanels = (args: any) => { - const [panel1Visible, setPanel1Visible] = useState(false) - const [panel2Visible, setPanel2Visible] = useState(false) - - return ( - <> -
-
-

Shall we nest some components?

-

yea sure, go on then.

-
- -
- setPanel1Visible(false)} - onConfirm={() => setPanel1Visible(false)} - > -
-

- This Sidepanel was opened with a trigger element -

- -

- You can open a nested panel by clicking the button below -

- - -
- setPanel2Visible(false)} - onConfirm={() => setPanel2Visible(false)} - > - - -
- - ) -} - -export const longContent = (args: any) => ( - <> - -

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-

This is a paragraph

-
- -) - -Default.args = { - visible: true, - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', -} - -withWideLayout.args = { - visible: true, - size: 'large', - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', -} - -leftAlignedFooter.args = { - visible: true, - alignFooter: 'left', - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', -} - -leftAligned.args = { - visible: true, - align: 'left', - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', -} - -hideFooter.args = { - visible: true, - hideFooter: true, - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', -} - -customFooter.args = { - visible: true, - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', - customFooter: [ - - - - , - ], -} - -triggerElement.args = { - visible: true, - onCancel: action('onCancel'), - onConfirm: action('onConfirm'), - title: 'This is the title of the SidePanel', - description: 'And i am the description', - triggerElement: ( - - ), -} - -longContent.args = { - visible: true, - header: 'Long content', -} diff --git a/packages/ui/src/components/Tabs/Tabs.stories.tsx b/packages/ui/src/components/Tabs/Tabs.stories.tsx deleted file mode 100644 index 17ed4f3c317..00000000000 --- a/packages/ui/src/components/Tabs/Tabs.stories.tsx +++ /dev/null @@ -1,165 +0,0 @@ -import React from 'react' -import { Button } from '../Button' -import { IconMail } from '../../index' -import Typography from '../Typography' - -import { Tabs } from './' - -export default { - title: 'Displays/Tabs', - component: Tabs, -} - -export const Default = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -export const Underlined = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -export const WithIcons = (args: any) => ( - - }> - Content for the first panel - - }> - Content for the second panel - - }> - Content for the third panel - - -) - -export const LargeButtons = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -export const BlockTabs = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -const limit = 30 -let infitniteSroll: JSX.Element[] = [] - -for (var i = 0; i < limit; i++) { - infitniteSroll.push( - - Content for the panel {i} - - ) -} - -export const Scroll = (args: any) => ( - - {infitniteSroll} - -) - -export const addOnBefore = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -export const addOnAfter = (args: any) => ( - - - Content for the first panel - - - Content for the second panel - - - Content for the third panel - - -) - -export const OneTab = () => ( - - - Content for the first panel - - -) - -Default.args = {} -Underlined.args = { - type: 'underlined', -} -WithIcons.args = { - type: 'underlined', -} -LargeButtons.args = { - type: 'underlined', - size: 'large', -} -BlockTabs.args = { - type: 'underlined', - block: true, -} -Scroll.args = { - type: 'underlined', - block: true, - scrollable: true, -} -addOnBefore.args = { - type: 'underlined', - size: 'large', - addOnBefore: , -} -addOnAfter.args = { - type: 'underlined', - size: 'large', - addOnAfter: , -} diff --git a/packages/ui/src/components/Toggle/Toggle.stories.tsx b/packages/ui/src/components/Toggle/Toggle.stories.tsx deleted file mode 100644 index 42513f7d48c..00000000000 --- a/packages/ui/src/components/Toggle/Toggle.stories.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import React from 'react' - -import { Toggle } from '.' -import { Button } from '../Button' -import { Input } from '../Input' -import { Space } from '../Space' - -export default { - title: 'Data Input/Toggle', - component: Toggle, - argTypes: { - label: { control: 'text' }, - }, -} - -export const Primary = (args: any) => -export const Wide = (args: any) => -export const checkedDefault = (args: any) => -export const noLabel = (args: any) => -export const withBeforeAndAfterLabel = (args: any) => -export const size = (args: any) => - -Primary.args = { - descriptionText: 'This is optional description', - disabled: false, - error: '', - label: "Get insights across your organization's repositories", - labelOptional: - 'Star history, issue tracking, and more to come repository.surf organization', - name: 'radiogroup-example', -} - -Wide.args = { - descriptionText: 'This is optional description', - disabled: false, - error: '', - label: "Get insights across your organization's repositories", - labelOptional: - 'Star history, issue tracking, and more to come repository.surf organization', - name: 'radiogroup-example', - layout: 'wide', -} - -checkedDefault.args = { - defaultChecked: true, - descriptionText: 'This is optional description', - label: 'Radio group main label', - labelOptional: 'This is an optional label', -} - -noLabel.args = { - active: true, - disabled: false, - error: '', - name: 'radiogroup-example', - layout: 'horizontal', -} - -withBeforeAndAfterLabel.args = { - label: 'Label', - beforeLabel: 'Before : ', - afterLabel: ' : After', -} - -size.args = { - label: 'Try different sizes', - size: 'tiny', -} diff --git a/packages/ui/src/components/Typography/Typography.stories.tsx b/packages/ui/src/components/Typography/Typography.stories.tsx deleted file mode 100644 index eb3546acb53..00000000000 --- a/packages/ui/src/components/Typography/Typography.stories.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React from 'react' -// import { AutoForm } from 'uniforms' -// @ts-ignore -import MarkdownExample from './../../lib/MarkdownSample.md' -import ReactMarkdown from 'react-markdown' -const gfm = require('remark-gfm') - -import Typography from '.' -// @ts-ignore -import { Space } from '../../index' - -const { Title, Text, Link } = Typography - -export default { - title: 'General/Typography', - component: Typography, -} - -export const article = () => ( - - - -) - -export const Titles = () => ( - - Hello world - Hello world - Hello world - Hello world - Hello world - -) - -export const Texts = () => ( - <> - Supabase UI (default) -
- Supabase UI (secondary) -
- Supabase UI (success) -
- Supabase UI (warning) -
- Supabase UI (danger) -
- Supabase UI (disabled) -
- Supabase UI (mark) -
- Supabase UI (code) -
- Supabase UI (keyboard) -
- Supabase UI (underline) -
- Supabase UI (strikethrough) -
- Supabase UI (strong) -
- - Supabase (Link) - - -) diff --git a/packages/ui/src/components/Upload/Upload.stories.tsx b/packages/ui/src/components/Upload/Upload.stories.tsx deleted file mode 100644 index 34d884df7ad..00000000000 --- a/packages/ui/src/components/Upload/Upload.stories.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import React, { useState } from 'react' - -import Upload from '.' -import Typography from '../Typography' - -export default { - title: 'Data Input/Upload', - component: Upload, -} - -export const Draggable = () => { - const [files, setFiles] = useState>([]) - - return ( - -
-
- -
- - - Upload a file - - {' or drag and drop'} - -
- - PNG, JPG, GIF up to 10MB - - {/*

PNG, JPG, GIF up to 10MB

*/} -
- - {/* Previews */} - {files.length > 0 && ( -
- {files.map((file) => ( - {file.name} - ))} -
- )} -
-
- ) -} diff --git a/packages/ui/src/lib/colors.stories.tsx b/packages/ui/src/lib/colors.stories.tsx deleted file mode 100644 index 611ff440fa8..00000000000 --- a/packages/ui/src/lib/colors.stories.tsx +++ /dev/null @@ -1,98 +0,0 @@ -// import { Meta } from '@storybook/react' -// import { cn } from './utils' -// // import { Card } from '@ui/components/shadcn/ui/card' -// import color from './tailwind-demo-classes' - -// const meta: Meta = { -// title: 'tailwind/Colors', -// } - -// export const Default = () => { -// return ( -//
-//
-//
-//
Background
-//
-// {color.background.map((x: string) => { -// return ( -//
-//
-//
-// {x} -//
-//
-// ) -// })} -//
-//
-//
-//
Border
-//
-// {color.border.map((x) => { -// return ( -//
-//
-//
-// {x} -//
-//
-// ) -// })} -//
-//
-//
-//
texts
-//
-// {color.text.map((x) => { -// return ( -//
-// -// ### -// -//
-// {x} -//
-//
-// ) -// })} -//
-//
-//
-//
-//
-//
Colors
-//
-// {color.colors.map((x: string) => { -// return ( -//
-//
-//
-// {x} -//
-//
-// ) -// })} -//
-//
-//
-//
Palletes
-//
-// {color.palletes.map((x) => { -// return ( -//
-//
-//
-// {x} -//
-//
-// ) -// })} -//
-//
-//
-//
-// ) -// } - -// export default meta diff --git a/packages/ui/tailwind-theming.md b/packages/ui/tailwind-theming.md index d12d000ddd8..38a34bf4639 100644 --- a/packages/ui/tailwind-theming.md +++ b/packages/ui/tailwind-theming.md @@ -137,9 +137,3 @@ text-border-control | `500` | | `DEFAULT` | | `600` | - -## Storybook - -The current colors are also auto documented in Storybook - -[Storybook Colors](https://ui-storybook-pre-release.vercel.app/) diff --git a/packages/ui/tailwind.config.js b/packages/ui/tailwind.config.js deleted file mode 100644 index cc5546ac08d..00000000000 --- a/packages/ui/tailwind.config.js +++ /dev/null @@ -1,90 +0,0 @@ -const config = require('config/tailwind.config') -const { fontFamily } = require('tailwindcss/defaultTheme') - -module.exports = config({ - content: ['../../packages/ui/**/*.{tsx,ts,js}', '../../packages/ui/**/*.*.{tsx,ts,js}'], - theme: { - container: { - center: true, - padding: '2rem', - screens: { - '2xl': '1400px', - }, - }, - extend: { - keyframes: { - 'flash-code': { - '0%': { backgroundColor: 'rgba(63, 207, 142, 0.1)' }, - '100%': { backgroundColor: 'transparent' }, - }, - 'caret-blink': { - '0%,70%,100%': { opacity: '1' }, - '20%,50%': { opacity: '0' }, - }, - }, - animation: { - 'flash-code': 'flash-code 1s forwards', - 'flash-code-slow': 'flash-code 2s forwards', - 'caret-blink': 'caret-blink 1.25s ease-out infinite', - }, - colors: { - border: 'hsl(var(--border-overlay))', - input: 'hsl(var(--border-control))', - ring: 'hsl(var(--ring))', - background: 'hsl(var(--background-default))', - foreground: 'hsl(var(--foreground-default))', - primary: { - DEFAULT: 'hsl(var(--foreground-default))', - foreground: 'hsl(var(--background-default))', - }, - secondary: { - DEFAULT: 'hsl(var(--secondary))', - foreground: 'hsl(var(--secondary-foreground))', - }, - destructive: { - DEFAULT: 'hsl(var(--destructive-default))', - foreground: 'hsl(var(--foreground-default))', - }, - muted: { - DEFAULT: 'hsl(var(--border-overlay))', - foreground: 'hsl(var(--foreground-lighter))', - }, - accent: { - DEFAULT: 'hsl(var(--background-overlay))', - foreground: 'hsl(var(--foreground-lighter))', - }, - popover: { - DEFAULT: 'hsl(var(--background-overlay))', - foreground: 'hsl(var(--foreground-default))', - }, - card: { - DEFAULT: 'hsl(var(--background-overlay))', - foreground: 'hsl(var(--foreground-default))', - }, - }, - borderRadius: { - lg: `var(--radius)`, - md: `calc(var(--radius) - 2px)`, - sm: 'calc(var(--radius) - 4px)', - }, - fontFamily: { - sans: ['var(--font-sans)', ...fontFamily.sans], - }, - keyframes: { - 'accordion-down': { - from: { height: 0 }, - to: { height: 'var(--radix-accordion-content-height)' }, - }, - 'accordion-up': { - from: { height: 'var(--radix-accordion-content-height)' }, - to: { height: 0 }, - }, - }, - animation: { - 'accordion-down': 'accordion-down 0.2s ease-out', - 'accordion-up': 'accordion-up 0.2s ease-out', - }, - }, - }, - plugins: [require('tailwindcss-animate')], -}) diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index aebbf48962e..c6e40b7c779 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -4,5 +4,5 @@ "resolveJsonModule": true }, "include": ["."], - "exclude": ["dist", "build", "node_modules", "**/*.stories.tsx"] + "exclude": ["dist", "build", "node_modules"] }