diff --git a/.gitignore b/.gitignore
index f85999f1..bc3f5b7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,6 @@ pnpm-debug.log
# Workspace packages
packages/*/node_modules/
+
+# Storybook
+storybook-static/
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
index 280fe92f..8ab111db 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -9,3 +9,4 @@
flake.lock
pnpm-debug.log
pnpm-lock.yaml
+/storybook-static/
\ No newline at end of file
diff --git a/.storybook/css.d.ts b/.storybook/css.d.ts
new file mode 100644
index 00000000..7304a422
--- /dev/null
+++ b/.storybook/css.d.ts
@@ -0,0 +1,5 @@
+declare module "*.css";
+declare module "*.css?url" {
+ const url: string;
+ export default url;
+}
diff --git a/.storybook/global.css b/.storybook/global.css
new file mode 100644
index 00000000..0ca6719f
--- /dev/null
+++ b/.storybook/global.css
@@ -0,0 +1,108 @@
+html {
+ background: var(--vscode-sideBar-background);
+}
+
+body {
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+}
+
+#storybook-preview-wrapper {
+ background-color: var(--vscode-sideBar-background);
+}
+
+#root {
+ overscroll-behavior-x: none;
+ background-color: var(--vscode-sideBar-background);
+ color: var(--vscode-editor-foreground);
+ font-family: var(--vscode-font-family);
+ font-weight: var(--vscode-font-weight);
+ font-size: var(--vscode-font-size);
+ margin: 0;
+ max-width: 100%;
+ /* arbitrary size choice for the rough VSCode sidebar size */
+ width: 300px;
+}
+
+img,
+video {
+ max-width: 100%;
+ max-height: 100%;
+}
+
+a,
+a code {
+ color: var(--vscode-textLink-foreground);
+}
+
+p > a {
+ text-decoration: var(--text-link-decoration);
+}
+
+a:hover {
+ color: var(--vscode-textLink-activeForeground);
+}
+
+a:focus,
+input:focus,
+select:focus,
+textarea:focus {
+ outline: 1px solid -webkit-focus-ring-color;
+ outline-offset: -1px;
+}
+
+code {
+ font-family: var(--monaco-monospace-font);
+ color: var(--vscode-textPreformat-foreground);
+ background-color: var(--vscode-textPreformat-background);
+ padding: 1px 3px;
+ border-radius: 4px;
+}
+
+pre code {
+ padding: 0;
+}
+
+blockquote {
+ background: var(--vscode-textBlockQuote-background);
+ border-color: var(--vscode-textBlockQuote-border);
+}
+
+kbd {
+ background-color: var(--vscode-keybindingLabel-background);
+ color: var(--vscode-keybindingLabel-foreground);
+ border-style: solid;
+ border-width: 1px;
+ border-radius: 3px;
+ border-color: var(--vscode-keybindingLabel-border);
+ border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
+ box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
+ vertical-align: middle;
+ padding: 1px 3px;
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+ height: 10px;
+}
+
+::-webkit-scrollbar-corner {
+ background-color: var(--vscode-editor-background);
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: var(--vscode-scrollbarSlider-background);
+}
+::-webkit-scrollbar-thumb:hover {
+ background-color: var(--vscode-scrollbarSlider-hoverBackground);
+}
+::-webkit-scrollbar-thumb:active {
+ background-color: var(--vscode-scrollbarSlider-activeBackground);
+}
+::highlight(find-highlight) {
+ background-color: var(--vscode-editor-findMatchHighlightBackground);
+}
+::highlight(current-find-highlight) {
+ background-color: var(--vscode-editor-findMatchBackground);
+}
diff --git a/.storybook/main.ts b/.storybook/main.ts
new file mode 100644
index 00000000..dfc6f1d6
--- /dev/null
+++ b/.storybook/main.ts
@@ -0,0 +1,19 @@
+import { mergeConfig } from "vite";
+
+import type { StorybookConfig } from "@storybook/react-vite";
+
+const config: StorybookConfig = {
+ stories: ["../packages/*/src/**/*.stories.@(ts|tsx)"],
+ addons: ["@storybook/addon-essentials", "@storybook/addon-a11y"],
+ framework: {
+ name: "@storybook/react-vite",
+ options: {},
+ },
+ viteFinal(baseConfig) {
+ return mergeConfig(baseConfig, {
+ assetsInclude: ["**/*.ttf", "**/*.woff", "**/*.woff2"],
+ });
+ },
+};
+
+export default config;
diff --git a/.storybook/preview.ts b/.storybook/preview.ts
new file mode 100644
index 00000000..2f463e1b
--- /dev/null
+++ b/.storybook/preview.ts
@@ -0,0 +1,105 @@
+///
+
+import codiconCssUrl from "@vscode/codicons/dist/codicon.css?url";
+import { createElement, useEffect } from "react";
+
+import "./global.css";
+
+// Auto-import per-package Storybook CSS entry points
+import.meta.glob("../packages/*/storybook.preview.ts", { eager: true });
+
+import { darkTheme } from "./themes/dark-v2";
+import { lightTheme } from "./themes/light-v2";
+
+import type { Preview } from "@storybook/react";
+import type { WebviewApi } from "vscode-webview";
+
+// Mock the acquireVsCodeApi function for Storybook, so that components
+// that rely on it can function without errors.
+if (
+ typeof window !== "undefined" &&
+ !(window as { acquireVsCodeApi?: () => WebviewApi }).acquireVsCodeApi
+) {
+ (window as { acquireVsCodeApi: () => WebviewApi }).acquireVsCodeApi =
+ () => ({
+ postMessage: () => undefined,
+ getState: () => undefined,
+ setState: (state) => state,
+ });
+}
+
+// Inject codicon stylesheet immediately (before any components render)
+// Must be a element with id "vscode-codicon-stylesheet" for vscode-elements
+if (
+ typeof document !== "undefined" &&
+ !document.getElementById("vscode-codicon-stylesheet")
+) {
+ const link = document.createElement("link");
+ link.id = "vscode-codicon-stylesheet";
+ link.rel = "stylesheet";
+ link.href = codiconCssUrl;
+ document.head.appendChild(link);
+}
+
+// This allows the system viewing the storybook to use the same font
+// stack as vscode, which is important for accurate rendering of text.
+const getDefaultFontStack = () => {
+ if (navigator.userAgent.includes("Linux")) {
+ return 'system-ui, "Ubuntu", "Droid Sans", sans-serif';
+ } else if (navigator.userAgent.includes("Mac")) {
+ return "-apple-system, BlinkMacSystemFont, sans-serif";
+ } else if (navigator.userAgent.includes("Windows")) {
+ return '"Segoe WPC", "Segoe UI", sans-serif';
+ } else {
+ return "sans-serif";
+ }
+};
+
+const preview: Preview = {
+ parameters: {
+ layout: "centered",
+ },
+ globalTypes: {
+ theme: {
+ description: "Global theme for components",
+ defaultValue: "dark",
+ toolbar: {
+ title: "Theme",
+ icon: "circlehollow",
+ items: [
+ { value: "light", icon: "circlehollow", title: "Light" },
+ { value: "dark", icon: "circle", title: "Dark" },
+ ],
+ dynamicTitle: true,
+ },
+ },
+ },
+ decorators: [
+ (Story, context) => {
+ const selectedTheme =
+ context.globals.theme === "light" ? lightTheme : darkTheme;
+
+ useEffect(() => {
+ const root = document.documentElement.style;
+
+ // Apply CSS custom properties to the document root
+ selectedTheme.forEach(([property, value]) => {
+ root.setProperty(property, value);
+ });
+ root.setProperty("--vscode-font-family", getDefaultFontStack());
+
+ // Cleanup function to remove properties when unmounting
+ return () => {
+ selectedTheme.forEach(([property]) => {
+ root.removeProperty(property);
+ });
+ root.removeProperty("--vscode-font-family");
+ };
+ }, [selectedTheme]);
+
+ return createElement("div", { id: "root" }, createElement(Story));
+ },
+ ],
+};
+
+export default preview;
diff --git a/.storybook/themes/dark-v2.ts b/.storybook/themes/dark-v2.ts
new file mode 100644
index 00000000..a6d3c682
--- /dev/null
+++ b/.storybook/themes/dark-v2.ts
@@ -0,0 +1,959 @@
+// Sourced from `vscode-elements/webview-playground`.
+// https://github.com/vscode-elements/webview-playground/blob/f9a6f90413d0cc535839fb92445b7a5eebc540d7/dist/themes/dark-v2.js
+
+export const darkTheme: Array<[string, string]> = [
+ ["--vscode-actionBar-toggledBackground", "#383a49"],
+ ["--vscode-activityBar-activeBorder", "#0078d4"],
+ ["--vscode-activityBar-background", "#181818"],
+ ["--vscode-activityBar-border", "#2b2b2b"],
+ ["--vscode-activityBar-dropBorder", "#d7d7d7"],
+ ["--vscode-activityBar-foreground", "#d7d7d7"],
+ ["--vscode-activityBar-inactiveForeground", "#868686"],
+ ["--vscode-activityBarBadge-background", "#0078d4"],
+ ["--vscode-activityBarBadge-foreground", "#ffffff"],
+ ["--vscode-activityBarTop-activeBorder", "#e7e7e7"],
+ ["--vscode-activityBarTop-dropBorder", "#e7e7e7"],
+ ["--vscode-activityBarTop-foreground", "#e7e7e7"],
+ ["--vscode-activityBarTop-inactiveForeground", "rgba(231, 231, 231, 0.6)"],
+ ["--vscode-activityErrorBadge-background", "#f14c4c"],
+ ["--vscode-activityErrorBadge-foreground", "#000000"],
+ ["--vscode-activityWarningBadge-background", "#b27c00"],
+ ["--vscode-activityWarningBadge-foreground", "#ffffff"],
+ ["--vscode-agentSessionReadIndicator-foreground", "rgba(204, 204, 204, 0.2)"],
+ ["--vscode-agentSessionSelectedBadge-border", "rgba(255, 255, 255, 0.3)"],
+ [
+ "--vscode-agentSessionSelectedUnfocusedBadge-border",
+ "rgba(204, 204, 204, 0.3)",
+ ],
+ ["--vscode-agentStatusIndicator-background", "rgba(255, 255, 255, 0.05)"],
+ ["--vscode-aiCustomizationManagement-sashBorder", "#2b2b2b"],
+ ["--vscode-badge-background", "#616161"],
+ ["--vscode-badge-foreground", "#f8f8f8"],
+ ["--vscode-banner-background", "#04395e"],
+ ["--vscode-banner-foreground", "#ffffff"],
+ ["--vscode-banner-iconForeground", "#59a4f9"],
+ ["--vscode-bodyFontSize", "13px"],
+ ["--vscode-bodyFontSize-small", "12px"],
+ ["--vscode-bodyFontSize-xSmall", "11px"],
+ ["--vscode-breadcrumb-activeSelectionForeground", "#e0e0e0"],
+ ["--vscode-breadcrumb-background", "#1f1f1f"],
+ ["--vscode-breadcrumb-focusForeground", "#e0e0e0"],
+ ["--vscode-breadcrumb-foreground", "rgba(204, 204, 204, 0.8)"],
+ ["--vscode-breadcrumbPicker-background", "#202020"],
+ ["--vscode-browser-border", "#2b2b2b"],
+ ["--vscode-button-background", "#0078d4"],
+ ["--vscode-button-border", "rgba(255, 255, 255, 0.1)"],
+ ["--vscode-button-foreground", "#ffffff"],
+ ["--vscode-button-hoverBackground", "#026ec1"],
+ ["--vscode-button-secondaryBackground", "rgba(0, 0, 0, 0)"],
+ ["--vscode-button-secondaryForeground", "#cccccc"],
+ ["--vscode-button-secondaryHoverBackground", "#2b2b2b"],
+ ["--vscode-button-separator", "rgba(255, 255, 255, 0.4)"],
+ ["--vscode-chart-axis", "rgba(191, 191, 191, 0.4)"],
+ ["--vscode-chart-guide", "rgba(191, 191, 191, 0.2)"],
+ ["--vscode-chart-line", "#236b8e"],
+ ["--vscode-charts-blue", "#59a4f9"],
+ ["--vscode-charts-foreground", "#cccccc"],
+ ["--vscode-charts-green", "#89d185"],
+ ["--vscode-charts-lines", "rgba(204, 204, 204, 0.5)"],
+ ["--vscode-charts-orange", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-charts-purple", "#b180d7"],
+ ["--vscode-charts-red", "#f14c4c"],
+ ["--vscode-charts-yellow", "#cca700"],
+ ["--vscode-chat-avatarBackground", "#1f1f1f"],
+ ["--vscode-chat-avatarForeground", "#cccccc"],
+ ["--vscode-chat-checkpointSeparator", "#585858"],
+ ["--vscode-chat-editedFileForeground", "#e2c08d"],
+ ["--vscode-chat-linesAddedForeground", "#54b054"],
+ ["--vscode-chat-linesRemovedForeground", "#fc6a6a"],
+ ["--vscode-chat-requestBackground", "rgba(31, 31, 31, 0.62)"],
+ ["--vscode-chat-requestBorder", "rgba(255, 255, 255, 0.1)"],
+ ["--vscode-chat-requestBubbleBackground", "rgba(38, 79, 120, 0.3)"],
+ ["--vscode-chat-requestBubbleHoverBackground", "rgba(38, 79, 120, 0.6)"],
+ ["--vscode-chat-requestCodeBorder", "rgba(0, 73, 114, 0.72)"],
+ ["--vscode-chat-slashCommandBackground", "rgba(38, 71, 120, 0.4)"],
+ ["--vscode-chat-slashCommandForeground", "#85b6ff"],
+ ["--vscode-chat-thinkingShimmer", "#ffffff"],
+ ["--vscode-chatManagement-sashBorder", "#2b2b2b"],
+ ["--vscode-checkbox-background", "#313131"],
+ ["--vscode-checkbox-border", "#3c3c3c"],
+ ["--vscode-checkbox-disabled.background", "#646464"],
+ ["--vscode-checkbox-disabled.foreground", "#989898"],
+ ["--vscode-checkbox-foreground", "#cccccc"],
+ ["--vscode-checkbox-selectBackground", "#202020"],
+ ["--vscode-checkbox-selectBorder", "#cccccc"],
+ ["--vscode-codiconFontSize", "16px"],
+ ["--vscode-commandCenter-activeBackground", "rgba(255, 255, 255, 0.08)"],
+ ["--vscode-commandCenter-activeBorder", "rgba(204, 204, 204, 0.3)"],
+ ["--vscode-commandCenter-activeForeground", "#cccccc"],
+ ["--vscode-commandCenter-background", "rgba(255, 255, 255, 0.05)"],
+ ["--vscode-commandCenter-border", "rgba(204, 204, 204, 0.2)"],
+ ["--vscode-commandCenter-debuggingBackground", "rgba(0, 120, 212, 0.26)"],
+ ["--vscode-commandCenter-foreground", "#cccccc"],
+ ["--vscode-commandCenter-inactiveBorder", "rgba(157, 157, 157, 0.25)"],
+ ["--vscode-commandCenter-inactiveForeground", "#9d9d9d"],
+ ["--vscode-commentsView-resolvedIcon", "rgba(204, 204, 204, 0.5)"],
+ ["--vscode-commentsView-unresolvedIcon", "#0078d4"],
+ ["--vscode-cornerRadius-circle", "9999px"],
+ ["--vscode-cornerRadius-large", "8px"],
+ ["--vscode-cornerRadius-medium", "6px"],
+ ["--vscode-cornerRadius-small", "4px"],
+ ["--vscode-cornerRadius-xLarge", "12px"],
+ ["--vscode-cornerRadius-xSmall", "2px"],
+ ["--vscode-debugConsole-errorForeground", "#f85149"],
+ ["--vscode-debugConsole-infoForeground", "#59a4f9"],
+ ["--vscode-debugConsole-sourceForeground", "#cccccc"],
+ ["--vscode-debugConsole-warningForeground", "#cca700"],
+ ["--vscode-debugConsoleInputIcon-foreground", "#cccccc"],
+ ["--vscode-debugExceptionWidget-background", "#420b0d"],
+ ["--vscode-debugExceptionWidget-border", "#a31515"],
+ ["--vscode-debugIcon-breakpointCurrentStackframeForeground", "#ffcc00"],
+ ["--vscode-debugIcon-breakpointDisabledForeground", "#848484"],
+ ["--vscode-debugIcon-breakpointForeground", "#e51400"],
+ ["--vscode-debugIcon-breakpointStackframeForeground", "#89d185"],
+ ["--vscode-debugIcon-breakpointUnverifiedForeground", "#848484"],
+ ["--vscode-debugIcon-continueForeground", "#75beff"],
+ ["--vscode-debugIcon-disconnectForeground", "#f48771"],
+ ["--vscode-debugIcon-pauseForeground", "#75beff"],
+ ["--vscode-debugIcon-restartForeground", "#89d185"],
+ ["--vscode-debugIcon-startForeground", "#89d185"],
+ ["--vscode-debugIcon-stepBackForeground", "#75beff"],
+ ["--vscode-debugIcon-stepIntoForeground", "#75beff"],
+ ["--vscode-debugIcon-stepOutForeground", "#75beff"],
+ ["--vscode-debugIcon-stepOverForeground", "#75beff"],
+ ["--vscode-debugIcon-stopForeground", "#f48771"],
+ ["--vscode-debugTokenExpression-boolean", "#4e94ce"],
+ ["--vscode-debugTokenExpression-error", "#f48771"],
+ ["--vscode-debugTokenExpression-name", "#c586c0"],
+ ["--vscode-debugTokenExpression-number", "#b5cea8"],
+ ["--vscode-debugTokenExpression-string", "#ce9178"],
+ ["--vscode-debugTokenExpression-type", "#4a90e2"],
+ ["--vscode-debugTokenExpression-value", "rgba(204, 204, 204, 0.6)"],
+ ["--vscode-debugToolBar-background", "#181818"],
+ ["--vscode-debugView-exceptionLabelBackground", "#6c2022"],
+ ["--vscode-debugView-exceptionLabelForeground", "#cccccc"],
+ ["--vscode-debugView-stateLabelBackground", "rgba(136, 136, 136, 0.27)"],
+ ["--vscode-debugView-stateLabelForeground", "#cccccc"],
+ ["--vscode-debugView-valueChangedHighlight", "#569cd6"],
+ ["--vscode-descriptionForeground", "#9d9d9d"],
+ ["--vscode-diffEditor-diagonalFill", "rgba(204, 204, 204, 0.2)"],
+ ["--vscode-diffEditor-insertedLineBackground", "rgba(155, 185, 85, 0.2)"],
+ ["--vscode-diffEditor-insertedTextBackground", "rgba(156, 204, 44, 0.2)"],
+ ["--vscode-diffEditor-move.border", "rgba(139, 139, 139, 0.61)"],
+ ["--vscode-diffEditor-moveActive.border", "#ffa500"],
+ ["--vscode-diffEditor-removedLineBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-diffEditor-removedTextBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-diffEditor-unchangedCodeBackground", "rgba(116, 116, 116, 0.16)"],
+ ["--vscode-diffEditor-unchangedRegionBackground", "#181818"],
+ ["--vscode-diffEditor-unchangedRegionForeground", "#cccccc"],
+ ["--vscode-diffEditor-unchangedRegionShadow", "#000000"],
+ ["--vscode-disabledForeground", "rgba(204, 204, 204, 0.5)"],
+ ["--vscode-dropdown-background", "#313131"],
+ ["--vscode-dropdown-border", "#3c3c3c"],
+ ["--vscode-dropdown-foreground", "#cccccc"],
+ ["--vscode-dropdown-listBackground", "#1f1f1f"],
+ ["--vscode-editor-background", "#1f1f1f"],
+ ["--vscode-editor-compositionBorder", "#ffffff"],
+ ["--vscode-editor-findMatchBackground", "#9e6a03"],
+ ["--vscode-editor-findMatchHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-editor-findRangeHighlightBackground", "rgba(58, 61, 65, 0.4)"],
+ [
+ "--vscode-editor-focusedStackFrameHighlightBackground",
+ "rgba(122, 189, 122, 0.3)",
+ ],
+ ["--vscode-editor-foldBackground", "rgba(38, 79, 120, 0.3)"],
+ ["--vscode-editor-foldPlaceholderForeground", "#808080"],
+ ["--vscode-editor-font-feature-settings", '"liga" off, "calt" off'],
+ ["--vscode-editor-font-size", "14px"],
+ ["--vscode-editor-font-weight", "normal"],
+ ["--vscode-editor-foreground", "#cccccc"],
+ ["--vscode-editor-hoverHighlightBackground", "rgba(38, 79, 120, 0.25)"],
+ ["--vscode-editor-inactiveSelectionBackground", "#3a3d41"],
+ ["--vscode-editor-inlineValuesBackground", "rgba(255, 200, 0, 0.2)"],
+ ["--vscode-editor-inlineValuesForeground", "rgba(255, 255, 255, 0.5)"],
+ ["--vscode-editor-lineHighlightBorder", "#282828"],
+ ["--vscode-editor-linkedEditingBackground", "rgba(255, 0, 0, 0.3)"],
+ ["--vscode-editor-placeholder.foreground", "rgba(255, 255, 255, 0.34)"],
+ ["--vscode-editor-rangeHighlightBackground", "rgba(255, 255, 255, 0.04)"],
+ ["--vscode-editor-selectionBackground", "#264f78"],
+ ["--vscode-editor-selectionHighlightBackground", "rgba(173, 214, 255, 0.15)"],
+ ["--vscode-editor-snippetFinalTabstopHighlightBorder", "#525252"],
+ [
+ "--vscode-editor-snippetTabstopHighlightBackground",
+ "rgba(124, 124, 124, 0.3)",
+ ],
+ ["--vscode-editor-stackFrameHighlightBackground", "rgba(255, 255, 0, 0.2)"],
+ ["--vscode-editor-symbolHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-editor-wordHighlightBackground", "rgba(87, 87, 87, 0.72)"],
+ ["--vscode-editor-wordHighlightStrongBackground", "rgba(0, 73, 114, 0.72)"],
+ ["--vscode-editor-wordHighlightTextBackground", "rgba(87, 87, 87, 0.72)"],
+ ["--vscode-editorActionList-background", "#202020"],
+ ["--vscode-editorActionList-focusBackground", "#04395e"],
+ ["--vscode-editorActionList-focusForeground", "#ffffff"],
+ ["--vscode-editorActionList-foreground", "#cccccc"],
+ ["--vscode-editorActiveLineNumber-foreground", "#c6c6c6"],
+ ["--vscode-editorBracketHighlight-foreground1", "#ffd700"],
+ ["--vscode-editorBracketHighlight-foreground2", "#da70d6"],
+ ["--vscode-editorBracketHighlight-foreground3", "#179fff"],
+ ["--vscode-editorBracketHighlight-foreground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketHighlight-foreground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketHighlight-foreground6", "rgba(0, 0, 0, 0)"],
+ [
+ "--vscode-editorBracketHighlight-unexpectedBracket.foreground",
+ "rgba(255, 18, 18, 0.8)",
+ ],
+ ["--vscode-editorBracketMatch-background", "rgba(0, 100, 0, 0.1)"],
+ ["--vscode-editorBracketMatch-border", "#888888"],
+ ["--vscode-editorBracketPairGuide-activeBackground1", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background1", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorCodeLens-foreground", "#999999"],
+ [
+ "--vscode-editorCommentsWidget-rangeActiveBackground",
+ "rgba(0, 120, 212, 0.1)",
+ ],
+ ["--vscode-editorCommentsWidget-rangeBackground", "rgba(0, 120, 212, 0.1)"],
+ ["--vscode-editorCommentsWidget-replyInputBackground", "#252526"],
+ ["--vscode-editorCommentsWidget-resolvedBorder", "rgba(204, 204, 204, 0.5)"],
+ ["--vscode-editorCommentsWidget-unresolvedBorder", "#0078d4"],
+ ["--vscode-editorCursor-foreground", "#aeafad"],
+ ["--vscode-editorError-foreground", "#f14c4c"],
+ ["--vscode-editorGhostText-foreground", "rgba(255, 255, 255, 0.34)"],
+ ["--vscode-editorGroup-border", "rgba(255, 255, 255, 0.09)"],
+ ["--vscode-editorGroup-dropBackground", "rgba(83, 89, 93, 0.5)"],
+ ["--vscode-editorGroup-dropIntoPromptBackground", "#202020"],
+ ["--vscode-editorGroup-dropIntoPromptForeground", "#cccccc"],
+ ["--vscode-editorGroupHeader-noTabsBackground", "#1f1f1f"],
+ ["--vscode-editorGroupHeader-tabsBackground", "#181818"],
+ ["--vscode-editorGroupHeader-tabsBorder", "#2b2b2b"],
+ ["--vscode-editorGutter-addedBackground", "#2ea043"],
+ ["--vscode-editorGutter-addedSecondaryBackground", "#175021"],
+ ["--vscode-editorGutter-background", "#1f1f1f"],
+ ["--vscode-editorGutter-commentDraftGlyphForeground", "#cccccc"],
+ ["--vscode-editorGutter-commentGlyphForeground", "#cccccc"],
+ ["--vscode-editorGutter-commentRangeForeground", "#37373d"],
+ ["--vscode-editorGutter-commentUnresolvedGlyphForeground", "#cccccc"],
+ ["--vscode-editorGutter-deletedBackground", "#f85149"],
+ ["--vscode-editorGutter-deletedSecondaryBackground", "#b91007"],
+ ["--vscode-editorGutter-foldingControlForeground", "#cccccc"],
+ ["--vscode-editorGutter-itemBackground", "#37373d"],
+ ["--vscode-editorGutter-itemGlyphForeground", "#cccccc"],
+ ["--vscode-editorGutter-modifiedBackground", "#0078d4"],
+ ["--vscode-editorGutter-modifiedSecondaryBackground", "#003c6a"],
+ ["--vscode-editorHint-foreground", "rgba(238, 238, 238, 0.7)"],
+ ["--vscode-editorHoverWidget-background", "#202020"],
+ ["--vscode-editorHoverWidget-border", "#454545"],
+ ["--vscode-editorHoverWidget-foreground", "#cccccc"],
+ ["--vscode-editorHoverWidget-highlightForeground", "#2aaaff"],
+ ["--vscode-editorHoverWidget-statusBarBackground", "#262626"],
+ ["--vscode-editorIndentGuide-activeBackground", "rgba(227, 228, 226, 0.16)"],
+ ["--vscode-editorIndentGuide-activeBackground1", "#707070"],
+ ["--vscode-editorIndentGuide-activeBackground2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background", "rgba(227, 228, 226, 0.16)"],
+ ["--vscode-editorIndentGuide-background1", "#404040"],
+ ["--vscode-editorIndentGuide-background2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorInfo-foreground", "#59a4f9"],
+ ["--vscode-editorInlayHint-background", "rgba(97, 97, 97, 0.1)"],
+ ["--vscode-editorInlayHint-foreground", "#969696"],
+ ["--vscode-editorInlayHint-parameterBackground", "rgba(97, 97, 97, 0.1)"],
+ ["--vscode-editorInlayHint-parameterForeground", "#969696"],
+ ["--vscode-editorInlayHint-typeBackground", "rgba(97, 97, 97, 0.1)"],
+ ["--vscode-editorInlayHint-typeForeground", "#969696"],
+ ["--vscode-editorLightBulb-foreground", "#ffcc00"],
+ ["--vscode-editorLightBulbAi-foreground", "#ffcc00"],
+ ["--vscode-editorLightBulbAutoFix-foreground", "#75beff"],
+ ["--vscode-editorLineNumber-activeForeground", "#cccccc"],
+ ["--vscode-editorLineNumber-foreground", "#6e7681"],
+ ["--vscode-editorLink-activeForeground", "#4e94ce"],
+ ["--vscode-editorMarkerNavigation-background", "#1f1f1f"],
+ ["--vscode-editorMarkerNavigationError-background", "#f14c4c"],
+ [
+ "--vscode-editorMarkerNavigationError-headerBackground",
+ "rgba(241, 76, 76, 0.1)",
+ ],
+ ["--vscode-editorMarkerNavigationInfo-background", "#59a4f9"],
+ [
+ "--vscode-editorMarkerNavigationInfo-headerBackground",
+ "rgba(89, 164, 249, 0.1)",
+ ],
+ ["--vscode-editorMarkerNavigationWarning-background", "#cca700"],
+ [
+ "--vscode-editorMarkerNavigationWarning-headerBackground",
+ "rgba(204, 167, 0, 0.1)",
+ ],
+ ["--vscode-editorMinimap-inlineChatInserted", "rgba(156, 204, 44, 0.12)"],
+ ["--vscode-editorMultiCursor-primary.foreground", "#aeafad"],
+ ["--vscode-editorMultiCursor-secondary.foreground", "#aeafad"],
+ ["--vscode-editorOverviewRuler-addedForeground", "rgba(46, 160, 67, 0.6)"],
+ ["--vscode-editorOverviewRuler-border", "#010409"],
+ ["--vscode-editorOverviewRuler-bracketMatchForeground", "#a0a0a0"],
+ ["--vscode-editorOverviewRuler-commentDraftForeground", "#37373d"],
+ ["--vscode-editorOverviewRuler-commentForeground", "#37373d"],
+ ["--vscode-editorOverviewRuler-commentUnresolvedForeground", "#37373d"],
+ [
+ "--vscode-editorOverviewRuler-commonContentForeground",
+ "rgba(96, 96, 96, 0.4)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-currentContentForeground",
+ "rgba(64, 200, 174, 0.5)",
+ ],
+ ["--vscode-editorOverviewRuler-deletedForeground", "rgba(248, 81, 73, 0.6)"],
+ ["--vscode-editorOverviewRuler-errorForeground", "rgba(255, 18, 18, 0.7)"],
+ [
+ "--vscode-editorOverviewRuler-findMatchForeground",
+ "rgba(209, 134, 22, 0.49)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-incomingContentForeground",
+ "rgba(64, 166, 255, 0.5)",
+ ],
+ ["--vscode-editorOverviewRuler-infoForeground", "#59a4f9"],
+ [
+ "--vscode-editorOverviewRuler-inlineChatInserted",
+ "rgba(156, 204, 44, 0.12)",
+ ],
+ ["--vscode-editorOverviewRuler-inlineChatRemoved", "rgba(255, 0, 0, 0.12)"],
+ ["--vscode-editorOverviewRuler-modifiedForeground", "rgba(0, 120, 212, 0.6)"],
+ [
+ "--vscode-editorOverviewRuler-rangeHighlightForeground",
+ "rgba(0, 122, 204, 0.6)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-selectionHighlightForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ ["--vscode-editorOverviewRuler-warningForeground", "#cca700"],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightStrongForeground",
+ "rgba(192, 160, 192, 0.8)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightTextForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ ["--vscode-editorPane-background", "#1f1f1f"],
+ ["--vscode-editorRuler-foreground", "#5a5a5a"],
+ ["--vscode-editorStickyScroll-background", "#1f1f1f"],
+ ["--vscode-editorStickyScroll-shadow", "#000000"],
+ ["--vscode-editorStickyScrollGutter-background", "#1f1f1f"],
+ ["--vscode-editorStickyScrollHover-background", "#2a2d2e"],
+ ["--vscode-editorSuggestWidget-background", "#202020"],
+ ["--vscode-editorSuggestWidget-border", "#454545"],
+ ["--vscode-editorSuggestWidget-focusHighlightForeground", "#2aaaff"],
+ ["--vscode-editorSuggestWidget-foreground", "#cccccc"],
+ ["--vscode-editorSuggestWidget-highlightForeground", "#2aaaff"],
+ ["--vscode-editorSuggestWidget-selectedBackground", "#04395e"],
+ ["--vscode-editorSuggestWidget-selectedForeground", "#ffffff"],
+ ["--vscode-editorSuggestWidget-selectedIconForeground", "#ffffff"],
+ ["--vscode-editorSuggestWidgetStatus-foreground", "rgba(204, 204, 204, 0.5)"],
+ ["--vscode-editorUnicodeHighlight-border", "#cca700"],
+ ["--vscode-editorUnnecessaryCode-opacity", "rgba(0, 0, 0, 0.67)"],
+ ["--vscode-editorWarning-foreground", "#cca700"],
+ ["--vscode-editorWhitespace-foreground", "rgba(227, 228, 226, 0.16)"],
+ ["--vscode-editorWidget-background", "#202020"],
+ ["--vscode-editorWidget-border", "#454545"],
+ ["--vscode-editorWidget-foreground", "#cccccc"],
+ ["--vscode-errorForeground", "#f85149"],
+ ["--vscode-extensionBadge-remoteBackground", "#0078d4"],
+ ["--vscode-extensionBadge-remoteForeground", "#ffffff"],
+ ["--vscode-extensionButton-background", "rgba(0, 0, 0, 0)"],
+ ["--vscode-extensionButton-border", "rgba(255, 255, 255, 0.1)"],
+ ["--vscode-extensionButton-foreground", "#cccccc"],
+ ["--vscode-extensionButton-hoverBackground", "#2b2b2b"],
+ ["--vscode-extensionButton-prominentBackground", "#0078d4"],
+ ["--vscode-extensionButton-prominentForeground", "#ffffff"],
+ ["--vscode-extensionButton-prominentHoverBackground", "#026ec1"],
+ ["--vscode-extensionButton-separator", "rgba(255, 255, 255, 0.4)"],
+ ["--vscode-extensionIcon-preReleaseForeground", "#1d9271"],
+ ["--vscode-extensionIcon-privateForeground", "rgba(255, 255, 255, 0.38)"],
+ ["--vscode-extensionIcon-sponsorForeground", "#d758b3"],
+ ["--vscode-extensionIcon-starForeground", "#ff8e00"],
+ ["--vscode-extensionIcon-verifiedForeground", "#4daafc"],
+ ["--vscode-focusBorder", "#0078d4"],
+ ["--vscode-font-size", "13px"],
+ ["--vscode-font-weight", "normal"],
+ ["--vscode-foreground", "#cccccc"],
+ ["--vscode-gauge-background", "rgba(0, 122, 204, 0.3)"],
+ ["--vscode-gauge-errorBackground", "rgba(190, 17, 0, 0.3)"],
+ ["--vscode-gauge-errorForeground", "#be1100"],
+ ["--vscode-gauge-foreground", "#007acc"],
+ ["--vscode-gauge-warningBackground", "rgba(184, 149, 0, 0.3)"],
+ ["--vscode-gauge-warningForeground", "#b89500"],
+ ["--vscode-icon-foreground", "#cccccc"],
+ ["--vscode-inlineChat-background", "#202020"],
+ ["--vscode-inlineChat-border", "#454545"],
+ ["--vscode-inlineChat-foreground", "#cccccc"],
+ ["--vscode-inlineChat-shadow", "rgba(0, 0, 0, 0.36)"],
+ ["--vscode-inlineChatDiff-inserted", "rgba(156, 204, 44, 0.1)"],
+ ["--vscode-inlineChatDiff-removed", "rgba(255, 0, 0, 0.1)"],
+ ["--vscode-inlineChatInput-background", "#313131"],
+ ["--vscode-inlineChatInput-border", "#454545"],
+ ["--vscode-inlineChatInput-focusBorder", "#0078d4"],
+ ["--vscode-inlineChatInput-placeholderForeground", "#989898"],
+ ["--vscode-inlineEdit-gutterIndicator.background", "rgba(24, 24, 24, 0.5)"],
+ [
+ "--vscode-inlineEdit-gutterIndicator.primaryBackground",
+ "rgba(0, 120, 212, 0.4)",
+ ],
+ ["--vscode-inlineEdit-gutterIndicator.primaryBorder", "#0078d4"],
+ ["--vscode-inlineEdit-gutterIndicator.primaryForeground", "#ffffff"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryBackground", "#202020"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryBorder", "#454545"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryForeground", "#cccccc"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulBackground", "#0078d4"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulBorder", "#0078d4"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulForeground", "#ffffff"],
+ ["--vscode-inlineEdit-modifiedBackground", "rgba(156, 204, 44, 0.06)"],
+ ["--vscode-inlineEdit-modifiedBorder", "rgba(156, 204, 44, 0.2)"],
+ [
+ "--vscode-inlineEdit-modifiedChangedLineBackground",
+ "rgba(155, 185, 85, 0.14)",
+ ],
+ [
+ "--vscode-inlineEdit-modifiedChangedTextBackground",
+ "rgba(156, 204, 44, 0.14)",
+ ],
+ ["--vscode-inlineEdit-originalBackground", "rgba(255, 0, 0, 0.04)"],
+ ["--vscode-inlineEdit-originalBorder", "rgba(255, 0, 0, 0.2)"],
+ [
+ "--vscode-inlineEdit-originalChangedLineBackground",
+ "rgba(255, 0, 0, 0.16)",
+ ],
+ [
+ "--vscode-inlineEdit-originalChangedTextBackground",
+ "rgba(255, 0, 0, 0.16)",
+ ],
+ [
+ "--vscode-inlineEdit-tabWillAcceptModifiedBorder",
+ "rgba(156, 204, 44, 0.2)",
+ ],
+ ["--vscode-inlineEdit-tabWillAcceptOriginalBorder", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-input-background", "#313131"],
+ ["--vscode-input-border", "#3c3c3c"],
+ ["--vscode-input-foreground", "#cccccc"],
+ ["--vscode-input-placeholderForeground", "#989898"],
+ ["--vscode-inputOption-activeBackground", "rgba(36, 137, 219, 0.51)"],
+ ["--vscode-inputOption-activeBorder", "#2488db"],
+ ["--vscode-inputOption-activeForeground", "#ffffff"],
+ ["--vscode-inputOption-hoverBackground", "rgba(90, 93, 94, 0.5)"],
+ ["--vscode-inputValidation-errorBackground", "#5a1d1d"],
+ ["--vscode-inputValidation-errorBorder", "#be1100"],
+ ["--vscode-inputValidation-infoBackground", "#063b49"],
+ ["--vscode-inputValidation-infoBorder", "#007acc"],
+ ["--vscode-inputValidation-warningBackground", "#352a05"],
+ ["--vscode-inputValidation-warningBorder", "#b89500"],
+ ["--vscode-interactive-activeCodeBorder", "#007acc"],
+ ["--vscode-interactive-inactiveCodeBorder", "#37373d"],
+ ["--vscode-keybindingLabel-background", "rgba(128, 128, 128, 0.17)"],
+ ["--vscode-keybindingLabel-border", "rgba(51, 51, 51, 0.6)"],
+ ["--vscode-keybindingLabel-bottomBorder", "rgba(68, 68, 68, 0.6)"],
+ ["--vscode-keybindingLabel-foreground", "#cccccc"],
+ ["--vscode-keybindingTable-headerBackground", "rgba(204, 204, 204, 0.04)"],
+ ["--vscode-keybindingTable-rowsBackground", "rgba(204, 204, 204, 0.04)"],
+ ["--vscode-list-activeSelectionBackground", "#04395e"],
+ ["--vscode-list-activeSelectionForeground", "#ffffff"],
+ ["--vscode-list-activeSelectionIconForeground", "#ffffff"],
+ ["--vscode-list-deemphasizedForeground", "#8c8c8c"],
+ ["--vscode-list-dropBackground", "#383b3d"],
+ ["--vscode-list-dropBetweenBackground", "#cccccc"],
+ ["--vscode-list-errorForeground", "#f88070"],
+ ["--vscode-list-filterMatchBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-list-focusHighlightForeground", "#2aaaff"],
+ ["--vscode-list-focusOutline", "#0078d4"],
+ ["--vscode-list-highlightForeground", "#2aaaff"],
+ ["--vscode-list-hoverBackground", "#2a2d2e"],
+ ["--vscode-list-inactiveSelectionBackground", "#37373d"],
+ ["--vscode-list-invalidItemForeground", "#b89500"],
+ ["--vscode-list-warningForeground", "#cca700"],
+ ["--vscode-listFilterWidget-background", "#202020"],
+ ["--vscode-listFilterWidget-noMatchesOutline", "#be1100"],
+ ["--vscode-listFilterWidget-outline", "rgba(0, 0, 0, 0)"],
+ ["--vscode-listFilterWidget-shadow", "rgba(0, 0, 0, 0.36)"],
+ ["--vscode-markdownAlert-caution.foreground", "#f14c4c"],
+ ["--vscode-markdownAlert-important.foreground", "#b180d7"],
+ ["--vscode-markdownAlert-note.foreground", "#59a4f9"],
+ ["--vscode-markdownAlert-tip.foreground", "#89d185"],
+ ["--vscode-markdownAlert-warning.foreground", "#cca700"],
+ ["--vscode-mcpIcon-starForeground", "#ff8e00"],
+ ["--vscode-menu-background", "#1f1f1f"],
+ ["--vscode-menu-border", "#454545"],
+ ["--vscode-menu-foreground", "#cccccc"],
+ ["--vscode-menu-selectionBackground", "#0078d4"],
+ ["--vscode-menu-selectionForeground", "#ffffff"],
+ ["--vscode-menu-separatorBackground", "#454545"],
+ ["--vscode-menubar-selectionBackground", "rgba(90, 93, 94, 0.31)"],
+ ["--vscode-menubar-selectionForeground", "#cccccc"],
+ ["--vscode-merge-commonContentBackground", "rgba(96, 96, 96, 0.16)"],
+ ["--vscode-merge-commonHeaderBackground", "rgba(96, 96, 96, 0.4)"],
+ ["--vscode-merge-currentContentBackground", "rgba(64, 200, 174, 0.2)"],
+ ["--vscode-merge-currentHeaderBackground", "rgba(64, 200, 174, 0.5)"],
+ ["--vscode-merge-incomingContentBackground", "rgba(64, 166, 255, 0.2)"],
+ ["--vscode-merge-incomingHeaderBackground", "rgba(64, 166, 255, 0.5)"],
+ ["--vscode-mergeEditor-change.background", "rgba(155, 185, 85, 0.2)"],
+ ["--vscode-mergeEditor-change.word.background", "rgba(156, 204, 44, 0.2)"],
+ ["--vscode-mergeEditor-changeBase.background", "#4b1818"],
+ ["--vscode-mergeEditor-changeBase.word.background", "#6f1313"],
+ [
+ "--vscode-mergeEditor-conflict.handled.minimapOverViewRuler",
+ "rgba(173, 172, 168, 0.93)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.handledFocused.border",
+ "rgba(193, 193, 193, 0.8)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.handledUnfocused.border",
+ "rgba(134, 134, 134, 0.29)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.input1.background",
+ "rgba(64, 200, 174, 0.2)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.input2.background",
+ "rgba(64, 166, 255, 0.2)",
+ ],
+ ["--vscode-mergeEditor-conflict.unhandled.minimapOverViewRuler", "#fcba03"],
+ ["--vscode-mergeEditor-conflict.unhandledFocused.border", "#ffa600"],
+ [
+ "--vscode-mergeEditor-conflict.unhandledUnfocused.border",
+ "rgba(255, 166, 0, 0.48)",
+ ],
+ [
+ "--vscode-mergeEditor-conflictingLines.background",
+ "rgba(255, 234, 0, 0.28)",
+ ],
+ ["--vscode-minimap-chatEditHighlight", "rgba(31, 31, 31, 0.6)"],
+ ["--vscode-minimap-errorHighlight", "rgba(255, 18, 18, 0.7)"],
+ ["--vscode-minimap-findMatchHighlight", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-minimap-foregroundOpacity", "#000000"],
+ ["--vscode-minimap-infoHighlight", "#59a4f9"],
+ ["--vscode-minimap-selectionHighlight", "#264f78"],
+ [
+ "--vscode-minimap-selectionOccurrenceHighlight",
+ "rgba(173, 214, 255, 0.15)",
+ ],
+ ["--vscode-minimap-warningHighlight", "#cca700"],
+ ["--vscode-minimapGutter-addedBackground", "#2ea043"],
+ ["--vscode-minimapGutter-deletedBackground", "#f85149"],
+ ["--vscode-minimapGutter-modifiedBackground", "#0078d4"],
+ ["--vscode-minimapSlider-activeBackground", "rgba(191, 191, 191, 0.2)"],
+ ["--vscode-minimapSlider-background", "rgba(121, 121, 121, 0.2)"],
+ ["--vscode-minimapSlider-hoverBackground", "rgba(100, 100, 100, 0.35)"],
+ ["--vscode-multiDiffEditor-background", "#1f1f1f"],
+ ["--vscode-multiDiffEditor-border", "#2b2b2b"],
+ ["--vscode-multiDiffEditor-headerBackground", "#262626"],
+ ["--vscode-notebook-cellBorderColor", "#37373d"],
+ ["--vscode-notebook-cellEditorBackground", "#181818"],
+ ["--vscode-notebook-cellInsertionIndicator", "#0078d4"],
+ [
+ "--vscode-notebook-cellStatusBarItemHoverBackground",
+ "rgba(255, 255, 255, 0.15)",
+ ],
+ ["--vscode-notebook-cellToolbarSeparator", "rgba(128, 128, 128, 0.35)"],
+ ["--vscode-notebook-editorBackground", "#1f1f1f"],
+ ["--vscode-notebook-focusedCellBorder", "#0078d4"],
+ ["--vscode-notebook-focusedEditorBorder", "#0078d4"],
+ ["--vscode-notebook-inactiveFocusedCellBorder", "#37373d"],
+ ["--vscode-notebook-selectedCellBackground", "#37373d"],
+ ["--vscode-notebook-selectedCellBorder", "#37373d"],
+ ["--vscode-notebook-symbolHighlightBackground", "rgba(255, 255, 255, 0.04)"],
+ ["--vscode-notebookEditorOverviewRuler-runningCellForeground", "#89d185"],
+ [
+ "--vscode-notebookScrollbarSlider-activeBackground",
+ "rgba(191, 191, 191, 0.4)",
+ ],
+ ["--vscode-notebookScrollbarSlider-background", "rgba(121, 121, 121, 0.4)"],
+ [
+ "--vscode-notebookScrollbarSlider-hoverBackground",
+ "rgba(100, 100, 100, 0.7)",
+ ],
+ ["--vscode-notebookStatusErrorIcon-foreground", "#f85149"],
+ ["--vscode-notebookStatusRunningIcon-foreground", "#cccccc"],
+ ["--vscode-notebookStatusSuccessIcon-foreground", "#89d185"],
+ ["--vscode-notificationCenter-border", "#313131"],
+ ["--vscode-notificationCenterHeader-background", "#1f1f1f"],
+ ["--vscode-notificationCenterHeader-foreground", "#cccccc"],
+ ["--vscode-notificationLink-foreground", "#4daafc"],
+ ["--vscode-notifications-background", "#1f1f1f"],
+ ["--vscode-notifications-border", "#2b2b2b"],
+ ["--vscode-notifications-foreground", "#cccccc"],
+ ["--vscode-notificationsErrorIcon-foreground", "#f14c4c"],
+ ["--vscode-notificationsInfoIcon-foreground", "#59a4f9"],
+ ["--vscode-notificationsWarningIcon-foreground", "#cca700"],
+ ["--vscode-notificationToast-border", "#313131"],
+ ["--vscode-panel-background", "#181818"],
+ ["--vscode-panel-border", "#2b2b2b"],
+ ["--vscode-panel-dropBorder", "#cccccc"],
+ ["--vscode-panelInput-border", "#2b2b2b"],
+ ["--vscode-panelSection-border", "#2b2b2b"],
+ ["--vscode-panelSection-dropBackground", "rgba(83, 89, 93, 0.5)"],
+ ["--vscode-panelSectionHeader-background", "rgba(128, 128, 128, 0.2)"],
+ ["--vscode-panelStickyScroll-background", "#181818"],
+ ["--vscode-panelStickyScroll-shadow", "#000000"],
+ ["--vscode-panelTitle-activeBorder", "#0078d4"],
+ ["--vscode-panelTitle-activeForeground", "#cccccc"],
+ ["--vscode-panelTitle-inactiveForeground", "#9d9d9d"],
+ ["--vscode-panelTitleBadge-background", "#0078d4"],
+ ["--vscode-panelTitleBadge-foreground", "#ffffff"],
+ ["--vscode-peekView-border", "#59a4f9"],
+ ["--vscode-peekViewEditor-background", "#1f1f1f"],
+ [
+ "--vscode-peekViewEditor-matchHighlightBackground",
+ "rgba(187, 128, 9, 0.4)",
+ ],
+ ["--vscode-peekViewEditorGutter-background", "#1f1f1f"],
+ ["--vscode-peekViewEditorStickyScroll-background", "#1f1f1f"],
+ ["--vscode-peekViewEditorStickyScrollGutter-background", "#1f1f1f"],
+ ["--vscode-peekViewResult-background", "#1f1f1f"],
+ ["--vscode-peekViewResult-fileForeground", "#ffffff"],
+ ["--vscode-peekViewResult-lineForeground", "#bbbbbb"],
+ [
+ "--vscode-peekViewResult-matchHighlightBackground",
+ "rgba(187, 128, 9, 0.4)",
+ ],
+ ["--vscode-peekViewResult-selectionBackground", "rgba(51, 153, 255, 0.2)"],
+ ["--vscode-peekViewResult-selectionForeground", "#ffffff"],
+ ["--vscode-peekViewTitle-background", "#252526"],
+ ["--vscode-peekViewTitleDescription-foreground", "rgba(204, 204, 204, 0.7)"],
+ ["--vscode-peekViewTitleLabel-foreground", "#ffffff"],
+ ["--vscode-pickerGroup-border", "#3c3c3c"],
+ ["--vscode-pickerGroup-foreground", "#3794ff"],
+ ["--vscode-ports-iconRunningProcessForeground", "#369432"],
+ ["--vscode-problemsErrorIcon-foreground", "#f14c4c"],
+ ["--vscode-problemsInfoIcon-foreground", "#59a4f9"],
+ ["--vscode-problemsWarningIcon-foreground", "#cca700"],
+ ["--vscode-profileBadge-background", "#4d4d4d"],
+ ["--vscode-profileBadge-foreground", "#ffffff"],
+ ["--vscode-profiles-sashBorder", "#2b2b2b"],
+ ["--vscode-progressBar-background", "#0078d4"],
+ ["--vscode-quickInput-background", "#222222"],
+ ["--vscode-quickInput-foreground", "#cccccc"],
+ ["--vscode-quickInputList-focusBackground", "#04395e"],
+ ["--vscode-quickInputList-focusForeground", "#ffffff"],
+ ["--vscode-quickInputList-focusIconForeground", "#ffffff"],
+ ["--vscode-quickInputTitle-background", "rgba(255, 255, 255, 0.1)"],
+ ["--vscode-radio-activeBackground", "rgba(36, 137, 219, 0.51)"],
+ ["--vscode-radio-activeBorder", "#2488db"],
+ ["--vscode-radio-activeForeground", "#ffffff"],
+ ["--vscode-radio-inactiveBorder", "rgba(255, 255, 255, 0.2)"],
+ ["--vscode-radio-inactiveHoverBackground", "rgba(90, 93, 94, 0.5)"],
+ ["--vscode-remoteHub-decorations.addedForegroundColor", "#81b88b"],
+ ["--vscode-remoteHub-decorations.conflictForegroundColor", "#e4676b"],
+ ["--vscode-remoteHub-decorations.deletedForegroundColor", "#c74e39"],
+ ["--vscode-remoteHub-decorations.ignoredResourceForeground", "#8c8c8c"],
+ ["--vscode-remoteHub-decorations.incomingAddedForegroundColor", "#81b88b"],
+ ["--vscode-remoteHub-decorations.incomingDeletedForegroundColor", "#c74e39"],
+ ["--vscode-remoteHub-decorations.incomingModifiedForegroundColor", "#e2c08d"],
+ ["--vscode-remoteHub-decorations.incomingRenamedForegroundColor", "#73c991"],
+ ["--vscode-remoteHub-decorations.modifiedForegroundColor", "#e2c08d"],
+ ["--vscode-remoteHub-decorations.possibleConflictForegroundColor", "#cca700"],
+ ["--vscode-remoteHub-decorations.submoduleForegroundColor", "#8db9e2"],
+ [
+ "--vscode-remoteHub-decorations.workspaceRepositoriesView.hasUncommittedChangesForegroundColor",
+ "#e2c08d",
+ ],
+ ["--vscode-sash-hoverBorder", "#0078d4"],
+ ["--vscode-scmGraph-foreground1", "#ffb000"],
+ ["--vscode-scmGraph-foreground2", "#dc267f"],
+ ["--vscode-scmGraph-foreground3", "#994f00"],
+ ["--vscode-scmGraph-foreground4", "#40b0a6"],
+ ["--vscode-scmGraph-foreground5", "#b66dff"],
+ ["--vscode-scmGraph-historyItemBaseRefColor", "#ea5c00"],
+ ["--vscode-scmGraph-historyItemHoverAdditionsForeground", "#81b88b"],
+ ["--vscode-scmGraph-historyItemHoverDefaultLabelBackground", "#616161"],
+ ["--vscode-scmGraph-historyItemHoverDefaultLabelForeground", "#cccccc"],
+ ["--vscode-scmGraph-historyItemHoverDeletionsForeground", "#c74e39"],
+ ["--vscode-scmGraph-historyItemHoverLabelForeground", "#181818"],
+ ["--vscode-scmGraph-historyItemRefColor", "#59a4f9"],
+ ["--vscode-scmGraph-historyItemRemoteRefColor", "#b180d7"],
+ ["--vscode-scrollbar-shadow", "#000000"],
+ ["--vscode-scrollbarSlider-activeBackground", "rgba(191, 191, 191, 0.4)"],
+ ["--vscode-scrollbarSlider-background", "rgba(121, 121, 121, 0.4)"],
+ ["--vscode-scrollbarSlider-hoverBackground", "rgba(100, 100, 100, 0.7)"],
+ ["--vscode-search-resultsInfoForeground", "rgba(204, 204, 204, 0.65)"],
+ ["--vscode-searchEditor-findMatchBackground", "rgba(234, 92, 0, 0.22)"],
+ ["--vscode-searchEditor-textInputBorder", "#3c3c3c"],
+ ["--vscode-settings-checkboxBackground", "#313131"],
+ ["--vscode-settings-checkboxBorder", "#3c3c3c"],
+ ["--vscode-settings-checkboxForeground", "#cccccc"],
+ ["--vscode-settings-dropdownBackground", "#313131"],
+ ["--vscode-settings-dropdownBorder", "#3c3c3c"],
+ ["--vscode-settings-dropdownForeground", "#cccccc"],
+ ["--vscode-settings-dropdownListBorder", "#454545"],
+ ["--vscode-settings-focusedRowBackground", "rgba(42, 45, 46, 0.6)"],
+ ["--vscode-settings-focusedRowBorder", "#0078d4"],
+ ["--vscode-settings-headerBorder", "#2b2b2b"],
+ ["--vscode-settings-headerForeground", "#ffffff"],
+ ["--vscode-settings-modifiedItemIndicator", "rgba(187, 128, 9, 0.4)"],
+ ["--vscode-settings-numberInputBackground", "#313131"],
+ ["--vscode-settings-numberInputBorder", "#3c3c3c"],
+ ["--vscode-settings-numberInputForeground", "#cccccc"],
+ ["--vscode-settings-rowHoverBackground", "rgba(42, 45, 46, 0.3)"],
+ ["--vscode-settings-sashBorder", "#2b2b2b"],
+ [
+ "--vscode-settings-settingsHeaderHoverForeground",
+ "rgba(255, 255, 255, 0.7)",
+ ],
+ ["--vscode-settings-textInputBackground", "#313131"],
+ ["--vscode-settings-textInputBorder", "#3c3c3c"],
+ ["--vscode-settings-textInputForeground", "#cccccc"],
+ ["--vscode-sideBar-background", "#181818"],
+ ["--vscode-sideBar-border", "#2b2b2b"],
+ ["--vscode-sideBar-dropBackground", "rgba(83, 89, 93, 0.5)"],
+ ["--vscode-sideBar-foreground", "#cccccc"],
+ ["--vscode-sideBarActivityBarTop-border", "#2b2b2b"],
+ ["--vscode-sideBarSectionHeader-background", "#181818"],
+ ["--vscode-sideBarSectionHeader-border", "#2b2b2b"],
+ ["--vscode-sideBarSectionHeader-foreground", "#cccccc"],
+ ["--vscode-sideBarStickyScroll-background", "#181818"],
+ ["--vscode-sideBarStickyScroll-shadow", "#000000"],
+ ["--vscode-sideBarTitle-background", "#181818"],
+ ["--vscode-sideBarTitle-foreground", "#cccccc"],
+ ["--vscode-sideBySideEditor-horizontalBorder", "rgba(255, 255, 255, 0.09)"],
+ ["--vscode-sideBySideEditor-verticalBorder", "rgba(255, 255, 255, 0.09)"],
+ ["--vscode-simpleFindWidget-sashBorder", "#454545"],
+ ["--vscode-statusBar-background", "#181818"],
+ ["--vscode-statusBar-border", "#2b2b2b"],
+ ["--vscode-statusBar-debuggingBackground", "#0078d4"],
+ ["--vscode-statusBar-debuggingBorder", "#2b2b2b"],
+ ["--vscode-statusBar-debuggingForeground", "#ffffff"],
+ ["--vscode-statusBar-focusBorder", "#0078d4"],
+ ["--vscode-statusBar-foreground", "#cccccc"],
+ ["--vscode-statusBar-noFolderBackground", "#1f1f1f"],
+ ["--vscode-statusBar-noFolderBorder", "#2b2b2b"],
+ ["--vscode-statusBar-noFolderForeground", "#cccccc"],
+ ["--vscode-statusBarItem-activeBackground", "rgba(255, 255, 255, 0.18)"],
+ [
+ "--vscode-statusBarItem-compactHoverBackground",
+ "rgba(255, 255, 255, 0.12)",
+ ],
+ ["--vscode-statusBarItem-errorBackground", "#b91007"],
+ ["--vscode-statusBarItem-errorForeground", "#ffffff"],
+ ["--vscode-statusBarItem-errorHoverBackground", "rgba(241, 241, 241, 0.2)"],
+ ["--vscode-statusBarItem-errorHoverForeground", "#ffffff"],
+ ["--vscode-statusBarItem-focusBorder", "#0078d4"],
+ ["--vscode-statusBarItem-hoverBackground", "rgba(241, 241, 241, 0.2)"],
+ ["--vscode-statusBarItem-hoverForeground", "#ffffff"],
+ ["--vscode-statusBarItem-offlineBackground", "#6c1717"],
+ ["--vscode-statusBarItem-offlineForeground", "#ffffff"],
+ ["--vscode-statusBarItem-offlineHoverBackground", "rgba(241, 241, 241, 0.2)"],
+ ["--vscode-statusBarItem-offlineHoverForeground", "#ffffff"],
+ ["--vscode-statusBarItem-prominentBackground", "rgba(110, 118, 129, 0.4)"],
+ ["--vscode-statusBarItem-prominentForeground", "#cccccc"],
+ [
+ "--vscode-statusBarItem-prominentHoverBackground",
+ "rgba(241, 241, 241, 0.2)",
+ ],
+ ["--vscode-statusBarItem-prominentHoverForeground", "#ffffff"],
+ ["--vscode-statusBarItem-remoteBackground", "#0078d4"],
+ ["--vscode-statusBarItem-remoteForeground", "#ffffff"],
+ ["--vscode-statusBarItem-remoteHoverBackground", "rgba(241, 241, 241, 0.2)"],
+ ["--vscode-statusBarItem-remoteHoverForeground", "#ffffff"],
+ ["--vscode-statusBarItem-warningBackground", "#7a6400"],
+ ["--vscode-statusBarItem-warningForeground", "#ffffff"],
+ ["--vscode-statusBarItem-warningHoverBackground", "rgba(241, 241, 241, 0.2)"],
+ ["--vscode-statusBarItem-warningHoverForeground", "#ffffff"],
+ ["--vscode-strokeThickness", "1px"],
+ ["--vscode-symbolIcon-arrayForeground", "#cccccc"],
+ ["--vscode-symbolIcon-booleanForeground", "#cccccc"],
+ ["--vscode-symbolIcon-classForeground", "#ee9d28"],
+ ["--vscode-symbolIcon-colorForeground", "#cccccc"],
+ ["--vscode-symbolIcon-constantForeground", "#cccccc"],
+ ["--vscode-symbolIcon-constructorForeground", "#b180d7"],
+ ["--vscode-symbolIcon-enumeratorForeground", "#ee9d28"],
+ ["--vscode-symbolIcon-enumeratorMemberForeground", "#75beff"],
+ ["--vscode-symbolIcon-eventForeground", "#ee9d28"],
+ ["--vscode-symbolIcon-fieldForeground", "#75beff"],
+ ["--vscode-symbolIcon-fileForeground", "#cccccc"],
+ ["--vscode-symbolIcon-folderForeground", "#cccccc"],
+ ["--vscode-symbolIcon-functionForeground", "#b180d7"],
+ ["--vscode-symbolIcon-interfaceForeground", "#75beff"],
+ ["--vscode-symbolIcon-keyForeground", "#cccccc"],
+ ["--vscode-symbolIcon-keywordForeground", "#cccccc"],
+ ["--vscode-symbolIcon-methodForeground", "#b180d7"],
+ ["--vscode-symbolIcon-moduleForeground", "#cccccc"],
+ ["--vscode-symbolIcon-namespaceForeground", "#cccccc"],
+ ["--vscode-symbolIcon-nullForeground", "#cccccc"],
+ ["--vscode-symbolIcon-numberForeground", "#cccccc"],
+ ["--vscode-symbolIcon-objectForeground", "#cccccc"],
+ ["--vscode-symbolIcon-operatorForeground", "#cccccc"],
+ ["--vscode-symbolIcon-packageForeground", "#cccccc"],
+ ["--vscode-symbolIcon-propertyForeground", "#cccccc"],
+ ["--vscode-symbolIcon-referenceForeground", "#cccccc"],
+ ["--vscode-symbolIcon-snippetForeground", "#cccccc"],
+ ["--vscode-symbolIcon-stringForeground", "#cccccc"],
+ ["--vscode-symbolIcon-structForeground", "#cccccc"],
+ ["--vscode-symbolIcon-textForeground", "#cccccc"],
+ ["--vscode-symbolIcon-typeParameterForeground", "#cccccc"],
+ ["--vscode-symbolIcon-unitForeground", "#cccccc"],
+ ["--vscode-symbolIcon-variableForeground", "#75beff"],
+ ["--vscode-tab-activeBackground", "#1f1f1f"],
+ ["--vscode-tab-activeBorder", "#1f1f1f"],
+ ["--vscode-tab-activeBorderTop", "#0078d4"],
+ ["--vscode-tab-activeForeground", "#ffffff"],
+ ["--vscode-tab-activeModifiedBorder", "#3399cc"],
+ ["--vscode-tab-border", "#2b2b2b"],
+ ["--vscode-tab-dragAndDropBorder", "#ffffff"],
+ ["--vscode-tab-hoverBackground", "#1f1f1f"],
+ ["--vscode-tab-inactiveBackground", "#181818"],
+ ["--vscode-tab-inactiveForeground", "#9d9d9d"],
+ ["--vscode-tab-inactiveModifiedBorder", "rgba(51, 153, 204, 0.5)"],
+ ["--vscode-tab-lastPinnedBorder", "rgba(204, 204, 204, 0.2)"],
+ ["--vscode-tab-selectedBackground", "#222222"],
+ ["--vscode-tab-selectedBorderTop", "#6caddf"],
+ ["--vscode-tab-selectedForeground", "rgba(255, 255, 255, 0.63)"],
+ ["--vscode-tab-unfocusedActiveBackground", "#1f1f1f"],
+ ["--vscode-tab-unfocusedActiveBorder", "#1f1f1f"],
+ ["--vscode-tab-unfocusedActiveBorderTop", "#2b2b2b"],
+ ["--vscode-tab-unfocusedActiveForeground", "rgba(255, 255, 255, 0.5)"],
+ ["--vscode-tab-unfocusedActiveModifiedBorder", "rgba(51, 153, 204, 0.5)"],
+ ["--vscode-tab-unfocusedHoverBackground", "#1f1f1f"],
+ ["--vscode-tab-unfocusedInactiveBackground", "#181818"],
+ ["--vscode-tab-unfocusedInactiveForeground", "rgba(157, 157, 157, 0.5)"],
+ ["--vscode-tab-unfocusedInactiveModifiedBorder", "rgba(51, 153, 204, 0.25)"],
+ ["--vscode-terminal-ansiBlack", "#000000"],
+ ["--vscode-terminal-ansiBlue", "#2472c8"],
+ ["--vscode-terminal-ansiBrightBlack", "#666666"],
+ ["--vscode-terminal-ansiBrightBlue", "#3b8eea"],
+ ["--vscode-terminal-ansiBrightCyan", "#29b8db"],
+ ["--vscode-terminal-ansiBrightGreen", "#23d18b"],
+ ["--vscode-terminal-ansiBrightMagenta", "#d670d6"],
+ ["--vscode-terminal-ansiBrightRed", "#f14c4c"],
+ ["--vscode-terminal-ansiBrightWhite", "#e5e5e5"],
+ ["--vscode-terminal-ansiBrightYellow", "#f5f543"],
+ ["--vscode-terminal-ansiCyan", "#11a8cd"],
+ ["--vscode-terminal-ansiGreen", "#0dbc79"],
+ ["--vscode-terminal-ansiMagenta", "#bc3fbc"],
+ ["--vscode-terminal-ansiRed", "#cd3131"],
+ ["--vscode-terminal-ansiWhite", "#e5e5e5"],
+ ["--vscode-terminal-ansiYellow", "#e5e510"],
+ ["--vscode-terminal-border", "#2b2b2b"],
+ ["--vscode-terminal-dropBackground", "rgba(83, 89, 93, 0.5)"],
+ ["--vscode-terminal-findMatchBackground", "#9e6a03"],
+ ["--vscode-terminal-findMatchHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-terminal-foreground", "#cccccc"],
+ ["--vscode-terminal-hoverHighlightBackground", "rgba(38, 79, 120, 0.13)"],
+ ["--vscode-terminal-inactiveSelectionBackground", "#3a3d41"],
+ ["--vscode-terminal-initialHintForeground", "rgba(255, 255, 255, 0.34)"],
+ ["--vscode-terminal-selectionBackground", "#264f78"],
+ ["--vscode-terminal-tab.activeBorder", "#0078d4"],
+ [
+ "--vscode-terminalCommandDecoration-defaultBackground",
+ "rgba(255, 255, 255, 0.25)",
+ ],
+ ["--vscode-terminalCommandDecoration-errorBackground", "#f14c4c"],
+ ["--vscode-terminalCommandDecoration-successBackground", "#1b81a8"],
+ ["--vscode-terminalCommandGuide-foreground", "#37373d"],
+ ["--vscode-terminalOverviewRuler-border", "#010409"],
+ [
+ "--vscode-terminalOverviewRuler-cursorForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ [
+ "--vscode-terminalOverviewRuler-findMatchForeground",
+ "rgba(209, 134, 22, 0.49)",
+ ],
+ ["--vscode-terminalStickyScrollHover-background", "#2a2d2e"],
+ ["--vscode-terminalSymbolIcon-aliasForeground", "#b180d7"],
+ ["--vscode-terminalSymbolIcon-argumentForeground", "#75beff"],
+ ["--vscode-terminalSymbolIcon-branchForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-commitForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-fileForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-flagForeground", "#ee9d28"],
+ ["--vscode-terminalSymbolIcon-folderForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-methodForeground", "#b180d7"],
+ ["--vscode-terminalSymbolIcon-optionForeground", "#ee9d28"],
+ ["--vscode-terminalSymbolIcon-optionValueForeground", "#75beff"],
+ ["--vscode-terminalSymbolIcon-pullRequestDoneForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-pullRequestForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-remoteForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-stashForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-symbolicLinkFileForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-symbolicLinkFolderForeground", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-symbolText", "#cccccc"],
+ ["--vscode-terminalSymbolIcon-tagForeground", "#cccccc"],
+ ["--vscode-testing-coverCountBadgeBackground", "#616161"],
+ ["--vscode-testing-coverCountBadgeForeground", "#f8f8f8"],
+ ["--vscode-testing-coveredBackground", "rgba(156, 204, 44, 0.2)"],
+ ["--vscode-testing-coveredBorder", "rgba(156, 204, 44, 0.15)"],
+ ["--vscode-testing-coveredGutterBackground", "rgba(156, 204, 44, 0.12)"],
+ ["--vscode-testing-iconErrored", "#f14c4c"],
+ ["--vscode-testing-iconErrored.retired", "rgba(241, 76, 76, 0.7)"],
+ ["--vscode-testing-iconFailed", "#f14c4c"],
+ ["--vscode-testing-iconFailed.retired", "rgba(241, 76, 76, 0.7)"],
+ ["--vscode-testing-iconPassed", "#73c991"],
+ ["--vscode-testing-iconPassed.retired", "rgba(115, 201, 145, 0.7)"],
+ ["--vscode-testing-iconQueued", "#cca700"],
+ ["--vscode-testing-iconQueued.retired", "rgba(204, 167, 0, 0.7)"],
+ ["--vscode-testing-iconSkipped", "#848484"],
+ ["--vscode-testing-iconSkipped.retired", "rgba(132, 132, 132, 0.7)"],
+ ["--vscode-testing-iconUnset", "#848484"],
+ ["--vscode-testing-iconUnset.retired", "rgba(132, 132, 132, 0.7)"],
+ ["--vscode-testing-message.error.badgeBackground", "#f14c4c"],
+ ["--vscode-testing-message.error.badgeBorder", "#f14c4c"],
+ ["--vscode-testing-message.error.badgeForeground", "#000000"],
+ [
+ "--vscode-testing-message.info.decorationForeground",
+ "rgba(204, 204, 204, 0.5)",
+ ],
+ ["--vscode-testing-messagePeekBorder", "#59a4f9"],
+ ["--vscode-testing-messagePeekHeaderBackground", "rgba(89, 164, 249, 0.1)"],
+ ["--vscode-testing-peekBorder", "#f14c4c"],
+ ["--vscode-testing-peekHeaderBackground", "rgba(241, 76, 76, 0.1)"],
+ ["--vscode-testing-runAction", "#73c991"],
+ ["--vscode-testing-uncoveredBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-testing-uncoveredBorder", "rgba(255, 0, 0, 0.15)"],
+ ["--vscode-testing-uncoveredBranchBackground", "#781212"],
+ ["--vscode-testing-uncoveredGutterBackground", "rgba(255, 0, 0, 0.3)"],
+ ["--vscode-textBlockQuote-background", "#2b2b2b"],
+ ["--vscode-textBlockQuote-border", "#616161"],
+ ["--vscode-textCodeBlock-background", "#2b2b2b"],
+ ["--vscode-textLink-activeForeground", "#4daafc"],
+ ["--vscode-textLink-foreground", "#4daafc"],
+ ["--vscode-textPreformat-background", "#3c3c3c"],
+ ["--vscode-textPreformat-foreground", "#d0d0d0"],
+ ["--vscode-textSeparator-foreground", "#21262d"],
+ ["--vscode-titleBar-activeBackground", "#181818"],
+ ["--vscode-titleBar-activeForeground", "#cccccc"],
+ ["--vscode-titleBar-border", "#2b2b2b"],
+ ["--vscode-titleBar-inactiveBackground", "#1f1f1f"],
+ ["--vscode-titleBar-inactiveForeground", "#9d9d9d"],
+ ["--vscode-toolbar-activeBackground", "rgba(99, 102, 103, 0.31)"],
+ ["--vscode-toolbar-hoverBackground", "rgba(90, 93, 94, 0.31)"],
+ ["--vscode-tree-inactiveIndentGuidesStroke", "rgba(88, 88, 88, 0.4)"],
+ ["--vscode-tree-indentGuidesStroke", "#585858"],
+ ["--vscode-tree-tableColumnsBorder", "rgba(204, 204, 204, 0.13)"],
+ ["--vscode-tree-tableOddRowsBackground", "rgba(204, 204, 204, 0.04)"],
+ ["--vscode-walkThrough-embeddedEditorBackground", "rgba(0, 0, 0, 0.4)"],
+ ["--vscode-walkthrough-stepTitle.foreground", "#ffffff"],
+ ["--vscode-welcomePage-progress.background", "#313131"],
+ ["--vscode-welcomePage-progress.foreground", "#0078d4"],
+ ["--vscode-welcomePage-tileBackground", "#2b2b2b"],
+ ["--vscode-welcomePage-tileBorder", "rgba(255, 255, 255, 0.1)"],
+ ["--vscode-welcomePage-tileHoverBackground", "#262626"],
+ ["--vscode-widget-border", "#313131"],
+ ["--vscode-widget-shadow", "rgba(0, 0, 0, 0.36)"],
+];
diff --git a/.storybook/themes/light-v2.ts b/.storybook/themes/light-v2.ts
new file mode 100644
index 00000000..81bbc804
--- /dev/null
+++ b/.storybook/themes/light-v2.ts
@@ -0,0 +1,943 @@
+// Sourced from `vscode-elements/webview-playground`.
+// https://github.com/vscode-elements/webview-playground/blob/f9a6f90413d0cc535839fb92445b7a5eebc540d7/dist/themes/light-v2.js
+
+export const lightTheme: Array<[string, string]> = [
+ ["--vscode-actionBar-toggledBackground", "#dddddd"],
+ ["--vscode-activityBar-activeBorder", "#005fb8"],
+ ["--vscode-activityBar-background", "#f8f8f8"],
+ ["--vscode-activityBar-border", "#e5e5e5"],
+ ["--vscode-activityBar-dropBorder", "#1f1f1f"],
+ ["--vscode-activityBar-foreground", "#1f1f1f"],
+ ["--vscode-activityBar-inactiveForeground", "#616161"],
+ ["--vscode-activityBarBadge-background", "#005fb8"],
+ ["--vscode-activityBarBadge-foreground", "#ffffff"],
+ ["--vscode-activityBarTop-activeBorder", "#424242"],
+ ["--vscode-activityBarTop-dropBorder", "#424242"],
+ ["--vscode-activityBarTop-foreground", "#424242"],
+ ["--vscode-activityBarTop-inactiveForeground", "rgba(66, 66, 66, 0.75)"],
+ ["--vscode-activityErrorBadge-background", "#e51400"],
+ ["--vscode-activityErrorBadge-foreground", "#ffffff"],
+ ["--vscode-activityWarningBadge-background", "#b27c00"],
+ ["--vscode-activityWarningBadge-foreground", "#ffffff"],
+ ["--vscode-agentSessionReadIndicator-foreground", "rgba(59, 59, 59, 0.2)"],
+ ["--vscode-agentSessionSelectedBadge-border", "rgba(0, 0, 0, 0.3)"],
+ [
+ "--vscode-agentSessionSelectedUnfocusedBadge-border",
+ "rgba(59, 59, 59, 0.3)",
+ ],
+ ["--vscode-agentStatusIndicator-background", "rgba(0, 0, 0, 0.05)"],
+ ["--vscode-aiCustomizationManagement-sashBorder", "#e5e5e5"],
+ ["--vscode-badge-background", "#cccccc"],
+ ["--vscode-badge-foreground", "#3b3b3b"],
+ ["--vscode-banner-background", "#a2a2a2"],
+ ["--vscode-banner-foreground", "#000000"],
+ ["--vscode-banner-iconForeground", "#0063d3"],
+ ["--vscode-bodyFontSize", "13px"],
+ ["--vscode-bodyFontSize-small", "12px"],
+ ["--vscode-bodyFontSize-xSmall", "11px"],
+ ["--vscode-breadcrumb-activeSelectionForeground", "#2f2f2f"],
+ ["--vscode-breadcrumb-background", "#ffffff"],
+ ["--vscode-breadcrumb-focusForeground", "#2f2f2f"],
+ ["--vscode-breadcrumb-foreground", "rgba(59, 59, 59, 0.8)"],
+ ["--vscode-breadcrumbPicker-background", "#f8f8f8"],
+ ["--vscode-browser-border", "#e5e5e5"],
+ ["--vscode-button-background", "#005fb8"],
+ ["--vscode-button-border", "rgba(0, 0, 0, 0.1)"],
+ ["--vscode-button-foreground", "#ffffff"],
+ ["--vscode-button-hoverBackground", "#0258a8"],
+ ["--vscode-button-secondaryBackground", "#e5e5e5"],
+ ["--vscode-button-secondaryForeground", "#3b3b3b"],
+ ["--vscode-button-secondaryHoverBackground", "#cccccc"],
+ ["--vscode-button-separator", "rgba(255, 255, 255, 0.4)"],
+ ["--vscode-chart-axis", "rgba(0, 0, 0, 0.6)"],
+ ["--vscode-chart-guide", "rgba(0, 0, 0, 0.2)"],
+ ["--vscode-chart-line", "#236b8e"],
+ ["--vscode-charts-blue", "#0063d3"],
+ ["--vscode-charts-foreground", "#3b3b3b"],
+ ["--vscode-charts-green", "#388a34"],
+ ["--vscode-charts-lines", "rgba(59, 59, 59, 0.5)"],
+ ["--vscode-charts-orange", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-charts-purple", "#652d90"],
+ ["--vscode-charts-red", "#e51400"],
+ ["--vscode-charts-yellow", "#bf8803"],
+ ["--vscode-chat-avatarBackground", "#f2f2f2"],
+ ["--vscode-chat-avatarForeground", "#3b3b3b"],
+ ["--vscode-chat-checkpointSeparator", "#a9a9a9"],
+ ["--vscode-chat-editedFileForeground", "#895503"],
+ ["--vscode-chat-linesAddedForeground", "#107c10"],
+ ["--vscode-chat-linesRemovedForeground", "#bc2f32"],
+ ["--vscode-chat-requestBackground", "rgba(255, 255, 255, 0.62)"],
+ ["--vscode-chat-requestBorder", "rgba(0, 0, 0, 0.1)"],
+ ["--vscode-chat-requestBubbleBackground", "rgba(173, 214, 255, 0.3)"],
+ ["--vscode-chat-requestBubbleHoverBackground", "rgba(173, 214, 255, 0.6)"],
+ ["--vscode-chat-requestCodeBorder", "rgba(14, 99, 156, 0.25)"],
+ ["--vscode-chat-slashCommandBackground", "rgba(173, 206, 255, 0.48)"],
+ ["--vscode-chat-slashCommandForeground", "#26569e"],
+ ["--vscode-chat-thinkingShimmer", "#000000"],
+ ["--vscode-chatManagement-sashBorder", "#e5e5e5"],
+ ["--vscode-checkbox-background", "#f8f8f8"],
+ ["--vscode-checkbox-border", "#cecece"],
+ ["--vscode-checkbox-disabled.background", "#b9b9b9"],
+ ["--vscode-checkbox-disabled.foreground", "#797979"],
+ ["--vscode-checkbox-foreground", "#3b3b3b"],
+ ["--vscode-checkbox-selectBackground", "#f8f8f8"],
+ ["--vscode-checkbox-selectBorder", "#3b3b3b"],
+ ["--vscode-codiconFontSize", "16px"],
+ ["--vscode-commandCenter-activeBackground", "rgba(0, 0, 0, 0.08)"],
+ ["--vscode-commandCenter-activeBorder", "rgba(30, 30, 30, 0.3)"],
+ ["--vscode-commandCenter-activeForeground", "#1e1e1e"],
+ ["--vscode-commandCenter-background", "rgba(0, 0, 0, 0.05)"],
+ ["--vscode-commandCenter-border", "rgba(30, 30, 30, 0.2)"],
+ ["--vscode-commandCenter-debuggingBackground", "rgba(253, 113, 108, 0.26)"],
+ ["--vscode-commandCenter-foreground", "#1e1e1e"],
+ ["--vscode-commandCenter-inactiveBorder", "rgba(139, 148, 158, 0.25)"],
+ ["--vscode-commandCenter-inactiveForeground", "#8b949e"],
+ ["--vscode-commentsView-resolvedIcon", "rgba(97, 97, 97, 0.5)"],
+ ["--vscode-commentsView-unresolvedIcon", "#005fb8"],
+ ["--vscode-cornerRadius-circle", "9999px"],
+ ["--vscode-cornerRadius-large", "8px"],
+ ["--vscode-cornerRadius-medium", "6px"],
+ ["--vscode-cornerRadius-small", "4px"],
+ ["--vscode-cornerRadius-xLarge", "12px"],
+ ["--vscode-cornerRadius-xSmall", "2px"],
+ ["--vscode-debugConsole-errorForeground", "#f85149"],
+ ["--vscode-debugConsole-infoForeground", "#0063d3"],
+ ["--vscode-debugConsole-sourceForeground", "#3b3b3b"],
+ ["--vscode-debugConsole-warningForeground", "#bf8803"],
+ ["--vscode-debugConsoleInputIcon-foreground", "#3b3b3b"],
+ ["--vscode-debugExceptionWidget-background", "#f1dfde"],
+ ["--vscode-debugExceptionWidget-border", "#a31515"],
+ ["--vscode-debugIcon-breakpointCurrentStackframeForeground", "#be8700"],
+ ["--vscode-debugIcon-breakpointDisabledForeground", "#848484"],
+ ["--vscode-debugIcon-breakpointForeground", "#e51400"],
+ ["--vscode-debugIcon-breakpointStackframeForeground", "#89d185"],
+ ["--vscode-debugIcon-breakpointUnverifiedForeground", "#848484"],
+ ["--vscode-debugIcon-continueForeground", "#007acc"],
+ ["--vscode-debugIcon-disconnectForeground", "#a1260d"],
+ ["--vscode-debugIcon-pauseForeground", "#007acc"],
+ ["--vscode-debugIcon-restartForeground", "#388a34"],
+ ["--vscode-debugIcon-startForeground", "#388a34"],
+ ["--vscode-debugIcon-stepBackForeground", "#007acc"],
+ ["--vscode-debugIcon-stepIntoForeground", "#007acc"],
+ ["--vscode-debugIcon-stepOutForeground", "#007acc"],
+ ["--vscode-debugIcon-stepOverForeground", "#007acc"],
+ ["--vscode-debugIcon-stopForeground", "#a1260d"],
+ ["--vscode-debugTokenExpression-boolean", "#0000ff"],
+ ["--vscode-debugTokenExpression-error", "#e51400"],
+ ["--vscode-debugTokenExpression-name", "#9b46b0"],
+ ["--vscode-debugTokenExpression-number", "#098658"],
+ ["--vscode-debugTokenExpression-string", "#a31515"],
+ ["--vscode-debugTokenExpression-type", "#4a90e2"],
+ ["--vscode-debugTokenExpression-value", "rgba(108, 108, 108, 0.8)"],
+ ["--vscode-debugToolBar-background", "#f3f3f3"],
+ ["--vscode-debugView-exceptionLabelBackground", "#a31515"],
+ ["--vscode-debugView-exceptionLabelForeground", "#ffffff"],
+ ["--vscode-debugView-stateLabelBackground", "rgba(136, 136, 136, 0.27)"],
+ ["--vscode-debugView-stateLabelForeground", "#3b3b3b"],
+ ["--vscode-debugView-valueChangedHighlight", "#569cd6"],
+ ["--vscode-descriptionForeground", "#3b3b3b"],
+ ["--vscode-diffEditor-diagonalFill", "rgba(34, 34, 34, 0.2)"],
+ ["--vscode-diffEditor-insertedLineBackground", "rgba(155, 185, 85, 0.2)"],
+ ["--vscode-diffEditor-insertedTextBackground", "rgba(156, 204, 44, 0.25)"],
+ ["--vscode-diffEditor-move.border", "rgba(139, 139, 139, 0.61)"],
+ ["--vscode-diffEditor-moveActive.border", "#ffa500"],
+ ["--vscode-diffEditor-removedLineBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-diffEditor-removedTextBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-diffEditor-unchangedCodeBackground", "rgba(184, 184, 184, 0.16)"],
+ ["--vscode-diffEditor-unchangedRegionBackground", "#f8f8f8"],
+ ["--vscode-diffEditor-unchangedRegionForeground", "#3b3b3b"],
+ ["--vscode-diffEditor-unchangedRegionShadow", "rgba(115, 115, 115, 0.75)"],
+ ["--vscode-disabledForeground", "rgba(97, 97, 97, 0.5)"],
+ ["--vscode-dropdown-background", "#ffffff"],
+ ["--vscode-dropdown-border", "#cecece"],
+ ["--vscode-dropdown-foreground", "#3b3b3b"],
+ ["--vscode-dropdown-listBackground", "#ffffff"],
+ ["--vscode-editor-background", "#ffffff"],
+ ["--vscode-editor-compositionBorder", "#000000"],
+ ["--vscode-editor-findMatchBackground", "#a8ac94"],
+ ["--vscode-editor-findMatchHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-editor-findRangeHighlightBackground", "rgba(180, 180, 180, 0.3)"],
+ [
+ "--vscode-editor-focusedStackFrameHighlightBackground",
+ "rgba(206, 231, 206, 0.45)",
+ ],
+ ["--vscode-editor-foldBackground", "rgba(173, 214, 255, 0.3)"],
+ ["--vscode-editor-foldPlaceholderForeground", "#808080"],
+ ["--vscode-editor-font-feature-settings", '"liga" off, "calt" off'],
+ ["--vscode-editor-font-size", "14px"],
+ ["--vscode-editor-font-weight", "normal"],
+ ["--vscode-editor-foreground", "#3b3b3b"],
+ ["--vscode-editor-hoverHighlightBackground", "rgba(173, 214, 255, 0.15)"],
+ ["--vscode-editor-inactiveSelectionBackground", "#e5ebf1"],
+ ["--vscode-editor-inlineValuesBackground", "rgba(255, 200, 0, 0.2)"],
+ ["--vscode-editor-inlineValuesForeground", "rgba(0, 0, 0, 0.5)"],
+ ["--vscode-editor-lineHighlightBorder", "#eeeeee"],
+ ["--vscode-editor-linkedEditingBackground", "rgba(255, 0, 0, 0.3)"],
+ ["--vscode-editor-placeholder.foreground", "rgba(0, 0, 0, 0.47)"],
+ ["--vscode-editor-rangeHighlightBackground", "rgba(253, 255, 0, 0.2)"],
+ ["--vscode-editor-selectionBackground", "#add6ff"],
+ ["--vscode-editor-selectionHighlightBackground", "rgba(173, 214, 255, 0.5)"],
+ [
+ "--vscode-editor-snippetFinalTabstopHighlightBorder",
+ "rgba(10, 50, 100, 0.5)",
+ ],
+ [
+ "--vscode-editor-snippetTabstopHighlightBackground",
+ "rgba(10, 50, 100, 0.2)",
+ ],
+ [
+ "--vscode-editor-stackFrameHighlightBackground",
+ "rgba(255, 255, 102, 0.45)",
+ ],
+ ["--vscode-editor-symbolHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-editor-wordHighlightBackground", "rgba(87, 87, 87, 0.25)"],
+ ["--vscode-editor-wordHighlightStrongBackground", "rgba(14, 99, 156, 0.25)"],
+ ["--vscode-editor-wordHighlightTextBackground", "rgba(87, 87, 87, 0.25)"],
+ ["--vscode-editorActionList-background", "#f8f8f8"],
+ ["--vscode-editorActionList-focusBackground", "#e8e8e8"],
+ ["--vscode-editorActionList-focusForeground", "#000000"],
+ ["--vscode-editorActionList-foreground", "#3b3b3b"],
+ ["--vscode-editorActiveLineNumber-foreground", "#0b216f"],
+ ["--vscode-editorBracketHighlight-foreground1", "#0431fa"],
+ ["--vscode-editorBracketHighlight-foreground2", "#319331"],
+ ["--vscode-editorBracketHighlight-foreground3", "#7b3814"],
+ ["--vscode-editorBracketHighlight-foreground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketHighlight-foreground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketHighlight-foreground6", "rgba(0, 0, 0, 0)"],
+ [
+ "--vscode-editorBracketHighlight-unexpectedBracket.foreground",
+ "rgba(255, 18, 18, 0.8)",
+ ],
+ ["--vscode-editorBracketMatch-background", "rgba(0, 100, 0, 0.1)"],
+ ["--vscode-editorBracketMatch-border", "#b9b9b9"],
+ ["--vscode-editorBracketPairGuide-activeBackground1", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-activeBackground6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background1", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorBracketPairGuide-background6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorCodeLens-foreground", "#919191"],
+ [
+ "--vscode-editorCommentsWidget-rangeActiveBackground",
+ "rgba(0, 95, 184, 0.1)",
+ ],
+ ["--vscode-editorCommentsWidget-rangeBackground", "rgba(0, 95, 184, 0.1)"],
+ ["--vscode-editorCommentsWidget-replyInputBackground", "#f3f3f3"],
+ ["--vscode-editorCommentsWidget-resolvedBorder", "rgba(97, 97, 97, 0.5)"],
+ ["--vscode-editorCommentsWidget-unresolvedBorder", "#005fb8"],
+ ["--vscode-editorCursor-foreground", "#000000"],
+ ["--vscode-editorError-foreground", "#e51400"],
+ ["--vscode-editorGhostText-foreground", "rgba(0, 0, 0, 0.47)"],
+ ["--vscode-editorGroup-border", "#e5e5e5"],
+ ["--vscode-editorGroup-dropBackground", "rgba(38, 119, 203, 0.18)"],
+ ["--vscode-editorGroup-dropIntoPromptBackground", "#f8f8f8"],
+ ["--vscode-editorGroup-dropIntoPromptForeground", "#3b3b3b"],
+ ["--vscode-editorGroupHeader-noTabsBackground", "#ffffff"],
+ ["--vscode-editorGroupHeader-tabsBackground", "#f8f8f8"],
+ ["--vscode-editorGroupHeader-tabsBorder", "#e5e5e5"],
+ ["--vscode-editorGutter-addedBackground", "#2ea043"],
+ ["--vscode-editorGutter-addedSecondaryBackground", "#83db93"],
+ ["--vscode-editorGutter-background", "#ffffff"],
+ ["--vscode-editorGutter-commentDraftGlyphForeground", "#3b3b3b"],
+ ["--vscode-editorGutter-commentGlyphForeground", "#3b3b3b"],
+ ["--vscode-editorGutter-commentRangeForeground", "#d5d8e9"],
+ ["--vscode-editorGutter-commentUnresolvedGlyphForeground", "#3b3b3b"],
+ ["--vscode-editorGutter-deletedBackground", "#f85149"],
+ ["--vscode-editorGutter-deletedSecondaryBackground", "#fcaaa6"],
+ ["--vscode-editorGutter-foldingControlForeground", "#3b3b3b"],
+ ["--vscode-editorGutter-itemBackground", "#d5d8e9"],
+ ["--vscode-editorGutter-itemGlyphForeground", "#3b3b3b"],
+ ["--vscode-editorGutter-modifiedBackground", "#005fb8"],
+ ["--vscode-editorGutter-modifiedSecondaryBackground", "#3aa0ff"],
+ ["--vscode-editorHint-foreground", "#6c6c6c"],
+ ["--vscode-editorHoverWidget-background", "#f8f8f8"],
+ ["--vscode-editorHoverWidget-border", "#c8c8c8"],
+ ["--vscode-editorHoverWidget-foreground", "#3b3b3b"],
+ ["--vscode-editorHoverWidget-highlightForeground", "#0066bf"],
+ ["--vscode-editorHoverWidget-statusBarBackground", "#ececec"],
+ ["--vscode-editorIndentGuide-activeBackground", "rgba(51, 51, 51, 0.2)"],
+ ["--vscode-editorIndentGuide-activeBackground1", "#939393"],
+ ["--vscode-editorIndentGuide-activeBackground2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-activeBackground6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background", "rgba(51, 51, 51, 0.2)"],
+ ["--vscode-editorIndentGuide-background1", "#d3d3d3"],
+ ["--vscode-editorIndentGuide-background2", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background3", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background4", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background5", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorIndentGuide-background6", "rgba(0, 0, 0, 0)"],
+ ["--vscode-editorInfo-foreground", "#0063d3"],
+ ["--vscode-editorInlayHint-background", "rgba(204, 204, 204, 0.1)"],
+ ["--vscode-editorInlayHint-foreground", "#969696"],
+ ["--vscode-editorInlayHint-parameterBackground", "rgba(204, 204, 204, 0.1)"],
+ ["--vscode-editorInlayHint-parameterForeground", "#969696"],
+ ["--vscode-editorInlayHint-typeBackground", "rgba(204, 204, 204, 0.1)"],
+ ["--vscode-editorInlayHint-typeForeground", "#969696"],
+ ["--vscode-editorLightBulb-foreground", "#ddb100"],
+ ["--vscode-editorLightBulbAi-foreground", "#ddb100"],
+ ["--vscode-editorLightBulbAutoFix-foreground", "#007acc"],
+ ["--vscode-editorLineNumber-activeForeground", "#171184"],
+ ["--vscode-editorLineNumber-foreground", "#6e7681"],
+ ["--vscode-editorLink-activeForeground", "#0000ff"],
+ ["--vscode-editorMarkerNavigation-background", "#ffffff"],
+ ["--vscode-editorMarkerNavigationError-background", "#e51400"],
+ [
+ "--vscode-editorMarkerNavigationError-headerBackground",
+ "rgba(229, 20, 0, 0.1)",
+ ],
+ ["--vscode-editorMarkerNavigationInfo-background", "#0063d3"],
+ [
+ "--vscode-editorMarkerNavigationInfo-headerBackground",
+ "rgba(0, 99, 211, 0.1)",
+ ],
+ ["--vscode-editorMarkerNavigationWarning-background", "#bf8803"],
+ [
+ "--vscode-editorMarkerNavigationWarning-headerBackground",
+ "rgba(191, 136, 3, 0.1)",
+ ],
+ ["--vscode-editorMinimap-inlineChatInserted", "rgba(156, 204, 44, 0.2)"],
+ ["--vscode-editorMultiCursor-primary.foreground", "#000000"],
+ ["--vscode-editorMultiCursor-secondary.foreground", "#000000"],
+ ["--vscode-editorOverviewRuler-addedForeground", "rgba(46, 160, 67, 0.6)"],
+ ["--vscode-editorOverviewRuler-border", "#e5e5e5"],
+ ["--vscode-editorOverviewRuler-bracketMatchForeground", "#a0a0a0"],
+ ["--vscode-editorOverviewRuler-commentDraftForeground", "#d5d8e9"],
+ ["--vscode-editorOverviewRuler-commentForeground", "#d5d8e9"],
+ ["--vscode-editorOverviewRuler-commentUnresolvedForeground", "#d5d8e9"],
+ [
+ "--vscode-editorOverviewRuler-commonContentForeground",
+ "rgba(96, 96, 96, 0.4)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-currentContentForeground",
+ "rgba(64, 200, 174, 0.5)",
+ ],
+ ["--vscode-editorOverviewRuler-deletedForeground", "rgba(248, 81, 73, 0.6)"],
+ ["--vscode-editorOverviewRuler-errorForeground", "rgba(255, 18, 18, 0.7)"],
+ [
+ "--vscode-editorOverviewRuler-findMatchForeground",
+ "rgba(209, 134, 22, 0.49)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-incomingContentForeground",
+ "rgba(64, 166, 255, 0.5)",
+ ],
+ ["--vscode-editorOverviewRuler-infoForeground", "#0063d3"],
+ [
+ "--vscode-editorOverviewRuler-inlineChatInserted",
+ "rgba(156, 204, 44, 0.2)",
+ ],
+ ["--vscode-editorOverviewRuler-inlineChatRemoved", "rgba(255, 0, 0, 0.16)"],
+ ["--vscode-editorOverviewRuler-modifiedForeground", "rgba(0, 95, 184, 0.6)"],
+ [
+ "--vscode-editorOverviewRuler-rangeHighlightForeground",
+ "rgba(0, 122, 204, 0.6)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-selectionHighlightForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ ["--vscode-editorOverviewRuler-warningForeground", "#bf8803"],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightStrongForeground",
+ "rgba(192, 160, 192, 0.8)",
+ ],
+ [
+ "--vscode-editorOverviewRuler-wordHighlightTextForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ ["--vscode-editorPane-background", "#ffffff"],
+ ["--vscode-editorRuler-foreground", "#d3d3d3"],
+ ["--vscode-editorStickyScroll-background", "#ffffff"],
+ ["--vscode-editorStickyScroll-shadow", "#dddddd"],
+ ["--vscode-editorStickyScrollGutter-background", "#ffffff"],
+ ["--vscode-editorStickyScrollHover-background", "#f0f0f0"],
+ ["--vscode-editorSuggestWidget-background", "#f8f8f8"],
+ ["--vscode-editorSuggestWidget-border", "#c8c8c8"],
+ ["--vscode-editorSuggestWidget-focusHighlightForeground", "#0066bf"],
+ ["--vscode-editorSuggestWidget-foreground", "#3b3b3b"],
+ ["--vscode-editorSuggestWidget-highlightForeground", "#0066bf"],
+ ["--vscode-editorSuggestWidget-selectedBackground", "#e8e8e8"],
+ ["--vscode-editorSuggestWidget-selectedForeground", "#000000"],
+ ["--vscode-editorSuggestWidget-selectedIconForeground", "#000000"],
+ ["--vscode-editorSuggestWidgetStatus-foreground", "rgba(59, 59, 59, 0.5)"],
+ ["--vscode-editorUnicodeHighlight-border", "#bf8803"],
+ ["--vscode-editorUnnecessaryCode-opacity", "rgba(0, 0, 0, 0.47)"],
+ ["--vscode-editorWarning-foreground", "#bf8803"],
+ ["--vscode-editorWhitespace-foreground", "rgba(51, 51, 51, 0.2)"],
+ ["--vscode-editorWidget-background", "#f8f8f8"],
+ ["--vscode-editorWidget-border", "#c8c8c8"],
+ ["--vscode-editorWidget-foreground", "#3b3b3b"],
+ ["--vscode-errorForeground", "#f85149"],
+ ["--vscode-extensionBadge-remoteBackground", "#005fb8"],
+ ["--vscode-extensionBadge-remoteForeground", "#ffffff"],
+ ["--vscode-extensionButton-background", "#e5e5e5"],
+ ["--vscode-extensionButton-border", "rgba(0, 0, 0, 0.1)"],
+ ["--vscode-extensionButton-foreground", "#3b3b3b"],
+ ["--vscode-extensionButton-hoverBackground", "#cccccc"],
+ ["--vscode-extensionButton-prominentBackground", "#005fb8"],
+ ["--vscode-extensionButton-prominentForeground", "#ffffff"],
+ ["--vscode-extensionButton-prominentHoverBackground", "#0258a8"],
+ ["--vscode-extensionButton-separator", "rgba(255, 255, 255, 0.4)"],
+ ["--vscode-extensionIcon-preReleaseForeground", "#1d9271"],
+ ["--vscode-extensionIcon-privateForeground", "rgba(0, 0, 0, 0.38)"],
+ ["--vscode-extensionIcon-sponsorForeground", "#b51e78"],
+ ["--vscode-extensionIcon-starForeground", "#df6100"],
+ ["--vscode-extensionIcon-verifiedForeground", "#005fb8"],
+ ["--vscode-focusBorder", "#005fb8"],
+ ["--vscode-font-size", "13px"],
+ ["--vscode-font-weight", "normal"],
+ ["--vscode-foreground", "#3b3b3b"],
+ ["--vscode-gauge-background", "rgba(0, 122, 204, 0.3)"],
+ ["--vscode-gauge-errorBackground", "rgba(190, 17, 0, 0.3)"],
+ ["--vscode-gauge-errorForeground", "#be1100"],
+ ["--vscode-gauge-foreground", "#007acc"],
+ ["--vscode-gauge-warningBackground", "rgba(184, 149, 0, 0.3)"],
+ ["--vscode-gauge-warningForeground", "#b89500"],
+ ["--vscode-icon-foreground", "#3b3b3b"],
+ ["--vscode-inlineChat-background", "#f8f8f8"],
+ ["--vscode-inlineChat-border", "#c8c8c8"],
+ ["--vscode-inlineChat-foreground", "#3b3b3b"],
+ ["--vscode-inlineChat-shadow", "rgba(0, 0, 0, 0.16)"],
+ ["--vscode-inlineChatDiff-inserted", "rgba(156, 204, 44, 0.13)"],
+ ["--vscode-inlineChatDiff-removed", "rgba(255, 0, 0, 0.1)"],
+ ["--vscode-inlineChatInput-background", "#ffffff"],
+ ["--vscode-inlineChatInput-border", "#c8c8c8"],
+ ["--vscode-inlineChatInput-focusBorder", "#005fb8"],
+ ["--vscode-inlineChatInput-placeholderForeground", "#767676"],
+ ["--vscode-inlineEdit-gutterIndicator.background", "rgba(95, 95, 95, 0.09)"],
+ [
+ "--vscode-inlineEdit-gutterIndicator.primaryBackground",
+ "rgba(0, 95, 184, 0.5)",
+ ],
+ ["--vscode-inlineEdit-gutterIndicator.primaryBorder", "#005fb8"],
+ ["--vscode-inlineEdit-gutterIndicator.primaryForeground", "#ffffff"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryBackground", "#f8f8f8"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryBorder", "#c8c8c8"],
+ ["--vscode-inlineEdit-gutterIndicator.secondaryForeground", "#3b3b3b"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulBackground", "#005fb8"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulBorder", "#005fb8"],
+ ["--vscode-inlineEdit-gutterIndicator.successfulForeground", "#ffffff"],
+ ["--vscode-inlineEdit-modifiedBackground", "rgba(156, 204, 44, 0.07)"],
+ ["--vscode-inlineEdit-modifiedBorder", "rgba(62, 81, 18, 0.25)"],
+ [
+ "--vscode-inlineEdit-modifiedChangedLineBackground",
+ "rgba(155, 185, 85, 0.14)",
+ ],
+ [
+ "--vscode-inlineEdit-modifiedChangedTextBackground",
+ "rgba(156, 204, 44, 0.18)",
+ ],
+ ["--vscode-inlineEdit-originalBackground", "rgba(255, 0, 0, 0.04)"],
+ ["--vscode-inlineEdit-originalBorder", "rgba(255, 0, 0, 0.2)"],
+ [
+ "--vscode-inlineEdit-originalChangedLineBackground",
+ "rgba(255, 0, 0, 0.16)",
+ ],
+ [
+ "--vscode-inlineEdit-originalChangedTextBackground",
+ "rgba(255, 0, 0, 0.16)",
+ ],
+ ["--vscode-inlineEdit-tabWillAcceptModifiedBorder", "rgba(62, 81, 18, 0.25)"],
+ ["--vscode-inlineEdit-tabWillAcceptOriginalBorder", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-input-background", "#ffffff"],
+ ["--vscode-input-border", "#cecece"],
+ ["--vscode-input-foreground", "#3b3b3b"],
+ ["--vscode-input-placeholderForeground", "#767676"],
+ ["--vscode-inputOption-activeBackground", "#bed6ed"],
+ ["--vscode-inputOption-activeBorder", "#005fb8"],
+ ["--vscode-inputOption-activeForeground", "#000000"],
+ ["--vscode-inputOption-hoverBackground", "rgba(184, 184, 184, 0.31)"],
+ ["--vscode-inputValidation-errorBackground", "#f2dede"],
+ ["--vscode-inputValidation-errorBorder", "#be1100"],
+ ["--vscode-inputValidation-infoBackground", "#d6ecf2"],
+ ["--vscode-inputValidation-infoBorder", "#007acc"],
+ ["--vscode-inputValidation-warningBackground", "#f6f5d2"],
+ ["--vscode-inputValidation-warningBorder", "#b89500"],
+ ["--vscode-interactive-activeCodeBorder", "#007acc"],
+ ["--vscode-interactive-inactiveCodeBorder", "#e4e6f1"],
+ ["--vscode-keybindingLabel-background", "rgba(221, 221, 221, 0.4)"],
+ ["--vscode-keybindingLabel-border", "rgba(204, 204, 204, 0.4)"],
+ ["--vscode-keybindingLabel-bottomBorder", "rgba(187, 187, 187, 0.4)"],
+ ["--vscode-keybindingLabel-foreground", "#3b3b3b"],
+ ["--vscode-keybindingTable-headerBackground", "rgba(59, 59, 59, 0.04)"],
+ ["--vscode-keybindingTable-rowsBackground", "rgba(59, 59, 59, 0.04)"],
+ ["--vscode-list-activeSelectionBackground", "#e8e8e8"],
+ ["--vscode-list-activeSelectionForeground", "#000000"],
+ ["--vscode-list-activeSelectionIconForeground", "#000000"],
+ ["--vscode-list-deemphasizedForeground", "#8e8e90"],
+ ["--vscode-list-dropBackground", "#d6ebff"],
+ ["--vscode-list-dropBetweenBackground", "#3b3b3b"],
+ ["--vscode-list-errorForeground", "#b01011"],
+ ["--vscode-list-filterMatchBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-list-focusAndSelectionOutline", "#005fb8"],
+ ["--vscode-list-focusHighlightForeground", "#0066bf"],
+ ["--vscode-list-focusOutline", "#005fb8"],
+ ["--vscode-list-highlightForeground", "#0066bf"],
+ ["--vscode-list-hoverBackground", "#f2f2f2"],
+ ["--vscode-list-inactiveSelectionBackground", "#e4e6f1"],
+ ["--vscode-list-invalidItemForeground", "#b89500"],
+ ["--vscode-list-warningForeground", "#855f00"],
+ ["--vscode-listFilterWidget-background", "#f8f8f8"],
+ ["--vscode-listFilterWidget-noMatchesOutline", "#be1100"],
+ ["--vscode-listFilterWidget-outline", "rgba(0, 0, 0, 0)"],
+ ["--vscode-listFilterWidget-shadow", "rgba(0, 0, 0, 0.16)"],
+ ["--vscode-markdownAlert-caution.foreground", "#e51400"],
+ ["--vscode-markdownAlert-important.foreground", "#652d90"],
+ ["--vscode-markdownAlert-note.foreground", "#0063d3"],
+ ["--vscode-markdownAlert-tip.foreground", "#388a34"],
+ ["--vscode-markdownAlert-warning.foreground", "#bf8803"],
+ ["--vscode-mcpIcon-starForeground", "#df6100"],
+ ["--vscode-menu-background", "#ffffff"],
+ ["--vscode-menu-border", "#cecece"],
+ ["--vscode-menu-foreground", "#3b3b3b"],
+ ["--vscode-menu-selectionBackground", "#005fb8"],
+ ["--vscode-menu-selectionForeground", "#ffffff"],
+ ["--vscode-menu-separatorBackground", "#d4d4d4"],
+ ["--vscode-menubar-selectionBackground", "rgba(184, 184, 184, 0.31)"],
+ ["--vscode-menubar-selectionForeground", "#1e1e1e"],
+ ["--vscode-merge-commonContentBackground", "rgba(96, 96, 96, 0.16)"],
+ ["--vscode-merge-commonHeaderBackground", "rgba(96, 96, 96, 0.4)"],
+ ["--vscode-merge-currentContentBackground", "rgba(64, 200, 174, 0.2)"],
+ ["--vscode-merge-currentHeaderBackground", "rgba(64, 200, 174, 0.5)"],
+ ["--vscode-merge-incomingContentBackground", "rgba(64, 166, 255, 0.2)"],
+ ["--vscode-merge-incomingHeaderBackground", "rgba(64, 166, 255, 0.5)"],
+ ["--vscode-mergeEditor-change.background", "rgba(155, 185, 85, 0.2)"],
+ ["--vscode-mergeEditor-change.word.background", "rgba(156, 204, 44, 0.4)"],
+ ["--vscode-mergeEditor-changeBase.background", "#ffcccc"],
+ ["--vscode-mergeEditor-changeBase.word.background", "#ffa3a3"],
+ [
+ "--vscode-mergeEditor-conflict.handled.minimapOverViewRuler",
+ "rgba(173, 172, 168, 0.93)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.handledFocused.border",
+ "rgba(193, 193, 193, 0.8)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.handledUnfocused.border",
+ "rgba(134, 134, 134, 0.29)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.input1.background",
+ "rgba(64, 200, 174, 0.2)",
+ ],
+ [
+ "--vscode-mergeEditor-conflict.input2.background",
+ "rgba(64, 166, 255, 0.2)",
+ ],
+ ["--vscode-mergeEditor-conflict.unhandled.minimapOverViewRuler", "#fcba03"],
+ ["--vscode-mergeEditor-conflict.unhandledFocused.border", "#ffa600"],
+ ["--vscode-mergeEditor-conflict.unhandledUnfocused.border", "#ffa600"],
+ [
+ "--vscode-mergeEditor-conflictingLines.background",
+ "rgba(255, 234, 0, 0.28)",
+ ],
+ ["--vscode-minimap-chatEditHighlight", "rgba(255, 255, 255, 0.6)"],
+ ["--vscode-minimap-errorHighlight", "rgba(255, 18, 18, 0.7)"],
+ ["--vscode-minimap-findMatchHighlight", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-minimap-foregroundOpacity", "#000000"],
+ ["--vscode-minimap-infoHighlight", "#0063d3"],
+ ["--vscode-minimap-selectionHighlight", "#add6ff"],
+ ["--vscode-minimap-selectionOccurrenceHighlight", "rgba(173, 214, 255, 0.5)"],
+ ["--vscode-minimap-warningHighlight", "#bf8803"],
+ ["--vscode-minimapGutter-addedBackground", "#2ea043"],
+ ["--vscode-minimapGutter-deletedBackground", "#f85149"],
+ ["--vscode-minimapGutter-modifiedBackground", "#005fb8"],
+ ["--vscode-minimapSlider-activeBackground", "rgba(0, 0, 0, 0.3)"],
+ ["--vscode-minimapSlider-background", "rgba(100, 100, 100, 0.2)"],
+ ["--vscode-minimapSlider-hoverBackground", "rgba(100, 100, 100, 0.35)"],
+ ["--vscode-multiDiffEditor-background", "#ffffff"],
+ ["--vscode-multiDiffEditor-border", "#cccccc"],
+ ["--vscode-multiDiffEditor-headerBackground", "#f8f8f8"],
+ ["--vscode-notebook-cellBorderColor", "#e5e5e5"],
+ ["--vscode-notebook-cellEditorBackground", "#f8f8f8"],
+ ["--vscode-notebook-cellInsertionIndicator", "#005fb8"],
+ ["--vscode-notebook-cellStatusBarItemHoverBackground", "rgba(0, 0, 0, 0.08)"],
+ ["--vscode-notebook-cellToolbarSeparator", "rgba(128, 128, 128, 0.35)"],
+ ["--vscode-notebook-editorBackground", "#ffffff"],
+ ["--vscode-notebook-focusedCellBorder", "#005fb8"],
+ ["--vscode-notebook-focusedEditorBorder", "#005fb8"],
+ ["--vscode-notebook-inactiveFocusedCellBorder", "#e5e5e5"],
+ ["--vscode-notebook-selectedCellBackground", "rgba(200, 221, 241, 0.31)"],
+ ["--vscode-notebook-selectedCellBorder", "#e5e5e5"],
+ ["--vscode-notebook-symbolHighlightBackground", "rgba(253, 255, 0, 0.2)"],
+ ["--vscode-notebookEditorOverviewRuler-runningCellForeground", "#388a34"],
+ ["--vscode-notebookScrollbarSlider-activeBackground", "rgba(0, 0, 0, 0.6)"],
+ ["--vscode-notebookScrollbarSlider-background", "rgba(100, 100, 100, 0.4)"],
+ [
+ "--vscode-notebookScrollbarSlider-hoverBackground",
+ "rgba(100, 100, 100, 0.7)",
+ ],
+ ["--vscode-notebookStatusErrorIcon-foreground", "#f85149"],
+ ["--vscode-notebookStatusRunningIcon-foreground", "#3b3b3b"],
+ ["--vscode-notebookStatusSuccessIcon-foreground", "#388a34"],
+ ["--vscode-notificationCenter-border", "#e5e5e5"],
+ ["--vscode-notificationCenterHeader-background", "#ffffff"],
+ ["--vscode-notificationCenterHeader-foreground", "#3b3b3b"],
+ ["--vscode-notificationLink-foreground", "#005fb8"],
+ ["--vscode-notifications-background", "#ffffff"],
+ ["--vscode-notifications-border", "#e5e5e5"],
+ ["--vscode-notifications-foreground", "#3b3b3b"],
+ ["--vscode-notificationsErrorIcon-foreground", "#e51400"],
+ ["--vscode-notificationsInfoIcon-foreground", "#0063d3"],
+ ["--vscode-notificationsWarningIcon-foreground", "#bf8803"],
+ ["--vscode-notificationToast-border", "#e5e5e5"],
+ ["--vscode-panel-background", "#f8f8f8"],
+ ["--vscode-panel-border", "#e5e5e5"],
+ ["--vscode-panel-dropBorder", "#3b3b3b"],
+ ["--vscode-panelInput-border", "#e5e5e5"],
+ ["--vscode-panelSection-border", "#e5e5e5"],
+ ["--vscode-panelSection-dropBackground", "rgba(38, 119, 203, 0.18)"],
+ ["--vscode-panelSectionHeader-background", "rgba(128, 128, 128, 0.2)"],
+ ["--vscode-panelStickyScroll-background", "#f8f8f8"],
+ ["--vscode-panelStickyScroll-shadow", "#dddddd"],
+ ["--vscode-panelTitle-activeBorder", "#005fb8"],
+ ["--vscode-panelTitle-activeForeground", "#3b3b3b"],
+ ["--vscode-panelTitle-inactiveForeground", "#3b3b3b"],
+ ["--vscode-panelTitleBadge-background", "#005fb8"],
+ ["--vscode-panelTitleBadge-foreground", "#ffffff"],
+ ["--vscode-peekView-border", "#0063d3"],
+ ["--vscode-peekViewEditor-background", "#f2f8fc"],
+ [
+ "--vscode-peekViewEditor-matchHighlightBackground",
+ "rgba(187, 128, 9, 0.4)",
+ ],
+ ["--vscode-peekViewEditorGutter-background", "#f2f8fc"],
+ ["--vscode-peekViewEditorStickyScroll-background", "#f2f8fc"],
+ ["--vscode-peekViewEditorStickyScrollGutter-background", "#f2f8fc"],
+ ["--vscode-peekViewResult-background", "#ffffff"],
+ ["--vscode-peekViewResult-fileForeground", "#1e1e1e"],
+ ["--vscode-peekViewResult-lineForeground", "#646465"],
+ [
+ "--vscode-peekViewResult-matchHighlightBackground",
+ "rgba(187, 128, 9, 0.4)",
+ ],
+ ["--vscode-peekViewResult-selectionBackground", "rgba(51, 153, 255, 0.2)"],
+ ["--vscode-peekViewResult-selectionForeground", "#6c6c6c"],
+ ["--vscode-peekViewTitle-background", "#f3f3f3"],
+ ["--vscode-peekViewTitleDescription-foreground", "#616161"],
+ ["--vscode-peekViewTitleLabel-foreground", "#000000"],
+ ["--vscode-pickerGroup-border", "#e5e5e5"],
+ ["--vscode-pickerGroup-foreground", "#8b949e"],
+ ["--vscode-ports-iconRunningProcessForeground", "#369432"],
+ ["--vscode-problemsErrorIcon-foreground", "#e51400"],
+ ["--vscode-problemsInfoIcon-foreground", "#0063d3"],
+ ["--vscode-problemsWarningIcon-foreground", "#bf8803"],
+ ["--vscode-profileBadge-background", "#c4c4c4"],
+ ["--vscode-profileBadge-foreground", "#333333"],
+ ["--vscode-profiles-sashBorder", "#e5e5e5"],
+ ["--vscode-progressBar-background", "#005fb8"],
+ ["--vscode-quickInput-background", "#f8f8f8"],
+ ["--vscode-quickInput-foreground", "#3b3b3b"],
+ ["--vscode-quickInputList-focusBackground", "#e8e8e8"],
+ ["--vscode-quickInputList-focusForeground", "#000000"],
+ ["--vscode-quickInputList-focusIconForeground", "#000000"],
+ ["--vscode-quickInputTitle-background", "rgba(0, 0, 0, 0.06)"],
+ ["--vscode-radio-activeBackground", "#bed6ed"],
+ ["--vscode-radio-activeBorder", "#005fb8"],
+ ["--vscode-radio-activeForeground", "#000000"],
+ ["--vscode-radio-inactiveBorder", "rgba(0, 0, 0, 0.2)"],
+ ["--vscode-radio-inactiveHoverBackground", "rgba(184, 184, 184, 0.31)"],
+ ["--vscode-remoteHub-decorations.addedForegroundColor", "#587c0c"],
+ ["--vscode-remoteHub-decorations.conflictForegroundColor", "#ad0707"],
+ ["--vscode-remoteHub-decorations.deletedForegroundColor", "#ad0707"],
+ ["--vscode-remoteHub-decorations.ignoredResourceForeground", "#8e8e90"],
+ ["--vscode-remoteHub-decorations.incomingAddedForegroundColor", "#587c0c"],
+ ["--vscode-remoteHub-decorations.incomingDeletedForegroundColor", "#ad0707"],
+ ["--vscode-remoteHub-decorations.incomingModifiedForegroundColor", "#895503"],
+ ["--vscode-remoteHub-decorations.incomingRenamedForegroundColor", "#007100"],
+ ["--vscode-remoteHub-decorations.modifiedForegroundColor", "#895503"],
+ ["--vscode-remoteHub-decorations.possibleConflictForegroundColor", "#855f00"],
+ ["--vscode-remoteHub-decorations.submoduleForegroundColor", "#1258a7"],
+ [
+ "--vscode-remoteHub-decorations.workspaceRepositoriesView.hasUncommittedChangesForegroundColor",
+ "#895503",
+ ],
+ ["--vscode-sash-hoverBorder", "#005fb8"],
+ ["--vscode-scmGraph-foreground1", "#ffb000"],
+ ["--vscode-scmGraph-foreground2", "#dc267f"],
+ ["--vscode-scmGraph-foreground3", "#994f00"],
+ ["--vscode-scmGraph-foreground4", "#40b0a6"],
+ ["--vscode-scmGraph-foreground5", "#b66dff"],
+ ["--vscode-scmGraph-historyItemBaseRefColor", "#ea5c00"],
+ ["--vscode-scmGraph-historyItemHoverAdditionsForeground", "#587c0c"],
+ ["--vscode-scmGraph-historyItemHoverDefaultLabelBackground", "#cccccc"],
+ ["--vscode-scmGraph-historyItemHoverDefaultLabelForeground", "#3b3b3b"],
+ ["--vscode-scmGraph-historyItemHoverDeletionsForeground", "#ad0707"],
+ ["--vscode-scmGraph-historyItemHoverLabelForeground", "#f8f8f8"],
+ ["--vscode-scmGraph-historyItemRefColor", "#0063d3"],
+ ["--vscode-scmGraph-historyItemRemoteRefColor", "#652d90"],
+ ["--vscode-scrollbar-shadow", "#dddddd"],
+ ["--vscode-scrollbarSlider-activeBackground", "rgba(0, 0, 0, 0.6)"],
+ ["--vscode-scrollbarSlider-background", "rgba(100, 100, 100, 0.4)"],
+ ["--vscode-scrollbarSlider-hoverBackground", "rgba(100, 100, 100, 0.7)"],
+ ["--vscode-search-resultsInfoForeground", "#3b3b3b"],
+ ["--vscode-searchEditor-findMatchBackground", "rgba(234, 92, 0, 0.22)"],
+ ["--vscode-searchEditor-textInputBorder", "#cecece"],
+ ["--vscode-settings-checkboxBackground", "#f8f8f8"],
+ ["--vscode-settings-checkboxBorder", "#cecece"],
+ ["--vscode-settings-checkboxForeground", "#3b3b3b"],
+ ["--vscode-settings-dropdownBackground", "#ffffff"],
+ ["--vscode-settings-dropdownBorder", "#cecece"],
+ ["--vscode-settings-dropdownForeground", "#3b3b3b"],
+ ["--vscode-settings-dropdownListBorder", "#c8c8c8"],
+ ["--vscode-settings-focusedRowBackground", "rgba(242, 242, 242, 0.6)"],
+ ["--vscode-settings-focusedRowBorder", "#005fb8"],
+ ["--vscode-settings-headerBorder", "#e5e5e5"],
+ ["--vscode-settings-headerForeground", "#1f1f1f"],
+ ["--vscode-settings-modifiedItemIndicator", "rgba(187, 128, 9, 0.4)"],
+ ["--vscode-settings-numberInputBackground", "#ffffff"],
+ ["--vscode-settings-numberInputBorder", "#cecece"],
+ ["--vscode-settings-numberInputForeground", "#3b3b3b"],
+ ["--vscode-settings-rowHoverBackground", "rgba(242, 242, 242, 0.3)"],
+ ["--vscode-settings-sashBorder", "#e5e5e5"],
+ ["--vscode-settings-settingsHeaderHoverForeground", "rgba(31, 31, 31, 0.7)"],
+ ["--vscode-settings-textInputBackground", "#ffffff"],
+ ["--vscode-settings-textInputBorder", "#cecece"],
+ ["--vscode-settings-textInputForeground", "#3b3b3b"],
+ ["--vscode-sideBar-background", "#f8f8f8"],
+ ["--vscode-sideBar-border", "#e5e5e5"],
+ ["--vscode-sideBar-dropBackground", "rgba(38, 119, 203, 0.18)"],
+ ["--vscode-sideBar-foreground", "#3b3b3b"],
+ ["--vscode-sideBarActivityBarTop-border", "#e5e5e5"],
+ ["--vscode-sideBarSectionHeader-background", "#f8f8f8"],
+ ["--vscode-sideBarSectionHeader-border", "#e5e5e5"],
+ ["--vscode-sideBarSectionHeader-foreground", "#3b3b3b"],
+ ["--vscode-sideBarStickyScroll-background", "#f8f8f8"],
+ ["--vscode-sideBarStickyScroll-shadow", "#dddddd"],
+ ["--vscode-sideBarTitle-background", "#f8f8f8"],
+ ["--vscode-sideBarTitle-foreground", "#3b3b3b"],
+ ["--vscode-sideBySideEditor-horizontalBorder", "#e5e5e5"],
+ ["--vscode-sideBySideEditor-verticalBorder", "#e5e5e5"],
+ ["--vscode-simpleFindWidget-sashBorder", "#c8c8c8"],
+ ["--vscode-statusBar-background", "#f8f8f8"],
+ ["--vscode-statusBar-border", "#e5e5e5"],
+ ["--vscode-statusBar-debuggingBackground", "#fd716c"],
+ ["--vscode-statusBar-debuggingBorder", "#e5e5e5"],
+ ["--vscode-statusBar-debuggingForeground", "#000000"],
+ ["--vscode-statusBar-focusBorder", "#005fb8"],
+ ["--vscode-statusBar-foreground", "#3b3b3b"],
+ ["--vscode-statusBar-noFolderBackground", "#f8f8f8"],
+ ["--vscode-statusBar-noFolderBorder", "#e5e5e5"],
+ ["--vscode-statusBar-noFolderForeground", "#3b3b3b"],
+ ["--vscode-statusBarItem-activeBackground", "rgba(255, 255, 255, 0.18)"],
+ ["--vscode-statusBarItem-compactHoverBackground", "#cccccc"],
+ ["--vscode-statusBarItem-errorBackground", "#c72e0f"],
+ ["--vscode-statusBarItem-errorForeground", "#ffffff"],
+ ["--vscode-statusBarItem-errorHoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-errorHoverForeground", "#000000"],
+ ["--vscode-statusBarItem-focusBorder", "#005fb8"],
+ ["--vscode-statusBarItem-hoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-hoverForeground", "#000000"],
+ ["--vscode-statusBarItem-offlineBackground", "#6c1717"],
+ ["--vscode-statusBarItem-offlineForeground", "#ffffff"],
+ ["--vscode-statusBarItem-offlineHoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-offlineHoverForeground", "#000000"],
+ ["--vscode-statusBarItem-prominentBackground", "rgba(110, 118, 129, 0.4)"],
+ ["--vscode-statusBarItem-prominentForeground", "#3b3b3b"],
+ ["--vscode-statusBarItem-prominentHoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-prominentHoverForeground", "#000000"],
+ ["--vscode-statusBarItem-remoteBackground", "#005fb8"],
+ ["--vscode-statusBarItem-remoteForeground", "#ffffff"],
+ ["--vscode-statusBarItem-remoteHoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-remoteHoverForeground", "#000000"],
+ ["--vscode-statusBarItem-warningBackground", "#725102"],
+ ["--vscode-statusBarItem-warningForeground", "#ffffff"],
+ ["--vscode-statusBarItem-warningHoverBackground", "rgba(31, 31, 31, 0.07)"],
+ ["--vscode-statusBarItem-warningHoverForeground", "#000000"],
+ ["--vscode-strokeThickness", "1px"],
+ ["--vscode-symbolIcon-arrayForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-booleanForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-classForeground", "#d67e00"],
+ ["--vscode-symbolIcon-colorForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-constantForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-constructorForeground", "#652d90"],
+ ["--vscode-symbolIcon-enumeratorForeground", "#d67e00"],
+ ["--vscode-symbolIcon-enumeratorMemberForeground", "#007acc"],
+ ["--vscode-symbolIcon-eventForeground", "#d67e00"],
+ ["--vscode-symbolIcon-fieldForeground", "#007acc"],
+ ["--vscode-symbolIcon-fileForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-folderForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-functionForeground", "#652d90"],
+ ["--vscode-symbolIcon-interfaceForeground", "#007acc"],
+ ["--vscode-symbolIcon-keyForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-keywordForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-methodForeground", "#652d90"],
+ ["--vscode-symbolIcon-moduleForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-namespaceForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-nullForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-numberForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-objectForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-operatorForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-packageForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-propertyForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-referenceForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-snippetForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-stringForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-structForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-textForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-typeParameterForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-unitForeground", "#3b3b3b"],
+ ["--vscode-symbolIcon-variableForeground", "#007acc"],
+ ["--vscode-tab-activeBackground", "#ffffff"],
+ ["--vscode-tab-activeBorder", "#f8f8f8"],
+ ["--vscode-tab-activeBorderTop", "#005fb8"],
+ ["--vscode-tab-activeForeground", "#3b3b3b"],
+ ["--vscode-tab-activeModifiedBorder", "#33aaee"],
+ ["--vscode-tab-border", "#e5e5e5"],
+ ["--vscode-tab-dragAndDropBorder", "#3b3b3b"],
+ ["--vscode-tab-hoverBackground", "#ffffff"],
+ ["--vscode-tab-inactiveBackground", "#f8f8f8"],
+ ["--vscode-tab-inactiveForeground", "#868686"],
+ ["--vscode-tab-inactiveModifiedBorder", "rgba(51, 170, 238, 0.5)"],
+ ["--vscode-tab-lastPinnedBorder", "#d4d4d4"],
+ ["--vscode-tab-selectedBackground", "rgba(255, 255, 255, 0.65)"],
+ ["--vscode-tab-selectedBorderTop", "#68a3da"],
+ ["--vscode-tab-selectedForeground", "rgba(51, 51, 51, 0.7)"],
+ ["--vscode-tab-unfocusedActiveBackground", "#ffffff"],
+ ["--vscode-tab-unfocusedActiveBorder", "#f8f8f8"],
+ ["--vscode-tab-unfocusedActiveBorderTop", "#e5e5e5"],
+ ["--vscode-tab-unfocusedActiveForeground", "rgba(59, 59, 59, 0.7)"],
+ ["--vscode-tab-unfocusedActiveModifiedBorder", "rgba(51, 170, 238, 0.7)"],
+ ["--vscode-tab-unfocusedHoverBackground", "#f8f8f8"],
+ ["--vscode-tab-unfocusedInactiveBackground", "#f8f8f8"],
+ ["--vscode-tab-unfocusedInactiveForeground", "rgba(134, 134, 134, 0.5)"],
+ ["--vscode-tab-unfocusedInactiveModifiedBorder", "rgba(51, 170, 238, 0.25)"],
+ ["--vscode-terminal-ansiBlack", "#000000"],
+ ["--vscode-terminal-ansiBlue", "#0451a5"],
+ ["--vscode-terminal-ansiBrightBlack", "#666666"],
+ ["--vscode-terminal-ansiBrightBlue", "#0451a5"],
+ ["--vscode-terminal-ansiBrightCyan", "#0598bc"],
+ ["--vscode-terminal-ansiBrightGreen", "#14ce14"],
+ ["--vscode-terminal-ansiBrightMagenta", "#bc05bc"],
+ ["--vscode-terminal-ansiBrightRed", "#cd3131"],
+ ["--vscode-terminal-ansiBrightWhite", "#a5a5a5"],
+ ["--vscode-terminal-ansiBrightYellow", "#b5ba00"],
+ ["--vscode-terminal-ansiCyan", "#0598bc"],
+ ["--vscode-terminal-ansiGreen", "#107c10"],
+ ["--vscode-terminal-ansiMagenta", "#bc05bc"],
+ ["--vscode-terminal-ansiRed", "#cd3131"],
+ ["--vscode-terminal-ansiWhite", "#555555"],
+ ["--vscode-terminal-ansiYellow", "#949800"],
+ ["--vscode-terminal-border", "#e5e5e5"],
+ ["--vscode-terminal-dropBackground", "rgba(38, 119, 203, 0.18)"],
+ ["--vscode-terminal-findMatchBackground", "#a8ac94"],
+ ["--vscode-terminal-findMatchHighlightBackground", "rgba(234, 92, 0, 0.33)"],
+ ["--vscode-terminal-foreground", "#3b3b3b"],
+ ["--vscode-terminal-hoverHighlightBackground", "rgba(173, 214, 255, 0.07)"],
+ ["--vscode-terminal-inactiveSelectionBackground", "#e5ebf1"],
+ ["--vscode-terminal-initialHintForeground", "rgba(0, 0, 0, 0.47)"],
+ ["--vscode-terminal-selectionBackground", "#add6ff"],
+ ["--vscode-terminal-tab.activeBorder", "#005fb8"],
+ [
+ "--vscode-terminalCommandDecoration-defaultBackground",
+ "rgba(0, 0, 0, 0.25)",
+ ],
+ ["--vscode-terminalCommandDecoration-errorBackground", "#e51400"],
+ ["--vscode-terminalCommandDecoration-successBackground", "#2090d3"],
+ ["--vscode-terminalCommandGuide-foreground", "#e4e6f1"],
+ ["--vscode-terminalCursor-foreground", "#005fb8"],
+ ["--vscode-terminalOverviewRuler-border", "#e5e5e5"],
+ [
+ "--vscode-terminalOverviewRuler-cursorForeground",
+ "rgba(160, 160, 160, 0.8)",
+ ],
+ [
+ "--vscode-terminalOverviewRuler-findMatchForeground",
+ "rgba(209, 134, 22, 0.49)",
+ ],
+ ["--vscode-terminalStickyScrollHover-background", "#f0f0f0"],
+ ["--vscode-terminalSymbolIcon-aliasForeground", "#652d90"],
+ ["--vscode-terminalSymbolIcon-argumentForeground", "#007acc"],
+ ["--vscode-terminalSymbolIcon-branchForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-commitForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-fileForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-flagForeground", "#d67e00"],
+ ["--vscode-terminalSymbolIcon-folderForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-methodForeground", "#652d90"],
+ ["--vscode-terminalSymbolIcon-optionForeground", "#d67e00"],
+ ["--vscode-terminalSymbolIcon-optionValueForeground", "#007acc"],
+ ["--vscode-terminalSymbolIcon-pullRequestDoneForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-pullRequestForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-remoteForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-stashForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-symbolicLinkFileForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-symbolicLinkFolderForeground", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-symbolText", "#3b3b3b"],
+ ["--vscode-terminalSymbolIcon-tagForeground", "#3b3b3b"],
+ ["--vscode-testing-coverCountBadgeBackground", "#cccccc"],
+ ["--vscode-testing-coverCountBadgeForeground", "#3b3b3b"],
+ ["--vscode-testing-coveredBackground", "rgba(156, 204, 44, 0.25)"],
+ ["--vscode-testing-coveredBorder", "rgba(156, 204, 44, 0.19)"],
+ ["--vscode-testing-coveredGutterBackground", "rgba(156, 204, 44, 0.15)"],
+ ["--vscode-testing-iconErrored", "#f14c4c"],
+ ["--vscode-testing-iconErrored.retired", "rgba(241, 76, 76, 0.7)"],
+ ["--vscode-testing-iconFailed", "#f14c4c"],
+ ["--vscode-testing-iconFailed.retired", "rgba(241, 76, 76, 0.7)"],
+ ["--vscode-testing-iconPassed", "#73c991"],
+ ["--vscode-testing-iconPassed.retired", "rgba(115, 201, 145, 0.7)"],
+ ["--vscode-testing-iconQueued", "#cca700"],
+ ["--vscode-testing-iconQueued.retired", "rgba(204, 167, 0, 0.7)"],
+ ["--vscode-testing-iconSkipped", "#848484"],
+ ["--vscode-testing-iconSkipped.retired", "rgba(132, 132, 132, 0.7)"],
+ ["--vscode-testing-iconUnset", "#848484"],
+ ["--vscode-testing-iconUnset.retired", "rgba(132, 132, 132, 0.7)"],
+ ["--vscode-testing-message.error.badgeBackground", "#e51400"],
+ ["--vscode-testing-message.error.badgeBorder", "#e51400"],
+ ["--vscode-testing-message.error.badgeForeground", "#ffffff"],
+ [
+ "--vscode-testing-message.info.decorationForeground",
+ "rgba(59, 59, 59, 0.5)",
+ ],
+ ["--vscode-testing-messagePeekBorder", "#0063d3"],
+ ["--vscode-testing-messagePeekHeaderBackground", "rgba(0, 99, 211, 0.1)"],
+ ["--vscode-testing-peekBorder", "#e51400"],
+ ["--vscode-testing-peekHeaderBackground", "rgba(229, 20, 0, 0.1)"],
+ ["--vscode-testing-runAction", "#73c991"],
+ ["--vscode-testing-uncoveredBackground", "rgba(255, 0, 0, 0.2)"],
+ ["--vscode-testing-uncoveredBorder", "rgba(255, 0, 0, 0.15)"],
+ ["--vscode-testing-uncoveredBranchBackground", "#ff9999"],
+ ["--vscode-testing-uncoveredGutterBackground", "rgba(255, 0, 0, 0.3)"],
+ ["--vscode-textBlockQuote-background", "#f8f8f8"],
+ ["--vscode-textBlockQuote-border", "#e5e5e5"],
+ ["--vscode-textCodeBlock-background", "#f8f8f8"],
+ ["--vscode-textLink-activeForeground", "#005fb8"],
+ ["--vscode-textLink-foreground", "#005fb8"],
+ ["--vscode-textPreformat-background", "rgba(0, 0, 0, 0.12)"],
+ ["--vscode-textPreformat-foreground", "#3b3b3b"],
+ ["--vscode-textSeparator-foreground", "#21262d"],
+ ["--vscode-titleBar-activeBackground", "#f8f8f8"],
+ ["--vscode-titleBar-activeForeground", "#1e1e1e"],
+ ["--vscode-titleBar-border", "#e5e5e5"],
+ ["--vscode-titleBar-inactiveBackground", "#f8f8f8"],
+ ["--vscode-titleBar-inactiveForeground", "#8b949e"],
+ ["--vscode-toolbar-activeBackground", "rgba(166, 166, 166, 0.31)"],
+ ["--vscode-toolbar-hoverBackground", "rgba(184, 184, 184, 0.31)"],
+ ["--vscode-tree-inactiveIndentGuidesStroke", "rgba(169, 169, 169, 0.4)"],
+ ["--vscode-tree-indentGuidesStroke", "#a9a9a9"],
+ ["--vscode-tree-tableColumnsBorder", "rgba(97, 97, 97, 0.13)"],
+ ["--vscode-tree-tableOddRowsBackground", "rgba(59, 59, 59, 0.04)"],
+ ["--vscode-walkThrough-embeddedEditorBackground", "#f4f4f4"],
+ ["--vscode-walkthrough-stepTitle.foreground", "#000000"],
+ ["--vscode-welcomePage-progress.background", "#ffffff"],
+ ["--vscode-welcomePage-progress.foreground", "#005fb8"],
+ ["--vscode-welcomePage-tileBackground", "#f3f3f3"],
+ ["--vscode-welcomePage-tileBorder", "rgba(0, 0, 0, 0.1)"],
+ ["--vscode-welcomePage-tileHoverBackground", "#dfdfdf"],
+ ["--vscode-widget-border", "#e5e5e5"],
+ ["--vscode-widget-shadow", "rgba(0, 0, 0, 0.16)"],
+];
diff --git a/.storybook/tsconfig.json b/.storybook/tsconfig.json
new file mode 100644
index 00000000..0d9ba5e8
--- /dev/null
+++ b/.storybook/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "extends": "../packages/tsconfig.packages.json",
+ "compilerOptions": {
+ "types": ["node"],
+ "jsx": "react-jsx",
+ "noEmit": true,
+ "rootDir": ".."
+ },
+ "include": ["*.ts", "themes/**/*.ts", "../packages/*/storybook.preview.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/.vscodeignore b/.vscodeignore
index a11bbd98..d2dd533c 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -53,3 +53,8 @@ AGENTS.md
# Build artifacts
*.vsix
+
+# Storybook
+.storybook/**
+storybook-static/**
+**/*.stories.*
\ No newline at end of file
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 6c282a69..7310a67e 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -19,6 +19,7 @@ export default defineConfig(
"**/vite.config*.ts",
".vscode-test/**",
"test/fixtures/scripts/**",
+ "storybook-static/**",
]),
// Base ESLint recommended rules (for JS/TS/TSX files only)
@@ -180,6 +181,31 @@ export default defineConfig(
},
},
+ // Prevent runtime package code from importing test/storybook-only packages
+ {
+ files: ["packages/*/src/**/*.ts", "packages/*/src/**/*.tsx"],
+ ignores: ["**/*.stories.*"],
+ rules: {
+ "no-restricted-imports": [
+ "error",
+ {
+ patterns: [
+ {
+ group: ["@repo/mocks", "@repo/mocks/*"],
+ message:
+ "@repo/mocks is for tests and stories only. Do not import it from runtime code.",
+ },
+ {
+ group: ["@repo/storybook-utils", "@repo/storybook-utils/*"],
+ message:
+ "@repo/storybook-utils is for stories only. Do not import it from runtime code.",
+ },
+ ],
+ },
+ ],
+ },
+ },
+
// React rules with type-checked analysis (covers hooks, JSX, DOM)
{
files: ["packages/**/*.{ts,tsx}"],
diff --git a/package.json b/package.json
index d96accb6..6b6efb58 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,8 @@
"lint:fix": "pnpm lint --fix",
"package": "pnpm build:production && vsce package --no-dependencies",
"package:prerelease": "pnpm build:production && vsce package --pre-release --no-dependencies",
+ "storybook": "storybook dev -p 6006 --config-dir .storybook",
+ "storybook:build": "storybook build --config-dir .storybook",
"test": "cross-env CI=true ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs",
"test:extension": "cross-env ELECTRON_RUN_AS_NODE=1 electron node_modules/vitest/vitest.mjs --project extension",
"test:integration": "pnpm compile-tests:integration && node esbuild.mjs && vscode-test",
@@ -693,7 +695,13 @@
"@eslint-react/eslint-plugin": "^5.7.4",
"@eslint/js": "^10.0.1",
"@eslint/markdown": "^8.0.1",
+ "@repo/mocks": "workspace:*",
"@rolldown/plugin-babel": "catalog:",
+ "@storybook/addon-a11y": "catalog:",
+ "@storybook/addon-essentials": "catalog:",
+ "@storybook/react": "catalog:",
+ "@storybook/react-vite": "catalog:",
+ "@storybook/test": "catalog:",
"@tanstack/react-query": "catalog:",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
@@ -706,11 +714,13 @@
"@types/semver": "^7.7.1",
"@types/ua-parser-js": "0.7.39",
"@types/vscode": "1.106.0",
+ "@types/vscode-webview": "catalog:",
"@types/ws": "^8.18.1",
"@typescript-eslint/eslint-plugin": "^8.59.2",
"@typescript-eslint/parser": "^8.59.2",
"@vitejs/plugin-react": "catalog:",
"@vitest/coverage-v8": "^4.1.5",
+ "@vscode/codicons": "catalog:",
"@vscode/test-cli": "^0.0.12",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.9.1",
@@ -734,6 +744,7 @@
"prettier": "^3.8.3",
"react": "catalog:",
"react-dom": "catalog:",
+ "storybook": "catalog:",
"typescript": "catalog:",
"typescript-eslint": "^8.59.2",
"utf-8-validate": "^6.0.6",
diff --git a/packages/mocks/package.json b/packages/mocks/package.json
new file mode 100644
index 00000000..1dfedbd9
--- /dev/null
+++ b/packages/mocks/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "@repo/mocks",
+ "version": "1.0.0",
+ "description": "Mocking utilities for storybook and testing",
+ "private": true,
+ "type": "module",
+ "exports": {
+ ".": {
+ "types": "./src/index.ts",
+ "default": "./src/index.ts"
+ }
+ },
+ "scripts": {
+ "typecheck": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@repo/shared": "workspace:*"
+ },
+ "devDependencies": {
+ "typescript": "catalog:"
+ }
+}
diff --git a/packages/mocks/src/index.ts b/packages/mocks/src/index.ts
new file mode 100644
index 00000000..bf3d4e3a
--- /dev/null
+++ b/packages/mocks/src/index.ts
@@ -0,0 +1,2 @@
+export * from "./tasks";
+export * from "./workspaces";
diff --git a/test/mocks/tasks.ts b/packages/mocks/src/tasks.ts
similarity index 99%
rename from test/mocks/tasks.ts
rename to packages/mocks/src/tasks.ts
index 3231a48e..07421ce9 100644
--- a/test/mocks/tasks.ts
+++ b/packages/mocks/src/tasks.ts
@@ -3,6 +3,7 @@
* Use these to create test data with sensible defaults.
*/
+import type { TaskDetails, TaskTemplate } from "@repo/shared";
import type {
Task,
TaskLogEntry,
@@ -11,8 +12,6 @@ import type {
TaskState,
} from "coder/site/src/api/typesGenerated";
-import type { TaskDetails, TaskTemplate } from "@repo/shared";
-
/**
* Create a Task with sensible defaults.
* The defaults represent a typical active task with a running workspace.
diff --git a/test/mocks/workspace.ts b/packages/mocks/src/workspaces.ts
similarity index 100%
rename from test/mocks/workspace.ts
rename to packages/mocks/src/workspaces.ts
diff --git a/packages/mocks/tsconfig.json b/packages/mocks/tsconfig.json
new file mode 100644
index 00000000..70ff23ea
--- /dev/null
+++ b/packages/mocks/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../tsconfig.packages.json",
+ "include": ["src"]
+}
diff --git a/packages/storybook-utils/package.json b/packages/storybook-utils/package.json
new file mode 100644
index 00000000..00441efd
--- /dev/null
+++ b/packages/storybook-utils/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@repo/storybook-utils",
+ "version": "1.0.0",
+ "description": "Shared utilities for storybook",
+ "private": true,
+ "type": "module",
+ "exports": {
+ ".": {
+ "types": "./src/index.ts",
+ "default": "./src/index.ts"
+ }
+ },
+ "scripts": {
+ "typecheck": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@tanstack/react-query": "catalog:",
+ "react": "catalog:"
+ },
+ "devDependencies": {
+ "@storybook/react": "catalog:",
+ "typescript": "catalog:"
+ }
+}
diff --git a/packages/storybook-utils/src/decorators/withQueryClient.tsx b/packages/storybook-utils/src/decorators/withQueryClient.tsx
new file mode 100644
index 00000000..c0d263e4
--- /dev/null
+++ b/packages/storybook-utils/src/decorators/withQueryClient.tsx
@@ -0,0 +1,33 @@
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { useState } from "react";
+
+import type { Decorator } from "@storybook/react";
+
+function QueryClientDecorator({ children }: { children: React.ReactNode }) {
+ const [client] = useState(
+ () =>
+ new QueryClient({
+ defaultOptions: {
+ queries: {
+ retry: false,
+ staleTime: Infinity,
+ },
+ mutations: {
+ retry: false,
+ },
+ },
+ }),
+ );
+
+ return {children};
+}
+
+/**
+ * Decorator that wraps stories with a QueryClientProvider.
+ * Use this for components that use React Query hooks (useQuery, useMutation, etc.)
+ */
+export const withQueryClient: Decorator = (Story) => (
+
+
+
+);
diff --git a/packages/storybook-utils/src/index.ts b/packages/storybook-utils/src/index.ts
new file mode 100644
index 00000000..4e4fdb78
--- /dev/null
+++ b/packages/storybook-utils/src/index.ts
@@ -0,0 +1 @@
+export * from "./decorators/withQueryClient";
diff --git a/packages/storybook-utils/tsconfig.json b/packages/storybook-utils/tsconfig.json
new file mode 100644
index 00000000..70ff23ea
--- /dev/null
+++ b/packages/storybook-utils/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "../tsconfig.packages.json",
+ "include": ["src"]
+}
diff --git a/packages/tasks/package.json b/packages/tasks/package.json
index b834a544..7912d55f 100644
--- a/packages/tasks/package.json
+++ b/packages/tasks/package.json
@@ -20,6 +20,8 @@
"react-dom": "catalog:"
},
"devDependencies": {
+ "@repo/mocks": "workspace:*",
+ "@repo/storybook-utils": "workspace:*",
"@rolldown/plugin-babel": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
diff --git a/packages/tasks/src/components/ActionMenu.stories.tsx b/packages/tasks/src/components/ActionMenu.stories.tsx
new file mode 100644
index 00000000..1430383a
--- /dev/null
+++ b/packages/tasks/src/components/ActionMenu.stories.tsx
@@ -0,0 +1,61 @@
+import { expect, fn, userEvent } from "@storybook/test";
+import { ActionMenu } from "./ActionMenu";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/ActionMenu",
+ component: ActionMenu,
+ args: {
+ items: [
+ {
+ label: "Run Task",
+ onClick: fn(),
+ icon: "play",
+ },
+ {
+ label: "Configure Task",
+ onClick: fn(),
+ icon: "settings",
+ },
+ {
+ label: "Delete Task",
+ onClick: fn(),
+ icon: "trash",
+ danger: true,
+ },
+ {
+ label: "Disabled Action",
+ onClick: fn(),
+ icon: "ban",
+ disabled: true,
+ },
+ {
+ separator: true,
+ },
+ {
+ label: "Loading Action",
+ onClick: fn(),
+ icon: "spinner",
+ loading: true,
+ },
+ ],
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Opened: Story = {
+ play: async ({ canvasElement }) => {
+ const icon = canvasElement.querySelector("vscode-icon[action-icon]");
+ await expect(icon).toBeTruthy();
+ if (!icon) throw new Error("icon not found");
+ await userEvent.click(icon);
+
+ const dropdown = canvasElement.querySelector(".action-menu-dropdown");
+ await expect(dropdown).toBeTruthy();
+ },
+};
diff --git a/packages/tasks/src/components/AgentChatHistory.stories.tsx b/packages/tasks/src/components/AgentChatHistory.stories.tsx
new file mode 100644
index 00000000..05b80acb
--- /dev/null
+++ b/packages/tasks/src/components/AgentChatHistory.stories.tsx
@@ -0,0 +1,93 @@
+import { logEntry } from "@repo/mocks";
+import { AgentChatHistory } from "./AgentChatHistory";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/AgentChatHistory",
+ component: AgentChatHistory,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ isThinking: false,
+ taskLogs: {
+ status: "ok",
+ logs: [
+ logEntry({
+ id: 1,
+ type: "input",
+ content: "What is the weather today?",
+ }),
+ logEntry({
+ id: 2,
+ type: "output",
+ content: "The weather today is sunny with a high of 25°C.",
+ }),
+ ],
+ },
+ },
+};
+
+export const Empty: Story = {
+ args: {
+ isThinking: false,
+ taskLogs: {
+ status: "ok",
+ snapshot: false,
+ logs: [],
+ },
+ },
+};
+
+export const Thinking: Story = {
+ args: {
+ isThinking: true,
+ taskLogs: {
+ status: "ok",
+ logs: [
+ logEntry({
+ id: 1,
+ type: "input",
+ content: "What is the weather today?",
+ }),
+ logEntry({
+ id: 2,
+ type: "output",
+ content: "The weather today is sunny with a high of 25°C.",
+ }),
+ ],
+ },
+ },
+};
+
+export const Error: Story = {
+ args: {
+ isThinking: false,
+ taskLogs: {
+ status: "error",
+ },
+ },
+};
+
+export const Snapshot: Story = {
+ args: {
+ taskLogs: {
+ status: "ok",
+ logs: [],
+ snapshot: true,
+ snapshotAt: "2024-01-01T12:00:00Z",
+ },
+ },
+};
+
+export const NotAvailable: Story = {
+ args: {
+ taskLogs: {
+ status: "not_available",
+ },
+ },
+};
diff --git a/packages/tasks/src/components/CreateTaskSection.stories.tsx b/packages/tasks/src/components/CreateTaskSection.stories.tsx
new file mode 100644
index 00000000..f26ddab5
--- /dev/null
+++ b/packages/tasks/src/components/CreateTaskSection.stories.tsx
@@ -0,0 +1,20 @@
+import { taskTemplate } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { CreateTaskSection } from "./CreateTaskSection";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/CreateTaskSection",
+ component: CreateTaskSection,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ templates: [taskTemplate()],
+ },
+};
diff --git a/packages/tasks/src/components/ErrorBanner.stories.tsx b/packages/tasks/src/components/ErrorBanner.stories.tsx
new file mode 100644
index 00000000..70f88999
--- /dev/null
+++ b/packages/tasks/src/components/ErrorBanner.stories.tsx
@@ -0,0 +1,31 @@
+import { task } from "@repo/mocks";
+import { ErrorBanner } from "./ErrorBanner";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/ErrorBanner",
+ component: ErrorBanner,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ task: task(),
+ },
+};
+
+export const WithMessage: Story = {
+ args: {
+ task: task({
+ current_state: {
+ state: "failed",
+ message: "Could not calculate the square root of a negative number.",
+ timestamp: "2024-06-01T12:00:00Z",
+ uri: "",
+ },
+ }),
+ },
+};
diff --git a/packages/tasks/src/components/ErrorState.stories.tsx b/packages/tasks/src/components/ErrorState.stories.tsx
new file mode 100644
index 00000000..b2887fa7
--- /dev/null
+++ b/packages/tasks/src/components/ErrorState.stories.tsx
@@ -0,0 +1,19 @@
+import { fn } from "@storybook/test";
+import { ErrorState } from "./ErrorState";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/ErrorState",
+ component: ErrorState,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ message: "Task failed",
+ onRetry: fn(),
+ },
+};
diff --git a/packages/tasks/src/components/LogViewer.stories.tsx b/packages/tasks/src/components/LogViewer.stories.tsx
new file mode 100644
index 00000000..a129aee2
--- /dev/null
+++ b/packages/tasks/src/components/LogViewer.stories.tsx
@@ -0,0 +1,40 @@
+import { LogViewer, LogViewerPlaceholder } from "./LogViewer";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/LogViewer",
+ component: LogViewer,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ header: "Task Logs",
+ children: (
+
+
Entry 1
+
Entry 2
+
Entry 3
+
+ ),
+ },
+};
+
+export const Loading: Story = {
+ args: {
+ header: "Task Logs",
+ children: Loading logs...,
+ },
+};
+
+export const WithError: Story = {
+ args: {
+ header: "Task Logs",
+ children: (
+ Failed to load logs.
+ ),
+ },
+};
diff --git a/packages/tasks/src/components/NoTemplateState.stories.tsx b/packages/tasks/src/components/NoTemplateState.stories.tsx
new file mode 100644
index 00000000..4d712627
--- /dev/null
+++ b/packages/tasks/src/components/NoTemplateState.stories.tsx
@@ -0,0 +1,13 @@
+import { NoTemplateState } from "./NoTemplateState";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/NoTemplateState",
+ component: NoTemplateState,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {};
diff --git a/packages/tasks/src/components/NotSupportedState.stories.tsx b/packages/tasks/src/components/NotSupportedState.stories.tsx
new file mode 100644
index 00000000..5bc3917c
--- /dev/null
+++ b/packages/tasks/src/components/NotSupportedState.stories.tsx
@@ -0,0 +1,15 @@
+import { NotSupportedState } from "./NotSupportedState";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/NotSupportedState",
+ component: NotSupportedState,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {},
+};
diff --git a/packages/tasks/src/components/PromptInput.stories.tsx b/packages/tasks/src/components/PromptInput.stories.tsx
new file mode 100644
index 00000000..959f978d
--- /dev/null
+++ b/packages/tasks/src/components/PromptInput.stories.tsx
@@ -0,0 +1,60 @@
+import { expect, fn, userEvent } from "@storybook/test";
+import { PromptInput } from "./PromptInput";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/PromptInput",
+ component: PromptInput,
+ args: {
+ value: "",
+ onChange: fn(),
+ onSubmit: fn(),
+ actionIcon: "send",
+ actionLabel: "Submit",
+ actionEnabled: true,
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ placeholder: "Enter your prompt here...",
+ },
+ play: async ({ canvasElement, args }) => {
+ const textarea =
+ canvasElement.querySelector(".prompt-input");
+ if (!textarea) throw new Error("textarea not found");
+
+ await userEvent.type(textarea, "hello");
+ await userEvent.keyboard("{Control>}{Enter}{/Control}");
+ await expect(args.onSubmit).toHaveBeenCalledOnce();
+ },
+};
+
+export const Loading: Story = {
+ args: {
+ placeholder: "Loading prompt...",
+ loading: true,
+ },
+};
+
+export const Disabled: Story = {
+ args: {
+ placeholder: "Prompt input disabled",
+ disabled: true,
+ },
+ play: async ({ canvasElement, args }) => {
+ const textarea =
+ canvasElement.querySelector(".prompt-input");
+ if (!textarea) throw new Error("textarea not found");
+
+ // The textarea is disabled so userEvent.type won't work; fire the
+ // key combo directly and verify onSubmit is never called.
+ textarea.focus();
+ await userEvent.keyboard("{Control>}{Enter}{/Control}");
+ await expect(args.onSubmit).not.toHaveBeenCalled();
+ },
+};
diff --git a/packages/tasks/src/components/StatePanel.stories.tsx b/packages/tasks/src/components/StatePanel.stories.tsx
new file mode 100644
index 00000000..75b14152
--- /dev/null
+++ b/packages/tasks/src/components/StatePanel.stories.tsx
@@ -0,0 +1,31 @@
+import { VscodeButton, VscodeIcon } from "@vscode-elements/react-elements";
+import { StatePanel } from "./StatePanel";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/StatePanel",
+ component: StatePanel,
+ args: {
+ title: "Tasks not available",
+ description: "This Coder server does not support tasks.",
+ action: (
+
+ Learn more
+
+ ),
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Error: Story = {
+ args: {
+ className: "error-state",
+ description: "Unable to load tasks right now.",
+ action: Retry,
+ },
+};
diff --git a/packages/tasks/src/components/StatusIndicator.stories.tsx b/packages/tasks/src/components/StatusIndicator.stories.tsx
new file mode 100644
index 00000000..357661f7
--- /dev/null
+++ b/packages/tasks/src/components/StatusIndicator.stories.tsx
@@ -0,0 +1,61 @@
+import { task } from "@repo/mocks";
+import { StatusIndicator } from "./StatusIndicator";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/StatusIndicator",
+ component: StatusIndicator,
+ decorators: [
+ (Story) => (
+
+
+
+ ),
+ ],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Active: Story = {
+ args: {
+ task: task(),
+ },
+};
+
+export const Error: Story = {
+ args: {
+ task: task({ status: "error" }),
+ },
+};
+
+export const Initializing: Story = {
+ args: {
+ task: task({ status: "initializing" }),
+ },
+};
+
+export const Paused: Story = {
+ args: {
+ task: task({ status: "paused" }),
+ },
+};
+
+export const Pending: Story = {
+ args: {
+ task: task({ status: "pending" }),
+ },
+};
+
+export const Unknown: Story = {
+ args: {
+ task: task({ status: "unknown" }),
+ },
+};
diff --git a/packages/tasks/src/components/TaskDetailHeader.stories.tsx b/packages/tasks/src/components/TaskDetailHeader.stories.tsx
new file mode 100644
index 00000000..4a2e2076
--- /dev/null
+++ b/packages/tasks/src/components/TaskDetailHeader.stories.tsx
@@ -0,0 +1,22 @@
+import { task } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { fn } from "@storybook/test";
+import { TaskDetailHeader } from "./TaskDetailHeader";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TaskDetailHeader",
+ component: TaskDetailHeader,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ task: task(),
+ onBack: fn(),
+ },
+};
diff --git a/packages/tasks/src/components/TaskDetailView.stories.tsx b/packages/tasks/src/components/TaskDetailView.stories.tsx
new file mode 100644
index 00000000..c4c12a7d
--- /dev/null
+++ b/packages/tasks/src/components/TaskDetailView.stories.tsx
@@ -0,0 +1,74 @@
+import { taskDetails } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { fn } from "@storybook/test";
+import { TaskDetailView } from "./TaskDetailView";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TaskDetailView",
+ component: TaskDetailView,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ details: taskDetails(),
+ onBack: fn(),
+ },
+};
+
+export const Error: Story = {
+ args: {
+ details: taskDetails({
+ task: {
+ status: "error",
+ current_state: {
+ timestamp: "2024-01-01T00:00:00Z",
+ state: "failed",
+ message: "Task execution failed",
+ uri: "",
+ },
+ },
+ }),
+ onBack: fn(),
+ },
+};
+
+export const WorkspaceStarting: Story = {
+ args: {
+ details: taskDetails({
+ task: {
+ workspace_status: "starting",
+ current_state: {
+ timestamp: "2024-01-01T00:00:00Z",
+ state: "working",
+ message: "Starting workspace",
+ uri: "",
+ },
+ },
+ }),
+ onBack: fn(),
+ },
+};
+
+export const AgentStarting: Story = {
+ args: {
+ details: taskDetails({
+ task: {
+ workspace_status: "running",
+ workspace_agent_lifecycle: "starting",
+ current_state: {
+ timestamp: "2024-01-01T00:00:00Z",
+ state: "working",
+ message: "Agent initializing",
+ uri: "",
+ },
+ },
+ }),
+ onBack: fn(),
+ },
+};
diff --git a/packages/tasks/src/components/TaskItem.stories.tsx b/packages/tasks/src/components/TaskItem.stories.tsx
new file mode 100644
index 00000000..72091380
--- /dev/null
+++ b/packages/tasks/src/components/TaskItem.stories.tsx
@@ -0,0 +1,22 @@
+import { task } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { fn } from "@storybook/test";
+import { TaskItem } from "./TaskItem";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TaskItem",
+ component: TaskItem,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ task: task(),
+ onSelect: fn(),
+ },
+};
diff --git a/packages/tasks/src/components/TaskList.stories.tsx b/packages/tasks/src/components/TaskList.stories.tsx
new file mode 100644
index 00000000..8b8ff314
--- /dev/null
+++ b/packages/tasks/src/components/TaskList.stories.tsx
@@ -0,0 +1,28 @@
+import { task } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { fn } from "@storybook/test";
+import { TaskList } from "./TaskList";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TaskList",
+ component: TaskList,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ tasks: [
+ task({ id: "task-1" }),
+ task({ id: "task-2", status: "unknown" }),
+ task({ id: "task-3", status: "error" }),
+ task({ id: "task-4", status: "paused" }),
+ task({ id: "task-5", status: "initializing" }),
+ ],
+ onSelectTask: fn(),
+ },
+};
diff --git a/packages/tasks/src/components/TaskMessageInput.stories.tsx b/packages/tasks/src/components/TaskMessageInput.stories.tsx
new file mode 100644
index 00000000..4a8b93cd
--- /dev/null
+++ b/packages/tasks/src/components/TaskMessageInput.stories.tsx
@@ -0,0 +1,32 @@
+import { task } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { TaskMessageInput } from "./TaskMessageInput";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TaskMessageInput",
+ component: TaskMessageInput,
+ decorators: [withQueryClient],
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Active: Story = {
+ args: {
+ task: task(),
+ },
+};
+
+export const Paused: Story = {
+ args: {
+ task: task({ status: "paused" }),
+ },
+};
+
+export const Error: Story = {
+ args: {
+ task: task({ status: "error" }),
+ },
+};
diff --git a/packages/tasks/src/components/TasksPanel.stories.tsx b/packages/tasks/src/components/TasksPanel.stories.tsx
new file mode 100644
index 00000000..60eeac13
--- /dev/null
+++ b/packages/tasks/src/components/TasksPanel.stories.tsx
@@ -0,0 +1,83 @@
+import { task } from "@repo/mocks";
+import { withQueryClient } from "@repo/storybook-utils";
+import { expect, fn, userEvent, waitFor } from "@storybook/test";
+import { TasksPanel } from "./TasksPanel";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/TasksPanel",
+ component: TasksPanel,
+ decorators: [withQueryClient],
+ parameters: {
+ layout: "fullscreen",
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ tasks: [
+ task({ id: "task-1" }),
+ task({ id: "task-2" }),
+ task({ id: "task-3" }),
+ ],
+ templates: [],
+ persisted: {
+ initialCreateExpanded: true,
+ initialHistoryExpanded: true,
+ save: fn(),
+ },
+ },
+};
+
+export const CollapsibleToggle: Story = {
+ args: {
+ tasks: [
+ task({ id: "task-1" }),
+ task({ id: "task-2" }),
+ task({ id: "task-3" }),
+ ],
+ templates: [],
+ persisted: {
+ initialCreateExpanded: false,
+ initialHistoryExpanded: false,
+ save: fn(),
+ },
+ },
+};
+
+export const TaskSelection: Story = {
+ args: {
+ tasks: [
+ task({ id: "task-1" }),
+ task({ id: "task-2" }),
+ task({ id: "task-3" }),
+ ],
+ templates: [],
+ persisted: {
+ initialCreateExpanded: false,
+ initialHistoryExpanded: true,
+ save: fn(),
+ },
+ },
+ play: async ({ canvasElement }) => {
+ const taskItems = canvasElement.querySelectorAll(".task-item");
+ await expect(taskItems.length).toBeGreaterThan(0);
+
+ // Click the second task to select it
+ const secondTask = taskItems[1];
+ await expect(secondTask).toBeTruthy();
+ if (!secondTask) throw new Error("Second task not found");
+
+ await userEvent.click(secondTask);
+
+ // Wait for the task detail view to appear
+ await waitFor(() => {
+ const detailView = canvasElement.querySelector(".task-detail-view");
+ expect(detailView).toBeTruthy();
+ });
+ },
+};
diff --git a/packages/tasks/src/components/WorkspaceLogs.stories.tsx b/packages/tasks/src/components/WorkspaceLogs.stories.tsx
new file mode 100644
index 00000000..e1dcddd2
--- /dev/null
+++ b/packages/tasks/src/components/WorkspaceLogs.stories.tsx
@@ -0,0 +1,24 @@
+import { task } from "@repo/mocks";
+import { WorkspaceLogs } from "./WorkspaceLogs";
+
+import type { Meta, StoryObj } from "@storybook/react";
+
+const meta: Meta = {
+ title: "Tasks/WorkspaceLogs",
+ component: WorkspaceLogs,
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ task: task(),
+ },
+};
+
+export const BuildingWorkspace: Story = {
+ args: {
+ task: task({ workspace_status: "pending" }),
+ },
+};
diff --git a/packages/tasks/storybook.preview.ts b/packages/tasks/storybook.preview.ts
new file mode 100644
index 00000000..c01b6f9c
--- /dev/null
+++ b/packages/tasks/storybook.preview.ts
@@ -0,0 +1 @@
+import "./src/index.css";
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 277c4f2b..5cd0379f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,6 +9,21 @@ catalogs:
'@rolldown/plugin-babel':
specifier: ^0.2.3
version: 0.2.3
+ '@storybook/addon-a11y':
+ specifier: ^8.6.18
+ version: 8.6.18
+ '@storybook/addon-essentials':
+ specifier: ^8.6.18
+ version: 8.6.18
+ '@storybook/react':
+ specifier: ^8.6.18
+ version: 8.6.18
+ '@storybook/react-vite':
+ specifier: ^8.6.18
+ version: 8.6.18
+ '@storybook/test':
+ specifier: ^8.6.18
+ version: 8.6.18
'@tanstack/react-query':
specifier: ^5.100.9
version: 5.100.9
@@ -45,6 +60,9 @@ catalogs:
react-dom:
specifier: ^19.2.6
version: 19.2.6
+ storybook:
+ specifier: ^8.6.18
+ version: 8.6.18
typescript:
specifier: ^6.0.3
version: 6.0.3
@@ -123,9 +141,27 @@ importers:
'@eslint/markdown':
specifier: ^8.0.1
version: 8.0.1
+ '@repo/mocks':
+ specifier: workspace:*
+ version: link:packages/mocks
'@rolldown/plugin-babel':
specifier: 'catalog:'
version: 0.2.3(@babel/core@7.29.0)(@babel/runtime@7.29.2)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))
+ '@storybook/addon-a11y':
+ specifier: 'catalog:'
+ version: 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-essentials':
+ specifier: 'catalog:'
+ version: 8.6.18(@types/react@19.2.14)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/react':
+ specifier: 'catalog:'
+ version: 8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)
+ '@storybook/react-vite':
+ specifier: 'catalog:'
+ version: 8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))
+ '@storybook/test':
+ specifier: 'catalog:'
+ version: 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
'@tanstack/react-query':
specifier: 'catalog:'
version: 5.100.9(react@19.2.6)
@@ -162,6 +198,9 @@ importers:
'@types/vscode':
specifier: 1.106.0
version: 1.106.0
+ '@types/vscode-webview':
+ specifier: 'catalog:'
+ version: 1.57.5
'@types/ws':
specifier: ^8.18.1
version: 8.18.1
@@ -177,6 +216,9 @@ importers:
'@vitest/coverage-v8':
specifier: ^4.1.5
version: 4.1.5(vitest@4.1.5)
+ '@vscode/codicons':
+ specifier: 'catalog:'
+ version: 0.0.45
'@vscode/test-cli':
specifier: ^0.0.12
version: 0.0.12
@@ -246,6 +288,9 @@ importers:
react-dom:
specifier: 'catalog:'
version: 19.2.6(react@19.2.6)
+ storybook:
+ specifier: 'catalog:'
+ version: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
typescript:
specifier: 'catalog:'
version: 6.0.3
@@ -281,6 +326,16 @@ importers:
specifier: 'catalog:'
version: 8.0.11(@types/node@24.10.12)(esbuild@0.28.0)
+ packages/mocks:
+ dependencies:
+ '@repo/shared':
+ specifier: workspace:*
+ version: link:../shared
+ devDependencies:
+ typescript:
+ specifier: 'catalog:'
+ version: 6.0.3
+
packages/shared:
devDependencies:
typescript:
@@ -306,6 +361,22 @@ importers:
specifier: 'catalog:'
version: 8.0.11(@types/node@24.10.12)(esbuild@0.28.0)
+ packages/storybook-utils:
+ dependencies:
+ '@tanstack/react-query':
+ specifier: 'catalog:'
+ version: 5.100.9(react@19.2.6)
+ react:
+ specifier: 'catalog:'
+ version: 19.2.6
+ devDependencies:
+ '@storybook/react':
+ specifier: 'catalog:'
+ version: 8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)
+ typescript:
+ specifier: 'catalog:'
+ version: 6.0.3
+
packages/tasks:
dependencies:
'@repo/shared':
@@ -333,6 +404,12 @@ importers:
specifier: 'catalog:'
version: 19.2.6(react@19.2.6)
devDependencies:
+ '@repo/mocks':
+ specifier: workspace:*
+ version: link:../mocks
+ '@repo/storybook-utils':
+ specifier: workspace:*
+ version: link:../storybook-utils
'@rolldown/plugin-babel':
specifier: 'catalog:'
version: 0.2.3(@babel/core@7.29.0)(@babel/runtime@7.29.2)(rolldown@1.0.0-rc.18)(vite@8.0.11(@types/node@24.10.12)(esbuild@0.28.0))
@@ -591,156 +668,312 @@ packages:
'@epic-web/invariant@1.0.0':
resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
+ '@esbuild/aix-ppc64@0.25.12':
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.28.0':
resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
+ '@esbuild/android-arm64@0.25.12':
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.28.0':
resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm@0.25.12':
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.28.0':
resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
+ '@esbuild/android-x64@0.25.12':
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.28.0':
resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
+ '@esbuild/darwin-arm64@0.25.12':
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.28.0':
resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-x64@0.25.12':
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.28.0':
resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
+ '@esbuild/freebsd-arm64@0.25.12':
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.28.0':
resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.25.12':
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.28.0':
resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
+ '@esbuild/linux-arm64@0.25.12':
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.28.0':
resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm@0.25.12':
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.28.0':
resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
+ '@esbuild/linux-ia32@0.25.12':
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.28.0':
resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-loong64@0.25.12':
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.28.0':
resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-mips64el@0.25.12':
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.28.0':
resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-ppc64@0.25.12':
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.28.0':
resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-riscv64@0.25.12':
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.28.0':
resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-s390x@0.25.12':
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.28.0':
resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-x64@0.25.12':
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.28.0':
resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
+ '@esbuild/netbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
'@esbuild/netbsd-arm64@0.28.0':
resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.25.12':
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.28.0':
resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
+ '@esbuild/openbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-arm64@0.28.0':
resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.25.12':
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.28.0':
resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
+ '@esbuild/openharmony-arm64@0.25.12':
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
'@esbuild/openharmony-arm64@0.28.0':
resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
+ '@esbuild/sunos-x64@0.25.12':
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.28.0':
resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
+ '@esbuild/win32-arm64@0.25.12':
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.28.0':
resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-ia32@0.25.12':
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.28.0':
resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-x64@0.25.12':
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.28.0':
resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==}
engines: {node: '>=18'}
@@ -884,6 +1117,15 @@ packages:
resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==}
engines: {node: '>=8'}
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0':
+ resolution: {integrity: sha512-qYDdL7fPwLRI+bJNurVcis+tNgJmvWjH4YTBGXTA8xMuxFrnAz6E5o35iyzyKbq5J5Lr8mJGfrR5GXl+WGwhgQ==}
+ peerDependencies:
+ typescript: '>= 4.3.x'
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -1034,6 +1276,12 @@ packages:
'@lit/reactive-element@2.1.2':
resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==}
+ '@mdx-js/react@3.1.1':
+ resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
@@ -1220,6 +1468,15 @@ packages:
'@rolldown/pluginutils@1.0.0-rc.7':
resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==}
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
'@secretlint/config-creator@10.2.2':
resolution: {integrity: sha512-BynOBe7Hn3LJjb3CqCHZjeNB09s/vgf0baBaHVw67w7gHF0d25c3ZsZ5+vv8TgwSchRdUCRrbbcq5i2B1fJ2QQ==}
engines: {node: '>=20.0.0'}
@@ -1276,6 +1533,167 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+ '@storybook/addon-a11y@8.6.18':
+ resolution: {integrity: sha512-LFvudttdIfDTNWprA8/N1vbiWbJRrNscyt2OP9Qwi85E1d3LKLy+e8AWiqY08gpy2OUYujK7AjxfpKtNeddrxw==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-actions@8.6.18':
+ resolution: {integrity: sha512-GcYhtE91GjIQTuZlwpTJ8jfMp6NC79nkpe1DGe0eetTpyQqLq1WUt+ACkk0Z5lqq2u8HBc09zCCGw+D8iCLpYQ==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-backgrounds@8.6.18':
+ resolution: {integrity: sha512-froND3WwvSCYzjEBO8QODStaWNL+aGXqxBEbrMnGYejDFST4qEFkvM2IYWMnLBkRgrgJ0yIqTeDQoyH9b9/8uQ==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-controls@8.6.18':
+ resolution: {integrity: sha512-K09dHDCfGW3cudsfuyfu0Yi49aZ2h7VYK4IXDGo1sfmtzVh4xd3HrZQQMVUeKLcfDP/NnJowT+fLVwg04CLrxQ==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-docs@8.6.18':
+ resolution: {integrity: sha512-55ADer0yNmmeR928Y3UAv3r4i7bJSd9LwywsQ+lRol/FNe0ZcwLEz31xL+jVsqQFNnDh/imsDIp8aYapGMtfEQ==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-essentials@8.6.18':
+ resolution: {integrity: sha512-MmH7gFb8pyfRoAth0w2RW8j7mBaEJbEWGP3juIoH03ZqTGmbMUbJXElCuRgxQhve7pyz39zLsgtE78D7G+76ew==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-highlight@8.6.18':
+ resolution: {integrity: sha512-wTFJ1DPM0C8gK6nGTJxH75byayQj7BPAz02fME4AOmT6clrBpVl1zSTFTkXaSr+k4xOfeMR/xNUfVskaXz6T9w==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-measure@8.6.18':
+ resolution: {integrity: sha512-fMEOJXgPrTm6qHlWoRM+WTLE7Mr1QBIf2ei+pujBQFcWkD6Gjc2pV8zKzvh93d+EA13wD8AmwOq1DEw9J+XH+g==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-outline@8.6.18':
+ resolution: {integrity: sha512-TErFqfCtlV2xt9B6/kskROt69TPjr6AXdHpMselaRrN1X4WEjcMk9GT9PcNP7FXqL88/VYqUb3uNMiAmpDmS/g==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-toolbars@8.6.18':
+ resolution: {integrity: sha512-x037KXCEcNfPISGX485DtiP+8Bw/cOT45plcQa8eiAQVrVcUwYaDoLubE9YV5b5CsSAjX8sDviGTme6ALfq7+w==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/addon-viewport@8.6.18':
+ resolution: {integrity: sha512-z9sDJSkuWQb4BP+Z1+H+y/Q0rFbPSDcw+OBBEhMfRcJPPXavdC2pNQ0GdQNVw+tDwhAXj+U7jehKnMDKaP7TyA==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/blocks@8.6.18':
+ resolution: {integrity: sha512-esZv4msPQ9LxgTb8YUIZhhxVMuI6BPi5bkXtk8c7w7sWuAsqsCe/RnVInn7ooUry2gjnD4hd9+8Eqj0b8oTVoA==}
+ 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.18
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/builder-vite@8.6.18':
+ resolution: {integrity: sha512-XLqnOv4C36jlTd4uC8xpWBxv+7GV4/05zWJ0wAcU4qflorropUTirt4UQPGkwIzi+BVAhs9pJj+m4k0IWJtpHg==}
+ peerDependencies:
+ storybook: ^8.6.18
+ vite: ^4.0.0 || ^5.0.0 || ^6.0.0
+
+ '@storybook/components@8.6.18':
+ resolution: {integrity: sha512-55yViiZzPS/cPBuOeW4QGxGqrusjXVyxuknmbYCIwDtFyyvI/CgbjXRHdxNBaIjz+IlftxvBmmSaOqFG5+/dkA==}
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+
+ '@storybook/core@8.6.18':
+ resolution: {integrity: sha512-dRBP2TnX6fGdS0T2mXBHjkS/3Nlu1ra1huovZVFuM67CYMzrhM/3hX/zru1vWSC5rqY93ZaAhjMciPW4pK5mMQ==}
+ peerDependencies:
+ prettier: ^2 || ^3
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+
+ '@storybook/csf-plugin@8.6.18':
+ resolution: {integrity: sha512-x1ioz/L0CwaelCkHci3P31YtvwayN3FBftvwQOPbvRh9qeb4Cpz5IdVDmyvSxxYwXN66uAORNoqgjTi7B4/y5Q==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/global@5.0.0':
+ resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
+
+ '@storybook/icons@1.6.0':
+ resolution: {integrity: sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==}
+ 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
+
+ '@storybook/instrumenter@8.6.18':
+ resolution: {integrity: sha512-viEC1BGlYyjAzi1Tv3LZjByh7Y3Oh04u6QKsujxdeUbr5rUOH4pa/wCKmxXmY6yWrD4WjcNtojmUvQZN/66FXQ==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/manager-api@8.6.18':
+ resolution: {integrity: sha512-BjIp12gEMgzFkEsgKpDIbZdnSWTZpm2dlws8WiPJCpgJtG+HWSxZ0/Ms30Au9yfwzQEKRSbV/5zpsKMGc2SIJw==}
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+
+ '@storybook/preview-api@8.6.18':
+ resolution: {integrity: sha512-joXRXh3GdVvzhbfIgmix1xs90p8Q/nja7AhEAC2egn5Pl7SKsIYZUCYI6UdrQANb2myg9P552LKXfPect8llKg==}
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+
+ '@storybook/react-dom-shim@8.6.18':
+ resolution: {integrity: sha512-N4xULcAWZQTUv4jy1/d346Tyb4gufuC3UaLCuU/iVSZ1brYF4OW3ANr+096btbMxY8pR/65lmtoqr5CTGwnBvA==}
+ 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.18
+
+ '@storybook/react-vite@8.6.18':
+ resolution: {integrity: sha512-qpSYyH2IizlEsI95MJTdIL6xpLSgiNCMoJpHu+IEqLnyvmecRR/YEZvcHalgdtawuXlimH0bAYuwIu3l8Vo6FQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ '@storybook/test': 8.6.18
+ 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.18
+ vite: ^4.0.0 || ^5.0.0 || ^6.0.0
+ peerDependenciesMeta:
+ '@storybook/test':
+ optional: true
+
+ '@storybook/react@8.6.18':
+ resolution: {integrity: sha512-BuLpzMkKtF+UCQCbi+lYVX9cdcAMG86Lu2dDn7UFkPi5HRNFq/zHPSvlz1XDgL0OYMtcqB1aoVzFzcyzUBhhjw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ '@storybook/test': 8.6.18
+ 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.18
+ typescript: '>= 4.2.x'
+ peerDependenciesMeta:
+ '@storybook/test':
+ optional: true
+ typescript:
+ optional: true
+
+ '@storybook/test@8.6.18':
+ resolution: {integrity: sha512-u/RwfWMyHcH0N2hqfMTw2CoZ58IXdeED3b8NmcHc8bmERB3byI5vVAkwYbcD7+WeRHIiym38ZHi0SRn+IpkO3Q==}
+ peerDependencies:
+ storybook: ^8.6.18
+
+ '@storybook/theming@8.6.18':
+ resolution: {integrity: sha512-n6OEjEtHupa2PdTwWzRepr7cO8NkDd4rgF6BKLitRbujOspLxzMBEqdphs+QLcuiCIgf33SqmEA64QWnbSMhPw==}
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+
'@szmarczak/http-timer@4.0.6':
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
engines: {node: '>=10'}
@@ -1288,10 +1706,18 @@ packages:
peerDependencies:
react: ^18 || ^19
+ '@testing-library/dom@10.4.0':
+ resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
+ engines: {node: '>=18'}
+
'@testing-library/dom@10.4.1':
resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}
engines: {node: '>=18'}
+ '@testing-library/jest-dom@6.5.0':
+ resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+
'@testing-library/jest-dom@6.9.1':
resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==}
engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
@@ -1311,6 +1737,12 @@ packages:
'@types/react-dom':
optional: true
+ '@testing-library/user-event@14.5.2':
+ resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
+ engines: {node: '>=12', npm: '>=6'}
+ peerDependencies:
+ '@testing-library/dom': '>=7.21.4'
+
'@textlint/ast-node-types@15.6.0':
resolution: {integrity: sha512-CxZHFbYAU7J0A4izz31wV2ZZfySR6aVj2OSR6/3tppZm7VV6hM7nA7sutsLwIiBL/v4lsB1RM79l4Dc/VrH4qw==}
@@ -1359,6 +1791,9 @@ packages:
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+ '@types/doctrine@0.0.9':
+ resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==}
+
'@types/esrecurse@4.3.1':
resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
@@ -1386,6 +1821,9 @@ packages:
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
'@types/mocha@10.0.10':
resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==}
@@ -1412,6 +1850,9 @@ packages:
'@types/react@19.2.14':
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
+ '@types/resolve@1.20.6':
+ resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==}
+
'@types/responselike@1.0.3':
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
@@ -1433,6 +1874,9 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/uuid@9.0.8':
+ resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
+
'@types/vscode-webview@1.57.5':
resolution: {integrity: sha512-iBAUYNYkz+uk1kdsq05fEcoh8gJmwT3lqqFPN7MGyjQ3HVloViMdo7ZJ8DFIP8WOK74PjOEilosqAyxV2iUFUw==}
@@ -1633,6 +2077,9 @@ packages:
'@vitest/browser':
optional: true
+ '@vitest/expect@2.0.5':
+ resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==}
+
'@vitest/expect@4.1.5':
resolution: {integrity: sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==}
@@ -1647,6 +2094,12 @@ packages:
vite:
optional: true
+ '@vitest/pretty-format@2.0.5':
+ resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==}
+
+ '@vitest/pretty-format@2.1.9':
+ resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
+
'@vitest/pretty-format@4.1.5':
resolution: {integrity: sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==}
@@ -1656,9 +2109,18 @@ packages:
'@vitest/snapshot@4.1.5':
resolution: {integrity: sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==}
+ '@vitest/spy@2.0.5':
+ resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==}
+
'@vitest/spy@4.1.5':
resolution: {integrity: sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==}
+ '@vitest/utils@2.0.5':
+ resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==}
+
+ '@vitest/utils@2.1.9':
+ resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
+
'@vitest/utils@4.1.5':
resolution: {integrity: sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==}
@@ -1812,6 +2274,10 @@ packages:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'}
+ ast-types@0.16.1:
+ resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
+ engines: {node: '>=4'}
+
ast-v8-to-istanbul@1.0.0:
resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==}
@@ -1822,6 +2288,14 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ axe-core@4.11.4:
+ resolution: {integrity: sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA==}
+ engines: {node: '>=4'}
+
axios@1.16.0:
resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==}
@@ -1850,6 +2324,10 @@ packages:
resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==}
engines: {node: '>=10.0.0'}
+ better-opn@3.0.2:
+ resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
+ engines: {node: '>=12.0.0'}
+
bidi-js@1.0.3:
resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
@@ -1891,6 +2369,9 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
+ browser-assert@1.2.1:
+ resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==}
+
browser-stdout@1.3.1:
resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==}
@@ -1938,6 +2419,10 @@ packages:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
+ call-bind@1.0.9:
+ resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==}
+ engines: {node: '>= 0.4'}
+
call-bound@1.0.4:
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
engines: {node: '>= 0.4'}
@@ -1952,10 +2437,18 @@ packages:
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ chai@5.3.3:
+ resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ engines: {node: '>=18'}
+
chai@6.2.2:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
engines: {node: '>=18'}
+ chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -1970,6 +2463,10 @@ packages:
character-entities@2.0.2:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ check-error@2.1.3:
+ resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ engines: {node: '>= 16'}
+
cheerio-select@2.1.0:
resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
@@ -2114,6 +2611,10 @@ packages:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
engines: {node: '>=10'}
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
@@ -2137,6 +2638,10 @@ packages:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
define-lazy-prop@3.0.0:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
@@ -2181,6 +2686,10 @@ packages:
resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==}
engines: {node: '>=0.3.1'}
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
@@ -2287,6 +2796,16 @@ packages:
es6-error@4.1.1:
resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
+ esbuild-register@3.6.0:
+ resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
+
+ esbuild@0.25.12:
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
esbuild@0.28.0:
resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==}
engines: {node: '>=18'}
@@ -2452,6 +2971,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
@@ -2553,6 +3075,10 @@ packages:
debug:
optional: true
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
foreground-child@3.3.1:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
@@ -2584,6 +3110,10 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ generator-function@2.0.1:
+ resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
+ engines: {node: '>= 0.4'}
+
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -2788,6 +3318,10 @@ packages:
resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
engines: {node: '>= 12'}
+ is-arguments@1.2.0:
+ resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
+ engines: {node: '>= 0.4'}
+
is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
@@ -2795,6 +3329,19 @@ packages:
is-bun-module@2.0.0:
resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==}
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.16.2:
+ resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==}
+ engines: {node: '>= 0.4'}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
is-docker@3.0.0:
resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2808,6 +3355,10 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
+ is-generator-function@1.1.2:
+ resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
+ engines: {node: '>= 0.4'}
+
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -2840,6 +3391,14 @@ packages:
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
is-unicode-supported@0.1.0:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
@@ -2852,6 +3411,10 @@ packages:
resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
engines: {node: '>=18'}
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
is-wsl@3.1.1:
resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
engines: {node: '>=16'}
@@ -2895,6 +3458,10 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
+ jsdoc-type-pratt-parser@4.8.0:
+ resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
+ engines: {node: '>=12.0.0'}
+
jsdom@29.1.1:
resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
@@ -3108,6 +3675,9 @@ packages:
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ loupe@3.2.1:
+ resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+
lowercase-keys@2.0.0:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
engines: {node: '>=8'}
@@ -3134,6 +3704,10 @@ packages:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
+ magic-string@0.27.0:
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
+ engines: {node: '>=12'}
+
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -3144,6 +3718,9 @@ packages:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
+ map-or-similar@1.5.0:
+ resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==}
+
markdown-it@14.1.1:
resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==}
hasBin: true
@@ -3209,6 +3786,9 @@ packages:
peerDependencies:
tslib: '2'
+ memoizerific@1.11.3:
+ resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==}
+
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
@@ -3447,6 +4027,10 @@ packages:
resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
engines: {node: '>=18'}
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
openpgp@6.3.0:
resolution: {integrity: sha512-pLzCU8IgyKXPSO11eeharQkQ4GzOKNWhXq79pQarIRZEMt1/ssyr+MIuWBv1mNoenJLg04gvPx+fi4gcKZ4bag==}
engines: {node: '>= 18.0.0'}
@@ -3522,6 +4106,9 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
path-scurry@1.11.1:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
@@ -3537,6 +4124,10 @@ packages:
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
@@ -3558,6 +4149,14 @@ packages:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
+ polished@4.3.1:
+ resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==}
+ engines: {node: '>=10'}
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
postcss@8.5.14:
resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==}
engines: {node: ^10 || ^12 || >=14}
@@ -3592,6 +4191,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
progress@2.0.3:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
@@ -3649,6 +4252,15 @@ packages:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
+ react-docgen-typescript@2.4.0:
+ resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==}
+ peerDependencies:
+ typescript: '>= 4.3.x'
+
+ react-docgen@7.1.1:
+ resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==}
+ engines: {node: '>=16.14.0'}
+
react-dom@19.2.6:
resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==}
peerDependencies:
@@ -3684,6 +4296,10 @@ packages:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
+ recast@0.23.11:
+ resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
+ engines: {node: '>= 4'}
+
redent@3.0.0:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
@@ -3702,6 +4318,11 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ resolve@1.22.12:
+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
responselike@2.0.1:
resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
@@ -3742,6 +4363,10 @@ packages:
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
@@ -3784,6 +4409,10 @@ packages:
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
setimmediate@1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
@@ -3896,6 +4525,15 @@ packages:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
+ storybook@8.6.18:
+ resolution: {integrity: sha512-p8seiSI6FiVY6P3V0pG+5v7c8pDMehMAFRWEhG5XqIBSQszzOjDnW2rNvm3odoLKfo3V3P6Cs6Hv9ILzymULyQ==}
+ hasBin: true
+ peerDependencies:
+ prettier: ^2 || ^3
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+
string-ts@2.3.1:
resolution: {integrity: sha512-xSJq+BS52SaFFAVxuStmx6n5aYZU571uYUnUrPXkPFCfdHyZMMlbP2v2Wx5sNBnAVzq/2+0+mcBLBa3Xa5ubYw==}
@@ -3925,10 +4563,18 @@ packages:
resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
engines: {node: '>=12'}
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
+ strip-indent@4.1.1:
+ resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
+ engines: {node: '>=12'}
+
strip-json-comments@2.0.1:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
@@ -3960,6 +4606,10 @@ packages:
resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==}
engines: {node: '>=14.18'}
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
@@ -3999,6 +4649,9 @@ packages:
peerDependencies:
tslib: ^2
+ tiny-invariant@1.3.3:
+ resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -4010,10 +4663,18 @@ packages:
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
+ tinyrainbow@1.2.0:
+ resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
+ engines: {node: '>=14.0.0'}
+
tinyrainbow@3.1.0:
resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
engines: {node: '>=14.0.0'}
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
+ engines: {node: '>=14.0.0'}
+
tldts-core@7.0.30:
resolution: {integrity: sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==}
@@ -4053,9 +4714,17 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
+ ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+
ts-pattern@5.9.0:
resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==}
+ tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
+ engines: {node: '>=6'}
+
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@@ -4151,6 +4820,10 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
+ unplugin@1.16.1:
+ resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
+ engines: {node: '>=14.0.0'}
+
unrs-resolver@1.11.1:
resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
@@ -4173,6 +4846,14 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+
+ uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
+ hasBin: true
+
v8-to-istanbul@9.3.0:
resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
engines: {node: '>=10.12.0'}
@@ -4280,6 +4961,9 @@ packages:
resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==}
engines: {node: '>=20'}
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
whatwg-encoding@3.1.1:
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
engines: {node: '>=18'}
@@ -4297,6 +4981,10 @@ packages:
resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ which-typed-array@1.1.20:
+ resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
+ engines: {node: '>= 0.4'}
+
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -4680,81 +5368,159 @@ snapshots:
'@epic-web/invariant@1.0.0': {}
+ '@esbuild/aix-ppc64@0.25.12':
+ optional: true
+
'@esbuild/aix-ppc64@0.28.0':
optional: true
+ '@esbuild/android-arm64@0.25.12':
+ optional: true
+
'@esbuild/android-arm64@0.28.0':
optional: true
+ '@esbuild/android-arm@0.25.12':
+ optional: true
+
'@esbuild/android-arm@0.28.0':
optional: true
+ '@esbuild/android-x64@0.25.12':
+ optional: true
+
'@esbuild/android-x64@0.28.0':
optional: true
+ '@esbuild/darwin-arm64@0.25.12':
+ optional: true
+
'@esbuild/darwin-arm64@0.28.0':
optional: true
+ '@esbuild/darwin-x64@0.25.12':
+ optional: true
+
'@esbuild/darwin-x64@0.28.0':
optional: true
+ '@esbuild/freebsd-arm64@0.25.12':
+ optional: true
+
'@esbuild/freebsd-arm64@0.28.0':
optional: true
+ '@esbuild/freebsd-x64@0.25.12':
+ optional: true
+
'@esbuild/freebsd-x64@0.28.0':
optional: true
+ '@esbuild/linux-arm64@0.25.12':
+ optional: true
+
'@esbuild/linux-arm64@0.28.0':
optional: true
+ '@esbuild/linux-arm@0.25.12':
+ optional: true
+
'@esbuild/linux-arm@0.28.0':
optional: true
+ '@esbuild/linux-ia32@0.25.12':
+ optional: true
+
'@esbuild/linux-ia32@0.28.0':
optional: true
+ '@esbuild/linux-loong64@0.25.12':
+ optional: true
+
'@esbuild/linux-loong64@0.28.0':
optional: true
+ '@esbuild/linux-mips64el@0.25.12':
+ optional: true
+
'@esbuild/linux-mips64el@0.28.0':
optional: true
+ '@esbuild/linux-ppc64@0.25.12':
+ optional: true
+
'@esbuild/linux-ppc64@0.28.0':
optional: true
+ '@esbuild/linux-riscv64@0.25.12':
+ optional: true
+
'@esbuild/linux-riscv64@0.28.0':
optional: true
+ '@esbuild/linux-s390x@0.25.12':
+ optional: true
+
'@esbuild/linux-s390x@0.28.0':
optional: true
+ '@esbuild/linux-x64@0.25.12':
+ optional: true
+
'@esbuild/linux-x64@0.28.0':
optional: true
+ '@esbuild/netbsd-arm64@0.25.12':
+ optional: true
+
'@esbuild/netbsd-arm64@0.28.0':
optional: true
+ '@esbuild/netbsd-x64@0.25.12':
+ optional: true
+
'@esbuild/netbsd-x64@0.28.0':
optional: true
+ '@esbuild/openbsd-arm64@0.25.12':
+ optional: true
+
'@esbuild/openbsd-arm64@0.28.0':
optional: true
+ '@esbuild/openbsd-x64@0.25.12':
+ optional: true
+
'@esbuild/openbsd-x64@0.28.0':
optional: true
+ '@esbuild/openharmony-arm64@0.25.12':
+ optional: true
+
'@esbuild/openharmony-arm64@0.28.0':
optional: true
+ '@esbuild/sunos-x64@0.25.12':
+ optional: true
+
'@esbuild/sunos-x64@0.28.0':
optional: true
+ '@esbuild/win32-arm64@0.25.12':
+ optional: true
+
'@esbuild/win32-arm64@0.28.0':
optional: true
+ '@esbuild/win32-ia32@0.25.12':
+ optional: true
+
'@esbuild/win32-ia32@0.28.0':
optional: true
+ '@esbuild/win32-x64@0.25.12':
+ optional: true
+
'@esbuild/win32-x64@0.28.0':
optional: true
@@ -4931,6 +5697,15 @@ snapshots:
'@istanbuljs/schema@0.1.6': {}
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@6.0.3)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))':
+ dependencies:
+ glob: 10.5.0
+ magic-string: 0.27.0
+ react-docgen-typescript: 2.4.0(typescript@6.0.3)
+ vite: 8.0.11(@types/node@22.19.17)(esbuild@0.28.0)
+ optionalDependencies:
+ typescript: 6.0.3
+
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -5091,6 +5866,12 @@ snapshots:
dependencies:
'@lit-labs/ssr-dom-shim': 1.5.1
+ '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.6)':
+ dependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 19.2.14
+ react: 19.2.6
+
'@napi-rs/wasm-runtime@0.2.12':
dependencies:
'@emnapi/core': 1.10.0
@@ -5288,6 +6069,12 @@ snapshots:
'@rolldown/pluginutils@1.0.0-rc.7': {}
+ '@rollup/pluginutils@5.3.0':
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-walker: 2.0.2
+ picomatch: 4.0.4
+
'@secretlint/config-creator@10.2.2':
dependencies:
'@secretlint/types': 10.2.2
@@ -5303,70 +6090,282 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@secretlint/core@10.2.2':
+ '@secretlint/core@10.2.2':
+ dependencies:
+ '@secretlint/profiler': 10.2.2
+ '@secretlint/types': 10.2.2
+ debug: 4.4.3(supports-color@8.1.1)
+ structured-source: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@secretlint/formatter@10.2.2':
+ dependencies:
+ '@secretlint/resolver': 10.2.2
+ '@secretlint/types': 10.2.2
+ '@textlint/linter-formatter': 15.6.0
+ '@textlint/module-interop': 15.6.0
+ '@textlint/types': 15.6.0
+ chalk: 5.6.2
+ debug: 4.4.3(supports-color@8.1.1)
+ pluralize: 8.0.0
+ strip-ansi: 7.2.0
+ table: 6.9.0
+ terminal-link: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@secretlint/node@10.2.2':
+ dependencies:
+ '@secretlint/config-loader': 10.2.2
+ '@secretlint/core': 10.2.2
+ '@secretlint/formatter': 10.2.2
+ '@secretlint/profiler': 10.2.2
+ '@secretlint/source-creator': 10.2.2
+ '@secretlint/types': 10.2.2
+ debug: 4.4.3(supports-color@8.1.1)
+ p-map: 7.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@secretlint/profiler@10.2.2': {}
+
+ '@secretlint/resolver@10.2.2': {}
+
+ '@secretlint/secretlint-formatter-sarif@10.2.2':
+ dependencies:
+ node-sarif-builder: 3.4.0
+
+ '@secretlint/secretlint-rule-no-dotenv@10.2.2':
+ dependencies:
+ '@secretlint/types': 10.2.2
+
+ '@secretlint/secretlint-rule-preset-recommend@10.2.2': {}
+
+ '@secretlint/source-creator@10.2.2':
+ dependencies:
+ '@secretlint/types': 10.2.2
+ istextorbinary: 9.5.0
+
+ '@secretlint/types@10.2.2': {}
+
+ '@sindresorhus/is@4.6.0': {}
+
+ '@sindresorhus/merge-streams@2.3.0': {}
+
+ '@standard-schema/spec@1.1.0': {}
+
+ '@storybook/addon-a11y@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/addon-highlight': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/global': 5.0.0
+ '@storybook/test': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ axe-core: 4.11.4
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+
+ '@storybook/addon-actions@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ '@types/uuid': 9.0.8
+ dequal: 2.0.3
+ polished: 4.3.1
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ uuid: 9.0.1
+
+ '@storybook/addon-backgrounds@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ memoizerific: 1.11.3
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+
+ '@storybook/addon-controls@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ dequal: 2.0.3
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+
+ '@storybook/addon-docs@8.6.18(@types/react@19.2.14)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.6)
+ '@storybook/blocks': 8.6.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/react-dom-shim': 8.6.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+
+ '@storybook/addon-essentials@8.6.18(@types/react@19.2.14)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/addon-actions': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-backgrounds': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-controls': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-docs': 8.6.18(@types/react@19.2.14)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-highlight': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-measure': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-outline': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-toolbars': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/addon-viewport': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+
+ '@storybook/addon-highlight@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+
+ '@storybook/addon-measure@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ tiny-invariant: 1.3.3
+
+ '@storybook/addon-outline@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+
+ '@storybook/addon-toolbars@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+
+ '@storybook/addon-viewport@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ memoizerific: 1.11.3
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+
+ '@storybook/blocks@8.6.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/icons': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+ optionalDependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+
+ '@storybook/builder-vite@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))':
dependencies:
- '@secretlint/profiler': 10.2.2
- '@secretlint/types': 10.2.2
- debug: 4.4.3(supports-color@8.1.1)
- structured-source: 4.0.0
- transitivePeerDependencies:
- - supports-color
+ '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ browser-assert: 1.2.1
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ ts-dedent: 2.2.0
+ vite: 8.0.11(@types/node@22.19.17)(esbuild@0.28.0)
- '@secretlint/formatter@10.2.2':
+ '@storybook/components@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
dependencies:
- '@secretlint/resolver': 10.2.2
- '@secretlint/types': 10.2.2
- '@textlint/linter-formatter': 15.6.0
- '@textlint/module-interop': 15.6.0
- '@textlint/types': 15.6.0
- chalk: 5.6.2
- debug: 4.4.3(supports-color@8.1.1)
- pluralize: 8.0.0
- strip-ansi: 7.2.0
- table: 6.9.0
- terminal-link: 4.0.0
- transitivePeerDependencies:
- - supports-color
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
- '@secretlint/node@10.2.2':
+ '@storybook/core@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(utf-8-validate@6.0.6)':
dependencies:
- '@secretlint/config-loader': 10.2.2
- '@secretlint/core': 10.2.2
- '@secretlint/formatter': 10.2.2
- '@secretlint/profiler': 10.2.2
- '@secretlint/source-creator': 10.2.2
- '@secretlint/types': 10.2.2
- debug: 4.4.3(supports-color@8.1.1)
- p-map: 7.0.4
+ '@storybook/theming': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ better-opn: 3.0.2
+ browser-assert: 1.2.1
+ esbuild: 0.25.12
+ esbuild-register: 3.6.0(esbuild@0.25.12)
+ jsdoc-type-pratt-parser: 4.8.0
+ process: 0.11.10
+ recast: 0.23.11
+ semver: 7.7.4
+ util: 0.12.5
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ optionalDependencies:
+ prettier: 3.8.3
transitivePeerDependencies:
+ - bufferutil
+ - storybook
- supports-color
+ - utf-8-validate
- '@secretlint/profiler@10.2.2': {}
+ '@storybook/csf-plugin@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ unplugin: 1.16.1
- '@secretlint/resolver@10.2.2': {}
+ '@storybook/global@5.0.0': {}
- '@secretlint/secretlint-formatter-sarif@10.2.2':
+ '@storybook/icons@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- node-sarif-builder: 3.4.0
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
- '@secretlint/secretlint-rule-no-dotenv@10.2.2':
+ '@storybook/instrumenter@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
dependencies:
- '@secretlint/types': 10.2.2
+ '@storybook/global': 5.0.0
+ '@vitest/utils': 2.1.9
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
- '@secretlint/secretlint-rule-preset-recommend@10.2.2': {}
+ '@storybook/manager-api@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
- '@secretlint/source-creator@10.2.2':
+ '@storybook/preview-api@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
dependencies:
- '@secretlint/types': 10.2.2
- istextorbinary: 9.5.0
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
- '@secretlint/types@10.2.2': {}
+ '@storybook/react-dom-shim@8.6.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
- '@sindresorhus/is@4.6.0': {}
+ '@storybook/react-vite@8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))':
+ dependencies:
+ '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@6.0.3)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))
+ '@rollup/pluginutils': 5.3.0
+ '@storybook/builder-vite': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))
+ '@storybook/react': 8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)
+ find-up: 5.0.0
+ magic-string: 0.30.21
+ react: 19.2.6
+ react-docgen: 7.1.1
+ react-dom: 19.2.6(react@19.2.6)
+ resolve: 1.22.12
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ tsconfig-paths: 4.2.0
+ vite: 8.0.11(@types/node@22.19.17)(esbuild@0.28.0)
+ optionalDependencies:
+ '@storybook/test': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ - typescript
- '@sindresorhus/merge-streams@2.3.0': {}
+ '@storybook/react@8.6.18(@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(typescript@6.0.3)':
+ dependencies:
+ '@storybook/components': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/preview-api': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/react-dom-shim': 8.6.18(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@storybook/theming': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ react: 19.2.6
+ react-dom: 19.2.6(react@19.2.6)
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+ optionalDependencies:
+ '@storybook/test': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ typescript: 6.0.3
- '@standard-schema/spec@1.1.0': {}
+ '@storybook/test@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ '@storybook/instrumenter': 8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))
+ '@testing-library/dom': 10.4.0
+ '@testing-library/jest-dom': 6.5.0
+ '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
+ '@vitest/expect': 2.0.5
+ '@vitest/spy': 2.0.5
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
+
+ '@storybook/theming@8.6.18(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))':
+ dependencies:
+ storybook: 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6)
'@szmarczak/http-timer@4.0.6':
dependencies:
@@ -5379,6 +6378,17 @@ snapshots:
'@tanstack/query-core': 5.100.9
react: 19.2.6
+ '@testing-library/dom@10.4.0':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/runtime': 7.29.2
+ '@types/aria-query': 5.0.4
+ aria-query: 5.3.0
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+
'@testing-library/dom@10.4.1':
dependencies:
'@babel/code-frame': 7.29.0
@@ -5390,6 +6400,16 @@ snapshots:
picocolors: 1.1.1
pretty-format: 27.5.1
+ '@testing-library/jest-dom@6.5.0':
+ dependencies:
+ '@adobe/css-tools': 4.4.4
+ aria-query: 5.3.2
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ lodash: 4.18.1
+ redent: 3.0.0
+
'@testing-library/jest-dom@6.9.1':
dependencies:
'@adobe/css-tools': 4.4.4
@@ -5409,6 +6429,10 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)':
+ dependencies:
+ '@testing-library/dom': 10.4.0
+
'@textlint/ast-node-types@15.6.0': {}
'@textlint/linter-formatter@15.6.0':
@@ -5486,6 +6510,8 @@ snapshots:
'@types/deep-eql@4.0.2': {}
+ '@types/doctrine@0.0.9': {}
+
'@types/esrecurse@4.3.1': {}
'@types/estree@1.0.9': {}
@@ -5510,6 +6536,8 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ '@types/mdx@2.0.13': {}
+
'@types/mocha@10.0.10': {}
'@types/ms@2.1.0': {}
@@ -5537,6 +6565,8 @@ snapshots:
dependencies:
csstype: 3.2.3
+ '@types/resolve@1.20.6': {}
+
'@types/responselike@1.0.3':
dependencies:
'@types/node': 22.19.17
@@ -5553,6 +6583,8 @@ snapshots:
'@types/unist@3.0.3': {}
+ '@types/uuid@9.0.8': {}
+
'@types/vscode-webview@1.57.5': {}
'@types/vscode@1.106.0': {}
@@ -5754,6 +6786,13 @@ snapshots:
tinyrainbow: 3.1.0
vitest: 4.1.5(@types/node@22.19.17)(@vitest/coverage-v8@4.1.5)(jsdom@29.1.1)(vite@8.0.11(@types/node@22.19.17)(esbuild@0.28.0))
+ '@vitest/expect@2.0.5':
+ dependencies:
+ '@vitest/spy': 2.0.5
+ '@vitest/utils': 2.0.5
+ chai: 5.3.3
+ tinyrainbow: 1.2.0
+
'@vitest/expect@4.1.5':
dependencies:
'@standard-schema/spec': 1.1.0
@@ -5771,6 +6810,14 @@ snapshots:
optionalDependencies:
vite: 8.0.11(@types/node@22.19.17)(esbuild@0.28.0)
+ '@vitest/pretty-format@2.0.5':
+ dependencies:
+ tinyrainbow: 1.2.0
+
+ '@vitest/pretty-format@2.1.9':
+ dependencies:
+ tinyrainbow: 1.2.0
+
'@vitest/pretty-format@4.1.5':
dependencies:
tinyrainbow: 3.1.0
@@ -5787,8 +6834,25 @@ snapshots:
magic-string: 0.30.21
pathe: 2.0.3
+ '@vitest/spy@2.0.5':
+ dependencies:
+ tinyspy: 3.0.2
+
'@vitest/spy@4.1.5': {}
+ '@vitest/utils@2.0.5':
+ dependencies:
+ '@vitest/pretty-format': 2.0.5
+ estree-walker: 3.0.3
+ loupe: 3.2.1
+ tinyrainbow: 1.2.0
+
+ '@vitest/utils@2.1.9':
+ dependencies:
+ '@vitest/pretty-format': 2.1.9
+ loupe: 3.2.1
+ tinyrainbow: 1.2.0
+
'@vitest/utils@4.1.5':
dependencies:
'@vitest/pretty-format': 4.1.5
@@ -5977,6 +7041,10 @@ snapshots:
dependencies:
tslib: 2.8.1
+ ast-types@0.16.1:
+ dependencies:
+ tslib: 2.8.1
+
ast-v8-to-istanbul@1.0.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -5987,6 +7055,12 @@ snapshots:
asynckit@0.4.0: {}
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.1.0
+
+ axe-core@4.11.4: {}
+
axios@1.16.0:
dependencies:
follow-redirects: 1.16.0
@@ -6015,6 +7089,10 @@ snapshots:
basic-ftp@5.3.1: {}
+ better-opn@3.0.2:
+ dependencies:
+ open: 8.4.2
+
bidi-js@1.0.3:
dependencies:
require-from-string: 2.0.2
@@ -6058,6 +7136,8 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ browser-assert@1.2.1: {}
+
browser-stdout@1.3.1: {}
browserslist@4.28.2:
@@ -6117,6 +7197,13 @@ snapshots:
es-errors: 1.3.0
function-bind: 1.1.2
+ call-bind@1.0.9:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
+
call-bound@1.0.4:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -6128,8 +7215,21 @@ snapshots:
ccount@2.0.1: {}
+ chai@5.3.3:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.3
+ deep-eql: 5.0.2
+ loupe: 3.2.1
+ pathval: 2.0.1
+
chai@6.2.2: {}
+ chalk@3.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
@@ -6141,6 +7241,8 @@ snapshots:
character-entities@2.0.2: {}
+ check-error@2.1.3: {}
+
cheerio-select@2.1.0:
dependencies:
boolbase: 1.0.0
@@ -6297,6 +7399,8 @@ snapshots:
dependencies:
mimic-response: 3.1.0
+ deep-eql@5.0.2: {}
+
deep-extend@0.6.0:
optional: true
@@ -6316,7 +7420,8 @@ snapshots:
es-define-property: 1.0.1
es-errors: 1.3.0
gopd: 1.2.0
- optional: true
+
+ define-lazy-prop@2.0.0: {}
define-lazy-prop@3.0.0: {}
@@ -6353,6 +7458,10 @@ snapshots:
diff@7.0.0: {}
+ doctrine@3.0.0:
+ dependencies:
+ esutils: 2.0.3
+
dom-accessibility-api@0.5.16: {}
dom-accessibility-api@0.6.3: {}
@@ -6453,6 +7562,42 @@ snapshots:
es6-error@4.1.1:
optional: true
+ esbuild-register@3.6.0(esbuild@0.25.12):
+ dependencies:
+ debug: 4.4.3(supports-color@8.1.1)
+ esbuild: 0.25.12
+ transitivePeerDependencies:
+ - supports-color
+
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
esbuild@0.28.0:
optionalDependencies:
'@esbuild/aix-ppc64': 0.28.0
@@ -6721,6 +7866,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.9
@@ -6812,6 +7959,10 @@ snapshots:
follow-redirects@1.16.0: {}
+ for-each@0.3.5:
+ dependencies:
+ is-callable: 1.2.7
+
foreground-child@3.3.1:
dependencies:
cross-spawn: 7.0.6
@@ -6847,6 +7998,8 @@ snapshots:
function-bind@1.1.2: {}
+ generator-function@2.0.1: {}
+
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
@@ -6974,7 +8127,6 @@ snapshots:
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.1
- optional: true
has-symbols@1.1.0: {}
@@ -7078,6 +8230,11 @@ snapshots:
ip-address@10.2.0: {}
+ is-arguments@1.2.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
+
is-binary-path@2.1.0:
dependencies:
binary-extensions: 2.3.0
@@ -7086,12 +8243,28 @@ snapshots:
dependencies:
semver: 7.7.4
+ is-callable@1.2.7: {}
+
+ is-core-module@2.16.2:
+ dependencies:
+ hasown: 2.0.3
+
+ is-docker@2.2.1: {}
+
is-docker@3.0.0: {}
is-extglob@2.1.1: {}
is-fullwidth-code-point@3.0.0: {}
+ is-generator-function@1.1.2:
+ dependencies:
+ call-bound: 1.0.4
+ generator-function: 2.0.1
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
+
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -7112,12 +8285,27 @@ snapshots:
is-potential-custom-element-name@1.0.1: {}
+ is-regex@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.3
+
+ is-typed-array@1.1.15:
+ dependencies:
+ which-typed-array: 1.1.20
+
is-unicode-supported@0.1.0: {}
is-unicode-supported@1.3.0: {}
is-unicode-supported@2.1.0: {}
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
is-wsl@3.1.1:
dependencies:
is-inside-container: 1.0.0
@@ -7163,6 +8351,8 @@ snapshots:
dependencies:
argparse: 2.0.1
+ jsdoc-type-pratt-parser@4.8.0: {}
+
jsdom@29.1.1:
dependencies:
'@asamuzakjp/css-color': 5.1.11
@@ -7383,6 +8573,8 @@ snapshots:
longest-streak@3.1.0: {}
+ loupe@3.2.1: {}
+
lowercase-keys@2.0.0: {}
lru-cache@10.4.3: {}
@@ -7401,6 +8593,10 @@ snapshots:
lz-string@1.5.0: {}
+ magic-string@0.27.0:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -7415,6 +8611,8 @@ snapshots:
dependencies:
semver: 7.7.4
+ map-or-similar@1.5.0: {}
+
markdown-it@14.1.1:
dependencies:
argparse: 2.0.1
@@ -7579,6 +8777,10 @@ snapshots:
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
+ memoizerific@1.11.3:
+ dependencies:
+ map-or-similar: 1.5.0
+
merge2@1.4.1: {}
micromark-core-commonmark@2.0.3:
@@ -7822,8 +9024,7 @@ snapshots:
dependencies:
brace-expansion: 2.1.0
- minimist@1.2.8:
- optional: true
+ minimist@1.2.8: {}
minipass@7.1.3: {}
@@ -7929,6 +9130,12 @@ snapshots:
is-inside-container: 1.0.0
wsl-utils: 0.1.0
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
openpgp@6.3.0: {}
optionator@0.9.4:
@@ -8025,6 +9232,8 @@ snapshots:
path-key@3.1.1: {}
+ path-parse@1.0.7: {}
+
path-scurry@1.11.1:
dependencies:
lru-cache: 10.4.3
@@ -8039,6 +9248,8 @@ snapshots:
pathe@2.0.3: {}
+ pathval@2.0.1: {}
+
pend@1.2.0: {}
picocolors@1.1.1: {}
@@ -8051,6 +9262,12 @@ snapshots:
pluralize@8.0.0: {}
+ polished@4.3.1:
+ dependencies:
+ '@babel/runtime': 7.29.2
+
+ possible-typed-array-names@1.1.0: {}
+
postcss@8.5.14:
dependencies:
nanoid: 3.3.12
@@ -8089,6 +9306,8 @@ snapshots:
process-nextick-args@2.0.1: {}
+ process@0.11.10: {}
+
progress@2.0.3: {}
proper-lockfile@4.1.2:
@@ -8158,6 +9377,25 @@ snapshots:
strip-json-comments: 2.0.1
optional: true
+ react-docgen-typescript@2.4.0(typescript@6.0.3):
+ dependencies:
+ typescript: 6.0.3
+
+ react-docgen@7.1.1:
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.28.0
+ '@types/doctrine': 0.0.9
+ '@types/resolve': 1.20.6
+ doctrine: 3.0.0
+ resolve: 1.22.12
+ strip-indent: 4.1.1
+ transitivePeerDependencies:
+ - supports-color
+
react-dom@19.2.6(react@19.2.6):
dependencies:
react: 19.2.6
@@ -8202,6 +9440,14 @@ snapshots:
readdirp@4.1.2: {}
+ recast@0.23.11:
+ dependencies:
+ ast-types: 0.16.1
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tiny-invariant: 1.3.3
+ tslib: 2.8.1
+
redent@3.0.0:
dependencies:
indent-string: 4.0.0
@@ -8215,6 +9461,13 @@ snapshots:
resolve-pkg-maps@1.0.0: {}
+ resolve@1.22.12:
+ dependencies:
+ es-errors: 1.3.0
+ is-core-module: 2.16.2
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
responselike@2.0.1:
dependencies:
lowercase-keys: 2.0.0
@@ -8273,6 +9526,12 @@ snapshots:
safe-buffer@5.2.1: {}
+ safe-regex-test@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-regex: 1.2.1
+
safer-buffer@2.1.2: {}
sax@1.6.0: {}
@@ -8313,6 +9572,15 @@ snapshots:
dependencies:
randombytes: 2.1.0
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+
setimmediate@1.0.5: {}
shebang-command@2.0.0:
@@ -8404,8 +9672,7 @@ snapshots:
source-map-js@1.2.1: {}
- source-map@0.6.1:
- optional: true
+ source-map@0.6.1: {}
spdx-correct@3.2.0:
dependencies:
@@ -8432,6 +9699,16 @@ snapshots:
stdin-discarder@0.2.2: {}
+ storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6):
+ dependencies:
+ '@storybook/core': 8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(storybook@8.6.18(bufferutil@4.1.0)(prettier@3.8.3)(utf-8-validate@6.0.6))(utf-8-validate@6.0.6)
+ optionalDependencies:
+ prettier: 3.8.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
string-ts@2.3.1: {}
string-width@4.2.3:
@@ -8469,10 +9746,14 @@ snapshots:
dependencies:
ansi-regex: 6.2.2
+ strip-bom@3.0.0: {}
+
strip-indent@3.0.0:
dependencies:
min-indent: 1.0.1
+ strip-indent@4.1.1: {}
+
strip-json-comments@2.0.1:
optional: true
@@ -8503,6 +9784,8 @@ snapshots:
has-flag: 4.0.0
supports-color: 7.2.0
+ supports-preserve-symlinks-flag@1.0.0: {}
+
symbol-tree@3.2.4: {}
table@6.9.0:
@@ -8553,6 +9836,8 @@ snapshots:
dependencies:
tslib: 2.8.1
+ tiny-invariant@1.3.3: {}
+
tinybench@2.9.0: {}
tinyexec@1.1.2: {}
@@ -8562,8 +9847,12 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
+ tinyrainbow@1.2.0: {}
+
tinyrainbow@3.1.0: {}
+ tinyspy@3.0.2: {}
+
tldts-core@7.0.30: {}
tldts@7.0.30:
@@ -8594,8 +9883,16 @@ snapshots:
dependencies:
typescript: 6.0.3
+ ts-dedent@2.2.0: {}
+
ts-pattern@5.9.0: {}
+ tsconfig-paths@4.2.0:
+ dependencies:
+ json5: 2.2.3
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+
tslib@1.14.1: {}
tslib@2.8.1: {}
@@ -8684,6 +9981,11 @@ snapshots:
universalify@2.0.1: {}
+ unplugin@1.16.1:
+ dependencies:
+ acorn: 8.16.0
+ webpack-virtual-modules: 0.6.2
+
unrs-resolver@1.11.1:
dependencies:
napi-postinstall: 0.3.4
@@ -8726,6 +10028,16 @@ snapshots:
util-deprecate@1.0.2: {}
+ util@0.12.5:
+ dependencies:
+ inherits: 2.0.4
+ is-arguments: 1.2.0
+ is-generator-function: 1.1.2
+ is-typed-array: 1.1.15
+ which-typed-array: 1.1.20
+
+ uuid@9.0.1: {}
+
v8-to-istanbul@9.3.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -8800,6 +10112,8 @@ snapshots:
webidl-conversions@8.0.1: {}
+ webpack-virtual-modules@0.6.2: {}
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
@@ -8816,6 +10130,16 @@ snapshots:
transitivePeerDependencies:
- '@noble/hashes'
+ which-typed-array@1.1.20:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.9
+ call-bound: 1.0.4
+ for-each: 0.3.5
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+
which@2.0.2:
dependencies:
isexe: 2.0.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 3357825e..90533e58 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,6 +3,11 @@ packages:
catalog:
"@rolldown/plugin-babel": ^0.2.3
+ "@storybook/addon-a11y": ^8.6.18
+ "@storybook/addon-essentials": ^8.6.18
+ "@storybook/react": ^8.6.18
+ "@storybook/react-vite": ^8.6.18
+ "@storybook/test": ^8.6.18
"@tanstack/react-query": ^5.100.9
"@types/react": ^19.2.14
"@types/react-dom": ^19.2.3
@@ -15,6 +20,7 @@ catalog:
date-fns: ^4.1.0
react: ^19.2.6
react-dom: ^19.2.6
+ storybook: ^8.6.18
typescript: ^6.0.3
vite: ^8.0.11
diff --git a/scripts/sync-vscode-themes.mjs b/scripts/sync-vscode-themes.mjs
new file mode 100755
index 00000000..be2938f1
--- /dev/null
+++ b/scripts/sync-vscode-themes.mjs
@@ -0,0 +1,90 @@
+#!/usr/bin/env node
+
+// Fetches dark-v2 and light-v2 theme files from vscode-elements/webview-playground
+// and rewrites .storybook/themes/{dark,light}-v2.ts in place.
+//
+// Usage:
+// node scripts/sync-vscode-themes.mjs # fetch latest main
+// node scripts/sync-vscode-themes.mjs # fetch a specific commit
+
+import { writeFileSync } from "node:fs";
+import { resolve, dirname } from "node:path";
+import { fileURLToPath } from "node:url";
+
+const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
+const REPO = "vscode-elements/webview-playground";
+const BASE_URL = `https://raw.githubusercontent.com/${REPO}`;
+
+const themes = [
+ {
+ remotePath: "dist/themes/dark-v2.js",
+ localPath: ".storybook/themes/dark-v2.ts",
+ exportName: "darkTheme",
+ },
+ {
+ remotePath: "dist/themes/light-v2.js",
+ localPath: ".storybook/themes/light-v2.ts",
+ exportName: "lightTheme",
+ },
+];
+
+async function resolveLatestSha() {
+ const res = await fetch(`https://api.github.com/repos/${REPO}/commits/main`, {
+ headers: { Accept: "application/vnd.github.sha" },
+ });
+ if (!res.ok) {
+ throw new Error(`GitHub API error: ${res.status} ${res.statusText}`);
+ }
+ return (await res.text()).trim();
+}
+
+async function fetchTheme(sha, remotePath) {
+ const url = `${BASE_URL}/${sha}/${remotePath}`;
+ const res = await fetch(url);
+ if (!res.ok) {
+ throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`);
+ }
+ return res.text();
+}
+
+// The upstream JS files export a default array of [property, value] tuples.
+// Strip the JS export wrapper and re-emit as a typed TypeScript constant.
+function toTypeScript(jsSource, sha, remotePath, exportName) {
+ // Find the array that follows `export const theme =`
+ const exportMatch = jsSource.match(/export\s+const\s+theme\s*=\s*/);
+ if (!exportMatch) {
+ throw new Error("Could not find `export const theme` in upstream source");
+ }
+ const afterExport = jsSource.slice(exportMatch.index + exportMatch[0].length);
+ const start = afterExport.indexOf("[");
+ const end = afterExport.lastIndexOf("]");
+ if (start === -1 || end === -1) {
+ throw new Error("Could not locate array literal in upstream source");
+ }
+ const arrayLiteral = afterExport.slice(start, end + 1);
+
+ // The upstream source escapes dots in CSS property names (e.g.
+ // `disabled\.background`). These are unnecessary in JS strings and
+ // would break setProperty lookups, so strip them.
+ const cleaned = arrayLiteral.replaceAll("\\.", ".");
+
+ const header = [
+ `// Sourced from \`vscode-elements/webview-playground\`.`,
+ `// https://github.com/${REPO}/blob/${sha}/${remotePath}`,
+ ].join("\n");
+
+ return `${header}\n\nexport const ${exportName}: Array<[string, string]> = ${cleaned};\n`;
+}
+
+const sha = process.argv[2] ?? (await resolveLatestSha());
+console.log(`Syncing themes from ${REPO}@${sha}`);
+
+for (const { remotePath, localPath, exportName } of themes) {
+ const js = await fetchTheme(sha, remotePath);
+ const ts = toTypeScript(js, sha, remotePath, exportName);
+ const dest = resolve(ROOT, localPath);
+ writeFileSync(dest, ts);
+ console.log(` ${localPath}`);
+}
+
+console.log("Done. Run `pnpm format` to normalize the output.");
diff --git a/test/unit/inbox.test.ts b/test/unit/inbox.test.ts
index 701bedf6..42ee6858 100644
--- a/test/unit/inbox.test.ts
+++ b/test/unit/inbox.test.ts
@@ -3,12 +3,13 @@ import * as vscode from "vscode";
import { Inbox } from "@/inbox";
+import { workspace as createWorkspace } from "@repo/mocks";
+
import {
MockConfigurationProvider,
MockEventStream,
createMockLogger,
} from "../mocks/testHelpers";
-import { workspace as createWorkspace } from "../mocks/workspace";
import type { GetInboxNotificationResponse } from "coder/site/src/api/typesGenerated";
diff --git a/test/unit/remote/workspaceStateMachine.test.ts b/test/unit/remote/workspaceStateMachine.test.ts
index 24840124..1b62a217 100644
--- a/test/unit/remote/workspaceStateMachine.test.ts
+++ b/test/unit/remote/workspaceStateMachine.test.ts
@@ -9,17 +9,18 @@ import {
import { maybeAskAgent } from "@/promptUtils";
import { WorkspaceStateMachine } from "@/remote/workspaceStateMachine";
+import {
+ agent as createAgent,
+ resource as createResource,
+ workspace as createWorkspace,
+} from "@repo/mocks";
+
import {
createMockLogger,
MockProgress,
MockTerminalOutputChannel,
MockUserInteraction,
} from "../../mocks/testHelpers";
-import {
- agent as createAgent,
- resource as createResource,
- workspace as createWorkspace,
-} from "../../mocks/workspace";
import type {
Workspace,
diff --git a/test/unit/webviews/tasks/tasksPanelProvider.test.ts b/test/unit/webviews/tasks/tasksPanelProvider.test.ts
index ec804ba3..99526d2a 100644
--- a/test/unit/webviews/tasks/tasksPanelProvider.test.ts
+++ b/test/unit/webviews/tasks/tasksPanelProvider.test.ts
@@ -4,6 +4,14 @@ import * as vscode from "vscode";
import { streamAgentLogs, streamBuildLogs } from "@/api/workspace";
import { TasksPanelProvider } from "@/webviews/tasks/tasksPanelProvider";
+import {
+ logEntry,
+ preset,
+ task,
+ taskState,
+ template,
+ workspace,
+} from "@repo/mocks";
import {
TasksApi,
defineRequest,
@@ -12,19 +20,11 @@ import {
type TaskIdParams,
} from "@repo/shared";
-import {
- logEntry,
- preset,
- task,
- taskState,
- template,
-} from "../../../mocks/tasks";
import {
createAxiosError,
createMockLogger,
MockUserInteraction,
} from "../../../mocks/testHelpers";
-import { workspace } from "../../../mocks/workspace";
import type {
ProvisionerJobLog,
diff --git a/test/unit/workspace/workspaceMonitor.test.ts b/test/unit/workspace/workspaceMonitor.test.ts
index cdb2b0ce..5ceedcad 100644
--- a/test/unit/workspace/workspaceMonitor.test.ts
+++ b/test/unit/workspace/workspaceMonitor.test.ts
@@ -3,6 +3,8 @@ import * as vscode from "vscode";
import { WorkspaceMonitor } from "@/workspace/workspaceMonitor";
+import { workspace as createWorkspace } from "@repo/mocks";
+
import {
MockConfigurationProvider,
MockContextManager,
@@ -10,7 +12,6 @@ import {
MockStatusBarItem,
createMockLogger,
} from "../../mocks/testHelpers";
-import { workspace as createWorkspace } from "../../mocks/workspace";
import type {
ServerSentEvent,
diff --git a/test/webview/shared/tasks/utils.test.ts b/test/webview/shared/tasks/utils.test.ts
index 32f9bd8b..bd375a09 100644
--- a/test/webview/shared/tasks/utils.test.ts
+++ b/test/webview/shared/tasks/utils.test.ts
@@ -1,5 +1,10 @@
import { describe, expect, it } from "vitest";
+import {
+ minimalTask as task,
+ task as fullTask,
+ taskState as state,
+} from "@repo/mocks";
import {
getTaskPermissions,
isAgentStarting,
@@ -11,12 +16,6 @@ import {
type TaskPermissions,
} from "@repo/shared";
-import {
- minimalTask as task,
- task as fullTask,
- taskState as state,
-} from "../../../mocks/tasks";
-
import type {
WorkspaceAgentLifecycle,
WorkspaceStatus,
diff --git a/test/webview/tasks/AgentChatHistory.test.tsx b/test/webview/tasks/AgentChatHistory.test.tsx
index cd06511e..1b0f7a0d 100644
--- a/test/webview/tasks/AgentChatHistory.test.tsx
+++ b/test/webview/tasks/AgentChatHistory.test.tsx
@@ -1,9 +1,9 @@
import { screen } from "@testing-library/react";
import { describe, expect, it } from "vitest";
+import { logEntry } from "@repo/mocks";
import { AgentChatHistory } from "@repo/tasks/components/AgentChatHistory";
-import { logEntry } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
import type { TaskLogs } from "@repo/shared";
diff --git a/test/webview/tasks/CreateTaskSection.test.tsx b/test/webview/tasks/CreateTaskSection.test.tsx
index 561d79fc..0c6297b5 100644
--- a/test/webview/tasks/CreateTaskSection.test.tsx
+++ b/test/webview/tasks/CreateTaskSection.test.tsx
@@ -1,10 +1,10 @@
import { fireEvent, screen, waitFor } from "@testing-library/react";
import { beforeEach, describe, expect, it, vi } from "vitest";
+import { taskTemplate } from "@repo/mocks";
import { CreateTaskSection } from "@repo/tasks/components/CreateTaskSection";
import { logger } from "@repo/webview-shared/logger";
-import { taskTemplate } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
import type { TaskTemplate } from "@repo/shared";
diff --git a/test/webview/tasks/ErrorBanner.test.tsx b/test/webview/tasks/ErrorBanner.test.tsx
index 425dd8b5..8ed66937 100644
--- a/test/webview/tasks/ErrorBanner.test.tsx
+++ b/test/webview/tasks/ErrorBanner.test.tsx
@@ -1,9 +1,9 @@
import { fireEvent, screen } from "@testing-library/react";
import { beforeEach, describe, expect, it, vi } from "vitest";
+import { task } from "@repo/mocks";
import { ErrorBanner } from "@repo/tasks/components/ErrorBanner";
-import { task } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
import type { Task } from "@repo/shared";
diff --git a/test/webview/tasks/StatusIndicator.test.tsx b/test/webview/tasks/StatusIndicator.test.tsx
index 7d74457f..e077d056 100644
--- a/test/webview/tasks/StatusIndicator.test.tsx
+++ b/test/webview/tasks/StatusIndicator.test.tsx
@@ -4,10 +4,9 @@ import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { describe, expect, it } from "vitest";
+import { task } from "@repo/mocks";
import { StatusIndicator } from "@repo/tasks/components/StatusIndicator";
-import { task } from "../../mocks/tasks";
-
import type { TaskStatus } from "@repo/shared";
const css = readFileSync(resolve("packages/tasks/src/index.css"), "utf-8");
diff --git a/test/webview/tasks/TaskDetailHeader.test.tsx b/test/webview/tasks/TaskDetailHeader.test.tsx
index d45f5a6c..2be328de 100644
--- a/test/webview/tasks/TaskDetailHeader.test.tsx
+++ b/test/webview/tasks/TaskDetailHeader.test.tsx
@@ -1,9 +1,9 @@
import { fireEvent, screen, waitFor } from "@testing-library/react";
import { beforeEach, describe, expect, it, vi } from "vitest";
+import { task, taskState } from "@repo/mocks";
import { TaskDetailHeader } from "@repo/tasks/components/TaskDetailHeader";
-import { task, taskState } from "../../mocks/tasks";
import { qs } from "../helpers";
import { renderWithQuery } from "../render";
diff --git a/test/webview/tasks/TaskDetailView.test.tsx b/test/webview/tasks/TaskDetailView.test.tsx
index fcb6a790..7f7f7e49 100644
--- a/test/webview/tasks/TaskDetailView.test.tsx
+++ b/test/webview/tasks/TaskDetailView.test.tsx
@@ -1,9 +1,9 @@
import { screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
+import { logEntry, taskDetails, taskState } from "@repo/mocks";
import { TaskDetailView } from "@repo/tasks/components/TaskDetailView";
-import { logEntry, taskDetails, taskState } from "../../mocks/tasks";
import { qs } from "../helpers";
import { renderWithQuery } from "../render";
diff --git a/test/webview/tasks/TaskItem.test.tsx b/test/webview/tasks/TaskItem.test.tsx
index e8a9b600..3101cb98 100644
--- a/test/webview/tasks/TaskItem.test.tsx
+++ b/test/webview/tasks/TaskItem.test.tsx
@@ -1,9 +1,9 @@
import { fireEvent, screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
+import { task } from "@repo/mocks";
import { TaskItem } from "@repo/tasks/components/TaskItem";
-import { task } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
import type { Task } from "@repo/shared";
diff --git a/test/webview/tasks/TaskList.test.tsx b/test/webview/tasks/TaskList.test.tsx
index b9b01593..9339fe01 100644
--- a/test/webview/tasks/TaskList.test.tsx
+++ b/test/webview/tasks/TaskList.test.tsx
@@ -1,9 +1,9 @@
import { fireEvent, screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
+import { task } from "@repo/mocks";
import { TaskList } from "@repo/tasks/components/TaskList";
-import { task } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
vi.mock("@repo/tasks/hooks/useTasksApi", () => ({
diff --git a/test/webview/tasks/TaskMessageInput.test.tsx b/test/webview/tasks/TaskMessageInput.test.tsx
index ecc23575..5d075d05 100644
--- a/test/webview/tasks/TaskMessageInput.test.tsx
+++ b/test/webview/tasks/TaskMessageInput.test.tsx
@@ -1,9 +1,9 @@
import { fireEvent, screen, waitFor } from "@testing-library/react";
import { beforeEach, describe, expect, it, vi } from "vitest";
+import { task, taskState } from "@repo/mocks";
import { TaskMessageInput } from "@repo/tasks/components/TaskMessageInput";
-import { task, taskState } from "../../mocks/tasks";
import { qs } from "../helpers";
import { renderWithQuery } from "../render";
diff --git a/test/webview/tasks/WorkspaceLogs.test.tsx b/test/webview/tasks/WorkspaceLogs.test.tsx
index 03dca187..4f2d94e9 100644
--- a/test/webview/tasks/WorkspaceLogs.test.tsx
+++ b/test/webview/tasks/WorkspaceLogs.test.tsx
@@ -1,10 +1,10 @@
import { screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
+import { task } from "@repo/mocks";
import { WorkspaceLogs } from "@repo/tasks/components/WorkspaceLogs";
import * as hookModule from "@repo/tasks/hooks/useWorkspaceLogs";
-import { task } from "../../mocks/tasks";
import { renderWithQuery } from "../render";
vi.mock("@repo/tasks/hooks/useWorkspaceLogs", () => ({
diff --git a/test/webview/tasks/useTaskMenuItems.test.tsx b/test/webview/tasks/useTaskMenuItems.test.tsx
index 0cbf41f6..c0f409ca 100644
--- a/test/webview/tasks/useTaskMenuItems.test.tsx
+++ b/test/webview/tasks/useTaskMenuItems.test.tsx
@@ -1,10 +1,10 @@
import { act, renderHook, waitFor } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
+import { task } from "@repo/mocks";
import { getTaskLabel, type Task } from "@repo/shared";
import { useTaskMenuItems } from "@repo/tasks/components/useTaskMenuItems";
-import { task } from "../../mocks/tasks";
import { QueryWrapper } from "../render";
import type { ActionMenuItem } from "@repo/tasks/components/ActionMenu";