From dd91556be7d57b99b2d055e1c44fb2d3aeed804d Mon Sep 17 00:00:00 2001 From: sawka Date: Fri, 21 Nov 2025 18:28:49 -0800 Subject: [PATCH] remove storybook, tasks, and dependencies --- .github/workflows/deploy-docsite.yml | 9 +- .storybook/custom-addons/theme/register.ts | 18 - .storybook/global.css | 20 - .storybook/main.ts | 83 - .storybook/preview.tsx | 60 - .storybook/theme.ts | 17 - CONTRIBUTING.md | 8 - README.md | 1 - Taskfile.yml | 17 - docs/README.md | 4 +- frontend/app/element/button.stories.tsx | 121 -- frontend/app/element/emojipalette.stories.tsx | 34 - .../app/element/expandablemenu.stories.tsx | 391 ----- frontend/app/element/flyoutmenu.stories.tsx | 289 ---- frontend/app/element/input.stories.tsx | 72 - frontend/app/element/magnify.stories.tsx | 28 - frontend/app/element/menubutton.stories.tsx | 103 -- .../app/element/multilineinput.stories.tsx | 112 -- frontend/app/element/popover.stories.tsx | 54 - frontend/app/element/progressbar.stories.tsx | 52 - frontend/app/element/search.stories.tsx | 152 -- frontend/layout/lib/tilelayout.stories.scss | 9 - frontend/types/gotypes.d.ts | 2 + package-lock.json | 1516 +---------------- package.json | 14 - 25 files changed, 9 insertions(+), 3177 deletions(-) delete mode 100644 .storybook/custom-addons/theme/register.ts delete mode 100644 .storybook/global.css delete mode 100644 .storybook/main.ts delete mode 100644 .storybook/preview.tsx delete mode 100644 .storybook/theme.ts delete mode 100644 frontend/app/element/button.stories.tsx delete mode 100644 frontend/app/element/emojipalette.stories.tsx delete mode 100644 frontend/app/element/expandablemenu.stories.tsx delete mode 100644 frontend/app/element/flyoutmenu.stories.tsx delete mode 100644 frontend/app/element/input.stories.tsx delete mode 100644 frontend/app/element/magnify.stories.tsx delete mode 100644 frontend/app/element/menubutton.stories.tsx delete mode 100644 frontend/app/element/multilineinput.stories.tsx delete mode 100644 frontend/app/element/popover.stories.tsx delete mode 100644 frontend/app/element/progressbar.stories.tsx delete mode 100644 frontend/app/element/search.stories.tsx delete mode 100644 frontend/layout/lib/tilelayout.stories.scss diff --git a/.github/workflows/deploy-docsite.yml b/.github/workflows/deploy-docsite.yml index b4539f32f8..68857f62f1 100644 --- a/.github/workflows/deploy-docsite.yml +++ b/.github/workflows/deploy-docsite.yml @@ -1,6 +1,6 @@ -name: Docsite and Storybook CI/CD +name: Docsite CI/CD -run-name: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && 'Build and Deploy' || 'Test Build' }} Docsite and Storybook +run-name: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && 'Build and Deploy' || 'Test Build' }} Docsite env: NODE_VERSION: 22 @@ -10,7 +10,7 @@ on: branches: - main workflow_dispatch: - # Also run any time a PR is opened targeting the docs or storybook resources + # Also run any time a PR is opened targeting the docs pull_request: branches: - main @@ -21,9 +21,6 @@ on: - ready_for_review paths: - "docs/**" - - "storybook/**" - - "**/*.story.*" - - "**/*.stories.*" - ".github/workflows/deploy-docsite.yml" - "Taskfile.yml" diff --git a/.storybook/custom-addons/theme/register.ts b/.storybook/custom-addons/theme/register.ts deleted file mode 100644 index c13a69b655..0000000000 --- a/.storybook/custom-addons/theme/register.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { FORCE_RE_RENDER } from "@storybook/core-events"; -import { addons } from "@storybook/manager-api"; -import { UPDATE_DARK_MODE_EVENT_NAME } from "storybook-dark-mode"; -import { dark, light } from "../../theme"; - -addons.register("theme-switcher", (api) => { - const query = window.matchMedia("(prefers-color-scheme: dark)"); - const channel = addons.getChannel(); - const update = () => { - const theme = query.matches ? dark : light; - api.setOptions({ theme }); - channel.emit(FORCE_RE_RENDER); - channel.emit(UPDATE_DARK_MODE_EVENT_NAME); - }; - - channel.on("storiesConfigured", update); - query.addEventListener("change", update); -}); diff --git a/.storybook/global.css b/.storybook/global.css deleted file mode 100644 index 73464846c8..0000000000 --- a/.storybook/global.css +++ /dev/null @@ -1,20 +0,0 @@ -body { - height: 100vh; - padding: 0; - overflow: auto; -} - -#storybook-root { - height: 100%; -} - -.grid-item { - background-color: aquamarine; - border: 1px black solid; - - &.react-grid-placeholder { - background-color: orange; - } -} - -@import "../frontend/tailwindsetup.css"; diff --git a/.storybook/main.ts b/.storybook/main.ts deleted file mode 100644 index 75d3220ede..0000000000 --- a/.storybook/main.ts +++ /dev/null @@ -1,83 +0,0 @@ -import type { StorybookConfig } from "@storybook/react-vite"; -import type { ElectronViteConfig } from "electron-vite"; -import type { UserConfig } from "vite"; - -const config: StorybookConfig = { - stories: ["../frontend/**/*.mdx", "../frontend/**/*.stories.@(js|jsx|mjs|ts|tsx)"], - - addons: [ - "@storybook/addon-links", - "@storybook/addon-essentials", - "@chromatic-com/storybook", - "@storybook/addon-interactions", - "storybook-dark-mode", - "./custom-addons/theme/register", - ], - - core: { builder: "@storybook/builder-vite" }, - - framework: { - name: "@storybook/react-vite", - options: {}, - }, - - docs: {}, - - typescript: { - reactDocgen: "react-docgen-typescript", - }, - - async viteFinal(config) { - const { mergeConfig } = await import("vite"); - const { tsImport } = await import("tsx/esm/api"); - const electronViteConfig = (await tsImport("../electron.vite.config.ts", import.meta.url)) - .default as ElectronViteConfig; - const mergedConfig = mergeConfig(config, electronViteConfig.renderer as UserConfig); - mergedConfig.build.outDir = "storybook-static"; - return mergedConfig; - }, - - staticDirs: [ - { from: "../assets", to: "/assets" }, - { from: "../public/fontawesome", to: "/fontawesome" }, - ], - managerHead: (head) => ` - ${head} - - - `, - previewHead: (head) => ` - ${head} - - - - - - - `, -}; -export default config; diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx deleted file mode 100644 index ba86add9f5..0000000000 --- a/.storybook/preview.tsx +++ /dev/null @@ -1,60 +0,0 @@ -// organize-imports-ignore -import type { Preview } from "@storybook/react"; -import React from "react"; -import { DndProvider } from "react-dnd"; -import { HTML5Backend } from "react-dnd-html5-backend"; -import "../frontend/app/theme.scss"; -import "../frontend/app/app.scss"; -import "../frontend/app/reset.scss"; -import "./global.css"; -import { light, dark } from "./theme"; -import { DocsContainer } from "@storybook/addon-docs"; -import { addons } from "@storybook/preview-api"; -import { DARK_MODE_EVENT_NAME } from "storybook-dark-mode"; - -const channel = addons.getChannel(); - -const preview: Preview = { - parameters: { - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i, - }, - }, - darkMode: { - dark, - light, - stylePreview: true, - classTarget: "html", - }, - docs: { - container: (props) => { - const [isDark, setDark] = React.useState(); - - React.useEffect(() => { - channel.on(DARK_MODE_EVENT_NAME, setDark); - return () => channel.removeListener(DARK_MODE_EVENT_NAME, setDark); - }, [channel, setDark]); - - return ( -
- -
- ); - }, - }, - }, - - decorators: [ - (Story) => ( - - - - ), - ], - - tags: ["autodocs"], -}; - -export default preview; diff --git a/.storybook/theme.ts b/.storybook/theme.ts deleted file mode 100644 index aa4f4b4cab..0000000000 --- a/.storybook/theme.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { create } from "@storybook/theming"; - -export const light = create({ - base: "light", - brandTitle: "Wave Terminal Storybook", - brandUrl: "https://docs.waveterm.dev/storybook/", - brandImage: "./assets/wave-light.png", - brandTarget: "_self", -}); - -export const dark = create({ - base: "dark", - brandTitle: "Wave Terminal Storybook", - brandUrl: "https://docs.waveterm.dev/storybook/", - brandImage: "./assets/wave-dark.png", - brandTarget: "_self", -}); diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a5cf38e726..346c778302 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,12 +39,6 @@ We have a set of recommended Visual Studio Code extensions to enforce our style To build and run Wave locally, see instructions at [Building Wave Terminal](./BUILD.md). -### UI Component Library - -We are working to document all our UI components in [Storybook](https://storybook.js.org/docs) for easy reference and testing. If you would like to help us with this, we would be very grateful! - -Our Storybook site is hosted [docs.waveterm.dev/storybook](https://docs.waveterm.dev/storybook). - ### Create a Pull Request Guidelines: @@ -62,8 +56,6 @@ The project is broken into four main components: frontend, emain, wavesrv, and w Our frontend can be found in the [`/frontend`](./frontend/) directory. It is written in React Typescript. The main entrypoint is [`wave.ts`](./frontend/wave.ts) and the root for the React VDOM is [`app.tsx`](./frontend/app/app.tsx). If you are using `task dev` to run your dev instance of the app, the frontend will be loaded using Vite, which allows for Hot Module Reloading. This should work for most styling and simple component changes, but anything that affects the state of the app (the Jotai or layout code, for instance) may put the frontend into a bad state. If this happens, you can force reload the frontend using `Cmd:Shift:R` or `Ctrl:Shift:R`. -We also have a Storybook project configured for testing our component library. We're still working to fill out the test cases for this, but it is useful for testing components in isolation. You can run this using `task storybook`. - ### emain emain can be found at [`/emain`](./emain/). It is the main NodeJS process and is first thing that is run when you start up the app and it forks off the process for the wavesrv backend and manages all the Electron interfaces, such as window and view management, context menus, and native UI calls. Its main entrypoint is [`emain.ts`](./emain/emain.ts). This process does not hot-reload, you will need to manually kill the dev instance and rerun it to apply changes. diff --git a/README.md b/README.md index 8d3c8f09c1..ad49c7c2b2 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,6 @@ Find more information in our [Contributions Guide](CONTRIBUTING.md), which inclu - [Ways to contribute](CONTRIBUTING.md#contributing-to-wave-terminal) - [Contribution guidelines](CONTRIBUTING.md#before-you-start) -- [Storybook](https://docs.waveterm.dev/storybook) ## License diff --git a/Taskfile.yml b/Taskfile.yml index 1874a2cbc2..a5f73417d7 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -54,20 +54,6 @@ tasks: WCLOUD_ENDPOINT: "https://api-dev.waveterm.dev/central" WCLOUD_WS_ENDPOINT: "wss://wsapi-dev.waveterm.dev/" - storybook: - desc: Start the Storybook server. - cmd: npm run storybook - deps: - - npm:install - - storybook:build: - desc: Build the Storybook static site. - cmd: npm run build-storybook - generates: - - storybook-static/**/* - deps: - - npm:install - docs:npm:install: desc: Runs `npm install` in docs directory internal: true @@ -93,7 +79,6 @@ tasks: desc: Build the full docsite. cmds: - cd docs && npm run build - - task: copyfiles:'storybook-static':'docs/build/storybook' env: USE_SIMPLE_CSS_MINIFIER: "true" sources: @@ -101,12 +86,10 @@ tasks: - "docs/src/**/*" - "docs/docs/**/*" - "docs/static/**/*" - - storybook-static/**/* generates: - "docs/build/**/*" deps: - docs:npm:install - - storybook:build package: desc: Package the application for the current platform. diff --git a/docs/README.md b/docs/README.md index 6aebc0e886..f118e41d1f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -17,11 +17,11 @@ This command starts a local development server and opens up a browser window. Mo ### Build ```sh -task docsite:build: +task docsite:build:public ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. ### Deployment -Deployments are handled automatically by the [Docsite and Storybook CI/CD workflow](../.github/workflows/deploy-docsite.yml) +Deployments are handled automatically by the [Docsite CI/CD workflow](../.github/workflows/deploy-docsite.yml) diff --git a/frontend/app/element/button.stories.tsx b/frontend/app/element/button.stories.tsx deleted file mode 100644 index 9dcce99663..0000000000 --- a/frontend/app/element/button.stories.tsx +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { fn } from "@storybook/test"; -import { Button } from "./button"; - -const meta = { - title: "Elements/Button", - component: Button, - args: { - children: "Click Me", - disabled: false, - className: "", - onClick: fn(), - }, - argTypes: { - onClick: { - action: "clicked", - description: "Click event handler", - }, - children: { - description: "Content inside the button", - }, - disabled: { - description: "Disables the button if true", - }, - className: { - description: "Additional class names to style the button", - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = {}; - -export const Disabled: Story = { - args: { - disabled: true, - children: "Disabled Button", - }, -}; - -export const GreySolid: Story = { - args: { - className: "solid grey", - children: "Grey Solid Button", - }, -}; - -export const RedSolid: Story = { - args: { - className: "solid red", - children: "Red Solid Button", - }, -}; - -export const YellowSolid: Story = { - args: { - className: "solid yellow", - children: "Yellow Solid Button", - }, -}; - -export const GreenOutlined: Story = { - args: { - className: "outlined green", - children: "Green Outline Button", - }, -}; - -export const GreyOutlined: Story = { - args: { - className: "outlined grey", - children: "Grey Outline Button", - }, -}; - -export const RedOutlined: Story = { - args: { - className: "outlined red", - children: "Red Outline Button", - }, -}; - -export const YellowOutlined: Story = { - args: { - className: "outlined yellow", - children: "Yellow Outline Button", - }, -}; - -export const GreenGhostText: Story = { - args: { - className: "ghost green", - children: "Yellow Ghost Text Button", - }, -}; - -export const GreyGhostText: Story = { - args: { - className: "ghost grey", - children: "Grey Ghost Text Button", - }, -}; - -export const RedGhost: Story = { - args: { - className: "ghost red", - children: "Red Ghost Text Button", - }, -}; - -export const YellowGhostText: Story = { - args: { - className: "ghost yellow", - children: "Yellow Ghost Text Button", - }, -}; diff --git a/frontend/app/element/emojipalette.stories.tsx b/frontend/app/element/emojipalette.stories.tsx deleted file mode 100644 index 3d5fe5c928..0000000000 --- a/frontend/app/element/emojipalette.stories.tsx +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { EmojiPalette } from "./emojipalette"; - -const meta: Meta = { - title: "Elements/EmojiPalette", - component: EmojiPalette, - args: { - className: "custom-emoji-palette-class", - }, - argTypes: { - className: { - description: "Custom class for emoji palette styling", - }, - }, -}; - -export default meta; -type Story = StoryObj; - -export const DefaultEmojiPalette: Story = { - render: (args) => { - return ( -
- -
- ); - }, - args: { - className: "custom-emoji-palette-class", - }, -}; diff --git a/frontend/app/element/expandablemenu.stories.tsx b/frontend/app/element/expandablemenu.stories.tsx deleted file mode 100644 index 2647067387..0000000000 --- a/frontend/app/element/expandablemenu.stories.tsx +++ /dev/null @@ -1,391 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import { Meta, StoryObj } from "@storybook/react"; -import { - ExpandableMenu, - ExpandableMenuItem, - ExpandableMenuItemGroup, - ExpandableMenuItemGroupTitle, - ExpandableMenuItemLeftElement, - ExpandableMenuItemRightElement, - type ExpandableMenuItemData, -} from "./expandablemenu"; - -const meta: Meta = { - title: "Elements/ExpandableMenu", - component: ExpandableMenu, - tags: ["autodocs"], -}; - -export default meta; - -type Story = StoryObj; - -export const Default: Story = { - render: () => ( - - - 🏠 -
Dashboard
- Ctrl + D -
- - Settings - - 👤 -
Profile
-
- - 🔒 -
Account
-
-
- - More - - Submenu - - 📄 -
Item 1
-
- - 📄 -
Item 2
-
-
-
-
- ), -}; - -export const NestedExpandableMenu: Story = { - render: () => ( - - - 🏠 -
Home
-
- - - 📁 -
Categories
- {">"} -
- - - 📱 -
Electronics
-
- - - 📱 -
Mobile Phones
-
- - - 🤖 -
Android Phones
-
- - - 🔝 -
High-End
-
- - 📱 -
Samsung Galaxy S Series
- Ctrl + 1 -
- - 📱 -
Google Pixel
- Ctrl + 2 -
-
- - Budget - Redmi Note Series - Realme - -
- - iPhones - iPhone 14 - iPhone SE - -
- - Laptops - Gaming Laptops - Ultrabooks - -
- - Appliances - - Kitchen Appliances - Microwaves - Ovens - - - Large Appliances - Refrigerators - Washing Machines - - - Palette - -
test
-
-
-
-
-
- ), -}; - -const menuData: ExpandableMenuItemData[] = [ - { - type: "item", - leftElement: "🏠", - content: "Home", - id: "16830f20-b3b9-42bb-8cc9-db6f409651d8", - }, - { - type: "group", - title: { - leftElement: "📁", - label: "Categories", - rightElement: , - }, - isOpen: true, - id: "4564f119-645e-448c-80b7-2f40f887e670", - children: [ - { - type: "group", - title: { - leftElement: "📱", - label: "Electronics", - rightElement: , - }, - id: "596e76eb-d87d-425e-9f6e-1519069ee447", - children: [ - { - type: "group", - title: { - leftElement: "📱", - label: "Mobile Phones", - rightElement: , - }, - id: "0dbb9dff-dad3-4a5a-a6b1-53fea2d811c6", - children: [ - { - type: "group", - title: { - leftElement: "🤖", - label: "Android Phones", - rightElement: , - }, - id: "7cc2a2df-37d8-426e-9235-c1a0902d5843", - children: [ - { - type: "group", - title: { - leftElement: "🔝", - label: "High-End", - rightElement: , - }, - id: "75e709b9-d51b-4054-97e7-6fab33c2f88d", - children: [ - { - type: "item", - leftElement: "📱", - content: "Samsung Galaxy S Series", - rightElement: "Ctrl + 1", - id: "5aaa9050-3e58-4fe5-9ff5-638bded6a6e2", - }, - { - type: "item", - leftElement: "📱", - content: "Google Pixel", - rightElement: "Ctrl + 2", - id: "56e7f50f-78fc-4145-8294-e78b39de7501", - }, - ], - }, - { - type: "group", - title: { - label: "Budget", - rightElement: , - }, - id: "194d25a1-8cdd-41fa-a3a9-6f03d8a6ab37", - children: [ - { - type: "item", - content: "Redmi Note Series", - id: "c8b8248a-9c43-4eea-8725-33ae0c783858", - }, - { - type: "item", - content: "Realme", - id: "d61c762f-7d75-4f69-828c-24b41d2e0d9b", - }, - ], - }, - ], - }, - { - type: "group", - title: { - label: "iPhones", - rightElement: , - }, - id: "51b05462-1677-4258-87ac-eb18edc0a76c", - children: [ - { - type: "item", - content: "iPhone 14", - id: "0f468f54-0118-4e04-a885-ed3f650fc290", - }, - { - type: "item", - content: "iPhone SE", - id: "96289d85-c2c5-424b-8157-6d39969ba118", - }, - ], - }, - ], - }, - { - type: "group", - title: { - label: "Laptops", - rightElement: , - }, - id: "881e7d15-e8a0-4286-9004-ecde9a1a89f4", - children: [ - { - type: "item", - content: "Gaming Laptops", - id: "797859e1-50a2-4dca-93c9-1a630ef16498", - }, - { - type: "item", - content: "Ultrabooks", - id: "b90933d3-aaf1-4aa7-968c-fa3d25201585", - }, - ], - }, - ], - }, - { - type: "group", - title: { - label: "Appliances", - rightElement: , - }, - id: "3c9d098e-a4c7-4dae-a350-557672041ebb", - children: [ - { - type: "group", - title: { - label: "Kitchen Appliances", - rightElement: , - }, - id: "541c57e5-6247-4c97-a988-10af0f21c21d", - children: [ - { - type: "item", - content: "Microwaves", - id: "f785da1b-6f60-4411-8444-f928e7ed7e77", - }, - { - type: "item", - content: "Ovens", - id: "a4d3d2a7-bafa-4b4e-b7bd-88177f6515c3", - }, - ], - }, - { - type: "group", - title: { - label: "Large Appliances", - rightElement: , - }, - id: "c5a94ccc-1d42-45c4-aa22-db65816256a9", - children: [ - { - type: "item", - content: "Refrigerators", - id: "21b78bc0-5012-4f80-b552-00787654581e", - }, - { - type: "item", - content: "Washing Machines", - id: "2eb6eb7d-e624-4eba-88e2-521da1dc8a20", - }, - ], - }, - { - type: "group", - title: { - label: "Palette", - rightElement: , - }, - id: "34c52670-9267-47b6-a702-957c6f23a00b", - children: [ - { - type: "item", - content:
test
, - id: "965c81bb-e08d-4b90-954b-ea69ce33cdce", - }, - ], - }, - ], - }, - ], - }, -]; - -const renderExpandableMenu = (menuItems: ExpandableMenuItemData[]) => { - return menuItems.map((item) => { - if (item.type === "item") { - return ( - - {item.leftElement && ( - {item.leftElement} - )} -
{item.content as any}
- {item.rightElement && ( - {item.rightElement} - )} -
- ); - } else if (item.type === "group") { - return ( - - - {item.title.leftElement && ( - {item.title.leftElement} - )} -
{item.title.label}
- {item.title.rightElement && ( - {item.title.rightElement} - )} -
- {item.children && renderExpandableMenu(item.children)} -
- ); - } - }); -}; - -export const DynamicNestedExpandableMenu: Story = { - render: () => {renderExpandableMenu(menuData)}, -}; - -export const NoIndentExpandableMenu: Story = { - render: () => {renderExpandableMenu(menuData)}, -}; diff --git a/frontend/app/element/flyoutmenu.stories.tsx b/frontend/app/element/flyoutmenu.stories.tsx deleted file mode 100644 index 0e3a3c9dfa..0000000000 --- a/frontend/app/element/flyoutmenu.stories.tsx +++ /dev/null @@ -1,289 +0,0 @@ -import type { Meta, StoryObj } from "@storybook/react"; -import { useRef } from "react"; -import { Button } from "./button"; -import { FlyoutMenu } from "./flyoutmenu"; - -const items = [ - { label: "Fruit", onClick: (e) => console.log("Clicked Option 1") }, - { - label: "Vegetables", - subItems: [ - { label: "Carrot", onClick: (e) => console.log("Clicked Option 2 -> 1") }, - { label: "Potato", onClick: (e) => console.log("Clicked Option 2 -> 2") }, - ], - }, - { - label: "Beverages", - subItems: [ - { label: "Juice", onClick: (e) => console.log("Clicked Option 3 -> 1") }, - { label: "Tea", onClick: (e) => console.log("Clicked Option 3 -> 2") }, - { - label: "Coffee", - subItems: [ - { label: "Espresso", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 1") }, - { label: "Latte", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 2") }, - { label: "Cappuccino", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 3") }, - { - label: "Mocha", - subItems: [ - { label: "Dark Chocolate", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 1") }, - { - label: "White Chocolate", - onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 2"), - }, - { label: "Milk Chocolate", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 3") }, - ], - }, - ], - }, - ], - }, - { - label: "Desserts", - subItems: [ - { label: "Cake", onClick: (e) => console.log("Clicked Option 4 -> 1") }, - { label: "Ice Cream", onClick: (e) => console.log("Clicked Option 4 -> 2") }, - { label: "Cookies", onClick: (e) => console.log("Clicked Option 4 -> 3") }, - { label: "Brownies", onClick: (e) => console.log("Clicked Option 4 -> 4") }, - { label: "Cupcakes", onClick: (e) => console.log("Clicked Option 4 -> 5") }, - { label: "Donuts", onClick: (e) => console.log("Clicked Option 4 -> 6") }, - { label: "Pie", onClick: (e) => console.log("Clicked Option 4 -> 7") }, - ], - }, -]; - -const meta = { - title: "Elements/FlyoutMenu", - component: FlyoutMenu, - args: { - items: [], - children: null, - }, - argTypes: { - items: { - description: "Items of menu", - }, - className: { - description: "Custom className", - }, - children: { - description: "The contents of the menu anchor element", - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const DefaultRendererLeftPositioned: Story = { - render: (args) => { - const mapItemsWithClick = (items: any[]) => { - return items.map((item) => ({ - ...item, - onClick: () => { - if (item.onClick) { - item.onClick(); - } - }, - subItems: item.subItems ? mapItemsWithClick(item.subItems) : undefined, - })); - }; - - const modifiedArgs = { - ...args, - items: mapItemsWithClick(args.items), - }; - - return ( -
-
- - - -
-
- ); - }, - args: { - items: items, - }, -}; - -export const DefaultRendererRightPositioned: Story = { - render: (args) => { - const mapItemsWithClick = (items: any[]) => { - return items.map((item) => ({ - ...item, - onClick: () => { - if (item.onClick) { - item.onClick(); - } - }, - subItems: item.subItems ? mapItemsWithClick(item.subItems) : undefined, - })); - }; - - const modifiedArgs = { - ...args, - items: mapItemsWithClick(args.items), - }; - - return ( -
-
- - - -
-
- ); - }, - args: { - items: items, - }, -}; - -export const DefaultRendererBottomRightPositioned: Story = { - render: (args) => { - const mapItemsWithClick = (items: any[]) => { - return items.map((item) => ({ - ...item, - onClick: () => { - if (item.onClick) { - item.onClick(); - } - }, - subItems: item.subItems ? mapItemsWithClick(item.subItems) : undefined, - })); - }; - - const modifiedArgs = { - ...args, - items: mapItemsWithClick(args.items), - }; - - return ( -
-
- - - -
-
- ); - }, - args: { - items: items, - }, -}; - -export const DefaultRendererBottomLeftPositioned: Story = { - render: (args) => { - const anchorRef = useRef(null); - const scopeRef = useRef(null); - - const mapItemsWithClick = (items: any[]) => { - return items.map((item) => ({ - ...item, - onClick: () => { - if (item.onClick) { - item.onClick(); - } - }, - subItems: item.subItems ? mapItemsWithClick(item.subItems) : undefined, - })); - }; - - const modifiedArgs = { - ...args, - items: mapItemsWithClick(args.items), - }; - - return ( -
-
- - - -
-
- ); - }, - args: { - items: items, - }, -}; - -export const CustomRenderer: Story = { - render: (args) => { - const mapItemsWithClick = (items: any[]) => { - return items.map((item) => ({ - ...item, - onClick: () => { - if (item.onClick) { - item.onClick(); - } - }, - subItems: item.subItems ? mapItemsWithClick(item.subItems) : undefined, - })); - }; - - const renderMenuItem = (item: any, props: any) => ( -
- {item.label} - {item.subItems && } -
- ); - - const renderMenu = (subMenu: React.ReactElement) =>
{subMenu}
; - - const modifiedArgs = { - ...args, - items: mapItemsWithClick(args.items), - }; - - return ( -
-
- - - -
-
- ); - }, - args: { - items: items, - }, -}; diff --git a/frontend/app/element/input.stories.tsx b/frontend/app/element/input.stories.tsx deleted file mode 100644 index ced811aab4..0000000000 --- a/frontend/app/element/input.stories.tsx +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { Input, InputGroup, InputLeftElement, InputRightElement } from "./input"; - -const meta: Meta = { - title: "Elements/Input", - component: InputGroup, - args: { - className: "custom-input-group-class", - }, - argTypes: { - className: { - description: "Custom class for input group styling", - }, - }, -}; - -export default meta; - -type Story = StoryObj; - -export const DefaultInput: Story = { - render: (args) => { - return ( -
- -
- ); - }, - args: { - className: "custom-input-group-class", - }, -}; - -export const InputWithLeftElement: Story = { - render: (args) => { - return ( -
- - - - - - -
- ); - }, - args: { - className: "custom-input-group-class", - }, -}; - -export const InputWithLeftAndRightElement: Story = { - render: (args) => { - return ( -
- - $ - - - - - -
- ); - }, - args: { - className: "custom-input-group-class", - }, -}; diff --git a/frontend/app/element/magnify.stories.tsx b/frontend/app/element/magnify.stories.tsx deleted file mode 100644 index 5e7e1c8b78..0000000000 --- a/frontend/app/element/magnify.stories.tsx +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { MagnifyIcon } from "./magnify"; - -const meta = { - title: "Icons/Magnify", - component: MagnifyIcon, - args: { - enabled: true, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Enabled: Story = { - args: { - enabled: true, - }, -}; - -export const Disabled: Story = { - args: { - enabled: false, - }, -}; diff --git a/frontend/app/element/menubutton.stories.tsx b/frontend/app/element/menubutton.stories.tsx deleted file mode 100644 index 70ea4c50fd..0000000000 --- a/frontend/app/element/menubutton.stories.tsx +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import { Meta, StoryObj } from "@storybook/react"; -import { MenuButton } from "./menubutton"; - -const items: MenuItem[] = [ - { label: "Fruit", onClick: (e) => console.log("Clicked Option 1") }, - { - label: "Vegetables", - subItems: [ - { label: "Carrot", onClick: (e) => console.log("Clicked Option 2 -> 1") }, - { label: "Potato", onClick: (e) => console.log("Clicked Option 2 -> 2") }, - ], - }, - { - label: "Beverages", - subItems: [ - { label: "Juice", onClick: (e) => console.log("Clicked Option 3 -> 1") }, - { label: "Tea", onClick: (e) => console.log("Clicked Option 3 -> 2") }, - { - label: "Coffee", - subItems: [ - { label: "Espresso", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 1") }, - { label: "Latte", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 2") }, - { label: "Cappuccino", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 3") }, - { - label: "Mocha", - subItems: [ - { label: "Dark Chocolate", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 1") }, - { - label: "White Chocolate", - onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 2"), - }, - { label: "Milk Chocolate", onClick: (e) => console.log("Clicked Option 3 -> 3 -> 4 -> 3") }, - ], - }, - ], - }, - ], - }, - { - label: "Desserts", - subItems: [ - { label: "Cake", onClick: (e) => console.log("Clicked Option 4 -> 1") }, - { label: "Ice Cream", onClick: (e) => console.log("Clicked Option 4 -> 2") }, - { label: "Cookies", onClick: (e) => console.log("Clicked Option 4 -> 3") }, - { label: "Brownies", onClick: (e) => console.log("Clicked Option 4 -> 4") }, - { label: "Cupcakes", onClick: (e) => console.log("Clicked Option 4 -> 5") }, - { label: "Donuts", onClick: (e) => console.log("Clicked Option 4 -> 6") }, - { label: "Pie", onClick: (e) => console.log("Clicked Option 4 -> 7") }, - ], - }, -]; - -const meta: Meta = { - title: "Elements/MenuButton", // Updated title to reflect the component name - component: MenuButton, - argTypes: { - items: { control: "object" }, - text: { control: "text" }, - title: { control: "text" }, - className: { control: "text" }, - }, -}; - -export default meta; -type Story = StoryObj; - -const basicItems: MenuItem[] = [ - { - label: "Profile", - onClick: () => console.log("Profile clicked"), - }, - { - label: "Settings", - onClick: () => console.log("Settings clicked"), - }, - { - label: "Logout", - onClick: () => console.log("Logout clicked"), - }, -]; - -export const Default: Story = { - args: { - items: basicItems, - text: "Menu", - title: "Menu Button", - className: "", - }, - render: (args) => , -}; - -export const WithMoreItems: Story = { - args: { - items: items, - text: "Extended Menu", - title: "Extended Menu Button", - className: "", - }, - render: (args) => , -}; diff --git a/frontend/app/element/multilineinput.stories.tsx b/frontend/app/element/multilineinput.stories.tsx deleted file mode 100644 index 45b3f5e518..0000000000 --- a/frontend/app/element/multilineinput.stories.tsx +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { useState } from "react"; -import { MultiLineInput } from "./multilineinput"; - -const meta: Meta = { - title: "Elements/MultiLineInput", - component: MultiLineInput, - argTypes: { - value: { - description: "The value of the textarea.", - control: "text", - }, - placeholder: { - description: "The placeholder text for the textarea.", - control: "text", - defaultValue: "Type a message...", - }, - maxRows: { - description: "Maximum number of rows the textarea can expand to.", - control: "number", - defaultValue: 5, - }, - rows: { - description: "Initial number of rows for the textarea.", - control: "number", - defaultValue: 1, - }, - maxLength: { - description: "The maximum number of characters allowed.", - control: "number", - defaultValue: 200, - }, - autoFocus: { - description: "Autofocus the input when the component mounts.", - control: "boolean", - defaultValue: false, - }, - disabled: { - description: "Disables the textarea if set to true.", - control: "boolean", - defaultValue: false, - }, - }, -}; - -export default meta; -type Story = StoryObj; - -// Default MultiLineInput Story -export const DefaultMultiLineInput: Story = { - render: (args) => { - const [message, setMessage] = useState(""); - - const handleChange = (e: React.ChangeEvent) => { - setMessage(e.target.value); - }; - - return ( -
- -
- ); - }, - args: { - placeholder: "Type your message...", - rows: 1, - maxRows: 5, - }, -}; - -// MultiLineInput with long text -export const MultiLineInputWithLongText: Story = { - render: (args) => { - const [message, setMessage] = useState("This is a long message that will expand the textarea."); - - const handleChange = (e: React.ChangeEvent) => { - setMessage(e.target.value); - }; - - return ( -
- -
- ); - }, - args: { - placeholder: "Type a long message...", - rows: 1, - maxRows: 10, - }, -}; diff --git a/frontend/app/element/popover.stories.tsx b/frontend/app/element/popover.stories.tsx deleted file mode 100644 index e60b5b1cce..0000000000 --- a/frontend/app/element/popover.stories.tsx +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { Popover, PopoverButton, PopoverContent } from "./popover"; - -const meta: Meta = { - title: "Elements/Popover", - component: Popover, - args: { - className: "custom-popover-class", - }, - argTypes: { - className: { - description: "Custom class for popover styling", - }, - }, -}; - -export default meta; -type Story = StoryObj; - -export const DefaultPopover: Story = { - render: (args) => { - return ( -
- - - - - -
- - Empty -
-
-
-
- ); - }, - args: { - className: "custom-popover-class", - }, -}; diff --git a/frontend/app/element/progressbar.stories.tsx b/frontend/app/element/progressbar.stories.tsx deleted file mode 100644 index abdebc6912..0000000000 --- a/frontend/app/element/progressbar.stories.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { ProgressBar } from "./progressbar"; - -const meta: Meta = { - title: "Elements/ProgressBar", - component: ProgressBar, - args: { - progress: 0, // Default value - label: "Progress", - }, - argTypes: { - progress: { - description: "Percentage of progress (0-100)", - control: { type: "range", min: 0, max: 100 }, - }, - label: { - description: "Accessible label for the progress bar", - control: "text", - }, - }, -}; - -export default meta; - -type Story = StoryObj; - -export const EmptyProgress: Story = { - render: (args) => ( -
- -
- ), - args: { - progress: 0, // No progress - label: "Empty progress bar", - }, -}; - -export const FilledProgress: Story = { - render: (args) => ( -
- -
- ), - args: { - progress: 90, // Filled to 90% - label: "Filled progress bar", - }, -}; diff --git a/frontend/app/element/search.stories.tsx b/frontend/app/element/search.stories.tsx deleted file mode 100644 index 89f0f90a1b..0000000000 --- a/frontend/app/element/search.stories.tsx +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2025, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -import type { Meta, StoryObj } from "@storybook/react"; -import { useSetAtom } from "jotai"; -import { useEffect } from "react"; -import { Popover } from "./popover"; -import { Search, useSearch } from "./search"; - -const meta: Meta = { - title: "Elements/Search", - component: Search, - args: {}, -}; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: (args) => { - const props = useSearch(); - const setIsOpen = useSetAtom(props.isOpen); - useEffect(() => { - setIsOpen(true); - }, []); - return ( -
} - style={{ - border: "2px solid black", - width: "100%", - height: "200px", - background: "var(--main-bg-color)", - }} - > - -
- ); - }, - args: {}, -}; - -export const AdditionalButtons: Story = { - render: (args) => { - const props = useSearch({ regex: true, caseSensitive: true, wholeWord: true }); - const setIsOpen = useSetAtom(props.isOpen); - useEffect(() => { - setIsOpen(true); - }, []); - return ( -
} - style={{ - border: "2px solid black", - width: "100%", - height: "200px", - background: "var(--main-bg-color)", - }} - > - -
- ); - }, - args: {}, -}; - -export const Results10: Story = { - render: (args) => { - const props = useSearch(); - const setIsOpen = useSetAtom(props.isOpen); - const setNumResults = useSetAtom(props.resultsCount); - useEffect(() => { - setIsOpen(true); - setNumResults(10); - }, []); - return ( -
} - style={{ - border: "2px solid black", - width: "100%", - height: "200px", - background: "var(--main-bg-color)", - }} - > - -
- ); - }, - args: {}, -}; - -export const InputAndResults10: Story = { - render: (args) => { - const props = useSearch(); - const setIsOpen = useSetAtom(props.isOpen); - const setNumResults = useSetAtom(props.resultsCount); - const setSearch = useSetAtom(props.searchValue); - useEffect(() => { - setIsOpen(true); - setSearch("search term"); - setTimeout(() => setNumResults(10), 10); - }, []); - return ( -
} - style={{ - border: "2px solid black", - width: "100%", - height: "200px", - background: "var(--main-bg-color)", - }} - > - -
- ); - }, - args: {}, -}; - -export const LongInputAndResults10: Story = { - render: (args) => { - const props = useSearch(); - const setIsOpen = useSetAtom(props.isOpen); - const setNumResults = useSetAtom(props.resultsCount); - const setSearch = useSetAtom(props.searchValue); - useEffect(() => { - setIsOpen(true); - setSearch("search term ".repeat(10).trimEnd()); - setTimeout(() => setNumResults(10), 10); - }, []); - return ( -
} - style={{ - border: "2px solid black", - width: "100%", - height: "200px", - background: "var(--main-bg-color)", - }} - > - -
- ); - }, - args: {}, -}; diff --git a/frontend/layout/lib/tilelayout.stories.scss b/frontend/layout/lib/tilelayout.stories.scss deleted file mode 100644 index b179ffc8f5..0000000000 --- a/frontend/layout/lib/tilelayout.stories.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024, Command Line Inc. -// SPDX-License-Identifier: Apache-2.0 - -.placeholder-visible { - .overlay-container, - .placeholder-container { - transform: unset !important; - } -} diff --git a/frontend/types/gotypes.d.ts b/frontend/types/gotypes.d.ts index 71cb982254..8b80fe62af 100644 --- a/frontend/types/gotypes.d.ts +++ b/frontend/types/gotypes.d.ts @@ -1220,6 +1220,8 @@ declare global { "count:views"?: {[key: string]: number}; "waveai:apitype"?: string; "waveai:model"?: string; + "waveai:chatid"?: string; + "waveai:stepnum"?: number; "waveai:inputtokens"?: number; "waveai:outputtokens"?: number; "waveai:nativewebsearchcount"?: number; diff --git a/package-lock.json b/package-lock.json index ef9616f849..b770d276d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "waveterm", - "version": "0.12.4-beta.2", + "version": "0.12.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "waveterm", - "version": "0.12.4-beta.2", + "version": "0.12.4", "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [ @@ -87,18 +87,8 @@ "yaml": "^2.7.1" }, "devDependencies": { - "@chromatic-com/storybook": "^3.2.7", "@eslint/js": "^8.57.0", "@rollup/plugin-node-resolve": "^16.0.3", - "@storybook/addon-essentials": "^8.6.14", - "@storybook/addon-interactions": "^8.6.14", - "@storybook/addon-links": "^8.6.14", - "@storybook/blocks": "^8.6.14", - "@storybook/builder-vite": "^8.6.14", - "@storybook/react": "^8.6.14", - "@storybook/react-vite": "^8.6.14", - "@storybook/test": "^8.6.14", - "@storybook/theming": "^8.6.14", "@tailwindcss/vite": "^4.1.17", "@types/color": "^4.2.0", "@types/css-tree": "^2", @@ -129,8 +119,6 @@ "prettier-plugin-jsdoc": "^1.5.0", "prettier-plugin-organize-imports": "^4.3.0", "sass": "1.91.0", - "storybook": "^8.6.14", - "storybook-dark-mode": "^4.0.2", "tailwindcss": "^4.1.17", "tailwindcss-animate": "^1.0.7", "ts-node": "^10.9.2", @@ -264,13 +252,6 @@ "@parcel/watcher": "^2.4.1" } }, - "node_modules/@adobe/css-tools": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", - "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", - "dev": true, - "license": "MIT" - }, "node_modules/@ai-sdk/gateway": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.11.tgz", @@ -2360,27 +2341,6 @@ "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", "license": "Apache-2.0" }, - "node_modules/@chromatic-com/storybook": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-3.2.7.tgz", - "integrity": "sha512-fCGhk4cd3VA8RNg55MZL5CScdHqljsQcL9g6Ss7YuobHpSo9yytEWNdgMd5QxAHSPBlLGFHjnSmliM3G/BeBqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chromatic": "^11.15.0", - "filesize": "^10.0.12", - "jsonfile": "^6.1.0", - "react-confetti": "^6.1.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=16.0.0", - "yarn": ">=1.22.18" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -6712,40 +6672,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.5.0.tgz", - "integrity": "sha512-qYDdL7fPwLRI+bJNurVcis+tNgJmvWjH4YTBGXTA8xMuxFrnAz6E5o35iyzyKbq5J5Lr8mJGfrR5GXl+WGwhgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^10.0.0", - "magic-string": "^0.27.0", - "react-docgen-typescript": "^2.2.2" - }, - "peerDependencies": { - "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -8572,569 +8498,6 @@ "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", "license": "MIT" }, - "node_modules/@storybook/addon-actions": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.6.14.tgz", - "integrity": "sha512-mDQxylxGGCQSK7tJPkD144J8jWh9IU9ziJMHfB84PKpI/V5ZgqMDnpr2bssTrUaGDqU5e1/z8KcRF+Melhs9pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@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" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "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, - "license": "MIT" - }, - "node_modules/@storybook/addon-backgrounds": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.6.14.tgz", - "integrity": "sha512-l9xS8qWe5n4tvMwth09QxH2PmJbCctEvBAc1tjjRasAfrd69f7/uFK4WhwJAstzBTNgTc8VXI4w8ZR97i1sFbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-controls": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.6.14.tgz", - "integrity": "sha512-IiQpkNJdiRyA4Mq9mzjZlvQugL/aE7hNgVxBBGPiIZG6wb6Ht9hNnBYpap5ZXXFKV9p2qVI0FZK445ONmAa+Cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "dequal": "^2.0.2", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-docs": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.6.14.tgz", - "integrity": "sha512-Obpd0OhAF99JyU5pp5ci17YmpcQtMNgqW2pTXV8jAiiipWpwO++hNDeQmLmlSXB399XjtRDOcDVkoc7rc6JzdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.6.14", - "@storybook/csf-plugin": "8.6.14", - "@storybook/react-dom-shim": "8.6.14", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-essentials": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.6.14.tgz", - "integrity": "sha512-5ZZSHNaW9mXMOFkoPyc3QkoNGdJHETZydI62/OASR0lmPlJ1065TNigEo5dJddmZNn0/3bkE8eKMAzLnO5eIdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/addon-actions": "8.6.14", - "@storybook/addon-backgrounds": "8.6.14", - "@storybook/addon-controls": "8.6.14", - "@storybook/addon-docs": "8.6.14", - "@storybook/addon-highlight": "8.6.14", - "@storybook/addon-measure": "8.6.14", - "@storybook/addon-outline": "8.6.14", - "@storybook/addon-toolbars": "8.6.14", - "@storybook/addon-viewport": "8.6.14", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-highlight": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.6.14.tgz", - "integrity": "sha512-4H19OJlapkofiE9tM6K/vsepf4ir9jMm9T+zw5L85blJZxhKZIbJ6FO0TCG9PDc4iPt3L6+aq5B0X29s9zicNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-interactions": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.6.14.tgz", - "integrity": "sha512-8VmElhm2XOjh22l/dO4UmXxNOolGhNiSpBcls2pqWSraVh4a670EyYBZsHpkXqfNHo2YgKyZN3C91+9zfH79qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.6.14", - "@storybook/test": "8.6.14", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-links": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.6.14.tgz", - "integrity": "sha512-DRlXHIyZzOruAZkxmXfVgTF+4d6K27pFcH4cUsm3KT1AXuZbr23lb5iZHpUZoG6lmU85Sru4xCEgewSTXBIe1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@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 || ^19.0.0-beta", - "storybook": "^8.6.14" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-measure": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.6.14.tgz", - "integrity": "sha512-1Tlyb72NX8aAqm6I6OICsUuGOP6hgnXcuFlXucyhKomPa6j3Eu2vKu561t/f0oGtAK2nO93Z70kVaEh5X+vaGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-outline": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.6.14.tgz", - "integrity": "sha512-CW857JvN6OxGWElqjlzJO2S69DHf+xO3WsEfT5mT3ZtIjmsvRDukdWfDU9bIYUFyA2lFvYjncBGjbK+I91XR7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-toolbars": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.6.14.tgz", - "integrity": "sha512-W/wEXT8h3VyZTVfWK/84BAcjAxTdtRiAkT2KAN0nbSHxxB5KEM1MjKpKu2upyzzMa3EywITqbfy4dP6lpkVTwQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/addon-viewport": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.6.14.tgz", - "integrity": "sha512-gNzVQbMqRC+/4uQTPI2ZrWuRHGquTMZpdgB9DrD88VTEjNudP+J6r8myLfr2VvGksBbUMHkGHMXHuIhrBEnXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/blocks": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.6.14.tgz", - "integrity": "sha512-rBMHAfA39AGHgkrDze4RmsnQTMw1ND5fGWobr9pDcJdnDKWQWNRD7Nrlxj0gFlN3n4D9lEZhWGdFrCbku7FVAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/icons": "^1.2.12", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^8.6.14" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/builder-vite": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.6.14.tgz", - "integrity": "sha512-ajWYhy32ksBWxwWHrjwZzyC0Ii5ZTeu5lsqA95Q/EQBB0P5qWlHWGM3AVyv82Mz/ND03ebGy123uVwgf6olnYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf-plugin": "8.6.14", - "browser-assert": "^1.2.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14", - "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@storybook/components": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.6.14.tgz", - "integrity": "sha512-HNR2mC5I4Z5ek8kTrVZlIY/B8gJGs5b3XdZPBPBopTIN6U/YHXiDyOjY3JlaS4fSG1fVhp/Qp1TpMn1w/9m1pw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/core": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.6.14.tgz", - "integrity": "sha512-1P/w4FSNRqP8j3JQBOi3yGt8PVOgSRbP66Ok520T78eJBeqx9ukCfl912PQZ7SPbW3TIunBwLXMZOjZwBB/JmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/theming": "8.6.14", - "better-opn": "^3.0.2", - "browser-assert": "^1.2.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", - "esbuild-register": "^3.5.0", - "jsdoc-type-pratt-parser": "^4.0.0", - "process": "^0.11.10", - "recast": "^0.23.5", - "semver": "^7.6.2", - "util": "^0.12.5", - "ws": "^8.2.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, - "node_modules/@storybook/core-events": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.6.14.tgz", - "integrity": "sha512-RrJ95u3HuIE4Nk8VmZP0tc/u0vYoE2v9fYlMw6K2GUSExzKDITs3voy6WMIY7Q3qbQun8XUXVlmqkuFzTEy/pA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/csf-plugin": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.6.14.tgz", - "integrity": "sha512-dErtc9teAuN+eelN8FojzFE635xlq9cNGGGEu0WEmMUQ4iJ8pingvBO1N8X3scz4Ry7KnxX++NNf3J3gpxS8qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", - "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/icons": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.4.0.tgz", - "integrity": "sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" - } - }, - "node_modules/@storybook/instrumenter": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.6.14.tgz", - "integrity": "sha512-iG4MlWCcz1L7Yu8AwgsnfVAmMbvyRSk700Mfy2g4c8y5O+Cv1ejshE1LBBsCwHgkuqU0H4R0qu4g23+6UnUemQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@vitest/utils": "^2.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/manager-api": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.6.14.tgz", - "integrity": "sha512-ez0Zihuy17udLbfHZQXkGqwtep0mSGgHcNzGN7iZrMP1m+VmNo+7aGCJJdvXi7+iU3yq8weXSQFWg5DqWgLS7g==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/preview-api": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.6.14.tgz", - "integrity": "sha512-2GhcCd4dNMrnD7eooEfvbfL4I83qAqEyO0CO7JQAmIO6Rxb9BsOLLI/GD5HkvQB73ArTJ+PT50rfaO820IExOQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/react": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.6.14.tgz", - "integrity": "sha512-BOepx5bBFwl/CPI+F+LnmMmsG1wQYmrX/UQXgUbHQUU9Tj7E2ndTnNbpIuSLc8IrM03ru+DfwSg1Co3cxWtT+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/components": "8.6.14", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "8.6.14", - "@storybook/preview-api": "8.6.14", - "@storybook/react-dom-shim": "8.6.14", - "@storybook/theming": "8.6.14" - }, - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@storybook/test": "8.6.14", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.6.14", - "typescript": ">= 4.2.x" - }, - "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/@storybook/react-dom-shim": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.6.14.tgz", - "integrity": "sha512-0hixr3dOy3f3M+HBofp3jtMQMS+sqzjKNgl7Arfuj3fvjmyXOks/yGjDImySR4imPtEllvPZfhiQNlejheaInw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/react-vite": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.6.14.tgz", - "integrity": "sha512-FZU0xMPxa4/TO87FgcWwappOxLBHZV5HSRK5K+2bJD7rFJAoNorbHvB4Q1zvIAk7eCMjkr2GPCPHx9PRB9vJFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "0.5.0", - "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "8.6.14", - "@storybook/react": "8.6.14", - "find-up": "^5.0.0", - "magic-string": "^0.30.0", - "react-docgen": "^7.0.0", - "resolve": "^1.22.8", - "tsconfig-paths": "^4.2.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@storybook/test": "8.6.14", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.6.14", - "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - } - } - }, - "node_modules/@storybook/test": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.6.14.tgz", - "integrity": "sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.6.14", - "@testing-library/dom": "10.4.0", - "@testing-library/jest-dom": "6.5.0", - "@testing-library/user-event": "14.5.2", - "@vitest/expect": "2.0.5", - "@vitest/spy": "2.0.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.6.14" - } - }, - "node_modules/@storybook/theming": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.14.tgz", - "integrity": "sha512-r4y+LsiB37V5hzpQo+BM10PaCsp7YlZ0YcZzQP1OCkPlYXmUAFy2VvDKaFRpD8IeNPKug2u4iFm/laDEbs03dg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -10093,82 +9456,6 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", - "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/user-event": { - "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -10216,58 +9503,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -10642,13 +9877,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/doctrine": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", - "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", @@ -11514,61 +10742,6 @@ "vitest": "3.2.4" } }, - "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@vitest/mocker": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", @@ -11619,29 +10792,6 @@ "node": ">=14.0.0" } }, - "node_modules/@vitest/pretty-format": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", - "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/pretty-format/node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@vitest/runner": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", @@ -11713,44 +10863,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", - "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "2.1.9", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils/node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@volar/language-core": { "version": "2.4.23", "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz", @@ -12539,16 +11651,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -12585,19 +11687,6 @@ "node": ">=12" } }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -12688,22 +11777,6 @@ "postcss": "^8.1.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/b4a": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.1.tgz", @@ -12927,19 +12000,6 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "license": "MIT" }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -13114,12 +12174,6 @@ "node": ">=8" } }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, "node_modules/browserslist": { "version": "4.26.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.0.tgz", @@ -13753,30 +12807,6 @@ "node": ">=10" } }, - "node_modules/chromatic": { - "version": "11.29.0", - "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-11.29.0.tgz", - "integrity": "sha512-yisBlntp9hHVj19lIQdpTlcYIXuU9H/DbFuu6tyWHmj6hWT2EtukCCcxYXL78XdQt1vm2GfIrtgtKpj/Rzmo4A==", - "dev": true, - "license": "MIT", - "bin": { - "chroma": "dist/bin.js", - "chromatic": "dist/bin.js", - "chromatic-cli": "dist/bin.js" - }, - "peerDependencies": { - "@chromatic-com/cypress": "^0.*.* || ^1.0.0", - "@chromatic-com/playwright": "^0.*.* || ^1.0.0" - }, - "peerDependenciesMeta": { - "@chromatic-com/cypress": { - "optional": true - }, - "@chromatic-com/playwright": { - "optional": true - } - } - }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -14955,13 +13985,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true, - "license": "MIT" - }, "node_modules/cssdb": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.4.0.tgz", @@ -16072,13 +15095,6 @@ "sass": "^1.30.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -16767,19 +15783,6 @@ "@esbuild/win32-x64": "0.25.9" } }, - "node_modules/esbuild-register": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -17739,16 +16742,6 @@ "node": ">=10" } }, - "node_modules/filesize": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", - "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 10.4.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -17884,22 +16877,6 @@ } } }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -19611,23 +18588,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -19646,19 +18606,6 @@ "node": ">=8" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -19745,25 +18692,6 @@ "node": ">=8" } }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -19889,25 +18817,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", @@ -19929,22 +18838,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -20250,16 +19143,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.8.0.tgz", - "integrity": "sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -21026,16 +19909,6 @@ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } - }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -21181,13 +20054,6 @@ "dev": true, "license": "ISC" }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", - "dev": true, - "license": "MIT" - }, "node_modules/markdown-extensions": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", @@ -21729,16 +20595,6 @@ "node": ">= 4.0.0" } }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, "node_modules/merge-descriptors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", @@ -23750,16 +22606,6 @@ "node": ">=4" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/mini-css-extract-plugin": { "version": "2.9.4", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", @@ -25527,29 +24373,6 @@ "points-on-curve": "0.2.0" } }, - "node_modules/polished": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", - "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -27242,41 +26065,6 @@ "renderkid": "^3.0.0" } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, "node_modules/pretty-time": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", @@ -27318,16 +26106,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -27617,22 +26395,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-confetti": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/react-confetti/-/react-confetti-6.4.0.tgz", - "integrity": "sha512-5MdGUcqxrTU26I2EU7ltkWPwxvucQTuqMm8dUz72z2YMqTD6s9vMcDUysk7n9jnC+lXuCPeJJ7Knf98VEYE9Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tween-functions": "^1.2.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "^16.3.0 || ^17.0.1 || ^18.0.0 || ^19.0.0" - } - }, "node_modules/react-dnd": { "version": "16.0.1", "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-16.0.1.tgz", @@ -27672,38 +26434,6 @@ "dnd-core": "^16.0.1" } }, - "node_modules/react-docgen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.1.tgz", - "integrity": "sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.9", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9", - "@types/babel__core": "^7.18.0", - "@types/babel__traverse": "^7.18.0", - "@types/doctrine": "^0.0.9", - "@types/resolve": "^1.20.2", - "doctrine": "^3.0.0", - "resolve": "^1.22.1", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=16.14.0" - } - }, - "node_modules/react-docgen-typescript": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.4.0.tgz", - "integrity": "sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">= 4.3.x" - } - }, "node_modules/react-dom": { "version": "19.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", @@ -28024,33 +26754,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/recast": { - "version": "0.23.11", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", - "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", - "dev": true, - "license": "MIT", - "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/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/recharts": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", @@ -28156,33 +26859,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/redent/node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -29817,24 +28493,6 @@ ], "license": "MIT" }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-stable-stringify": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", @@ -31031,50 +29689,6 @@ "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "license": "MIT" }, - "node_modules/storybook": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.6.14.tgz", - "integrity": "sha512-sVKbCj/OTx67jhmauhxc2dcr1P+yOgz/x3h0krwjyMgdc5Oubvxyg4NYDZmzAw+ym36g/lzH8N0Ccp4dwtdfxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/core": "8.6.14" - }, - "bin": { - "getstorybook": "bin/index.cjs", - "sb": "bin/index.cjs", - "storybook": "bin/index.cjs" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, - "node_modules/storybook-dark-mode": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/storybook-dark-mode/-/storybook-dark-mode-4.0.2.tgz", - "integrity": "sha512-zjcwwQ01R5t1VsakA6alc2JDIRVtavryW8J3E3eKLDIlAMcvsgtpxlelWkZs2cuNspk6Z10XzhQVrUWtYc3F0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/components": "^8.0.0", - "@storybook/core-events": "^8.0.0", - "@storybook/global": "^5.0.0", - "@storybook/icons": "^1.2.5", - "@storybook/manager-api": "^8.0.0", - "@storybook/theming": "^8.0.0", - "fast-deep-equal": "^3.1.3", - "memoizerific": "^1.11.3" - } - }, "node_modules/streamdown": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/streamdown/-/streamdown-1.3.0.tgz", @@ -31282,16 +29896,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -31310,19 +29914,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.0.tgz", - "integrity": "sha512-OA95x+JPmL7kc7zCu+e+TeYxEiaIyndRx0OrBcK2QPPH09oAndr2ALvymxWA+Lx1PYYvFUm4O63pRkdJAaW96w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -31956,16 +30547,6 @@ "node": ">=14.0.0" } }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/tmp": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", @@ -32149,21 +30730,6 @@ } } }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -32206,13 +30772,6 @@ "node": "*" } }, - "node_modules/tween-functions": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", - "integrity": "sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==", - "dev": true, - "license": "BSD" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -32815,20 +31374,6 @@ "node": ">= 0.8" } }, - "node_modules/unplugin": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", - "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -33012,20 +31557,6 @@ "dev": true, "license": "(WTFPL OR MIT)" }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "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", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -33056,20 +31587,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/uvu": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", @@ -34091,13 +32608,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, - "license": "MIT" - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -34242,28 +32752,6 @@ "node": ">= 8" } }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/why-is-node-running": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", diff --git a/package.json b/package.json index 373a614b5b..5011858648 100644 --- a/package.json +++ b/package.json @@ -23,25 +23,13 @@ "start": "electron-vite preview", "build:dev": "electron-vite build --mode development", "build:prod": "electron-vite build --mode production", - "storybook": "storybook dev -p 6006 --no-open", - "build-storybook": "storybook build", "coverage": "vitest run --coverage", "test": "vitest", "postinstall": "electron-builder install-app-deps" }, "devDependencies": { - "@chromatic-com/storybook": "^3.2.7", "@eslint/js": "^8.57.0", "@rollup/plugin-node-resolve": "^16.0.3", - "@storybook/addon-essentials": "^8.6.14", - "@storybook/addon-interactions": "^8.6.14", - "@storybook/addon-links": "^8.6.14", - "@storybook/blocks": "^8.6.14", - "@storybook/builder-vite": "^8.6.14", - "@storybook/react": "^8.6.14", - "@storybook/react-vite": "^8.6.14", - "@storybook/test": "^8.6.14", - "@storybook/theming": "^8.6.14", "@tailwindcss/vite": "^4.1.17", "@types/color": "^4.2.0", "@types/css-tree": "^2", @@ -72,8 +60,6 @@ "prettier-plugin-jsdoc": "^1.5.0", "prettier-plugin-organize-imports": "^4.3.0", "sass": "1.91.0", - "storybook": "^8.6.14", - "storybook-dark-mode": "^4.0.2", "tailwindcss": "^4.1.17", "tailwindcss-animate": "^1.0.7", "ts-node": "^10.9.2",