From e28bdb117f1567ceebc45ac9689cb0c3963ed9d9 Mon Sep 17 00:00:00 2001 From: Jan Librowski Date: Wed, 24 Jun 2026 14:16:43 +0200 Subject: [PATCH 01/24] refactor: migrate consumers to @workflowbuilder/ui and fix Base UI API breaks --- .changeset/move-ui-library-in-repo.md | 7 + apps/ai-studio/package.json | 5 +- .../controls/ai-studio-controls.tsx | 2 +- apps/ai-studio/vite.config.mts | 25 - apps/backend/README.md | 1 - apps/demo/package.json | 5 +- .../multi-port-node-template.tsx | 2 +- .../buttons-undo-redo/buttons-undo-redo.tsx | 2 +- apps/demo/vite.config.mts | 24 - .../src/content/docs/get-started/theming.md | 2 +- .../content/docs/guides/add-a-custom-node.mdx | 4 +- .../content/docs/node-schemas/form-layouts.md | 10 +- docs/how-to-change-css-tokens.md | 6 +- docs/overflow-ui.md | 43 +- package.json | 1 - packages/sdk/README.md | 2 +- packages/sdk/package.json | 3 +- .../button-submit/button-submit.tsx | 2 +- .../form-control-with-label.tsx | 2 +- .../sdk/src/components/form/label/label.tsx | 2 +- .../sdk/src/components/sidebar/sidebar.tsx | 2 +- .../app-bar/components/controls/controls.tsx | 2 +- .../project-selection/project-selection.tsx | 2 +- .../toggle-dark-mode/toggle-dark-mode.tsx | 2 +- .../toggle-read-only-mode.tsx | 2 +- .../functions/get-controls-dots-items.tsx | 2 +- .../edge-label-renderer.tsx | 4 +- .../edges/label-edge/use-label-edge-hover.ts | 2 +- .../self-connecting-edge.tsx | 2 +- .../edges/temporary-edge/temporary-edge.tsx | 2 +- .../diagram/handles/get-handles-alignment.ts | 8 +- .../ai-agent-node-template.tsx | 2 +- .../diagram/nodes/ai-node-container.tsx | 2 +- .../placeholder-button/placeholder-button.tsx | 2 +- .../diagram/nodes/decision-node-container.tsx | 2 +- .../decision-node-template.tsx | 2 +- .../features/diagram/nodes/node-container.tsx | 2 +- .../diagram/nodes/start-node-container.tsx | 2 +- .../start-node-template.tsx | 2 +- .../workflow-node-template.tsx | 2 +- .../language-selector/language-selector.tsx | 2 +- .../export-modal/export-modal.tsx | 2 +- .../import-modal/import-modal.tsx | 2 +- .../components/save-button/save-button.tsx | 2 +- .../stores/use-integration-store.spec.ts | 2 +- .../stores/use-integration-store.ts | 2 +- .../integration/utils/show-snackbar.ts | 2 +- .../ai-tools-control/ai-tools-control.tsx | 2 +- .../add-ai-tool-footer/add-ai-tool-footer.tsx | 2 +- .../add-ai-tool-form-content.tsx | 2 +- .../date-picker-control.tsx | 2 +- .../branch-card/branch-card.tsx | 2 +- .../condition-modal-footer.tsx | 2 +- .../dynamic-conditions-control.tsx | 2 +- .../conditions-form-field.tsx | 2 +- .../conditions-form.tsx | 2 +- .../select-control/select-control.tsx | 2 +- .../switch-control/switch-control.tsx | 4 +- .../text-area-control/text-area-control.tsx | 2 +- .../controls/text-control/text-control.tsx | 2 +- .../accordion-layout/accordion-layout.tsx | 2 +- .../delete-confirmation.tsx | 2 +- .../modals/providers/modal-provider.tsx | 2 +- .../features/modals/stores/use-modal-store.ts | 2 +- .../components/footer/palette-footer.tsx | 2 +- .../components/header/palette-header.tsx | 2 +- .../components/items/palette-items.tsx | 2 +- .../edge-properties/edge-properties.tsx | 2 +- .../header/properties-bar-header.tsx | 2 +- .../properties-bar/properties-bar.tsx | 2 +- .../features/snackbar/snackbar-container.tsx | 2 +- .../components/syntax-highlighter-lazy.tsx | 2 +- .../dynamic-typed-input/constants.ts | 2 +- .../dynamic-typed-input.tsx | 6 +- .../dynamic-typed-variable-or-input.tsx | 2 +- .../variable-text/variable-text.tsx | 2 +- .../pane-list/pane-list.tsx | 2 +- .../variable-form/variable-form.tsx | 2 +- .../variable-preview/variable-preview.tsx | 2 +- .../variables/modals/tab/tab-header.tsx | 2 +- .../use-workflow-builder-actions.spec.tsx | 2 +- packages/sdk/src/index.css | 4 +- packages/sdk/src/index.ts | 2 +- packages/sdk/src/types/controls.ts | 2 +- packages/sdk/src/types/labels.ts | 2 +- packages/sdk/src/utils/show-snackbar.tsx | 2 +- .../workflow-builder-root.spec.tsx | 2 +- packages/sdk/vite.config.mts | 2 - pnpm-lock.yaml | 1649 ++--------------- 89 files changed, 248 insertions(+), 1703 deletions(-) create mode 100644 .changeset/move-ui-library-in-repo.md diff --git a/.changeset/move-ui-library-in-repo.md b/.changeset/move-ui-library-in-repo.md new file mode 100644 index 000000000..4a5cdfec7 --- /dev/null +++ b/.changeset/move-ui-library-in-repo.md @@ -0,0 +1,7 @@ +--- +'@workflowbuilder/sdk': minor +--- + +Consume the UI component library from the in-repo `@workflowbuilder/ui` (Base UI) instead of the published `@synergycodes/overflow-ui`. + +The SDK previously bundled `@synergycodes/overflow-ui@1.0.0-beta.27` (built on MUI / Mantine / Emotion / Floating UI). It now bundles the in-repo `@workflowbuilder/ui@2.0.0`, rebuilt on [Base UI](https://base-ui.com/), together with `@base-ui/react` (both are inlined into the SDK bundle, so SDK consumers gain no new peer dependency). Bundled component visuals and interaction details change accordingly; the SDK's own public API surface is unchanged. diff --git a/apps/ai-studio/package.json b/apps/ai-studio/package.json index 747ed5079..c9e73707b 100644 --- a/apps/ai-studio/package.json +++ b/apps/ai-studio/package.json @@ -13,9 +13,12 @@ "test:watch": "vitest --passWithNoTests" }, "dependencies": { + "@base-ui/react": "catalog:", + "@jsonforms/core": "^3.4.1", + "@jsonforms/react": "^3.4.1", "@phosphor-icons/react": "^2.1.7", - "@synergycodes/overflow-ui": "1.0.0-beta.27", "@workflow-builder/types": "workspace:*", + "@workflowbuilder/ui": "workspace:*", "@xyflow/react": "catalog:", "clsx": "^2.1.1", "html-to-image": "1.11.11", diff --git a/apps/ai-studio/src/components/controls/ai-studio-controls.tsx b/apps/ai-studio/src/components/controls/ai-studio-controls.tsx index 2e93bae8e..be95533b7 100644 --- a/apps/ai-studio/src/components/controls/ai-studio-controls.tsx +++ b/apps/ai-studio/src/components/controls/ai-studio-controls.tsx @@ -1,5 +1,5 @@ -import { NavButton } from '@synergycodes/overflow-ui'; import { Icon, getStoreEdges, getStoreNodes } from '@workflowbuilder/sdk'; +import { NavButton } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useCallback } from 'react'; diff --git a/apps/ai-studio/vite.config.mts b/apps/ai-studio/vite.config.mts index f1e72892e..d2b9039ac 100644 --- a/apps/ai-studio/vite.config.mts +++ b/apps/ai-studio/vite.config.mts @@ -5,20 +5,12 @@ import { defineConfig } from 'vite'; import svgr from 'vite-plugin-svgr'; export default defineConfig(() => { - const shouldUseLocalOverflowUI = process.env.LOCAL_OVERFLOW_UI === 'true'; - const sdkDirectory = path.resolve(import.meta.dirname, '../../packages/sdk'); return { plugins: [svgr(), react()], resolve: { alias: [ - ...(shouldUseLocalOverflowUI - ? Object.entries(getLocalOverflowUIAliases()).map(([find, replacement]) => ({ - find, - replacement, - })) - : []), { find: /^@workflowbuilder\/sdk\/style\.css$/, replacement: path.resolve(sdkDirectory, 'src/index.css'), @@ -27,14 +19,6 @@ export default defineConfig(() => { find: /^@workflowbuilder\/sdk$/, replacement: path.resolve(sdkDirectory, 'src/index.ts'), }, - // overflow-ui doesn't expose ./dist/index.css via package.json exports - { - find: 'overflow-ui-css', - replacement: path.resolve( - sdkDirectory, - 'node_modules/@synergycodes/overflow-ui/dist/index.css', - ), - }, // SDK source files use @/ to refer to their own root (packages/sdk/src/...). // AI Studio files do not use @/ (they import via @workflowbuilder/sdk subpaths), // so it's safe to point @/ at the SDK root for cross-package alias parity. @@ -56,12 +40,3 @@ export default defineConfig(() => { }, }; }); - -function getLocalOverflowUIAliases(): Record { - const distribution = path.resolve(import.meta.dirname, '../../../overflow-ui/packages/ui/dist'); - - return { - '@synergycodes/overflow-ui/tokens.css': path.join(distribution, 'tokens.css'), - '@synergycodes/overflow-ui': path.join(distribution, 'overflow-ui.js'), - }; -} diff --git a/apps/backend/README.md b/apps/backend/README.md index 018180252..f6c03f0e7 100644 --- a/apps/backend/README.md +++ b/apps/backend/README.md @@ -79,7 +79,6 @@ All scripts run from the monorepo root. Grouped by purpose: | `dev:backend` | Backend only (Hono server with `tsx watch`) | | `dev:worker` | Execution worker only (Temporal worker with `tsx watch`) | | `dev:docs` | Docs site (Astro) | -| `dev:local` | Demo frontend with `LOCAL_OVERFLOW_UI=true` (linked local overflow-ui) | ### Infra (Docker lifecycle) diff --git a/apps/demo/package.json b/apps/demo/package.json index 4869d045b..c50ec2f61 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -16,9 +16,12 @@ "test:watch": "vitest" }, "dependencies": { + "@base-ui/react": "catalog:", + "@jsonforms/core": "^3.4.1", + "@jsonforms/react": "^3.4.1", "@microsoft/clarity": "^1.0.0", "@phosphor-icons/react": "^2.1.7", - "@synergycodes/overflow-ui": "1.0.0-beta.27", + "@workflowbuilder/ui": "workspace:*", "@xyflow/react": "catalog:", "ajv": "catalog:", "clsx": "^2.1.1", diff --git a/apps/demo/src/app/components/multi-port-node/multi-port-node-template.tsx b/apps/demo/src/app/components/multi-port-node/multi-port-node-template.tsx index 96b090494..05fb08080 100644 --- a/apps/demo/src/app/components/multi-port-node/multi-port-node-template.tsx +++ b/apps/demo/src/app/components/multi-port-node/multi-port-node-template.tsx @@ -1,6 +1,6 @@ -import { NodeDescription, NodeIcon, NodePanel } from '@synergycodes/overflow-ui'; import { Icon, defineNodeTemplate, getHandleId, statusOptions } from '@workflowbuilder/sdk'; import type { NodeDataProperties, WorkflowNodeTemplateProps } from '@workflowbuilder/sdk'; +import { NodeDescription, NodeIcon, NodePanel } from '@workflowbuilder/ui'; import { Handle, Position } from '@xyflow/react'; import clsx from 'clsx'; import { memo, useMemo } from 'react'; diff --git a/apps/demo/src/app/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx b/apps/demo/src/app/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx index c12f452fc..7472ffbca 100644 --- a/apps/demo/src/app/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx +++ b/apps/demo/src/app/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx @@ -1,5 +1,5 @@ -import { NavButton } from '@synergycodes/overflow-ui'; import { Icon, useStore } from '@workflowbuilder/sdk'; +import { NavButton } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; import { redo, undo, useUndoRedoStore } from '../../stores/use-undo-redo-store'; diff --git a/apps/demo/vite.config.mts b/apps/demo/vite.config.mts index f7a6a5b55..2f1aa453a 100644 --- a/apps/demo/vite.config.mts +++ b/apps/demo/vite.config.mts @@ -16,7 +16,6 @@ import { export default defineConfig(({ mode }) => { const isProduction = mode === 'production'; const isAnalyze = process.env.ANALYZE === 'true'; - const shouldUseLocalOverflowUI = process.env.LOCAL_OVERFLOW_UI === 'true'; const plugins: PluginOption[] = []; @@ -52,12 +51,6 @@ export default defineConfig(({ mode }) => { plugins, resolve: { alias: [ - ...(shouldUseLocalOverflowUI - ? Object.entries(getLocalOverflowUIAliases()).map(([find, replacement]) => ({ - find, - replacement, - })) - : []), { find: /^@workflowbuilder\/sdk\/style\.css$/, replacement: path.resolve(sdkDirectory, 'src/index.css'), @@ -66,14 +59,6 @@ export default defineConfig(({ mode }) => { find: /^@workflowbuilder\/sdk$/, replacement: path.resolve(sdkDirectory, 'src/index.ts'), }, - // overflow-ui doesn't expose ./dist/index.css via package.json exports - { - find: 'overflow-ui-css', - replacement: path.resolve( - sdkDirectory, - 'node_modules/@synergycodes/overflow-ui/dist/index.css', - ), - }, // SDK source files use @/ to refer to their own root (packages/sdk/src/...). // Demo files do not use @/ (they import via @workflowbuilder/sdk subpaths), // so it's safe to point @/ at the SDK root for cross-package alias parity with sdk's vite.config. @@ -96,15 +81,6 @@ export default defineConfig(({ mode }) => { }; }); -function getLocalOverflowUIAliases(): Record { - const distribution = path.resolve(import.meta.dirname, '../../../overflow-ui/packages/ui/dist'); - - return { - '@synergycodes/overflow-ui/tokens.css': path.join(distribution, 'tokens.css'), - '@synergycodes/overflow-ui': path.join(distribution, 'overflow-ui.js'), - }; -} - type EnvMode = 'demo' | 'production' | 'development' | 'staging'; const fileReplacementsMap: Record = { demo: [], diff --git a/apps/docs/src/content/docs/get-started/theming.md b/apps/docs/src/content/docs/get-started/theming.md index 9838b9462..85527f326 100644 --- a/apps/docs/src/content/docs/get-started/theming.md +++ b/apps/docs/src/content/docs/get-started/theming.md @@ -23,4 +23,4 @@ Provide the font yourself (via `@font-face`, `@fontsource/`, etc.) — the ## Other tokens -The SDK exposes a small surface of `--wb-*` variables (background, scrollbar, transitions) plus the larger `--ax-*` design-token set re-exported from `@synergycodes/overflow-ui`. See [Design System & Customization](/overview/features/design-system-and-customization/) for the full token map. +The SDK exposes a small surface of `--wb-*` variables (background, scrollbar, transitions) plus the larger `--ax-*` design-token set re-exported from `@workflowbuilder/ui`. See [Design System & Customization](/overview/features/design-system-and-customization/) for the full token map. diff --git a/apps/docs/src/content/docs/guides/add-a-custom-node.mdx b/apps/docs/src/content/docs/guides/add-a-custom-node.mdx index 8dd8d34e9..6a3977f07 100644 --- a/apps/docs/src/content/docs/guides/add-a-custom-node.mdx +++ b/apps/docs/src/content/docs/guides/add-a-custom-node.mdx @@ -197,9 +197,9 @@ The built-in renderer gives every node a header and one input + one output handl `my-node-template.tsx`: ```tsx -import { NodeDescription, NodeIcon, NodePanel } from '@synergycodes/overflow-ui'; import { Icon, getHandleId } from '@workflowbuilder/sdk'; import type { WorkflowNodeTemplateProps } from '@workflowbuilder/sdk'; +import { NodeDescription, NodeIcon, NodePanel } from '@workflowbuilder/ui'; import { Handle, Position } from '@xyflow/react'; import { memo, useMemo } from 'react'; @@ -230,7 +230,7 @@ export const MyNodeTemplate = memo( ); ``` -The example composes the node from `@synergycodes/overflow-ui` primitives (`NodePanel.Root`, `NodePanel.Header`, `NodePanel.Handles`) — the same building blocks Workflow Builder uses for its own node renderers, so the result matches the editor's visual language out of the box. +The example composes the node from `@workflowbuilder/ui` primitives (`NodePanel.Root`, `NodePanel.Header`, `NodePanel.Handles`) — the same building blocks Workflow Builder uses for its own node renderers, so the result matches the editor's visual language out of the box. The component receives [`WorkflowNodeTemplateProps`](/api/components/workflownodetemplateprops/). Use [`getHandleId`](/api/utilities/gethandleid/) for handle IDs and pass `innerId` when a node has more than one handle of the same type. If your template needs typed access to `data.properties`, wrap the component in [`defineNodeTemplate`](/api/components/definenodetemplate/) to bind a schema-derived properties type. diff --git a/apps/docs/src/content/docs/node-schemas/form-layouts.md b/apps/docs/src/content/docs/node-schemas/form-layouts.md index 2ee21f252..ad01e332c 100644 --- a/apps/docs/src/content/docs/node-schemas/form-layouts.md +++ b/apps/docs/src/content/docs/node-schemas/form-layouts.md @@ -97,11 +97,11 @@ Text-only elements that don't bind to a property. Use them when the property pan Plain text label — uses the editor's default body styling. -| Prop | Type | Required | Notes | -| ---------- | -------- | -------- | ---------------------------------------------------------------------------------------------- | -| `text` | string | yes | The label text. | -| `required` | boolean | no | Append a `*` to indicate the following section contains required fields. | -| `size` | ItemSize | no | Visual size — `'small'`, `'medium'` (default), `'large'`. Type re-exported from `overflow-ui`. | +| Prop | Type | Required | Notes | +| ---------- | -------- | -------- | ------------------------------------------------------------------------------------------------------ | +| `text` | string | yes | The label text. | +| `required` | boolean | no | Append a `*` to indicate the following section contains required fields. | +| `size` | ItemSize | no | Visual size — `'small'`, `'medium'` (default), `'large'`. Type re-exported from `@workflowbuilder/ui`. | ```ts { type: 'Label', text: 'Connection details' } diff --git a/docs/how-to-change-css-tokens.md b/docs/how-to-change-css-tokens.md index 247acf6da..9c6ee007b 100644 --- a/docs/how-to-change-css-tokens.md +++ b/docs/how-to-change-css-tokens.md @@ -1,7 +1,7 @@ # How to change css tokens? -You can use our enterprise version with available figma design kit. We store tokens (colors) in `packages/sdk/src/index.css`, you'll find a CSS import: `@import '@synergycodes/overflow-ui/tokens.css';` with our figma you replace that import with generated from figma desing kit. +You can use our enterprise version with available figma design kit. We store tokens (colors) in `packages/sdk/src/index.css`, you'll find a CSS import: `@import '@workflowbuilder/ui/tokens.css';` with our figma you replace that import with generated from figma desing kit. -Alternatively, if you want to stay with community version and do not pay for the licenses, you can look inside `node_modules` at `packages/sdk/node_modules/@synergycodes/overflow-ui/dist/tokens.css`, check the variable names, and manually set some or all of the colors in your repository to overwrite them. +Alternatively, if you want to stay with community version and do not pay for the licenses, you can look inside `node_modules` at `packages/sdk/node_modules/@workflowbuilder/ui/dist/tokens.css`, check the variable names, and manually set some or all of the colors in your repository to overwrite them. -`@synergycodes/overflow-ui` is our library for UI elements [overflow-ui](https://github.com/synergycodes/overflow-ui) +`@workflowbuilder/ui` is our in-repo library for UI elements, living at `packages/ui`. diff --git a/docs/overflow-ui.md b/docs/overflow-ui.md index d240c9344..ac0741ff5 100644 --- a/docs/overflow-ui.md +++ b/docs/overflow-ui.md @@ -1,23 +1,36 @@ -# overflow-ui +# UI library (`@workflowbuilder/ui`) -Overflow-ui is an open-to-the-public UI library developed by Synergy Codes: +The UI component library lives in this monorepo at `packages/ui`, published as +`@workflowbuilder/ui`. It is built on [Base UI](https://base-ui.com/) and +provides the components and design tokens the SDK and reference apps render +with. Its design tokens are generated from `packages/tokens` +(`@workflowbuilder/ui-tokens`). -https://www.npmjs.com/package/@synergycodes/overflow-ui +## How is it consumed? -https://github.com/synergycodes/overflow-ui +`packages/sdk`, `apps/demo`, and `apps/ai-studio` depend on it via +`workspace:*` and import it as `@workflowbuilder/ui`. Consumers resolve the +built `dist/` through the package `exports` (the SDK's `src/index.css` pulls in +`@workflowbuilder/ui/tokens.css` and `@workflowbuilder/ui/index.css`). -## How can I work locally on both `workflow-builder` and `overflow-ui`? +## Working on it locally -Both repositories must be cloned next to each other in the same parent directory: +`dist/` is git-ignored and rebuilt from source. The `prepare` lifecycle script +of `packages/ui` and `packages/tokens` builds both on `pnpm install`, in +dependency order (tokens first, then ui), so a fresh install is enough for the +apps to resolve the library. -``` -some-directory/ - overflow-ui/ - workflow-builder/ -``` +When iterating on the library itself, rebuild after each change: -1. Build the dist files in the overflow-ui tokens package: `pnpm tokens prepare`. -2. Build the `overflow-ui` dist: `pnpm ui build`. -3. In this repository, start the frontend with: `pnpm dev:local` +- `pnpm --filter @workflowbuilder/ui build` - one-shot build (tokens must be + built first; `pnpm build:ui` does both in order). +- `pnpm --filter @workflowbuilder/ui dev` - rebuild on change (`vite build --watch`). -The `dev:local` script sets a `LOCAL_OVERFLOW_UI=true` flag that makes Vite resolve `@synergycodes/overflow-ui` directly from the local `../overflow-ui/packages/ui/dist/` instead of from npm. No manual changes to `package.json` or CSS imports are needed. +`pnpm build:lib` builds the full publishable chain (tokens -> ui -> sdk). + +## CSS layers + +The library emits all styles into two ordered cascade layers +(`@layer ui.base, ui.component;`). See [`packages/ui/css-layers.md`](../packages/ui/css-layers.md) +for the contract and why `styles.css` (or `index.css`) must establish the order +before any component rule. diff --git a/package.json b/package.json index 92a18d43d..150767360 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "dev:backend": "pnpm --filter backend dev", "dev:worker": "pnpm --filter execution-worker dev", "dev:docs": "pnpm --filter @workflow-builder/docs dev", - "dev:local": "LOCAL_OVERFLOW_UI=true pnpm --filter @workflow-builder/demo dev", "infra:up": "docker compose -f apps/backend/docker-compose.yml up -d", "infra:down": "docker compose -f apps/backend/docker-compose.yml down", "infra:wait": "node tools/wait-for-temporal.mjs", diff --git a/packages/sdk/README.md b/packages/sdk/README.md index d5bca918e..71735050d 100644 --- a/packages/sdk/README.md +++ b/packages/sdk/README.md @@ -212,7 +212,7 @@ The editor exposes a small set of CSS custom properties for top-level styling. O Available `--wb-*` tokens: `--wb-background-color`, `--wb-font-family`, `--wb-transition`, plus scrollbar styling (`--wb-scroll-width`, `--wb-scroll-radius`, `--wb-scroll-thumb-color`, `--wb-scroll-thumb-hover-color`, `--wb-scroll-track-color`). -Deeper color and spacing customization (palette, semantic UI tokens) goes through the `--ax-*` token layer from `@synergycodes/overflow-ui`. Full guide: [Design system and customization](https://www.workflowbuilder.io/docs/overview/features/design-system-and-customization/). +Deeper color and spacing customization (palette, semantic UI tokens) goes through the `--ax-*` token layer from `@workflowbuilder/ui`. Full guide: [Design system and customization](https://www.workflowbuilder.io/docs/overview/features/design-system-and-customization/). ## CSS — global resets diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 865d4e8ea..e22e63e7d 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -70,12 +70,13 @@ "zustand": "^5.0.0" }, "dependencies": { + "@base-ui/react": "catalog:", "@cfworker/json-schema": "4.1.1", "@fontsource/poppins": "^5.2.7", "@jsonforms/core": "^3.4.0", "@jsonforms/react": "^3.4.0", "@phosphor-icons/react": "^2.1.7", - "@synergycodes/overflow-ui": "1.0.0-beta.27", + "@workflowbuilder/ui": "workspace:*", "ace-builds": "^1.43.4", "ajv": "catalog:", "clsx": "^2.1.1", diff --git a/packages/sdk/src/components/button-submit/button-submit.tsx b/packages/sdk/src/components/button-submit/button-submit.tsx index c540d3f12..57810ed7d 100644 --- a/packages/sdk/src/components/button-submit/button-submit.tsx +++ b/packages/sdk/src/components/button-submit/button-submit.tsx @@ -1,5 +1,5 @@ import { Spinner } from '@phosphor-icons/react'; -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import clsx from 'clsx'; import styles from './button-submit.module.css'; diff --git a/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.tsx b/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.tsx index 2c854c88a..95d3d14e5 100644 --- a/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.tsx +++ b/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.tsx @@ -1,4 +1,4 @@ -import type { ItemSize } from '@synergycodes/overflow-ui'; +import type { ItemSize } from '@workflowbuilder/ui'; import clsx from 'clsx'; import type { PropsWithChildren } from 'react'; diff --git a/packages/sdk/src/components/form/label/label.tsx b/packages/sdk/src/components/form/label/label.tsx index 50607f247..ada41d85b 100644 --- a/packages/sdk/src/components/form/label/label.tsx +++ b/packages/sdk/src/components/form/label/label.tsx @@ -1,5 +1,5 @@ import { Asterisk } from '@phosphor-icons/react'; -import type { ItemSize } from '@synergycodes/overflow-ui'; +import type { ItemSize } from '@workflowbuilder/ui'; import clsx from 'clsx'; import styles from './label.module.css'; diff --git a/packages/sdk/src/components/sidebar/sidebar.tsx b/packages/sdk/src/components/sidebar/sidebar.tsx index a2a9e6fa8..b98bf58be 100644 --- a/packages/sdk/src/components/sidebar/sidebar.tsx +++ b/packages/sdk/src/components/sidebar/sidebar.tsx @@ -1,4 +1,4 @@ -import { Separator } from '@synergycodes/overflow-ui'; +import { Separator } from '@workflowbuilder/ui'; import clsx from 'clsx'; import styles from './sidebar.module.css'; diff --git a/packages/sdk/src/features/app-bar/components/controls/controls.tsx b/packages/sdk/src/features/app-bar/components/controls/controls.tsx index 057410b3f..bbcf74b27 100644 --- a/packages/sdk/src/features/app-bar/components/controls/controls.tsx +++ b/packages/sdk/src/features/app-bar/components/controls/controls.tsx @@ -1,5 +1,5 @@ import { DotsThreeVertical } from '@phosphor-icons/react'; -import { Menu, type MenuItemProps, NavButton } from '@synergycodes/overflow-ui'; +import { Menu, type MenuItemProps, NavButton } from '@workflowbuilder/ui'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/app-bar/components/project-selection/project-selection.tsx b/packages/sdk/src/features/app-bar/components/project-selection/project-selection.tsx index 6ca66b438..e25a62748 100644 --- a/packages/sdk/src/features/app-bar/components/project-selection/project-selection.tsx +++ b/packages/sdk/src/features/app-bar/components/project-selection/project-selection.tsx @@ -1,5 +1,5 @@ import { CaretDown } from '@phosphor-icons/react'; -import { Input, Menu, NavButton } from '@synergycodes/overflow-ui'; +import { Input, Menu, NavButton } from '@workflowbuilder/ui'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/app-bar/components/toggle-dark-mode/toggle-dark-mode.tsx b/packages/sdk/src/features/app-bar/components/toggle-dark-mode/toggle-dark-mode.tsx index dcf570895..8c55abe32 100644 --- a/packages/sdk/src/features/app-bar/components/toggle-dark-mode/toggle-dark-mode.tsx +++ b/packages/sdk/src/features/app-bar/components/toggle-dark-mode/toggle-dark-mode.tsx @@ -1,5 +1,5 @@ import { MoonStars, Sun } from '@phosphor-icons/react'; -import { IconSwitch } from '@synergycodes/overflow-ui'; +import { IconSwitch } from '@workflowbuilder/ui'; import { useTheme } from '../../../../hooks/use-theme'; diff --git a/packages/sdk/src/features/app-bar/components/toggle-read-only-mode/toggle-read-only-mode.tsx b/packages/sdk/src/features/app-bar/components/toggle-read-only-mode/toggle-read-only-mode.tsx index 1bf769317..7b025b495 100644 --- a/packages/sdk/src/features/app-bar/components/toggle-read-only-mode/toggle-read-only-mode.tsx +++ b/packages/sdk/src/features/app-bar/components/toggle-read-only-mode/toggle-read-only-mode.tsx @@ -1,5 +1,5 @@ import { PencilSimple, PencilSimpleSlash } from '@phosphor-icons/react'; -import { IconSwitch } from '@synergycodes/overflow-ui'; +import { IconSwitch } from '@workflowbuilder/ui'; import { useStore } from '../../../../store/store'; diff --git a/packages/sdk/src/features/app-bar/functions/get-controls-dots-items.tsx b/packages/sdk/src/features/app-bar/functions/get-controls-dots-items.tsx index e1a1af044..924617c32 100644 --- a/packages/sdk/src/features/app-bar/functions/get-controls-dots-items.tsx +++ b/packages/sdk/src/features/app-bar/functions/get-controls-dots-items.tsx @@ -1,4 +1,4 @@ -import type { MenuItemProps } from '@synergycodes/overflow-ui'; +import type { MenuItemProps } from '@workflowbuilder/ui'; import i18n from 'i18next'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/diagram/edges/edge-label-renderer/edge-label-renderer.tsx b/packages/sdk/src/features/diagram/edges/edge-label-renderer/edge-label-renderer.tsx index 02ff2e90f..525a093a4 100644 --- a/packages/sdk/src/features/diagram/edges/edge-label-renderer/edge-label-renderer.tsx +++ b/packages/sdk/src/features/diagram/edges/edge-label-renderer/edge-label-renderer.tsx @@ -1,4 +1,4 @@ -import { EdgeLabel as Label } from '@synergycodes/overflow-ui'; +import { EdgeLabel as Label } from '@workflowbuilder/ui'; import { EdgeLabelRenderer } from '@xyflow/react'; import type { CSSProperties } from 'react'; @@ -18,7 +18,7 @@ type EdgeLabelProps = { /** * Renders a label (text or icon) at fixed canvas coordinates, used by edge * components to attach descriptive content along their path. Built on top - * of xyflow's `` and styled via overflow-ui's + * of xyflow's `` and styled via `@workflowbuilder/ui`'s * `` primitive so hover / selected states match the rest of * the editor. * diff --git a/packages/sdk/src/features/diagram/edges/label-edge/use-label-edge-hover.ts b/packages/sdk/src/features/diagram/edges/label-edge/use-label-edge-hover.ts index 2283db712..c23cd5295 100644 --- a/packages/sdk/src/features/diagram/edges/label-edge/use-label-edge-hover.ts +++ b/packages/sdk/src/features/diagram/edges/label-edge/use-label-edge-hover.ts @@ -1,4 +1,4 @@ -import { type EdgeState, useEdgeStyle } from '@synergycodes/overflow-ui'; +import { type EdgeState, useEdgeStyle } from '@workflowbuilder/ui'; import { useState } from 'react'; import { useStore } from '../../../../store/store'; diff --git a/packages/sdk/src/features/diagram/edges/self-connecting-edge/self-connecting-edge.tsx b/packages/sdk/src/features/diagram/edges/self-connecting-edge/self-connecting-edge.tsx index cebd27e72..6181f2838 100644 --- a/packages/sdk/src/features/diagram/edges/self-connecting-edge/self-connecting-edge.tsx +++ b/packages/sdk/src/features/diagram/edges/self-connecting-edge/self-connecting-edge.tsx @@ -1,4 +1,4 @@ -import { type EdgeState, useEdgeStyle } from '@synergycodes/overflow-ui'; +import { type EdgeState, useEdgeStyle } from '@workflowbuilder/ui'; import type { EdgeProps } from '@xyflow/react'; import type { WorkflowBuilderEdge } from '../../../../node/node-data'; diff --git a/packages/sdk/src/features/diagram/edges/temporary-edge/temporary-edge.tsx b/packages/sdk/src/features/diagram/edges/temporary-edge/temporary-edge.tsx index 1a8e0d67c..000be04e2 100644 --- a/packages/sdk/src/features/diagram/edges/temporary-edge/temporary-edge.tsx +++ b/packages/sdk/src/features/diagram/edges/temporary-edge/temporary-edge.tsx @@ -1,4 +1,4 @@ -import { useEdgeStyle } from '@synergycodes/overflow-ui'; +import { useEdgeStyle } from '@workflowbuilder/ui'; import { type ConnectionLineComponentProps, getSmoothStepPath } from '@xyflow/react'; import { EDGE_CURVE_RADIUS, EDGE_OFFSET } from '../edge.consts'; diff --git a/packages/sdk/src/features/diagram/handles/get-handles-alignment.ts b/packages/sdk/src/features/diagram/handles/get-handles-alignment.ts index b64b83367..8fb87c6f6 100644 --- a/packages/sdk/src/features/diagram/handles/get-handles-alignment.ts +++ b/packages/sdk/src/features/diagram/handles/get-handles-alignment.ts @@ -1,11 +1,11 @@ -import type { NodePanel } from '@synergycodes/overflow-ui'; +import type { NodePanel } from '@workflowbuilder/ui'; import type { ComponentProps } from 'react'; import type { LayoutDirection } from '../../../node/common'; -// Source-of-truth: overflow-ui's `` prop, so adding a new -// alignment in overflow-ui surfaces here as a type error instead of silently -// drifting. +// Source-of-truth: `@workflowbuilder/ui`'s `` prop, so adding +// a new alignment in the UI library surfaces here as a type error instead of +// silently drifting. type HandlesAlignment = NonNullable['alignment']>; // Unifies how built-in node templates choose the `alignment` prop they pass to diff --git a/packages/sdk/src/features/diagram/nodes/ai-agent-node-template/ai-agent-node-template.tsx b/packages/sdk/src/features/diagram/nodes/ai-agent-node-template/ai-agent-node-template.tsx index b20dd2e11..ef7b1ce9c 100644 --- a/packages/sdk/src/features/diagram/nodes/ai-agent-node-template/ai-agent-node-template.tsx +++ b/packages/sdk/src/features/diagram/nodes/ai-agent-node-template/ai-agent-node-template.tsx @@ -1,4 +1,4 @@ -import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@synergycodes/overflow-ui'; +import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@workflowbuilder/ui'; import { Handle } from '@xyflow/react'; import clsx from 'clsx'; import { memo, useMemo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/ai-node-container.tsx b/packages/sdk/src/features/diagram/nodes/ai-node-container.tsx index 14cdf566a..ad7ec3420 100644 --- a/packages/sdk/src/features/diagram/nodes/ai-node-container.tsx +++ b/packages/sdk/src/features/diagram/nodes/ai-node-container.tsx @@ -1,4 +1,4 @@ -import { NodeAsPortWrapper } from '@synergycodes/overflow-ui'; +import { NodeAsPortWrapper } from '@workflowbuilder/ui'; import { type Node, type NodeProps, Position } from '@xyflow/react'; import { memo, useMemo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/components/placeholder-button/placeholder-button.tsx b/packages/sdk/src/features/diagram/nodes/components/placeholder-button/placeholder-button.tsx index e356ab649..02463a587 100644 --- a/packages/sdk/src/features/diagram/nodes/components/placeholder-button/placeholder-button.tsx +++ b/packages/sdk/src/features/diagram/nodes/components/placeholder-button/placeholder-button.tsx @@ -1,5 +1,5 @@ import { PlusCircle } from '@phosphor-icons/react'; -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import styles from './placeholder-button.module.css'; diff --git a/packages/sdk/src/features/diagram/nodes/decision-node-container.tsx b/packages/sdk/src/features/diagram/nodes/decision-node-container.tsx index 20208818c..ac91561c3 100644 --- a/packages/sdk/src/features/diagram/nodes/decision-node-container.tsx +++ b/packages/sdk/src/features/diagram/nodes/decision-node-container.tsx @@ -1,4 +1,4 @@ -import { NodeAsPortWrapper } from '@synergycodes/overflow-ui'; +import { NodeAsPortWrapper } from '@workflowbuilder/ui'; import type { Node, NodeProps } from '@xyflow/react'; import { memo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/decision-node-template/decision-node-template.tsx b/packages/sdk/src/features/diagram/nodes/decision-node-template/decision-node-template.tsx index b3d8638e7..3f7c2766c 100644 --- a/packages/sdk/src/features/diagram/nodes/decision-node-template/decision-node-template.tsx +++ b/packages/sdk/src/features/diagram/nodes/decision-node-template/decision-node-template.tsx @@ -1,4 +1,4 @@ -import { NodeDescription, NodeIcon, NodePanel, Status } from '@synergycodes/overflow-ui'; +import { NodeDescription, NodeIcon, NodePanel, Status } from '@workflowbuilder/ui'; import { Handle } from '@xyflow/react'; import { memo, useMemo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/node-container.tsx b/packages/sdk/src/features/diagram/nodes/node-container.tsx index 9df6c652d..d0566f438 100644 --- a/packages/sdk/src/features/diagram/nodes/node-container.tsx +++ b/packages/sdk/src/features/diagram/nodes/node-container.tsx @@ -1,4 +1,4 @@ -import { NodeAsPortWrapper } from '@synergycodes/overflow-ui'; +import { NodeAsPortWrapper } from '@workflowbuilder/ui'; import type { NodeProps } from '@xyflow/react'; import { memo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/start-node-container.tsx b/packages/sdk/src/features/diagram/nodes/start-node-container.tsx index 33348fe35..890fe5bb2 100644 --- a/packages/sdk/src/features/diagram/nodes/start-node-container.tsx +++ b/packages/sdk/src/features/diagram/nodes/start-node-container.tsx @@ -1,4 +1,4 @@ -import { NodeAsPortWrapper } from '@synergycodes/overflow-ui'; +import { NodeAsPortWrapper } from '@workflowbuilder/ui'; import type { NodeProps } from '@xyflow/react'; import { memo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/start-node-template/start-node-template.tsx b/packages/sdk/src/features/diagram/nodes/start-node-template/start-node-template.tsx index 21f631c26..6642d78b5 100644 --- a/packages/sdk/src/features/diagram/nodes/start-node-template/start-node-template.tsx +++ b/packages/sdk/src/features/diagram/nodes/start-node-template/start-node-template.tsx @@ -1,4 +1,4 @@ -import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@synergycodes/overflow-ui'; +import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@workflowbuilder/ui'; import { Handle } from '@xyflow/react'; import { memo, useMemo } from 'react'; diff --git a/packages/sdk/src/features/diagram/nodes/workflow-node-template/workflow-node-template.tsx b/packages/sdk/src/features/diagram/nodes/workflow-node-template/workflow-node-template.tsx index c7cbcae93..3f1a2005c 100644 --- a/packages/sdk/src/features/diagram/nodes/workflow-node-template/workflow-node-template.tsx +++ b/packages/sdk/src/features/diagram/nodes/workflow-node-template/workflow-node-template.tsx @@ -1,4 +1,4 @@ -import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@synergycodes/overflow-ui'; +import { Collapsible, NodeDescription, NodeIcon, NodePanel, Status } from '@workflowbuilder/ui'; import { Handle } from '@xyflow/react'; import { memo, useMemo } from 'react'; diff --git a/packages/sdk/src/features/i18n/components/language-selector/language-selector.tsx b/packages/sdk/src/features/i18n/components/language-selector/language-selector.tsx index 498b1279f..7d0b53d4e 100644 --- a/packages/sdk/src/features/i18n/components/language-selector/language-selector.tsx +++ b/packages/sdk/src/features/i18n/components/language-selector/language-selector.tsx @@ -1,5 +1,5 @@ import { CaretDown } from '@phosphor-icons/react'; -import { Menu, type MenuItemProps, NavButton } from '@synergycodes/overflow-ui'; +import { Menu, type MenuItemProps, NavButton } from '@workflowbuilder/ui'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/integration/components/import-export/export-modal/export-modal.tsx b/packages/sdk/src/features/integration/components/import-export/export-modal/export-modal.tsx index 4dfc6904d..db77b0809 100644 --- a/packages/sdk/src/features/integration/components/import-export/export-modal/export-modal.tsx +++ b/packages/sdk/src/features/integration/components/import-export/export-modal/export-modal.tsx @@ -1,4 +1,4 @@ -import { Button, SnackbarType } from '@synergycodes/overflow-ui'; +import { Button, SnackbarType } from '@workflowbuilder/ui'; import { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/integration/components/import-export/import-modal/import-modal.tsx b/packages/sdk/src/features/integration/components/import-export/import-modal/import-modal.tsx index 06532b073..6f2710374 100644 --- a/packages/sdk/src/features/integration/components/import-export/import-modal/import-modal.tsx +++ b/packages/sdk/src/features/integration/components/import-export/import-modal/import-modal.tsx @@ -1,4 +1,4 @@ -import { Button, SnackbarType } from '@synergycodes/overflow-ui'; +import { Button, SnackbarType } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/integration/components/save-button/save-button.tsx b/packages/sdk/src/features/integration/components/save-button/save-button.tsx index bcfe4750e..01a9d3954 100644 --- a/packages/sdk/src/features/integration/components/save-button/save-button.tsx +++ b/packages/sdk/src/features/integration/components/save-button/save-button.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import { useContext } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/integration/stores/use-integration-store.spec.ts b/packages/sdk/src/features/integration/stores/use-integration-store.spec.ts index 32570d5c1..b5c91b667 100644 --- a/packages/sdk/src/features/integration/stores/use-integration-store.spec.ts +++ b/packages/sdk/src/features/integration/stores/use-integration-store.spec.ts @@ -5,7 +5,7 @@ import { showSnackbar } from '../../../utils/show-snackbar'; import { openTemplateSelectorModal } from '../../modals/template-selector/open-template-selector-modal'; import { getStoreSavingStatus, loadData, setStoreSavingStatus, useIntegrationStore } from './use-integration-store'; -vi.mock('@synergycodes/overflow-ui', () => ({ +vi.mock('@workflowbuilder/ui', () => ({ SnackbarType: { SUCCESS: 'SUCCESS', ERROR: 'ERROR', INFO: 'INFO', WARNING: 'WARNING' }, })); diff --git a/packages/sdk/src/features/integration/stores/use-integration-store.ts b/packages/sdk/src/features/integration/stores/use-integration-store.ts index 0f26c1ba0..760b79810 100644 --- a/packages/sdk/src/features/integration/stores/use-integration-store.ts +++ b/packages/sdk/src/features/integration/stores/use-integration-store.ts @@ -1,4 +1,4 @@ -import { SnackbarType } from '@synergycodes/overflow-ui'; +import { SnackbarType } from '@workflowbuilder/ui'; import { create } from 'zustand'; import { devtools } from 'zustand/middleware'; diff --git a/packages/sdk/src/features/integration/utils/show-snackbar.ts b/packages/sdk/src/features/integration/utils/show-snackbar.ts index 061637b6f..6f0dc7d43 100644 --- a/packages/sdk/src/features/integration/utils/show-snackbar.ts +++ b/packages/sdk/src/features/integration/utils/show-snackbar.ts @@ -1,4 +1,4 @@ -import { SnackbarType } from '@synergycodes/overflow-ui'; +import { SnackbarType } from '@workflowbuilder/ui'; import type { OnSaveParams } from '../../../types/integration'; import { showSnackbar } from '../../../utils/show-snackbar'; diff --git a/packages/sdk/src/features/json-form/controls/ai-tools-control/ai-tools-control.tsx b/packages/sdk/src/features/json-form/controls/ai-tools-control/ai-tools-control.tsx index a76fb8cb8..cc11d8182 100644 --- a/packages/sdk/src/features/json-form/controls/ai-tools-control/ai-tools-control.tsx +++ b/packages/sdk/src/features/json-form/controls/ai-tools-control/ai-tools-control.tsx @@ -1,5 +1,5 @@ import { PlusCircle, Trash } from '@phosphor-icons/react'; -import { Button, NavButton } from '@synergycodes/overflow-ui'; +import { Button, NavButton } from '@workflowbuilder/ui'; import { type ComponentProps, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-footer/add-ai-tool-footer.tsx b/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-footer/add-ai-tool-footer.tsx index e6ef31297..a226f6b66 100644 --- a/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-footer/add-ai-tool-footer.tsx +++ b/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-footer/add-ai-tool-footer.tsx @@ -1,4 +1,4 @@ -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import styles from './add-ai-tool-footer.module.css'; diff --git a/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-form-content/add-ai-tool-form-content.tsx b/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-form-content/add-ai-tool-form-content.tsx index cc891de21..bea39d87b 100644 --- a/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-form-content/add-ai-tool-form-content.tsx +++ b/packages/sdk/src/features/json-form/controls/ai-tools-control/components/add-ai-tool-form-content/add-ai-tool-form-content.tsx @@ -1,4 +1,4 @@ -import { Input, Select, TextArea } from '@synergycodes/overflow-ui'; +import { Input, Select, TextArea } from '@workflowbuilder/ui'; import { useCallback, useState } from 'react'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/json-form/controls/date-picker-control/date-picker-control.tsx b/packages/sdk/src/features/json-form/controls/date-picker-control/date-picker-control.tsx index 7dc1e828e..5ec0260da 100644 --- a/packages/sdk/src/features/json-form/controls/date-picker-control/date-picker-control.tsx +++ b/packages/sdk/src/features/json-form/controls/date-picker-control/date-picker-control.tsx @@ -1,4 +1,4 @@ -import { DatePicker, type DatePickerProps } from '@synergycodes/overflow-ui'; +import { DatePicker, type DatePickerProps } from '@workflowbuilder/ui'; import type { DatePickerControlProps } from '../../types/controls'; import { createControlRenderer } from '../../utils/rendering'; diff --git a/packages/sdk/src/features/json-form/controls/decision-branches-control/branch-card/branch-card.tsx b/packages/sdk/src/features/json-form/controls/decision-branches-control/branch-card/branch-card.tsx index 8bc370271..6cc20dd6f 100644 --- a/packages/sdk/src/features/json-form/controls/decision-branches-control/branch-card/branch-card.tsx +++ b/packages/sdk/src/features/json-form/controls/decision-branches-control/branch-card/branch-card.tsx @@ -1,5 +1,5 @@ import { SlidersHorizontal, Trash } from '@phosphor-icons/react'; -import { Input, NavButton } from '@synergycodes/overflow-ui'; +import { Input, NavButton } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useCallback, useRef } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-condition-modal-footer/condition-modal-footer.tsx b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-condition-modal-footer/condition-modal-footer.tsx index 8dce54f70..8d867449f 100644 --- a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-condition-modal-footer/condition-modal-footer.tsx +++ b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-condition-modal-footer/condition-modal-footer.tsx @@ -1,4 +1,4 @@ -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; type Props = { diff --git a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-control.tsx b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-control.tsx index 7d86433e5..ef6327bab 100644 --- a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-control.tsx +++ b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-control.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useCallback, useRef } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form-field/conditions-form-field.tsx b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form-field/conditions-form-field.tsx index 9b417761a..b79c8153e 100644 --- a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form-field/conditions-form-field.tsx +++ b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form-field/conditions-form-field.tsx @@ -1,4 +1,4 @@ -import { NavButton, SegmentPicker, Select } from '@synergycodes/overflow-ui'; +import { NavButton, SegmentPicker, Select } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form/conditions-form.tsx b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form/conditions-form.tsx index 71c3dc76d..ccce534ff 100644 --- a/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form/conditions-form.tsx +++ b/packages/sdk/src/features/json-form/controls/dynamic-conditions-control/dynamic-conditions-form/conditions-form.tsx @@ -1,4 +1,4 @@ -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import { type ForwardedRef, forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/json-form/controls/select-control/select-control.tsx b/packages/sdk/src/features/json-form/controls/select-control/select-control.tsx index b3ca12ed3..cdf1df0b0 100644 --- a/packages/sdk/src/features/json-form/controls/select-control/select-control.tsx +++ b/packages/sdk/src/features/json-form/controls/select-control/select-control.tsx @@ -1,4 +1,4 @@ -import { Select, type SelectBaseProps } from '@synergycodes/overflow-ui'; +import { Select, type SelectBaseProps } from '@workflowbuilder/ui'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/json-form/controls/switch-control/switch-control.tsx b/packages/sdk/src/features/json-form/controls/switch-control/switch-control.tsx index cc31f7c36..fd24f528b 100644 --- a/packages/sdk/src/features/json-form/controls/switch-control/switch-control.tsx +++ b/packages/sdk/src/features/json-form/controls/switch-control/switch-control.tsx @@ -1,4 +1,4 @@ -import { Switch } from '@synergycodes/overflow-ui'; +import { Switch } from '@workflowbuilder/ui'; import type { SwitchControlProps } from '../../types/controls'; import { createControlRenderer } from '../../utils/rendering'; @@ -8,7 +8,7 @@ function SwitchControl(props: SwitchControlProps) { const { data, handleChange, path, enabled, uischema } = props; const isDisabled = !enabled || uischema.disabled === true; - function onChange(checked: boolean, _event: React.ChangeEvent) { + function onChange(checked: boolean) { handleChange(path, checked); } diff --git a/packages/sdk/src/features/json-form/controls/text-area-control/text-area-control.tsx b/packages/sdk/src/features/json-form/controls/text-area-control/text-area-control.tsx index 3af41883f..4b214092f 100644 --- a/packages/sdk/src/features/json-form/controls/text-area-control/text-area-control.tsx +++ b/packages/sdk/src/features/json-form/controls/text-area-control/text-area-control.tsx @@ -1,4 +1,4 @@ -import { TextArea } from '@synergycodes/overflow-ui'; +import { TextArea } from '@workflowbuilder/ui'; import { useEffect, useState } from 'react'; import type { TextAreaControlProps } from '../../types/controls'; diff --git a/packages/sdk/src/features/json-form/controls/text-control/text-control.tsx b/packages/sdk/src/features/json-form/controls/text-control/text-control.tsx index 15fe5a00f..5c2c4e9e4 100644 --- a/packages/sdk/src/features/json-form/controls/text-control/text-control.tsx +++ b/packages/sdk/src/features/json-form/controls/text-control/text-control.tsx @@ -1,4 +1,4 @@ -import { Input } from '@synergycodes/overflow-ui'; +import { Input } from '@workflowbuilder/ui'; import { useEffect, useState } from 'react'; import type { TextControlProps } from '../../types/controls'; diff --git a/packages/sdk/src/features/json-form/layouts/accordion-layout/accordion-layout.tsx b/packages/sdk/src/features/json-form/layouts/accordion-layout/accordion-layout.tsx index b7a16e955..5e0df9284 100644 --- a/packages/sdk/src/features/json-form/layouts/accordion-layout/accordion-layout.tsx +++ b/packages/sdk/src/features/json-form/layouts/accordion-layout/accordion-layout.tsx @@ -1,4 +1,4 @@ -import { Accordion } from '@synergycodes/overflow-ui'; +import { Accordion } from '@workflowbuilder/ui'; import styles from './accordion-layout.module.css'; diff --git a/packages/sdk/src/features/modals/delete-confirmation/delete-confirmation.tsx b/packages/sdk/src/features/modals/delete-confirmation/delete-confirmation.tsx index d68156672..3c07b9fcd 100644 --- a/packages/sdk/src/features/modals/delete-confirmation/delete-confirmation.tsx +++ b/packages/sdk/src/features/modals/delete-confirmation/delete-confirmation.tsx @@ -1,4 +1,4 @@ -import { Button, Checkbox } from '@synergycodes/overflow-ui'; +import { Button, Checkbox } from '@workflowbuilder/ui'; import type { Edge, Node } from '@xyflow/react'; import { useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/modals/providers/modal-provider.tsx b/packages/sdk/src/features/modals/providers/modal-provider.tsx index dbad3438c..a53f5aa61 100644 --- a/packages/sdk/src/features/modals/providers/modal-provider.tsx +++ b/packages/sdk/src/features/modals/providers/modal-provider.tsx @@ -1,4 +1,4 @@ -import { Modal } from '@synergycodes/overflow-ui'; +import { Modal } from '@workflowbuilder/ui'; import { createPortal } from 'react-dom'; import { closeModal, useModalStore } from '../stores/use-modal-store'; diff --git a/packages/sdk/src/features/modals/stores/use-modal-store.ts b/packages/sdk/src/features/modals/stores/use-modal-store.ts index 40fd566b6..91000304a 100644 --- a/packages/sdk/src/features/modals/stores/use-modal-store.ts +++ b/packages/sdk/src/features/modals/stores/use-modal-store.ts @@ -1,4 +1,4 @@ -import type { FooterVariant, Modal } from '@synergycodes/overflow-ui'; +import type { FooterVariant, Modal } from '@workflowbuilder/ui'; import type { ComponentProps } from 'react'; import { create } from 'zustand'; import { devtools } from 'zustand/middleware'; diff --git a/packages/sdk/src/features/palette/components/footer/palette-footer.tsx b/packages/sdk/src/features/palette/components/footer/palette-footer.tsx index f34604328..872236283 100644 --- a/packages/sdk/src/features/palette/components/footer/palette-footer.tsx +++ b/packages/sdk/src/features/palette/components/footer/palette-footer.tsx @@ -1,4 +1,4 @@ -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; import styles from './palette-footer.module.css'; diff --git a/packages/sdk/src/features/palette/components/header/palette-header.tsx b/packages/sdk/src/features/palette/components/header/palette-header.tsx index 6f9d9299f..a4ad59477 100644 --- a/packages/sdk/src/features/palette/components/header/palette-header.tsx +++ b/packages/sdk/src/features/palette/components/header/palette-header.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/palette/components/items/palette-items.tsx b/packages/sdk/src/features/palette/components/items/palette-items.tsx index ad9cb32f9..2591eaabf 100644 --- a/packages/sdk/src/features/palette/components/items/palette-items.tsx +++ b/packages/sdk/src/features/palette/components/items/palette-items.tsx @@ -1,4 +1,4 @@ -import { Accordion } from '@synergycodes/overflow-ui'; +import { Accordion } from '@workflowbuilder/ui'; import type { DragEvent } from 'react'; import styles from './palette-items.module.css'; diff --git a/packages/sdk/src/features/properties-bar/components/edge-properties/edge-properties.tsx b/packages/sdk/src/features/properties-bar/components/edge-properties/edge-properties.tsx index e3edad031..ed6f59404 100644 --- a/packages/sdk/src/features/properties-bar/components/edge-properties/edge-properties.tsx +++ b/packages/sdk/src/features/properties-bar/components/edge-properties/edge-properties.tsx @@ -1,4 +1,4 @@ -import { Input } from '@synergycodes/overflow-ui'; +import { Input } from '@workflowbuilder/ui'; import { useEffect, useState } from 'react'; import styles from './edge-properties.module.css'; diff --git a/packages/sdk/src/features/properties-bar/components/header/properties-bar-header.tsx b/packages/sdk/src/features/properties-bar/components/header/properties-bar-header.tsx index dd1f4df6f..059c7a0e9 100644 --- a/packages/sdk/src/features/properties-bar/components/header/properties-bar-header.tsx +++ b/packages/sdk/src/features/properties-bar/components/header/properties-bar-header.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; import { Icon } from '@workflow-builder/icons'; diff --git a/packages/sdk/src/features/properties-bar/components/properties-bar/properties-bar.tsx b/packages/sdk/src/features/properties-bar/components/properties-bar/properties-bar.tsx index 1c23f7141..3099440c0 100644 --- a/packages/sdk/src/features/properties-bar/components/properties-bar/properties-bar.tsx +++ b/packages/sdk/src/features/properties-bar/components/properties-bar/properties-bar.tsx @@ -1,4 +1,4 @@ -import { Button, SegmentPicker } from '@synergycodes/overflow-ui'; +import { Button, SegmentPicker } from '@workflowbuilder/ui'; import { useState } from 'react'; import styles from './properties-bar.module.css'; diff --git a/packages/sdk/src/features/snackbar/snackbar-container.tsx b/packages/sdk/src/features/snackbar/snackbar-container.tsx index 2d8484b04..a54f4320b 100644 --- a/packages/sdk/src/features/snackbar/snackbar-container.tsx +++ b/packages/sdk/src/features/snackbar/snackbar-container.tsx @@ -1,4 +1,4 @@ -import { Snackbar } from '@synergycodes/overflow-ui'; +import { Snackbar } from '@workflowbuilder/ui'; import { SnackbarProvider } from 'notistack'; export function SnackbarContainer() { diff --git a/packages/sdk/src/features/syntax-highlighter/components/syntax-highlighter-lazy.tsx b/packages/sdk/src/features/syntax-highlighter/components/syntax-highlighter-lazy.tsx index 740a139d0..64e5ae191 100644 --- a/packages/sdk/src/features/syntax-highlighter/components/syntax-highlighter-lazy.tsx +++ b/packages/sdk/src/features/syntax-highlighter/components/syntax-highlighter-lazy.tsx @@ -1,4 +1,4 @@ -import { TextArea } from '@synergycodes/overflow-ui'; +import { TextArea } from '@workflowbuilder/ui'; import React, { Suspense } from 'react'; import type { SyntaxHighlighterProps } from './syntax-highlighter'; diff --git a/packages/sdk/src/features/variables/components/dynamic-typed-input/constants.ts b/packages/sdk/src/features/variables/components/dynamic-typed-input/constants.ts index ab8ec806b..4140f434f 100644 --- a/packages/sdk/src/features/variables/components/dynamic-typed-input/constants.ts +++ b/packages/sdk/src/features/variables/components/dynamic-typed-input/constants.ts @@ -1,4 +1,4 @@ -import type { SelectItem } from '@synergycodes/overflow-ui'; +import type { SelectItem } from '@workflowbuilder/ui'; import type { VariableTypePrimitive } from '../../../../node/node-output-schema'; diff --git a/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.tsx b/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.tsx index 0f4ea50d6..36fd873ff 100644 --- a/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.tsx +++ b/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.tsx @@ -1,4 +1,4 @@ -import { DatePicker, Input, Select } from '@synergycodes/overflow-ui'; +import { DatePicker, Input, Select } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -129,7 +129,7 @@ export function DynamicTypedInput({ onChange(date.toISOString()); }} - valueFormat={'DD-MM-YYYY'} + valueFormat={'dd-MM-yyyy'} placeholder={placeholder || 'DD-MM-YYYY'} error={isError} disabled={disabled} @@ -153,7 +153,7 @@ export function DynamicTypedInput({ onChange(date.toISOString()); setTime(getTimeFromDateIfValid(date.toISOString())); }} - valueFormat="DD-MM-YYYY" + valueFormat="dd-MM-yyyy" placeholder="DD-MM-YYYY" // Uncomment to see times in value // valueFormat="DD-MM-YYYY HH:mm" diff --git a/packages/sdk/src/features/variables/components/dynamic-typed-variable-or-input/dynamic-typed-variable-or-input.tsx b/packages/sdk/src/features/variables/components/dynamic-typed-variable-or-input/dynamic-typed-variable-or-input.tsx index f453b6627..d079c1ccb 100644 --- a/packages/sdk/src/features/variables/components/dynamic-typed-variable-or-input/dynamic-typed-variable-or-input.tsx +++ b/packages/sdk/src/features/variables/components/dynamic-typed-variable-or-input/dynamic-typed-variable-or-input.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import { useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/variables/components/variable-text/variable-text.tsx b/packages/sdk/src/features/variables/components/variable-text/variable-text.tsx index 2374ca35a..8acc7b417 100644 --- a/packages/sdk/src/features/variables/components/variable-text/variable-text.tsx +++ b/packages/sdk/src/features/variables/components/variable-text/variable-text.tsx @@ -1,4 +1,4 @@ -import { NavButton, SnackbarType } from '@synergycodes/overflow-ui'; +import { NavButton, SnackbarType } from '@workflowbuilder/ui'; import { type ReactElement, type ReactNode, cloneElement, useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { Mention, type MentionDataItem, MentionsInput } from 'react-mentions-ts'; diff --git a/packages/sdk/src/features/variables/modals/tab-global-variables/pane-list/pane-list.tsx b/packages/sdk/src/features/variables/modals/tab-global-variables/pane-list/pane-list.tsx index 1327f7c8e..ab691e0c6 100644 --- a/packages/sdk/src/features/variables/modals/tab-global-variables/pane-list/pane-list.tsx +++ b/packages/sdk/src/features/variables/modals/tab-global-variables/pane-list/pane-list.tsx @@ -1,4 +1,4 @@ -import { Button } from '@synergycodes/overflow-ui'; +import { Button } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/variables/modals/tab-global-variables/variable-form/variable-form.tsx b/packages/sdk/src/features/variables/modals/tab-global-variables/variable-form/variable-form.tsx index 6947adc5a..98a75d12d 100644 --- a/packages/sdk/src/features/variables/modals/tab-global-variables/variable-form/variable-form.tsx +++ b/packages/sdk/src/features/variables/modals/tab-global-variables/variable-form/variable-form.tsx @@ -1,4 +1,4 @@ -import { Input, Select, type SelectItem, TextArea } from '@synergycodes/overflow-ui'; +import { Input, Select, type SelectItem, TextArea } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/variables/modals/tab-global-variables/variable-preview/variable-preview.tsx b/packages/sdk/src/features/variables/modals/tab-global-variables/variable-preview/variable-preview.tsx index 607d1efac..a872a1f5c 100644 --- a/packages/sdk/src/features/variables/modals/tab-global-variables/variable-preview/variable-preview.tsx +++ b/packages/sdk/src/features/variables/modals/tab-global-variables/variable-preview/variable-preview.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import clsx from 'clsx'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/features/variables/modals/tab/tab-header.tsx b/packages/sdk/src/features/variables/modals/tab/tab-header.tsx index 34b9f82ba..2d417d231 100644 --- a/packages/sdk/src/features/variables/modals/tab/tab-header.tsx +++ b/packages/sdk/src/features/variables/modals/tab/tab-header.tsx @@ -1,4 +1,4 @@ -import { NavButton } from '@synergycodes/overflow-ui'; +import { NavButton } from '@workflowbuilder/ui'; import clsx from 'clsx'; import type { PropsWithChildren } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/sdk/src/hooks/use-workflow-builder-actions.spec.tsx b/packages/sdk/src/hooks/use-workflow-builder-actions.spec.tsx index aebe968c4..69e4028a1 100644 --- a/packages/sdk/src/hooks/use-workflow-builder-actions.spec.tsx +++ b/packages/sdk/src/hooks/use-workflow-builder-actions.spec.tsx @@ -23,7 +23,7 @@ vi.mock('../features/variables/modals/modal-settings', () => ({ })); // Short-circuit the use-integration-store chain that drags in -// @synergycodes/overflow-ui (CSS side-effect that vitest's jsdom env can't load). +// @workflowbuilder/ui (CSS side-effect that vitest's jsdom env can't load). vi.mock('@/features/integration/stores/use-integration-store', () => ({ getStoreSavingStatus: vi.fn(), setStoreSavingStatus: vi.fn(), diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index 505172675..76910d64b 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -22,11 +22,11 @@ @import '@fontsource/poppins/latin-ext-700.css'; /* 3. Design tokens */ -@import '@synergycodes/overflow-ui/tokens.css'; +@import '@workflowbuilder/ui/tokens.css'; /* 4. External component CSS */ @import '@xyflow/react/dist/style.css'; -@import 'overflow-ui-css'; +@import '@workflowbuilder/ui/index.css'; /* 5. Sub-layer order inside `ui` — must come AFTER @imports (has a body, so the spec classifies it as a statement that closes the @import prelude). */ diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index f1a3819c9..e8a970338 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,6 +1,6 @@ // Library entry point for @workflowbuilder/sdk. // Built by packages/sdk/vite.config.mts into dist/ as a distributable npm package. -// Bundles all required CSS (app + xyflow + overflow-ui) into style.css. +// Bundles all required CSS (app + xyflow + @workflowbuilder/ui) into style.css. import './index.css'; import './bootstrap'; diff --git a/packages/sdk/src/types/controls.ts b/packages/sdk/src/types/controls.ts index 6259b277c..ac609a739 100644 --- a/packages/sdk/src/types/controls.ts +++ b/packages/sdk/src/types/controls.ts @@ -1,5 +1,5 @@ import type { ControlElement, ControlProps as JsonFormsControlProps } from '@jsonforms/core'; -import type { InputProps, TextAreaProps } from '@synergycodes/overflow-ui'; +import type { InputProps, TextAreaProps } from '@workflowbuilder/ui'; import type { ComparisonOperator, LogicalOperator } from '../features/variables/constants'; import type { FieldSchema } from '../node/node-schema'; diff --git a/packages/sdk/src/types/labels.ts b/packages/sdk/src/types/labels.ts index c8b3741b6..0ab3d22ae 100644 --- a/packages/sdk/src/types/labels.ts +++ b/packages/sdk/src/types/labels.ts @@ -1,5 +1,5 @@ import type { LabelElement as BaseLabelElement } from '@jsonforms/core'; -import type { ItemSize } from '@synergycodes/overflow-ui'; +import type { ItemSize } from '@workflowbuilder/ui'; import type { LabelVariant } from '../components/form/label/label'; import type { Override } from './utils'; diff --git a/packages/sdk/src/utils/show-snackbar.tsx b/packages/sdk/src/utils/show-snackbar.tsx index b168293e5..479530cc4 100644 --- a/packages/sdk/src/utils/show-snackbar.tsx +++ b/packages/sdk/src/utils/show-snackbar.tsx @@ -1,4 +1,4 @@ -import { Snackbar, type SnackbarProps } from '@synergycodes/overflow-ui'; +import { Snackbar, type SnackbarProps } from '@workflowbuilder/ui'; import i18n from 'i18next'; import { closeSnackbar, enqueueSnackbar } from 'notistack'; diff --git a/packages/sdk/src/workflow-builder-root/workflow-builder-root.spec.tsx b/packages/sdk/src/workflow-builder-root/workflow-builder-root.spec.tsx index 20004832a..51598a716 100644 --- a/packages/sdk/src/workflow-builder-root/workflow-builder-root.spec.tsx +++ b/packages/sdk/src/workflow-builder-root/workflow-builder-root.spec.tsx @@ -14,7 +14,7 @@ // Heavy descendants (`RuntimeIntegrationWrapper`, `RootShell`, // `ReactFlowProvider`) are stubbed: the contract under test is the Root's own // lifecycle wiring, not what the children do. Without stubs the test -// transitively pulls `@synergycodes/overflow-ui`'s CSS side-effect import, +// transitively pulls `@workflowbuilder/ui`'s CSS side-effect import, // which vitest's node-side transformer can't process. import { act, render } from '@testing-library/react'; import type { ReactNode } from 'react'; diff --git a/packages/sdk/vite.config.mts b/packages/sdk/vite.config.mts index ce300d29f..1952c885a 100644 --- a/packages/sdk/vite.config.mts +++ b/packages/sdk/vite.config.mts @@ -68,8 +68,6 @@ export default defineConfig(({ command }) => ({ alias: { '@/assets': path.resolve(import.meta.dirname, 'src/assets'), '@': path.resolve(import.meta.dirname, 'src'), - // overflow-ui doesn't export ./dist/index.css in its package.json exports field - 'overflow-ui-css': path.resolve(import.meta.dirname, 'node_modules/@synergycodes/overflow-ui/dist/index.css'), }, }, // Inline `process.env.NODE_ENV` at SDK build time. The SDK bundles deps diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7765e7588..67edce256 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,48 +101,39 @@ importers: apps/ai-studio: dependencies: + '@base-ui/react': + specifier: 'catalog:' + version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@jsonforms/core': + specifier: ^3.4.1 + version: 3.5.1 + '@jsonforms/react': + specifier: ^3.4.1 + version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@synergycodes/overflow-ui': - specifier: 1.0.0-beta.27 - version: 1.0.0-beta.27(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@workflow-builder/types': specifier: workspace:* version: link:../../packages/types + '@workflowbuilder/ui': + specifier: workspace:* + version: link:../../packages/ui '@xyflow/react': specifier: 'catalog:' version: 12.10.0(@types/react@19.1.8)(immer@10.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) clsx: specifier: ^2.1.1 version: 2.1.1 - html-to-image: - specifier: 1.11.11 - version: 1.11.11 immer: specifier: ^10.1.1 version: 10.1.1 - mermaid: - specifier: ^11.15.0 - version: 11.16.0 react: specifier: ^19.1.0 version: 19.1.0 react-dom: specifier: 'catalog:' version: 19.1.0(react@19.1.0) - react-i18next: - specifier: ^15.4.1 - version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-markdown: - specifier: ^10.1.0 - version: 10.1.0(@types/react@19.1.8)(react@19.1.0) - recharts: - specifier: ^3.9.0 - version: 3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@19.0.0)(react@19.1.0)(redux@5.0.1) - remark-gfm: - specifier: ^4.0.1 - version: 4.0.1 zustand: specifier: ^5.0.1 version: 5.0.3(@types/react@19.1.8)(immer@10.1.1)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) @@ -161,7 +152,7 @@ importers: version: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) vite-plugin-svgr: specifier: ^4.3.0 - version: 4.3.0(rollup@4.57.1)(typescript@5.9.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.3.0(rollup@4.57.1)(typescript@5.6.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) vitest: specifier: ^3.0.4 version: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.0.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) @@ -171,9 +162,6 @@ importers: '@hono/node-server': specifier: ^1.14.0 version: 1.19.14(hono@4.12.14) - '@openrouter/ai-sdk-provider': - specifier: ^2.8.0 - version: 2.8.0(ai@6.0.168(zod@4.3.6))(zod@4.3.6) '@temporalio/client': specifier: ^1.11.0 version: 1.16.0 @@ -183,9 +171,6 @@ importers: '@workflow-builder/types': specifier: workspace:* version: link:../../packages/types - ai: - specifier: ^6.0.168 - version: 6.0.168(zod@4.3.6) dotenv: specifier: ^17.4.2 version: 17.4.2 @@ -198,9 +183,6 @@ importers: postgres: specifier: ^3.4.5 version: 3.4.9 - tsx: - specifier: ^4.19.3 - version: 4.21.0 zod: specifier: ^4.3.6 version: 4.3.6 @@ -217,15 +199,24 @@ importers: apps/demo: dependencies: + '@base-ui/react': + specifier: 'catalog:' + version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@jsonforms/core': + specifier: ^3.4.1 + version: 3.5.1 + '@jsonforms/react': + specifier: ^3.4.1 + version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@microsoft/clarity': specifier: ^1.0.0 version: 1.0.2 '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@synergycodes/overflow-ui': - specifier: 1.0.0-beta.27 - version: 1.0.0-beta.27(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@workflowbuilder/ui': + specifier: workspace:* + version: link:../../packages/ui '@xyflow/react': specifier: 'catalog:' version: 12.10.0(@types/react@19.1.8)(immer@10.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -244,6 +235,9 @@ importers: i18next: specifier: ^24.2.3 version: 24.2.3(typescript@5.9.3) + i18next-browser-languagedetector: + specifier: ^8.0.5 + version: 8.0.5 immer: specifier: ^10.1.1 version: 10.1.1 @@ -384,9 +378,6 @@ importers: postgres: specifier: ^3.4.5 version: 3.4.9 - tsx: - specifier: ^4.19.3 - version: 4.21.0 devDependencies: '@types/node': specifier: ^22.12.0 @@ -444,24 +435,21 @@ importers: packages/sdk: dependencies: + '@base-ui/react': + specifier: 'catalog:' + version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@cfworker/json-schema': specifier: 4.1.1 version: 4.1.1 '@fontsource/poppins': specifier: ^5.2.7 version: 5.2.7 - '@jsonforms/core': - specifier: ^3.4.0 - version: 3.5.1 - '@jsonforms/react': - specifier: ^3.4.0 - version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@synergycodes/overflow-ui': - specifier: 1.0.0-beta.27 - version: 1.0.0-beta.27(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@workflowbuilder/ui': + specifier: workspace:* + version: link:../ui '@xyflow/react': specifier: ^12.0.0 version: 12.10.0(@types/react@19.1.8)(immer@10.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -477,15 +465,6 @@ importers: date-fns: specifier: ^4.1.0 version: 4.1.0 - i18next: - specifier: ^24.0.0 - version: 24.2.3(typescript@5.9.3) - i18next-browser-languagedetector: - specifier: ^8.0.0 - version: 8.0.5 - immer: - specifier: ^10.0.0 - version: 10.1.1 notistack: specifier: ^3.0.1 version: 3.0.2(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -498,9 +477,6 @@ importers: react-dom: specifier: ^18.0.0 || ^19.0.0 version: 19.1.0(react@19.1.0) - react-i18next: - specifier: ^15.0.0 - version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-mentions-ts: specifier: ^5.4.7 version: 5.4.7(class-variance-authority@0.7.1)(clsx@2.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwind-merge@3.5.0) @@ -508,6 +484,12 @@ importers: specifier: ^2.19.2 version: 2.20.0 devDependencies: + '@jsonforms/core': + specifier: ^3.4.1 + version: 3.5.1 + '@jsonforms/react': + specifier: ^3.4.1 + version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@testing-library/react': specifier: ^16.3.0 version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.1.1(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -532,6 +514,18 @@ importers: eslint-plugin-tsdoc: specifier: ^0.4.0 version: 0.4.0 + i18next: + specifier: ^24.2.3 + version: 24.2.3(typescript@5.9.3) + i18next-browser-languagedetector: + specifier: ^8.0.5 + version: 8.0.5 + immer: + specifier: ^10.1.1 + version: 10.1.1 + react-i18next: + specifier: ^15.4.1 + version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) vite: specifier: ^6.0.7 version: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) @@ -915,9 +909,6 @@ packages: '@types/react': optional: true - '@braintree/sanitize-url@7.1.2': - resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} - '@bundled-es-modules/deepmerge@4.3.2': resolution: {integrity: sha512-q8doe7ndrY2IolUOFIn0A0++JBX38pMhN7kFhTF4cnjIcILf6X6H2yWczInyv8ZFdR0lrE8088X8XS5efxXz8A==} @@ -992,9 +983,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@chevrotain/types@11.1.2': - resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} - '@commitlint/cli@21.0.1': resolution: {integrity: sha512-8vq10krmbJwBkvzXKhbs4o4JQEVscd3pqOlWuDUaDBwbeL694/P33UC29tZQFTAgPU9fVJ2+f2m3zw16yKWxHg==} engines: {node: '>=22.12.0'} @@ -1147,60 +1135,6 @@ packages: '@emnapi/wasi-threads@1.0.2': resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} - '@emotion/babel-plugin@11.13.5': - resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} - - '@emotion/cache@11.14.0': - resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} - - '@emotion/hash@0.9.2': - resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} - - '@emotion/is-prop-valid@1.3.1': - resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} - - '@emotion/memoize@0.9.0': - resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} - - '@emotion/react@11.14.0': - resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} - peerDependencies: - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - - '@emotion/serialize@1.3.3': - resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} - - '@emotion/sheet@1.4.0': - resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} - - '@emotion/styled@11.14.1': - resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} - peerDependencies: - '@emotion/react': ^11.0.0-rc.0 - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - - '@emotion/unitless@0.10.0': - resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} - - '@emotion/use-insertion-effect-with-fallbacks@1.2.0': - resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} - peerDependencies: - react: '>=16.8.0' - - '@emotion/utils@1.4.2': - resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} - - '@emotion/weak-memoize@0.4.0': - resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} deprecated: 'Merged into tsx: https://tsx.is' @@ -1713,42 +1647,21 @@ packages: '@expressive-code/plugin-text-markers@0.41.7': resolution: {integrity: sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==} - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} - '@floating-ui/core@1.7.5': resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} - '@floating-ui/dom@1.7.6': resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} - '@floating-ui/react-dom@2.1.2': - resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - '@floating-ui/react-dom@2.1.8': resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.28': - resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - '@fontsource/poppins@5.2.7': resolution: {integrity: sha512-6uQyPmseo4FgI97WIhA4yWRlNaoLk4vSDK/PyRwdqqZb5zAEuc+Kunt8JTMcsHYUEGYBtN15SNkMajMdqUSUmg==} @@ -1802,9 +1715,6 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - '@iconify/utils@3.1.4': - resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==} - '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -2115,27 +2025,6 @@ packages: peerDependencies: tslib: '2' - '@mantine/core@7.17.8': - resolution: {integrity: sha512-42sfdLZSCpsCYmLCjSuntuPcDg3PLbakSmmYfz5Auea8gZYLr+8SS5k647doVu0BRAecqYOytkX2QC5/u/8VHw==} - peerDependencies: - '@mantine/hooks': 7.17.8 - react: ^18.x || ^19.x - react-dom: ^18.x || ^19.x - - '@mantine/dates@7.17.8': - resolution: {integrity: sha512-KYog/YL83PnsMef7EZagpOFq9I2gfnK0eYSzC8YvV9Mb6t/x9InqRssGWVb0GIr+TNILpEkhKoGaSKZNy10Q1g==} - peerDependencies: - '@mantine/core': 7.17.8 - '@mantine/hooks': 7.17.8 - dayjs: '>=1.0.0' - react: ^18.x || ^19.x - react-dom: ^18.x || ^19.x - - '@mantine/hooks@7.17.8': - resolution: {integrity: sha512-96qygbkTjRhdkzd5HDU8fMziemN/h758/EwrFu7TlWrEP10Vw076u+Ap/sG6OT4RGPZYYoHrTlT+mkCZblWHuw==} - peerDependencies: - react: ^18.x || ^19.x - '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -2145,9 +2034,6 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@mermaid-js/parser@1.2.0': - resolution: {integrity: sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==} - '@microsoft/api-extractor-model@7.33.8': resolution: {integrity: sha512-aIcoQggPyer3B6Ze3usz0YWC/oBwUHfRH5ETUsr+oT2BRA6SfTJl7IKPcPZkX4UR+PohowzW4uMxsvjrn8vm+w==} @@ -2170,98 +2056,6 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - '@mui/base@5.0.0-beta.62': - resolution: {integrity: sha512-TzJLCNlrMkSU4bTCdTT+TVUiGx4sjZLhH673UV6YN+rNNP8wJpkWfRSvjDB5HcbH2T0lUamnz643ZnV+8IiMjw==} - engines: {node: '>=14.0.0'} - deprecated: This package has been replaced by @base-ui/react - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/core-downloads-tracker@6.5.0': - resolution: {integrity: sha512-LGb8t8i6M2ZtS3Drn3GbTI1DVhDY6FJ9crEey2lZ0aN2EMZo8IZBZj9wRf4vqbZHaWjsYgtbOnJw5V8UWbmK2Q==} - - '@mui/material@6.5.0': - resolution: {integrity: sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^6.5.0 - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@mui/material-pigment-css': - optional: true - '@types/react': - optional: true - - '@mui/private-theming@6.4.9': - resolution: {integrity: sha512-LktcVmI5X17/Q5SkwjCcdOLBzt1hXuc14jYa7NPShog0GBDCDvKtcnP0V7a2s6EiVRlv7BzbWEJzH6+l/zaCxw==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/styled-engine@6.5.0': - resolution: {integrity: sha512-8woC2zAqF4qUDSPIBZ8v3sakj+WgweolpyM/FXf8jAx6FMls+IE4Y8VDZc+zS805J7PRz31vz73n2SovKGaYgw==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@emotion/react': ^11.4.1 - '@emotion/styled': ^11.3.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - - '@mui/system@6.5.0': - resolution: {integrity: sha512-XcbBYxDS+h/lgsoGe78ExXFZXtuIlSBpn/KsZq8PtZcIkUNJInkuDqcLd2rVBQrDC1u+rvVovdaWPf2FHKJf3w==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - - '@mui/types@7.2.24': - resolution: {integrity: sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/utils@6.4.9': - resolution: {integrity: sha512-Y12Q9hbK9g+ZY0T3Rxrx9m2m10gaphDuUMgWxyV5kNJevVxXYCLclYUCC9vXaIk1/NdNDTcW2Yfr2OGvNFNmHg==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@napi-rs/wasm-runtime@0.2.10': resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} @@ -2407,9 +2201,6 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -2440,17 +2231,6 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@reduxjs/toolkit@2.12.0': - resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} - peerDependencies: - react: ^16.9.0 || ^17.0.0 || ^18 || ^19 - react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 - peerDependenciesMeta: - react: - optional: true - react-redux: - optional: true - '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -2659,9 +2439,6 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@standard-schema/utils@0.3.0': - resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -2817,12 +2594,6 @@ packages: '@swc/types@0.1.26': resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} - '@synergycodes/overflow-ui@1.0.0-beta.27': - resolution: {integrity: sha512-Z8wDSlphLvLOA0JtzwFLrH0pO2PgmLwmG4OAmPewSh+Yet0L5dNNhWrs1AkuxkIxky74l+0Y11RVczLnuIGrAg==} - peerDependencies: - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tabby_ai/hijri-converter@1.0.5': resolution: {integrity: sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ==} engines: {node: '>=16.0.0'} @@ -2933,99 +2704,24 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - '@types/d3-color@3.1.3': resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} - '@types/d3-drag@3.0.7': resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - '@types/d3-interpolate@3.0.4': resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.4': - resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==} - - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - '@types/d3-selection@3.0.11': resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - '@types/d3-transition@3.0.9': resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} '@types/d3-zoom@3.0.8': resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -3050,9 +2746,6 @@ packages: '@types/express@5.0.5': resolution: {integrity: sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ==} - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -3095,12 +2788,6 @@ packages: '@types/pako@2.0.4': resolution: {integrity: sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==} - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - - '@types/prop-types@15.7.14': - resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -3115,11 +2802,6 @@ packages: peerDependencies: '@types/react': ^19.0.0 - '@types/react-transition-group@4.4.12': - resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==} - peerDependencies: - '@types/react': '*' - '@types/react@19.1.8': resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} @@ -3144,9 +2826,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/use-sync-external-store@0.0.6': - resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} - '@types/validator@13.15.4': resolution: {integrity: sha512-LSFfpSnJJY9wbC0LQxgvfb+ynbHftFo0tMsFOl/J4wexLnYMmDSPaj2ZyDv3TkfL1UePxPrxOWJfbiRS8mQv7A==} @@ -3204,9 +2883,6 @@ packages: resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} deprecated: Potential CWE-502 - Update to 1.3.1 or higher - '@upsetjs/venn.js@2.0.0': - resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} - '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} @@ -3606,10 +3282,6 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -3921,10 +3593,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} @@ -3973,9 +3641,6 @@ packages: engines: {node: '>=18'} hasBin: true - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -4000,12 +3665,6 @@ packages: core-js@3.46.0: resolution: {integrity: sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==} - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - cosmiconfig-typescript-loader@6.3.0: resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} @@ -4014,10 +3673,6 @@ packages: cosmiconfig: '>=9' typescript: '>=5' - cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} @@ -4087,51 +3742,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.34.0: - resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - d3-dispatch@3.0.1: resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} engines: {node: '>=12'} @@ -4140,109 +3754,32 @@ packages: resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} engines: {node: '>=12'} - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - d3-ease@3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} engines: {node: '>=12'} - d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - dagre-d3-es@7.0.14: - resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} - data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -4265,9 +3802,6 @@ packages: date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - dayjs@1.11.21: - resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} - de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -4289,9 +3823,6 @@ packages: supports-color: optional: true - decimal.js-light@2.5.1: - resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} @@ -4332,9 +3863,6 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - delaunator@5.1.0: - resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4358,9 +3886,6 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - deterministic-object-hash@2.0.2: resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} engines: {node: '>=18'} @@ -4396,9 +3921,6 @@ packages: dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dom-helpers@5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -4412,9 +3934,6 @@ packages: dompurify@3.3.0: resolution: {integrity: sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==} - dompurify@3.4.12: - resolution: {integrity: sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==} - domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -4918,9 +4437,6 @@ packages: resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} engines: {node: '>= 0.8'} - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up-simple@1.0.1: resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} engines: {node: '>=18'} @@ -5033,10 +4549,6 @@ packages: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} - get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -5124,9 +4636,6 @@ packages: h3@1.15.5: resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -5222,9 +4731,6 @@ packages: resolution: {integrity: sha512-EQfezRg0NCZGNlhlDR3Evrw1FVL2G3LhU7EgPoxufQKruNBSYA8MiRPHeWbU+36o+Fhel0wMwM+sLEiBAlNLJA==} engines: {node: '>=10.0.0'} - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono@4.12.14: resolution: {integrity: sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==} engines: {node: '>=16.9.0'} @@ -5242,9 +4748,6 @@ packages: html-to-image@1.11.11: resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} - html-url-attributes@3.0.1: - resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} - html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -5318,9 +4821,6 @@ packages: immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} - immer@11.1.15: - resolution: {integrity: sha512-VrNANlmnWQnh5COXIIOQXM9oOJw7naGKlBT74ZOOR6lpVXc3gFEu9FJLDFcpCJ2j+NWr8TIwtWD//T6ZX6TKiQ==} - import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -5357,13 +4857,6 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - inversify@6.0.1: resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==} @@ -5698,16 +5191,9 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - katex@0.16.47: - resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} - hasBin: true - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - klaw-sync@6.0.0: resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} @@ -5734,12 +5220,6 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -5871,11 +5351,6 @@ packages: engines: {node: '>= 18'} hasBin: true - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -5973,9 +5448,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.16.0: - resolution: {integrity: sha512-Zvm3kbstgdpvIJPPItlL7fppIZ3kibvc1oZIGxdvk9t6UFz6flv+Jw7FtRGKwfcI8OckmH04LqG6LlS6X4B1pA==} - micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -6420,9 +5892,6 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6501,12 +5970,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -6674,15 +6137,6 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@19.0.0: - resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==} - - react-markdown@10.1.0: - resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} - peerDependencies: - '@types/react': '>=18' - react: '>=18' - react-mentions-ts@5.4.7: resolution: {integrity: sha512-bTK6joPmyvLckVf1v7vE2xSSeqvL4ZwuzFvGZpt+IrtdDOdFZjiwTUBo5920kiE6WbH/v1PP81xAo6pQ0NQ0Pg==} engines: {node: '>=20'} @@ -6693,70 +6147,16 @@ packages: react-dom: '>=19.0.0' tailwind-merge: '>=3.0.0' - react-number-format@5.4.4: - resolution: {integrity: sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==} - peerDependencies: - react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - react-redux@9.3.0: - resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} - peerDependencies: - '@types/react': ^18.2.25 || ^19 - react: ^18.0 || ^19 - redux: ^5.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - redux: - optional: true - react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-remove-scroll-bar@2.3.8: - resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - react-remove-scroll@2.7.1: - resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - react-style-singleton@2.2.3: - resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - react-textarea-autosize@8.5.9: resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-transition-group@4.4.5: - resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - react@19.1.0: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} @@ -6777,14 +6177,6 @@ packages: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} - recharts@3.10.1: - resolution: {integrity: sha512-QXFrvt6IVcw7eeZCoyXTwkIJAX3Dv1nyVhMicXJ47GsGDDpcN8z6o644DibE9XjpBTThtsomLKnTV6lc+cVFUA==} - engines: {node: '>=18'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -6799,14 +6191,6 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - redux-thunk@3.1.0: - resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} - peerDependencies: - redux: ^5.0.0 - - redux@5.0.1: - resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} @@ -6958,9 +6342,6 @@ packages: resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==} engines: {node: '>= 0.8.15'} - robust-predicates@3.0.3: - resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - rollup-plugin-visualizer@7.0.1: resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} engines: {node: '>=22'} @@ -6979,9 +6360,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -6996,9 +6374,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -7172,10 +6547,6 @@ packages: source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -7313,12 +6684,6 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - - stylis@4.4.0: - resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} - suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} @@ -7364,9 +6729,6 @@ packages: resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} engines: {node: ^14.18.0 || >=16.0.0} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwind-merge@3.5.0: resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} @@ -7415,9 +6777,6 @@ packages: tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} - 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==} @@ -7496,10 +6855,6 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-dedent@2.3.0: - resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} - engines: {node: '>=6.10'} - tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -7738,16 +7093,6 @@ packages: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} - use-callback-ref@1.3.3: - resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - use-composed-ref@1.4.0: resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} peerDependencies: @@ -7775,16 +7120,6 @@ packages: '@types/react': optional: true - use-sidecar@1.1.3: - resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - use-sync-external-store@1.4.0: resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: @@ -7828,9 +7163,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - victory-vendor@37.3.6: - resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} - vite-bundle-analyzer@0.17.1: resolution: {integrity: sha512-ubjLhkuRgOSBNck+6xBbQmjmh8SeLTG4alEM5PX2TNzyGhKLwWlyCz1YG0an3RQnscbhVzSb6kYteoHXhP///A==} hasBin: true @@ -8179,10 +7511,6 @@ packages: resolution: {integrity: sha512-9F3myNmJzUN/679jycdMxqtydPSDRAarSj3wPiF7pchEPnO9Dg07Oc+gIYLqXR4L+g+FSEVXXv2+mr54StLFOg==} hasBin: true - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - yaml@2.7.1: resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} engines: {node: '>= 14'} @@ -8673,8 +8001,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.8 - '@braintree/sanitize-url@7.1.2': {} - '@bundled-es-modules/deepmerge@4.3.2': dependencies: deepmerge: 4.3.1 @@ -8855,8 +8181,6 @@ snapshots: human-id: 4.1.3 prettier: 2.8.8 - '@chevrotain/types@11.1.2': {} - '@commitlint/cli@21.0.1(@types/node@22.12.0)(conventional-commits-parser@6.4.0)(typescript@5.6.3)': dependencies: '@commitlint/format': 21.0.1 @@ -9043,89 +8367,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emotion/babel-plugin@11.13.5': - dependencies: - '@babel/helper-module-imports': 7.25.9 - '@babel/runtime': 7.29.7 - '@emotion/hash': 0.9.2 - '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.3 - babel-plugin-macros: 3.1.0 - convert-source-map: 1.9.0 - escape-string-regexp: 4.0.0 - find-root: 1.1.0 - source-map: 0.5.7 - stylis: 4.2.0 - transitivePeerDependencies: - - supports-color - - '@emotion/cache@11.14.0': - dependencies: - '@emotion/memoize': 0.9.0 - '@emotion/sheet': 1.4.0 - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - stylis: 4.2.0 - - '@emotion/hash@0.9.2': {} - - '@emotion/is-prop-valid@1.3.1': - dependencies: - '@emotion/memoize': 0.9.0 - - '@emotion/memoize@0.9.0': {} - - '@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@emotion/babel-plugin': 11.13.5 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - hoist-non-react-statics: 3.3.2 - react: 19.1.0 - optionalDependencies: - '@types/react': 19.1.8 - transitivePeerDependencies: - - supports-color - - '@emotion/serialize@1.3.3': - dependencies: - '@emotion/hash': 0.9.2 - '@emotion/memoize': 0.9.0 - '@emotion/unitless': 0.10.0 - '@emotion/utils': 1.4.2 - csstype: 3.1.3 - - '@emotion/sheet@1.4.0': {} - - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) - '@emotion/utils': 1.4.2 - react: 19.1.0 - optionalDependencies: - '@types/react': 19.1.8 - transitivePeerDependencies: - - supports-color - - '@emotion/unitless@0.10.0': {} - - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': - dependencies: - react: 19.1.0 - - '@emotion/utils@1.4.2': {} - - '@emotion/weak-memoize@0.4.0': {} - '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.18.20 @@ -9439,48 +8680,23 @@ snapshots: dependencies: '@expressive-code/core': 0.41.7 - '@floating-ui/core@1.6.9': - dependencies: - '@floating-ui/utils': 0.2.9 - '@floating-ui/core@1.7.5': dependencies: '@floating-ui/utils': 0.2.11 - '@floating-ui/dom@1.6.13': - dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 - '@floating-ui/dom@1.7.6': dependencies: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@floating-ui/dom': 1.6.13 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - '@floating-ui/react-dom@2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/dom': 1.7.6 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@floating-ui/react@0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@floating-ui/utils': 0.2.9 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - tabbable: 6.2.0 - '@floating-ui/utils@0.2.11': {} - '@floating-ui/utils@0.2.9': {} - '@fontsource/poppins@5.2.7': {} '@gerrit0/mini-shiki@3.23.0': @@ -9553,12 +8769,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/utils@3.1.4': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - import-meta-resolve: 4.2.0 - '@img/colour@1.0.0': optional: true @@ -9848,36 +9058,9 @@ snapshots: '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) tslib: 2.8.1 - '@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.8(react@19.1.0) - clsx: 2.1.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-number-format: 5.4.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-remove-scroll: 2.7.1(@types/react@19.1.8)(react@19.1.0) - react-textarea-autosize: 8.5.9(@types/react@19.1.8)(react@19.1.0) - type-fest: 4.33.0 - transitivePeerDependencies: - - '@types/react' - - '@mantine/dates@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.8(react@19.1.0) - clsx: 2.1.1 - dayjs: 1.11.21 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - - '@mantine/hooks@7.17.8(react@19.1.0)': - dependencies: - react: 19.1.0 - '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.29.7 + '@babel/runtime': 7.27.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -9921,10 +9104,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@mermaid-js/parser@1.2.0': - dependencies: - '@chevrotain/types': 11.1.2 - '@microsoft/api-extractor-model@7.33.8(@types/node@22.12.0)': dependencies: '@microsoft/tsdoc': 0.16.0 @@ -9971,97 +9150,6 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} - '@mui/base@5.0.0-beta.62(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/types': 7.2.24(@types/react@19.1.8) - '@mui/utils': 6.4.9(@types/react@19.1.8)(react@19.1.0) - '@popperjs/core': 2.11.8 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - optionalDependencies: - '@types/react': 19.1.8 - - '@mui/core-downloads-tracker@6.5.0': {} - - '@mui/material@6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@mui/core-downloads-tracker': 6.5.0 - '@mui/system': 6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0) - '@mui/types': 7.2.24(@types/react@19.1.8) - '@mui/utils': 6.4.9(@types/react@19.1.8)(react@19.1.0) - '@popperjs/core': 2.11.8 - '@types/react-transition-group': 4.4.12(@types/react@19.1.8) - clsx: 2.1.1 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-is: 19.0.0 - react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0) - '@types/react': 19.1.8 - - '@mui/private-theming@6.4.9(@types/react@19.1.8)(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@mui/utils': 6.4.9(@types/react@19.1.8)(react@19.1.0) - prop-types: 15.8.1 - react: 19.1.0 - optionalDependencies: - '@types/react': 19.1.8 - - '@mui/styled-engine@6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/sheet': 1.4.0 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 19.1.0 - optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0) - - '@mui/system@6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@mui/private-theming': 6.4.9(@types/react@19.1.8)(react@19.1.0) - '@mui/styled-engine': 6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(react@19.1.0) - '@mui/types': 7.2.24(@types/react@19.1.8) - '@mui/utils': 6.4.9(@types/react@19.1.8)(react@19.1.0) - clsx: 2.1.1 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 19.1.0 - optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0) - '@types/react': 19.1.8 - - '@mui/types@7.2.24(@types/react@19.1.8)': - optionalDependencies: - '@types/react': 19.1.8 - - '@mui/utils@6.4.9(@types/react@19.1.8)(react@19.1.0)': - dependencies: - '@babel/runtime': 7.29.7 - '@mui/types': 7.2.24(@types/react@19.1.8) - '@types/prop-types': 15.7.14 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 19.1.0 - react-is: 19.0.0 - optionalDependencies: - '@types/react': 19.1.8 - '@napi-rs/wasm-runtime@0.2.10': dependencies: '@emnapi/core': 1.4.3 @@ -10163,8 +9251,6 @@ snapshots: '@pkgr/core@0.2.9': {} - '@popperjs/core@2.11.8': {} - '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -10188,18 +9274,6 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1))(react@19.1.0)': - dependencies: - '@standard-schema/spec': 1.1.0 - '@standard-schema/utils': 0.3.0 - immer: 11.1.15 - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - reselect: 5.2.0 - optionalDependencies: - react: 19.1.0 - react-redux: 9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1) - '@rollup/pluginutils@5.3.0(rollup@4.57.1)': dependencies: '@types/estree': 1.0.8 @@ -10381,8 +9455,6 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@standard-schema/utils@0.3.0': {} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.7)': dependencies: '@babel/core': 7.26.7 @@ -10427,6 +9499,17 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.7) + '@svgr/core@8.1.0(typescript@5.6.3)': + dependencies: + '@babel/core': 7.26.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.6.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + '@svgr/core@8.1.0(typescript@5.9.3)': dependencies: '@babel/core': 7.26.7 @@ -10443,6 +9526,16 @@ snapshots: '@babel/types': 7.29.0 entities: 4.5.0 + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))': + dependencies: + '@babel/core': 7.26.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.7) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))': dependencies: '@babel/core': 7.26.7 @@ -10513,26 +9606,6 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@synergycodes/overflow-ui@1.0.0-beta.27(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0) - '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/dates': 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.8(react@19.1.0))(dayjs@1.11.21)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/base': 5.0.0-beta.62(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/material': 6.5.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@phosphor-icons/react': 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - clsx: 2.1.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - transitivePeerDependencies: - - '@emotion/react' - - '@mantine/hooks' - - '@mui/material-pigment-css' - - '@types/react' - - dayjs - - supports-color - '@tabby_ai/hijri-converter@1.0.5': {} '@temporalio/activity@1.16.0': @@ -10699,80 +9772,17 @@ snapshots: dependencies: '@types/node': 22.12.0 - '@types/d3-array@3.2.2': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.2 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.4': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} + '@types/d3-color@3.1.3': {} - '@types/d3-shape@3.1.8': + '@types/d3-drag@3.0.7': dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} + '@types/d3-selection': 3.0.11 - '@types/d3-time@3.0.4': {} + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 - '@types/d3-timer@3.0.2': {} + '@types/d3-selection@3.0.11': {} '@types/d3-transition@3.0.9': dependencies: @@ -10783,39 +9793,6 @@ snapshots: '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.11 - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.4 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -10851,8 +9828,6 @@ snapshots: '@types/express-serve-static-core': 5.1.0 '@types/serve-static': 1.15.10 - '@types/geojson@7946.0.16': {} - '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -10889,10 +9864,6 @@ snapshots: '@types/pako@2.0.4': {} - '@types/parse-json@4.0.2': {} - - '@types/prop-types@15.7.14': {} - '@types/qs@6.14.0': {} '@types/raf@3.4.3': @@ -10904,10 +9875,6 @@ snapshots: dependencies: '@types/react': 19.1.8 - '@types/react-transition-group@4.4.12(@types/react@19.1.8)': - dependencies: - '@types/react': 19.1.8 - '@types/react@19.1.8': dependencies: csstype: 3.1.3 @@ -10938,8 +9905,6 @@ snapshots: '@types/unist@3.0.3': {} - '@types/use-sync-external-store@0.0.6': {} - '@types/validator@13.15.4': {} '@types/yauzl@2.10.3': @@ -11026,11 +9991,6 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@upsetjs/venn.js@2.0.0': - optionalDependencies: - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - '@vercel/oidc@3.2.0': {} '@vitejs/plugin-react@4.3.4(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': @@ -11644,12 +10604,6 @@ snapshots: axobject-query@4.1.0: {} - babel-plugin-macros@3.1.0: - dependencies: - '@babel/runtime': 7.29.7 - cosmiconfig: 7.1.0 - resolve: 1.22.10 - bail@2.0.2: {} balanced-match@1.0.2: {} @@ -11967,8 +10921,6 @@ snapshots: commander@7.2.0: {} - commander@8.3.0: {} - common-ancestor-path@1.0.1: {} compare-func@2.0.0: @@ -12015,8 +10967,6 @@ snapshots: '@simple-libs/stream-utils': 1.2.0 meow: 13.2.0 - convert-source-map@1.9.0: {} - convert-source-map@2.0.0: {} cookie-es@1.2.2: {} @@ -12034,14 +10984,6 @@ snapshots: core-js@3.46.0: optional: true - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - cosmiconfig-typescript-loader@6.3.0(@types/node@22.12.0)(cosmiconfig@9.0.1(typescript@5.6.3))(typescript@5.6.3): dependencies: '@types/node': 22.12.0 @@ -12049,13 +10991,14 @@ snapshots: jiti: 2.6.1 typescript: 5.6.3 - cosmiconfig@7.1.0: + cosmiconfig@8.3.6(typescript@5.6.3): dependencies: - '@types/parse-json': 4.0.2 import-fresh: 3.3.0 + js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 + optionalDependencies: + typescript: 5.6.3 cosmiconfig@8.3.6(typescript@5.9.3): dependencies: @@ -12132,50 +11075,8 @@ snapshots: csstype@3.1.3: {} - cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.34.0 - - cytoscape-fcose@2.2.0(cytoscape@3.34.0): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.34.0 - - cytoscape@3.34.0: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - d3-color@3.1.0: {} - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.1.0 - d3-dispatch@3.0.1: {} d3-drag@3.0.0: @@ -12183,82 +11084,14 @@ snapshots: d3-dispatch: 3.0.1 d3-selection: 3.0.0 - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - d3-ease@3.0.1: {} - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.2: {} - - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 - - d3-hierarchy@3.1.2: {} - d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 - d3-path@1.0.9: {} - - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.2 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-selection@3.0.0: {} - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - d3-timer@3.0.1: {} d3-transition@3.0.1(d3-selection@3.0.0): @@ -12278,44 +11111,6 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.2 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.14: - dependencies: - d3: 7.9.0 - lodash-es: 4.17.21 - data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 @@ -12343,8 +11138,6 @@ snapshots: date-fns@4.1.0: {} - dayjs@1.11.21: {} - de-indent@1.0.2: {} debug@4.4.0: @@ -12355,8 +11148,6 @@ snapshots: dependencies: ms: 2.1.3 - decimal.js-light@2.5.1: {} - decimal.js@10.5.0: {} decode-named-character-reference@1.3.0: @@ -12392,10 +11183,6 @@ snapshots: defu@6.1.4: {} - delaunator@5.1.0: - dependencies: - robust-predicates: 3.0.3 - delayed-stream@1.0.0: {} depd@2.0.0: {} @@ -12409,8 +11196,6 @@ snapshots: detect-libc@2.1.2: optional: true - detect-node-es@1.1.0: {} - deterministic-object-hash@2.0.2: dependencies: base-64: 1.0.0 @@ -12439,11 +11224,6 @@ snapshots: dom-accessibility-api@0.5.16: {} - dom-helpers@5.2.1: - dependencies: - '@babel/runtime': 7.29.7 - csstype: 3.1.3 - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -12461,10 +11241,6 @@ snapshots: '@types/trusted-types': 2.0.7 optional: true - dompurify@3.4.12: - optionalDependencies: - '@types/trusted-types': 2.0.7 - domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -13117,8 +11893,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-root@1.1.0: {} - find-up-simple@1.0.1: {} find-up@4.1.0: @@ -13249,8 +12023,6 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 - get-nonce@1.0.1: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -13349,8 +12121,6 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 - hachure-fill@0.5.2: {} - has-bigints@1.1.0: {} has-flag@4.0.0: {} @@ -13566,10 +12336,6 @@ snapshots: heap-js@2.7.1: {} - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - hono@4.12.14: {} html-encoding-sniffer@4.0.0: @@ -13584,8 +12350,6 @@ snapshots: html-to-image@1.11.11: {} - html-url-attributes@3.0.1: {} - html-void-elements@3.0.0: {} html-whitespace-sensitive-tag-names@3.0.1: {} @@ -13635,11 +12399,11 @@ snapshots: i18next-browser-languagedetector@8.0.5: dependencies: - '@babel/runtime': 7.29.7 + '@babel/runtime': 7.27.0 i18next@23.16.8: dependencies: - '@babel/runtime': 7.29.7 + '@babel/runtime': 7.27.0 i18next@24.2.3(typescript@5.9.3): dependencies: @@ -13661,8 +12425,6 @@ snapshots: immer@10.1.1: {} - immer@11.1.15: {} - import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -13690,10 +12452,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - internmap@1.0.1: {} - - internmap@2.0.3: {} - inversify@6.0.1: {} iobuffer@5.4.0: {} @@ -14048,16 +12806,10 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 - katex@0.16.47: - dependencies: - commander: 8.3.0 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 - khroma@2.1.0: {} - klaw-sync@6.0.0: dependencies: graceful-fs: 4.2.11 @@ -14088,10 +12840,6 @@ snapshots: kolorist@1.8.0: {} - layout-base@1.0.2: {} - - layout-base@2.0.1: {} - levn@0.3.0: dependencies: prelude-ls: 1.1.2 @@ -14227,8 +12975,6 @@ snapshots: marked@15.0.12: {} - marked@16.4.2: {} - math-intrinsics@1.1.0: {} md5@2.3.0: @@ -14455,30 +13201,6 @@ snapshots: merge2@1.4.1: {} - mermaid@11.16.0: - dependencies: - '@braintree/sanitize-url': 7.1.2 - '@iconify/utils': 3.1.4 - '@mermaid-js/parser': 1.2.0 - '@types/d3': 7.4.3 - '@upsetjs/venn.js': 2.0.0 - cytoscape: 3.34.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0) - cytoscape-fcose: 2.2.0(cytoscape@3.34.0) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.14 - dayjs: 1.11.21 - dompurify: 3.4.12 - es-toolkit: 1.46.1 - katex: 0.16.47 - khroma: 2.1.0 - marked: 16.4.2 - roughjs: 4.6.6 - stylis: 4.4.0 - ts-dedent: 2.3.0 - uuid: 11.1.0 - micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -15134,8 +13856,6 @@ snapshots: path-browserify@1.0.1: {} - path-data-parser@0.1.0: {} - path-exists@4.0.0: {} path-key@3.1.1: {} @@ -15195,13 +13915,6 @@ snapshots: pluralize@8.0.0: {} - points-on-curve@0.2.0: {} - - points-on-path@0.2.1: - dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - possible-typed-array-names@1.0.0: {} postcss-calc-ast-parser@0.1.4: @@ -15367,26 +14080,6 @@ snapshots: react-is@17.0.2: {} - react-is@19.0.0: {} - - react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0): - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/react': 19.1.8 - devlop: 1.1.0 - hast-util-to-jsx-runtime: 2.3.6 - html-url-attributes: 3.0.1 - mdast-util-to-hast: 13.2.1 - react: 19.1.0 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - unified: 11.0.5 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - react-mentions-ts@5.4.7(class-variance-authority@0.7.1)(clsx@2.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwind-merge@3.5.0): dependencies: class-variance-authority: 0.7.1 @@ -15395,49 +14088,8 @@ snapshots: react-dom: 19.1.0(react@19.1.0) tailwind-merge: 3.5.0 - react-number-format@5.4.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - - react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1): - dependencies: - '@types/use-sync-external-store': 0.0.6 - react: 19.1.0 - use-sync-external-store: 1.6.0(react@19.1.0) - optionalDependencies: - '@types/react': 19.1.8 - redux: 5.0.1 - react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.8)(react@19.1.0): - dependencies: - react: 19.1.0 - react-style-singleton: 2.2.3(@types/react@19.1.8)(react@19.1.0) - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.8 - - react-remove-scroll@2.7.1(@types/react@19.1.8)(react@19.1.0): - dependencies: - react: 19.1.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.8)(react@19.1.0) - react-style-singleton: 2.2.3(@types/react@19.1.8)(react@19.1.0) - tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.8)(react@19.1.0) - use-sidecar: 1.1.3(@types/react@19.1.8)(react@19.1.0) - optionalDependencies: - '@types/react': 19.1.8 - - react-style-singleton@2.2.3(@types/react@19.1.8)(react@19.1.0): - dependencies: - get-nonce: 1.0.1 - react: 19.1.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.8 - react-textarea-autosize@8.5.9(@types/react@19.1.8)(react@19.1.0): dependencies: '@babel/runtime': 7.27.0 @@ -15447,15 +14099,6 @@ snapshots: transitivePeerDependencies: - '@types/react' - react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - '@babel/runtime': 7.29.7 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react@19.1.0: {} read-yaml-file@1.1.0: @@ -15473,26 +14116,6 @@ snapshots: readdirp@5.0.0: {} - recharts@3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@19.0.0)(react@19.1.0)(redux@5.0.1): - dependencies: - '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1))(react@19.1.0) - clsx: 2.1.1 - decimal.js-light: 2.5.1 - es-toolkit: 1.46.1 - eventemitter3: 5.0.1 - immer: 11.1.15 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-is: 19.0.0 - react-redux: 9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1) - reselect: 5.2.0 - tiny-invariant: 1.3.3 - use-sync-external-store: 1.6.0(react@19.1.0) - victory-vendor: 37.3.6 - transitivePeerDependencies: - - '@types/react' - - redux - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -15522,12 +14145,6 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - redux-thunk@3.1.0(redux@5.0.1): - dependencies: - redux: 5.0.1 - - redux@5.0.1: {} - reflect-metadata@0.1.13: {} reflect.getprototypeof@1.0.10: @@ -15750,8 +14367,6 @@ snapshots: rgbcolor@1.0.1: optional: true - robust-predicates@3.0.3: {} - rollup-plugin-visualizer@7.0.1(rollup@4.57.1): dependencies: open: 11.0.0 @@ -15792,13 +14407,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 - roughjs@4.6.6: - dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - router@2.2.0: dependencies: debug: 4.4.3 @@ -15817,8 +14425,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} - rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -16052,8 +14658,6 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: {} - source-map@0.6.1: {} source-map@0.7.6: {} @@ -16224,10 +14828,6 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - stylis@4.2.0: {} - - stylis@4.4.0: {} - suf-log@2.5.3: dependencies: s.color: 0.0.15 @@ -16279,8 +14879,6 @@ snapshots: dependencies: '@pkgr/core': 0.2.9 - tabbable@6.2.0: {} - tailwind-merge@3.5.0: {} tapable@2.3.2: {} @@ -16323,8 +14921,6 @@ snapshots: tiny-inflate@1.0.3: {} - tiny-invariant@1.3.3: {} - tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -16380,8 +14976,6 @@ snapshots: dependencies: typescript: 5.6.3 - ts-dedent@2.3.0: {} - tsconfck@3.1.6(typescript@5.6.3): optionalDependencies: typescript: 5.6.3 @@ -16602,13 +15196,6 @@ snapshots: punycode: 1.4.1 qs: 6.14.0 - use-callback-ref@1.3.3(@types/react@19.1.8)(react@19.1.0): - dependencies: - react: 19.1.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.8 - use-composed-ref@1.4.0(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 @@ -16628,14 +15215,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.8 - use-sidecar@1.1.3(@types/react@19.1.8)(react@19.1.0): - dependencies: - detect-node-es: 1.1.0 - react: 19.1.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.8 - use-sync-external-store@1.4.0(react@19.1.0): dependencies: react: 19.1.0 @@ -16684,23 +15263,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - victory-vendor@37.3.6: - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-ease': 3.0.2 - '@types/d3-interpolate': 3.0.4 - '@types/d3-scale': 4.0.9 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-timer': 3.0.2 - d3-array: 3.2.4 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-scale: 4.0.2 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-timer: 3.0.1 - vite-bundle-analyzer@0.17.1: {} vite-node@3.0.4(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4): @@ -16778,6 +15340,17 @@ snapshots: picocolors: 1.1.1 vite: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-svgr@4.3.0(rollup@4.57.1)(typescript@5.6.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.57.1) + '@svgr/core': 8.1.0(typescript@5.6.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) + vite: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + transitivePeerDependencies: + - rollup + - supports-color + - typescript + vite-plugin-svgr@4.3.0(rollup@4.57.1)(typescript@5.9.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.57.1) @@ -17120,8 +15693,6 @@ snapshots: vscode-uri: 3.1.0 yaml: 2.7.1 - yaml@1.10.2: {} - yaml@2.7.1: {} yaml@2.8.4: {} From 1bc1b114a9aa95bfd23da4d61038393f820a032d Mon Sep 17 00:00:00 2001 From: Jan Librowski Date: Thu, 25 Jun 2026 13:09:05 +0200 Subject: [PATCH 02/24] fix(sdk): stop publishing unresolvable ui dependency + leaked types The SDK bundles @workflowbuilder/ui and @base-ui/react into its dist, but declared them as runtime dependencies - so a published @workflowbuilder/sdk would 404 on @workflowbuilder/ui (not published) at npm install. Move both to devDependencies (they are inlined, consumers don't install them). Add @workflowbuilder/ui to the dts plugin's bundledPackages so its types are inlined into dist/index.d.ts instead of leaking unresolvable import('@workflowbuilder/ui') references into the public type surface. Verified: no real ui/base-ui imports remain in dist/index.d.ts. Remove the obsolete docs/overflow-ui.md (described the old external @synergycodes/overflow-ui local-dev flow this migration replaces). --- docs/overflow-ui.md | 36 ------------------------------------ packages/sdk/package.json | 4 ++-- packages/sdk/vite.config.mts | 8 +++++--- pnpm-lock.yaml | 12 ++++++------ 4 files changed, 13 insertions(+), 47 deletions(-) delete mode 100644 docs/overflow-ui.md diff --git a/docs/overflow-ui.md b/docs/overflow-ui.md deleted file mode 100644 index ac0741ff5..000000000 --- a/docs/overflow-ui.md +++ /dev/null @@ -1,36 +0,0 @@ -# UI library (`@workflowbuilder/ui`) - -The UI component library lives in this monorepo at `packages/ui`, published as -`@workflowbuilder/ui`. It is built on [Base UI](https://base-ui.com/) and -provides the components and design tokens the SDK and reference apps render -with. Its design tokens are generated from `packages/tokens` -(`@workflowbuilder/ui-tokens`). - -## How is it consumed? - -`packages/sdk`, `apps/demo`, and `apps/ai-studio` depend on it via -`workspace:*` and import it as `@workflowbuilder/ui`. Consumers resolve the -built `dist/` through the package `exports` (the SDK's `src/index.css` pulls in -`@workflowbuilder/ui/tokens.css` and `@workflowbuilder/ui/index.css`). - -## Working on it locally - -`dist/` is git-ignored and rebuilt from source. The `prepare` lifecycle script -of `packages/ui` and `packages/tokens` builds both on `pnpm install`, in -dependency order (tokens first, then ui), so a fresh install is enough for the -apps to resolve the library. - -When iterating on the library itself, rebuild after each change: - -- `pnpm --filter @workflowbuilder/ui build` - one-shot build (tokens must be - built first; `pnpm build:ui` does both in order). -- `pnpm --filter @workflowbuilder/ui dev` - rebuild on change (`vite build --watch`). - -`pnpm build:lib` builds the full publishable chain (tokens -> ui -> sdk). - -## CSS layers - -The library emits all styles into two ordered cascade layers -(`@layer ui.base, ui.component;`). See [`packages/ui/css-layers.md`](../packages/ui/css-layers.md) -for the contract and why `styles.css` (or `index.css`) must establish the order -before any component rule. diff --git a/packages/sdk/package.json b/packages/sdk/package.json index e22e63e7d..1c7da9b84 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -70,13 +70,11 @@ "zustand": "^5.0.0" }, "dependencies": { - "@base-ui/react": "catalog:", "@cfworker/json-schema": "4.1.1", "@fontsource/poppins": "^5.2.7", "@jsonforms/core": "^3.4.0", "@jsonforms/react": "^3.4.0", "@phosphor-icons/react": "^2.1.7", - "@workflowbuilder/ui": "workspace:*", "ace-builds": "^1.43.4", "ajv": "catalog:", "clsx": "^2.1.1", @@ -91,11 +89,13 @@ "remeda": "^2.19.2" }, "devDependencies": { + "@base-ui/react": "catalog:", "@testing-library/react": "^16.3.0", "@types/react": "catalog:", "@vitejs/plugin-react": "^4.3.4", "@workflow-builder/icons": "workspace:*", "@workflow-builder/types": "workspace:*", + "@workflowbuilder/ui": "workspace:*", "eslint-plugin-react": "7.37.2", "eslint-plugin-react-hooks": "5.1.0-rc.1", "eslint-plugin-tsdoc": "^0.4.0", diff --git a/packages/sdk/vite.config.mts b/packages/sdk/vite.config.mts index 1952c885a..7922a95d0 100644 --- a/packages/sdk/vite.config.mts +++ b/packages/sdk/vite.config.mts @@ -56,9 +56,11 @@ export default defineConfig(({ command }) => ({ include: ['src/**/*'], exclude: ['src/**/*.spec.ts', 'src/**/*.spec.tsx', 'src/__shims__/**/*'], // Inline types from workspace-internal packages so external consumers - // don't need to install them. Icons is bundled into SDK's runtime - // (not externalized in Vite's build), and this keeps the types aligned. - bundledPackages: ['@workflow-builder/icons'], + // don't need to install them. Both packages are bundled into the SDK's + // runtime (not externalized in Vite's build), so their types must be + // inlined too - otherwise dist/index.d.ts would reference + // @workflowbuilder/ui, which the SDK does not declare as a dependency. + bundledPackages: ['@workflow-builder/icons', '@workflowbuilder/ui'], // The one type we can't reach from source alone — the ai-tools-control // depends on a few @jsonforms types we export for consumer convenience. insertTypesEntry: true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67edce256..5db640f9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -435,9 +435,6 @@ importers: packages/sdk: dependencies: - '@base-ui/react': - specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@cfworker/json-schema': specifier: 4.1.1 version: 4.1.1 @@ -447,9 +444,6 @@ importers: '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@workflowbuilder/ui': - specifier: workspace:* - version: link:../ui '@xyflow/react': specifier: ^12.0.0 version: 12.10.0(@types/react@19.1.8)(immer@10.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -484,6 +478,9 @@ importers: specifier: ^2.19.2 version: 2.20.0 devDependencies: + '@base-ui/react': + specifier: 'catalog:' + version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@jsonforms/core': specifier: ^3.4.1 version: 3.5.1 @@ -505,6 +502,9 @@ importers: '@workflow-builder/types': specifier: workspace:* version: link:../types + '@workflowbuilder/ui': + specifier: workspace:* + version: link:../ui eslint-plugin-react: specifier: 7.37.2 version: 7.37.2(eslint@9.19.0(jiti@2.6.1)) From 98a214050210c32b7a3bbff9edb4b43e903db17d Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Thu, 30 Jul 2026 19:13:05 +0200 Subject: [PATCH 03/24] fix(sdk): finish overflow-ui migration for files main added after the branch point Rebasing onto current main pulled in commits landed after this branch diverged (WB-339's use-on-connect.tsx, PR #48's language-selector spec, PR #48's ai-studio undo-redo buttons) that still imported the retired @synergycodes/overflow-ui package. Point them at @workflowbuilder/ui like every other already-migrated call site, and regenerate the lockfile for the fully rebased dependency graph. --- .../buttons-undo-redo/buttons-undo-redo.tsx | 2 +- .../project-selection.spec.tsx | 6 +- .../diagram/hooks/use-on-connect.spec.tsx | 4 +- .../features/diagram/hooks/use-on-connect.tsx | 2 +- .../language-selector.spec.tsx | 2 +- pnpm-lock.yaml | 911 ++++++++++++++++-- 6 files changed, 855 insertions(+), 72 deletions(-) diff --git a/apps/ai-studio/src/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx b/apps/ai-studio/src/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx index c12f452fc..7472ffbca 100644 --- a/apps/ai-studio/src/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx +++ b/apps/ai-studio/src/plugins/undo-redo/components/buttons-undo-redo/buttons-undo-redo.tsx @@ -1,5 +1,5 @@ -import { NavButton } from '@synergycodes/overflow-ui'; import { Icon, useStore } from '@workflowbuilder/sdk'; +import { NavButton } from '@workflowbuilder/ui'; import { useTranslation } from 'react-i18next'; import { redo, undo, useUndoRedoStore } from '../../stores/use-undo-redo-store'; diff --git a/packages/sdk/src/features/app-bar/components/project-selection/project-selection.spec.tsx b/packages/sdk/src/features/app-bar/components/project-selection/project-selection.spec.tsx index a75151c66..ffe55ca71 100644 --- a/packages/sdk/src/features/app-bar/components/project-selection/project-selection.spec.tsx +++ b/packages/sdk/src/features/app-bar/components/project-selection/project-selection.spec.tsx @@ -1,11 +1,11 @@ -import type { MenuItemProps } from '@synergycodes/overflow-ui'; import { fireEvent, render, screen } from '@testing-library/react'; +import type { MenuItemProps } from '@workflowbuilder/ui'; import { describe, expect, it, vi } from 'vitest'; // Render the menu's `items` inline so we can assert on them without driving the -// real overflow-ui popover. The component also imports Input/NavButton, so the +// real menu popover. The component also imports Input/NavButton, so the // mock must expose them too. -vi.mock('@synergycodes/overflow-ui', () => ({ +vi.mock('@workflowbuilder/ui', () => ({ Menu: ({ items }: { items: MenuItemProps[] }) => (
    {items.map((item) => ( diff --git a/packages/sdk/src/features/diagram/hooks/use-on-connect.spec.tsx b/packages/sdk/src/features/diagram/hooks/use-on-connect.spec.tsx index e98e568f1..995c6035b 100644 --- a/packages/sdk/src/features/diagram/hooks/use-on-connect.spec.tsx +++ b/packages/sdk/src/features/diagram/hooks/use-on-connect.spec.tsx @@ -2,7 +2,7 @@ // the connection handlers must be inert and warn the user; in editable mode they // must forward to the store and track the change. // -// `@synergycodes/overflow-ui` is mocked because the hook imports `SnackbarType` +// `@workflowbuilder/ui` is mocked because the hook imports `SnackbarType` // from it, and the package's JS carries a CSS side-effect import vitest's // node-side transformer can't process. `show-snackbar` is mocked so the user // feedback can be asserted without rendering the snackbar stack. @@ -13,7 +13,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { resetWorkflowStore, useStore } from '../../../store/store'; import { useConnect } from './use-on-connect'; -vi.mock('@synergycodes/overflow-ui', () => ({ +vi.mock('@workflowbuilder/ui', () => ({ SnackbarType: { SUCCESS: 'success', WARNING: 'warning', ERROR: 'error', INFO: 'info' }, })); diff --git a/packages/sdk/src/features/diagram/hooks/use-on-connect.tsx b/packages/sdk/src/features/diagram/hooks/use-on-connect.tsx index fdea2cce8..29aebb021 100644 --- a/packages/sdk/src/features/diagram/hooks/use-on-connect.tsx +++ b/packages/sdk/src/features/diagram/hooks/use-on-connect.tsx @@ -1,4 +1,4 @@ -import { SnackbarType } from '@synergycodes/overflow-ui'; +import { SnackbarType } from '@workflowbuilder/ui'; import type { OnConnect, OnConnectEnd, OnConnectStart } from '@xyflow/react'; import { useCallback } from 'react'; diff --git a/packages/sdk/src/features/i18n/components/language-selector/language-selector.spec.tsx b/packages/sdk/src/features/i18n/components/language-selector/language-selector.spec.tsx index 4064745f1..3ad24e990 100644 --- a/packages/sdk/src/features/i18n/components/language-selector/language-selector.spec.tsx +++ b/packages/sdk/src/features/i18n/components/language-selector/language-selector.spec.tsx @@ -6,7 +6,7 @@ import { describe, expect, it, vi } from 'vitest'; const i18nState = { language: 'en', resolvedLanguage: 'en', changeLanguage: vi.fn() }; // Render the Menu's trigger (children) so the displayed language code is queryable. -vi.mock('@synergycodes/overflow-ui', () => ({ +vi.mock('@workflowbuilder/ui', () => ({ Menu: ({ children }: { children?: ReactNode }) =>
    {children}
    , NavButton: ({ children }: { children?: ReactNode }) => , })); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5db640f9d..924f8ad3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,15 +125,33 @@ importers: clsx: specifier: ^2.1.1 version: 2.1.1 + html-to-image: + specifier: 1.11.11 + version: 1.11.11 immer: specifier: ^10.1.1 version: 10.1.1 + mermaid: + specifier: ^11.15.0 + version: 11.16.0 react: specifier: ^19.1.0 version: 19.1.0 react-dom: specifier: 'catalog:' version: 19.1.0(react@19.1.0) + react-i18next: + specifier: ^15.4.1 + version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-markdown: + specifier: ^10.1.0 + version: 10.1.0(@types/react@19.1.8)(react@19.1.0) + recharts: + specifier: ^3.9.0 + version: 3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(redux@5.0.1) + remark-gfm: + specifier: ^4.0.1 + version: 4.0.1 zustand: specifier: ^5.0.1 version: 5.0.3(@types/react@19.1.8)(immer@10.1.1)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) @@ -152,7 +170,7 @@ importers: version: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) vite-plugin-svgr: specifier: ^4.3.0 - version: 4.3.0(rollup@4.57.1)(typescript@5.6.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.3.0(rollup@4.57.1)(typescript@5.9.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) vitest: specifier: ^3.0.4 version: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.0.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) @@ -162,6 +180,9 @@ importers: '@hono/node-server': specifier: ^1.14.0 version: 1.19.14(hono@4.12.14) + '@openrouter/ai-sdk-provider': + specifier: ^2.8.0 + version: 2.8.0(ai@6.0.168(zod@4.3.6))(zod@4.3.6) '@temporalio/client': specifier: ^1.11.0 version: 1.16.0 @@ -171,6 +192,9 @@ importers: '@workflow-builder/types': specifier: workspace:* version: link:../../packages/types + ai: + specifier: ^6.0.168 + version: 6.0.168(zod@4.3.6) dotenv: specifier: ^17.4.2 version: 17.4.2 @@ -183,6 +207,9 @@ importers: postgres: specifier: ^3.4.5 version: 3.4.9 + tsx: + specifier: ^4.19.3 + version: 4.21.0 zod: specifier: ^4.3.6 version: 4.3.6 @@ -235,9 +262,6 @@ importers: i18next: specifier: ^24.2.3 version: 24.2.3(typescript@5.9.3) - i18next-browser-languagedetector: - specifier: ^8.0.5 - version: 8.0.5 immer: specifier: ^10.1.1 version: 10.1.1 @@ -378,6 +402,9 @@ importers: postgres: specifier: ^3.4.5 version: 3.4.9 + tsx: + specifier: ^4.19.3 + version: 4.21.0 devDependencies: '@types/node': specifier: ^22.12.0 @@ -441,6 +468,12 @@ importers: '@fontsource/poppins': specifier: ^5.2.7 version: 5.2.7 + '@jsonforms/core': + specifier: ^3.4.0 + version: 3.5.1 + '@jsonforms/react': + specifier: ^3.4.0 + version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -459,6 +492,15 @@ importers: date-fns: specifier: ^4.1.0 version: 4.1.0 + i18next: + specifier: ^24.0.0 + version: 24.2.3(typescript@5.9.3) + i18next-browser-languagedetector: + specifier: ^8.0.0 + version: 8.0.5 + immer: + specifier: ^10.0.0 + version: 10.1.1 notistack: specifier: ^3.0.1 version: 3.0.2(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -471,6 +513,9 @@ importers: react-dom: specifier: ^18.0.0 || ^19.0.0 version: 19.1.0(react@19.1.0) + react-i18next: + specifier: ^15.0.0 + version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-mentions-ts: specifier: ^5.4.7 version: 5.4.7(class-variance-authority@0.7.1)(clsx@2.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwind-merge@3.5.0) @@ -481,12 +526,6 @@ importers: '@base-ui/react': specifier: 'catalog:' version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@jsonforms/core': - specifier: ^3.4.1 - version: 3.5.1 - '@jsonforms/react': - specifier: ^3.4.1 - version: 3.5.1(@jsonforms/core@3.5.1)(react@19.1.0) '@testing-library/react': specifier: ^16.3.0 version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.1.1(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -514,18 +553,6 @@ importers: eslint-plugin-tsdoc: specifier: ^0.4.0 version: 0.4.0 - i18next: - specifier: ^24.2.3 - version: 24.2.3(typescript@5.9.3) - i18next-browser-languagedetector: - specifier: ^8.0.5 - version: 8.0.5 - immer: - specifier: ^10.1.1 - version: 10.1.1 - react-i18next: - specifier: ^15.4.1 - version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) vite: specifier: ^6.0.7 version: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) @@ -909,6 +936,9 @@ packages: '@types/react': optional: true + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + '@bundled-es-modules/deepmerge@4.3.2': resolution: {integrity: sha512-q8doe7ndrY2IolUOFIn0A0++JBX38pMhN7kFhTF4cnjIcILf6X6H2yWczInyv8ZFdR0lrE8088X8XS5efxXz8A==} @@ -983,6 +1013,9 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + '@chevrotain/types@11.1.2': + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + '@commitlint/cli@21.0.1': resolution: {integrity: sha512-8vq10krmbJwBkvzXKhbs4o4JQEVscd3pqOlWuDUaDBwbeL694/P33UC29tZQFTAgPU9fVJ2+f2m3zw16yKWxHg==} engines: {node: '>=22.12.0'} @@ -1715,6 +1748,9 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@iconify/utils@3.1.4': + resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==} + '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -2034,6 +2070,9 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@mermaid-js/parser@1.2.0': + resolution: {integrity: sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==} + '@microsoft/api-extractor-model@7.33.8': resolution: {integrity: sha512-aIcoQggPyer3B6Ze3usz0YWC/oBwUHfRH5ETUsr+oT2BRA6SfTJl7IKPcPZkX4UR+PohowzW4uMxsvjrn8vm+w==} @@ -2231,6 +2270,17 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@reduxjs/toolkit@2.12.0': + resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 || ^19 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -2439,6 +2489,9 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -2704,24 +2757,99 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + '@types/d3-color@3.1.3': resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + '@types/d3-drag@3.0.7': resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + '@types/d3-interpolate@3.0.4': resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.4': + resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + '@types/d3-selection@3.0.11': resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + '@types/d3-transition@3.0.9': resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} '@types/d3-zoom@3.0.8': resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -2746,6 +2874,9 @@ packages: '@types/express@5.0.5': resolution: {integrity: sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -2826,6 +2957,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/use-sync-external-store@0.0.6': + resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + '@types/validator@13.15.4': resolution: {integrity: sha512-LSFfpSnJJY9wbC0LQxgvfb+ynbHftFo0tMsFOl/J4wexLnYMmDSPaj2ZyDv3TkfL1UePxPrxOWJfbiRS8mQv7A==} @@ -2883,6 +3017,9 @@ packages: resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} deprecated: Potential CWE-502 - Update to 1.3.1 or higher + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} @@ -3593,6 +3730,10 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} @@ -3665,6 +3806,12 @@ packages: core-js@3.46.0: resolution: {integrity: sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + cosmiconfig-typescript-loader@6.3.0: resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} @@ -3742,10 +3889,51 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.34.0: + resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + d3-dispatch@3.0.1: resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} engines: {node: '>=12'} @@ -3754,18 +3942,88 @@ packages: resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} engines: {node: '>=12'} + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + d3-ease@3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + d3-selection@3.0.0: resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} engines: {node: '>=12'} + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + d3-timer@3.0.1: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} @@ -3780,6 +4038,13 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.14: + resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} + data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -3802,6 +4067,9 @@ packages: date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -3823,6 +4091,9 @@ packages: supports-color: optional: true + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} @@ -3863,6 +4134,9 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3934,6 +4208,9 @@ packages: dompurify@3.3.0: resolution: {integrity: sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==} + dompurify@3.4.12: + resolution: {integrity: sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==} + domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -4636,6 +4913,9 @@ packages: h3@1.15.5: resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -4748,6 +5028,9 @@ packages: html-to-image@1.11.11: resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + html-url-attributes@3.0.1: + resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} + html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -4821,6 +5104,9 @@ packages: immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + immer@11.1.15: + resolution: {integrity: sha512-VrNANlmnWQnh5COXIIOQXM9oOJw7naGKlBT74ZOOR6lpVXc3gFEu9FJLDFcpCJ2j+NWr8TIwtWD//T6ZX6TKiQ==} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -4857,6 +5143,13 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + inversify@6.0.1: resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==} @@ -5191,9 +5484,16 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} + hasBin: true + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + klaw-sync@6.0.0: resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} @@ -5220,6 +5520,12 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -5351,6 +5657,11 @@ packages: engines: {node: '>= 18'} hasBin: true + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -5448,6 +5759,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + mermaid@11.16.0: + resolution: {integrity: sha512-Zvm3kbstgdpvIJPPItlL7fppIZ3kibvc1oZIGxdvk9t6UFz6flv+Jw7FtRGKwfcI8OckmH04LqG6LlS6X4B1pA==} + micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -5892,6 +6206,9 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5970,6 +6287,12 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -6137,6 +6460,12 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-markdown@10.1.0: + resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} + peerDependencies: + '@types/react': '>=18' + react: '>=18' + react-mentions-ts@5.4.7: resolution: {integrity: sha512-bTK6joPmyvLckVf1v7vE2xSSeqvL4ZwuzFvGZpt+IrtdDOdFZjiwTUBo5920kiE6WbH/v1PP81xAo6pQ0NQ0Pg==} engines: {node: '>=20'} @@ -6147,6 +6476,18 @@ packages: react-dom: '>=19.0.0' tailwind-merge: '>=3.0.0' + react-redux@9.3.0: + resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} + peerDependencies: + '@types/react': ^18.2.25 || ^19 + react: ^18.0 || ^19 + redux: ^5.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + redux: + optional: true + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -6177,6 +6518,14 @@ packages: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} + recharts@3.10.1: + resolution: {integrity: sha512-QXFrvt6IVcw7eeZCoyXTwkIJAX3Dv1nyVhMicXJ47GsGDDpcN8z6o644DibE9XjpBTThtsomLKnTV6lc+cVFUA==} + engines: {node: '>=18'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -6191,6 +6540,14 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + redux-thunk@3.1.0: + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + peerDependencies: + redux: ^5.0.0 + + redux@5.0.1: + resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} + reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} @@ -6342,6 +6699,9 @@ packages: resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==} engines: {node: '>= 0.8.15'} + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + rollup-plugin-visualizer@7.0.1: resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} engines: {node: '>=22'} @@ -6360,6 +6720,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -6374,6 +6737,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -6684,6 +7050,9 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} @@ -6777,6 +7146,9 @@ packages: tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + 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==} @@ -6855,6 +7227,10 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-dedent@2.3.0: + resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} + engines: {node: '>=6.10'} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -7163,6 +7539,9 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + victory-vendor@37.3.6: + resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} + vite-bundle-analyzer@0.17.1: resolution: {integrity: sha512-ubjLhkuRgOSBNck+6xBbQmjmh8SeLTG4alEM5PX2TNzyGhKLwWlyCz1YG0an3RQnscbhVzSb6kYteoHXhP///A==} hasBin: true @@ -8001,6 +8380,8 @@ snapshots: optionalDependencies: '@types/react': 19.1.8 + '@braintree/sanitize-url@7.1.2': {} + '@bundled-es-modules/deepmerge@4.3.2': dependencies: deepmerge: 4.3.1 @@ -8181,6 +8562,8 @@ snapshots: human-id: 4.1.3 prettier: 2.8.8 + '@chevrotain/types@11.1.2': {} + '@commitlint/cli@21.0.1(@types/node@22.12.0)(conventional-commits-parser@6.4.0)(typescript@5.6.3)': dependencies: '@commitlint/format': 21.0.1 @@ -8769,6 +9152,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@iconify/utils@3.1.4': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + '@img/colour@1.0.0': optional: true @@ -9104,6 +9493,10 @@ snapshots: transitivePeerDependencies: - supports-color + '@mermaid-js/parser@1.2.0': + dependencies: + '@chevrotain/types': 11.1.2 + '@microsoft/api-extractor-model@7.33.8(@types/node@22.12.0)': dependencies: '@microsoft/tsdoc': 0.16.0 @@ -9274,6 +9667,18 @@ snapshots: '@protobufjs/utf8@1.1.0': {} + '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1))(react@19.1.0)': + dependencies: + '@standard-schema/spec': 1.1.0 + '@standard-schema/utils': 0.3.0 + immer: 11.1.15 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.2.0 + optionalDependencies: + react: 19.1.0 + react-redux: 9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1) + '@rollup/pluginutils@5.3.0(rollup@4.57.1)': dependencies: '@types/estree': 1.0.8 @@ -9455,6 +9860,8 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@standard-schema/utils@0.3.0': {} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.7)': dependencies: '@babel/core': 7.26.7 @@ -9499,17 +9906,6 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.7) - '@svgr/core@8.1.0(typescript@5.6.3)': - dependencies: - '@babel/core': 7.26.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.26.7) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.6.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - '@svgr/core@8.1.0(typescript@5.9.3)': dependencies: '@babel/core': 7.26.7 @@ -9526,16 +9922,6 @@ snapshots: '@babel/types': 7.29.0 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))': - dependencies: - '@babel/core': 7.26.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.26.7) - '@svgr/core': 8.1.0(typescript@5.6.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))': dependencies: '@babel/core': 7.26.7 @@ -9772,18 +10158,81 @@ snapshots: dependencies: '@types/node': 22.12.0 + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + '@types/d3-color@3.1.3': {} + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + '@types/d3-drag@3.0.7': dependencies: '@types/d3-selection': 3.0.11 + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + '@types/d3-interpolate@3.0.4': dependencies: '@types/d3-color': 3.1.3 + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.4': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + '@types/d3-selection@3.0.11': {} + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + '@types/d3-transition@3.0.9': dependencies: '@types/d3-selection': 3.0.11 @@ -9793,6 +10242,39 @@ snapshots: '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.11 + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.4 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -9828,6 +10310,8 @@ snapshots: '@types/express-serve-static-core': 5.1.0 '@types/serve-static': 1.15.10 + '@types/geojson@7946.0.16': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -9905,6 +10389,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/use-sync-external-store@0.0.6': {} + '@types/validator@13.15.4': {} '@types/yauzl@2.10.3': @@ -9991,6 +10477,11 @@ snapshots: '@ungap/structured-clone@1.3.0': {} + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + '@vercel/oidc@3.2.0': {} '@vitejs/plugin-react@4.3.4(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': @@ -10921,6 +11412,8 @@ snapshots: commander@7.2.0: {} + commander@8.3.0: {} + common-ancestor-path@1.0.1: {} compare-func@2.0.0: @@ -10984,6 +11477,14 @@ snapshots: core-js@3.46.0: optional: true + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + cosmiconfig-typescript-loader@6.3.0(@types/node@22.12.0)(cosmiconfig@9.0.1(typescript@5.6.3))(typescript@5.6.3): dependencies: '@types/node': 22.12.0 @@ -10991,15 +11492,6 @@ snapshots: jiti: 2.6.1 typescript: 5.6.3 - cosmiconfig@8.3.6(typescript@5.6.3): - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.6.3 - cosmiconfig@8.3.6(typescript@5.9.3): dependencies: import-fresh: 3.3.0 @@ -11075,8 +11567,50 @@ snapshots: csstype@3.1.3: {} + cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.34.0 + + cytoscape-fcose@2.2.0(cytoscape@3.34.0): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.34.0 + + cytoscape@3.34.0: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + d3-color@3.1.0: {} + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.1.0 + d3-dispatch@3.0.1: {} d3-drag@3.0.0: @@ -11084,14 +11618,82 @@ snapshots: d3-dispatch: 3.0.1 d3-selection: 3.0.0 + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + d3-ease@3.0.1: {} + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.2: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-selection@3.0.0: {} + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + d3-timer@3.0.1: {} d3-transition@3.0.1(d3-selection@3.0.0): @@ -11111,6 +11713,44 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.14: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.21 + data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 @@ -11138,6 +11778,8 @@ snapshots: date-fns@4.1.0: {} + dayjs@1.11.21: {} + de-indent@1.0.2: {} debug@4.4.0: @@ -11148,6 +11790,8 @@ snapshots: dependencies: ms: 2.1.3 + decimal.js-light@2.5.1: {} + decimal.js@10.5.0: {} decode-named-character-reference@1.3.0: @@ -11183,6 +11827,10 @@ snapshots: defu@6.1.4: {} + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + delayed-stream@1.0.0: {} depd@2.0.0: {} @@ -11241,6 +11889,10 @@ snapshots: '@types/trusted-types': 2.0.7 optional: true + dompurify@3.4.12: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -12121,6 +12773,8 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 + hachure-fill@0.5.2: {} + has-bigints@1.1.0: {} has-flag@4.0.0: {} @@ -12350,6 +13004,8 @@ snapshots: html-to-image@1.11.11: {} + html-url-attributes@3.0.1: {} + html-void-elements@3.0.0: {} html-whitespace-sensitive-tag-names@3.0.1: {} @@ -12399,7 +13055,7 @@ snapshots: i18next-browser-languagedetector@8.0.5: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.29.7 i18next@23.16.8: dependencies: @@ -12425,6 +13081,8 @@ snapshots: immer@10.1.1: {} + immer@11.1.15: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -12452,6 +13110,10 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 + internmap@1.0.1: {} + + internmap@2.0.3: {} + inversify@6.0.1: {} iobuffer@5.4.0: {} @@ -12806,10 +13468,16 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 + katex@0.16.47: + dependencies: + commander: 8.3.0 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 + khroma@2.1.0: {} + klaw-sync@6.0.0: dependencies: graceful-fs: 4.2.11 @@ -12840,6 +13508,10 @@ snapshots: kolorist@1.8.0: {} + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + levn@0.3.0: dependencies: prelude-ls: 1.1.2 @@ -12975,6 +13647,8 @@ snapshots: marked@15.0.12: {} + marked@16.4.2: {} + math-intrinsics@1.1.0: {} md5@2.3.0: @@ -13201,6 +13875,30 @@ snapshots: merge2@1.4.1: {} + mermaid@11.16.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.4 + '@mermaid-js/parser': 1.2.0 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.34.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0) + cytoscape-fcose: 2.2.0(cytoscape@3.34.0) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.21 + dompurify: 3.4.12 + es-toolkit: 1.46.1 + katex: 0.16.47 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.3.0 + uuid: 11.1.0 + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -13856,6 +14554,8 @@ snapshots: path-browserify@1.0.1: {} + path-data-parser@0.1.0: {} + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -13915,6 +14615,13 @@ snapshots: pluralize@8.0.0: {} + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + possible-typed-array-names@1.0.0: {} postcss-calc-ast-parser@0.1.4: @@ -14080,6 +14787,24 @@ snapshots: react-is@17.0.2: {} + react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0): + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/react': 19.1.8 + devlop: 1.1.0 + hast-util-to-jsx-runtime: 2.3.6 + html-url-attributes: 3.0.1 + mdast-util-to-hast: 13.2.1 + react: 19.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + unified: 11.0.5 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + react-mentions-ts@5.4.7(class-variance-authority@0.7.1)(clsx@2.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwind-merge@3.5.0): dependencies: class-variance-authority: 0.7.1 @@ -14088,6 +14813,15 @@ snapshots: react-dom: 19.1.0(react@19.1.0) tailwind-merge: 3.5.0 + react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1): + dependencies: + '@types/use-sync-external-store': 0.0.6 + react: 19.1.0 + use-sync-external-store: 1.6.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.8 + redux: 5.0.1 + react-refresh@0.14.2: {} react-textarea-autosize@8.5.9(@types/react@19.1.8)(react@19.1.0): @@ -14116,6 +14850,26 @@ snapshots: readdirp@5.0.0: {} + recharts@3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(redux@5.0.1): + dependencies: + '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1))(react@19.1.0) + clsx: 2.1.1 + decimal.js-light: 2.5.1 + es-toolkit: 1.46.1 + eventemitter3: 5.0.1 + immer: 11.1.15 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-is: 17.0.2 + react-redux: 9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1) + reselect: 5.2.0 + tiny-invariant: 1.3.3 + use-sync-external-store: 1.6.0(react@19.1.0) + victory-vendor: 37.3.6 + transitivePeerDependencies: + - '@types/react' + - redux + recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -14145,6 +14899,12 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + redux-thunk@3.1.0(redux@5.0.1): + dependencies: + redux: 5.0.1 + + redux@5.0.1: {} + reflect-metadata@0.1.13: {} reflect.getprototypeof@1.0.10: @@ -14367,6 +15127,8 @@ snapshots: rgbcolor@1.0.1: optional: true + robust-predicates@3.0.3: {} + rollup-plugin-visualizer@7.0.1(rollup@4.57.1): dependencies: open: 11.0.0 @@ -14407,6 +15169,13 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + router@2.2.0: dependencies: debug: 4.4.3 @@ -14425,6 +15194,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rw@1.3.3: {} + rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -14828,6 +15599,8 @@ snapshots: dependencies: inline-style-parser: 0.2.7 + stylis@4.4.0: {} + suf-log@2.5.3: dependencies: s.color: 0.0.15 @@ -14921,6 +15694,8 @@ snapshots: tiny-inflate@1.0.3: {} + tiny-invariant@1.3.3: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -14976,6 +15751,8 @@ snapshots: dependencies: typescript: 5.6.3 + ts-dedent@2.3.0: {} + tsconfck@3.1.6(typescript@5.6.3): optionalDependencies: typescript: 5.6.3 @@ -15263,6 +16040,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 + victory-vendor@37.3.6: + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-ease': 3.0.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-scale': 4.0.9 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-timer': 3.0.2 + d3-array: 3.2.4 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-scale: 4.0.2 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-timer: 3.0.1 + vite-bundle-analyzer@0.17.1: {} vite-node@3.0.4(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4): @@ -15340,17 +16134,6 @@ snapshots: picocolors: 1.1.1 vite: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-svgr@4.3.0(rollup@4.57.1)(typescript@5.6.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): - dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.57.1) - '@svgr/core': 8.1.0(typescript@5.6.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) - vite: 6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) - transitivePeerDependencies: - - rollup - - supports-color - - typescript - vite-plugin-svgr@4.3.0(rollup@4.57.1)(typescript@5.9.3)(vite@6.4.1(@types/node@22.12.0)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.57.1) From 89cea811dbd461dbd527ddd60bdfd9270b6d1f0b Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Thu, 30 Jul 2026 19:25:19 +0200 Subject: [PATCH 04/24] fix(sdk): externalize @base-ui/react and @phosphor-icons/react from bundle @workflowbuilder/ui is bundled (not externalized) into the SDK, so @base-ui/react was being inlined transitively into dist/index.js even though the SDK never imports it directly. @phosphor-icons/react was already a direct SDK dependency but was likewise getting bundled a second time on top of the copy demo/ai-studio install directly. Add both to the SDK's Vite external list and move @base-ui/react from devDependencies to dependencies, mirroring the treatment already used for i18next/jsonforms/immer/zustand and matching how packages/ui declares them. --- packages/sdk/package.json | 2 +- packages/sdk/vite.config.mts | 20 ++++++++++++++------ pnpm-lock.yaml | 6 +++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 1c7da9b84..e91c2ffa2 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -70,6 +70,7 @@ "zustand": "^5.0.0" }, "dependencies": { + "@base-ui/react": "catalog:", "@cfworker/json-schema": "4.1.1", "@fontsource/poppins": "^5.2.7", "@jsonforms/core": "^3.4.0", @@ -89,7 +90,6 @@ "remeda": "^2.19.2" }, "devDependencies": { - "@base-ui/react": "catalog:", "@testing-library/react": "^16.3.0", "@types/react": "catalog:", "@vitejs/plugin-react": "^4.3.4", diff --git a/packages/sdk/vite.config.mts b/packages/sdk/vite.config.mts index 7922a95d0..73b5ad415 100644 --- a/packages/sdk/vite.config.mts +++ b/packages/sdk/vite.config.mts @@ -18,12 +18,18 @@ import svgr from 'vite-plugin-svgr'; // This list is INTENTIONALLY broader than `peerDependencies`. Only the // libraries a consumer touches directly (react, react-dom, @xyflow/react, // zustand) are peers; the rest (the JsonForms packages, immer, the -// i18next family) are regular `dependencies` so consumers don't have -// to install them by hand. Keeping the latter externalized (not bundled) -// still lets package managers dedupe them to a single copy via the caret -// ranges — bundling would instead hard-code a second copy and reintroduce -// the singleton hazards above. So: externalize all of them, but only -// declare the consumer-facing ones as peers. +// i18next family, @base-ui/react, @phosphor-icons/react) are regular +// `dependencies` so consumers don't have to install them by hand. Keeping +// the latter externalized (not bundled) still lets package managers dedupe +// them to a single copy via the caret ranges — bundling would instead +// hard-code a second copy and reintroduce the singleton hazards above. So: +// externalize all of them, but only declare the consumer-facing ones as +// peers. +// @base-ui/react and @phosphor-icons/react are here even though the SDK +// only imports @phosphor-icons/react directly — @base-ui/react is pulled +// in transitively through the bundled @workflowbuilder/ui and would +// otherwise get inlined a second time alongside the copy @workflowbuilder/ui +// (or the consumer app) already ships. // Anything not on this list (clsx, notistack, remeda, ace-builds, // react-ace, react-mentions-ts, ajv, …) is small enough or // SDK-internal enough that bundling is fine. @@ -38,6 +44,8 @@ const EXTERNAL_PACKAGES = [ 'react-i18next', 'immer', 'zustand', + '@base-ui/react', + '@phosphor-icons/react', ]; const isExternalPackage = (id: string) => diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 924f8ad3e..eb6ff0e5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -462,6 +462,9 @@ importers: packages/sdk: dependencies: + '@base-ui/react': + specifier: 'catalog:' + version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@cfworker/json-schema': specifier: 4.1.1 version: 4.1.1 @@ -523,9 +526,6 @@ importers: specifier: ^2.19.2 version: 2.20.0 devDependencies: - '@base-ui/react': - specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@testing-library/react': specifier: ^16.3.0 version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.1.1(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) From 897511efcea9adb02897dc7534467f8c3aaaee41 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Thu, 30 Jul 2026 19:25:32 +0200 Subject: [PATCH 05/24] fix(sdk): repoint dead modal CSS selectors at Base UI signal The datepicker z-index fix (index.css) and the variable-suggestions backdrop suppression (variable-text.module.css) both keyed off `.base-Modal-root` and `.mantine-Popover-dropdown`, class names from the retired MUI Base + Mantine modal/popover. Neither selector matched anything after the Base UI migration, silently reintroducing both bugs: a datepicker opened inside a modal rendered behind it, and the variable-suggestions backdrop no longer disappeared when a modal opened on top of it. ModalProvider now toggles a `wb-modal-open` class on whenever the SDK's modal store has a modal open - a stable signal owned by the SDK rather than coupled to @workflowbuilder/ui's internal markup. Both selectors are repointed at it; the datepicker fix additionally keys off Base UI's own `[data-open]` popup attribute, since the DatePicker's popover class is a hashed CSS module class internal to @workflowbuilder/ui. --- .../features/modals/providers/modal-provider.tsx | 14 ++++++++++++++ .../variable-text/variable-text.module.css | 7 ++++++- packages/sdk/src/index.css | 13 ++++++++----- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/packages/sdk/src/features/modals/providers/modal-provider.tsx b/packages/sdk/src/features/modals/providers/modal-provider.tsx index a53f5aa61..e4453a101 100644 --- a/packages/sdk/src/features/modals/providers/modal-provider.tsx +++ b/packages/sdk/src/features/modals/providers/modal-provider.tsx @@ -1,12 +1,26 @@ import { Modal } from '@workflowbuilder/ui'; +import { useEffect } from 'react'; import { createPortal } from 'react-dom'; import { closeModal, useModalStore } from '../stores/use-modal-store'; +// Stable "a modal is open" signal for CSS that lives outside this component +// (e.g. index.css, variable-text.module.css). Toggled here rather than read +// off Base UI's Dialog internals so those selectors don't depend on +// @workflowbuilder/ui's markup. +const MODAL_OPEN_BODY_CLASS = 'wb-modal-open'; + export function ModalProvider() { const isOpen = useModalStore((state) => state.isOpen); const modal = useModalStore((state) => state.modal); + useEffect(() => { + document.body.classList.toggle(MODAL_OPEN_BODY_CLASS, isOpen); + return () => { + document.body.classList.remove(MODAL_OPEN_BODY_CLASS); + }; + }, [isOpen]); + if (!isOpen || !modal) { return null; } diff --git a/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css b/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css index 1db39b970..278db65b9 100644 --- a/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css +++ b/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css @@ -131,7 +131,12 @@ body:has(.suggestionsContainer) { z-index: 200; } - &:has(:global(.base-Modal-root))::before { + /* Suppress this backdrop when a modal is also open — the modal has its + own backdrop, and `wb-modal-open` (toggled on by ModalProvider + whenever the SDK's modal store is open) is the stable "a modal is + open" signal; the old MUI/Mantine modal root class it used to key off + no longer exists in the Base UI modal. */ + &:global(.wb-modal-open)::before { display: none; } } diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index 76910d64b..5050d9da3 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -93,9 +93,12 @@ } } -/* Shows date picker over modal */ -body:has(.base-Modal-root) { - .mantine-Popover-dropdown { - z-index: 1001 !important; - } +/* Shows date picker (and any other Base UI popover) over an open modal. + `.wb-modal-open` is toggled on by ModalProvider whenever the SDK's + modal store is open; `[data-open]` is Base UI's own "popup is open" data + attribute, present on Popover.Popup/Menu.Popup/Select.Popup/etc. while + visible. Without this, a popover opened from inside a modal (e.g. the + DatePicker calendar) renders behind the modal's stacking context. */ +body.wb-modal-open [data-open] { + z-index: 1002 !important; } From fa836d84f15ae83bd61be079e8c8b41c3f9dda12 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Thu, 30 Jul 2026 19:25:48 +0200 Subject: [PATCH 06/24] docs(changeset): clarify Base UI DOM changes and dependency shape Update the move-ui-library-in-repo changeset: @base-ui/react is now a regular dependency of the SDK rather than an inlined implementation detail, and note explicitly that internal DOM structure and class names of the bundled UI changed (MUI Base + Mantine -> Base UI), so consumer styles or tests written against internal class names may need updating. Stays a minor bump. --- .changeset/move-ui-library-in-repo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/move-ui-library-in-repo.md b/.changeset/move-ui-library-in-repo.md index 4a5cdfec7..5b32dfdc8 100644 --- a/.changeset/move-ui-library-in-repo.md +++ b/.changeset/move-ui-library-in-repo.md @@ -4,4 +4,4 @@ Consume the UI component library from the in-repo `@workflowbuilder/ui` (Base UI) instead of the published `@synergycodes/overflow-ui`. -The SDK previously bundled `@synergycodes/overflow-ui@1.0.0-beta.27` (built on MUI / Mantine / Emotion / Floating UI). It now bundles the in-repo `@workflowbuilder/ui@2.0.0`, rebuilt on [Base UI](https://base-ui.com/), together with `@base-ui/react` (both are inlined into the SDK bundle, so SDK consumers gain no new peer dependency). Bundled component visuals and interaction details change accordingly; the SDK's own public API surface is unchanged. +The SDK previously bundled `@synergycodes/overflow-ui@1.0.0-beta.27` (built on MUI / Mantine / Emotion / Floating UI). It now bundles the in-repo `@workflowbuilder/ui@2.0.0`, rebuilt on [Base UI](https://base-ui.com/). `@base-ui/react` is now a regular dependency of the SDK (installed automatically, not bundled) rather than an inlined implementation detail. Bundled component visuals and interaction details change accordingly; the SDK's own public API surface is unchanged, but the internal DOM structure and class names of all bundled UI changed (MUI Base + Mantine → Base UI) — styles or tests written against those internal class names may need updating. From 3eea563998566f95ab3dba3fc05cb1a936e65ce0 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 13:21:46 +0200 Subject: [PATCH 07/24] fix(sdk): declare layer order in module stylesheets using ui.component Three SDK stylesheets open @layer ui.component without declaring the ui.base/ui.component order first. Module-graph order currently loads the declaration earlier by luck; an import reorder or dynamic import would register ui.component first and invert the cascade inside the ui layer - react-day-picker's raw defaults would then beat the calendar theming. Duplicate order statements are no-ops, so the prepends are free. --- .../form-control-with-label/form-control-with-label.module.css | 2 ++ packages/sdk/src/components/form/label/label.module.css | 2 ++ packages/sdk/src/components/sidebar/sidebar.module.css | 2 ++ 3 files changed, 6 insertions(+) diff --git a/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.module.css b/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.module.css index 17abb2db4..24b742f09 100644 --- a/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.module.css +++ b/packages/sdk/src/components/form/form-control-with-label/form-control-with-label.module.css @@ -1,3 +1,5 @@ +@layer ui.base, ui.component; + @layer ui.component { .container { display: flex; diff --git a/packages/sdk/src/components/form/label/label.module.css b/packages/sdk/src/components/form/label/label.module.css index cdd818c0b..8a2abf294 100644 --- a/packages/sdk/src/components/form/label/label.module.css +++ b/packages/sdk/src/components/form/label/label.module.css @@ -1,3 +1,5 @@ +@layer ui.base, ui.component; + :root { --ax-public-form-label-color: var(--ax-txt-secondary-default); --ax-public-form-label-asterisk-color: var(--ax-txt-error-default); diff --git a/packages/sdk/src/components/sidebar/sidebar.module.css b/packages/sdk/src/components/sidebar/sidebar.module.css index 81c87626b..5f1add45b 100644 --- a/packages/sdk/src/components/sidebar/sidebar.module.css +++ b/packages/sdk/src/components/sidebar/sidebar.module.css @@ -1,3 +1,5 @@ +@layer ui.base, ui.component; + @layer ui.component { .sidebar { height: min-content; From 443a4e986c3ab610963c06ddab4ccabf1cef13c4 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 13:54:39 +0200 Subject: [PATCH 08/24] fix(ai-studio): pin react-is to the react 19 line for recharts Removing the overflow-ui/MUI subtree left react-is resolvable only from stale transitive copies, and pnpm rewired recharts' react-is peer to 17.0.2 (supplied by a vitest transitive). react-is 17 does not know React 19 element symbols, so isFragment() is always false and fragment children inside charts would be silently dropped. Pinned in the catalog next to react/react-dom (must move in lockstep) and declared by ai-studio to steer the peer resolution. --- apps/ai-studio/package.json | 1 + pnpm-lock.yaml | 17 ++++++++++++++--- pnpm-workspace.yaml | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/apps/ai-studio/package.json b/apps/ai-studio/package.json index c9e73707b..64ea356bd 100644 --- a/apps/ai-studio/package.json +++ b/apps/ai-studio/package.json @@ -25,6 +25,7 @@ "immer": "^10.1.1", "mermaid": "^11.15.0", "react": "^19.1.0", + "react-is": "catalog:", "react-dom": "catalog:", "react-i18next": "^15.4.1", "react-markdown": "^10.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb6ff0e5d..b8b3a034c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,6 +30,9 @@ catalogs: react-dom: specifier: 19.1.0 version: 19.1.0 + react-is: + specifier: 19.1.0 + version: 19.1.0 importers: @@ -143,12 +146,15 @@ importers: react-i18next: specifier: ^15.4.1 version: 15.4.1(i18next@24.2.3(typescript@5.9.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-is: + specifier: 'catalog:' + version: 19.1.0 react-markdown: specifier: ^10.1.0 version: 10.1.0(@types/react@19.1.8)(react@19.1.0) recharts: specifier: ^3.9.0 - version: 3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(redux@5.0.1) + version: 3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@19.1.0)(react@19.1.0)(redux@5.0.1) remark-gfm: specifier: ^4.0.1 version: 4.0.1 @@ -6460,6 +6466,9 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-is@19.1.0: + resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} + react-markdown@10.1.0: resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} peerDependencies: @@ -14787,6 +14796,8 @@ snapshots: react-is@17.0.2: {} + react-is@19.1.0: {} + react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0): dependencies: '@types/hast': 3.0.4 @@ -14850,7 +14861,7 @@ snapshots: readdirp@5.0.0: {} - recharts@3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(redux@5.0.1): + recharts@3.10.1(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-is@19.1.0)(react@19.1.0)(redux@5.0.1): dependencies: '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1))(react@19.1.0) clsx: 2.1.1 @@ -14860,7 +14871,7 @@ snapshots: immer: 11.1.15 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-is: 17.0.2 + react-is: 19.1.0 react-redux: 9.3.0(@types/react@19.1.8)(react@19.1.0)(redux@5.0.1) reselect: 5.2.0 tiny-invariant: 1.3.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index acb41cb41..510c615c4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,6 +16,8 @@ catalog: 'react': 19.1.0 '@types/react': 19.1.8 'react-dom': 19.1.0 + # Must match react - bump together. + 'react-is': 19.1.0 'ajv': ^8.18.0 useNodeVersion: 22.12.0 From 27c6c5af880b66fa4c358f7554163be637ac61ca Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 14:00:30 +0200 Subject: [PATCH 09/24] docs(sdk): shorten the modal-backdrop suppression comment --- .../components/variable-text/variable-text.module.css | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css b/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css index 278db65b9..4794b78fc 100644 --- a/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css +++ b/packages/sdk/src/features/variables/components/variable-text/variable-text.module.css @@ -131,11 +131,7 @@ body:has(.suggestionsContainer) { z-index: 200; } - /* Suppress this backdrop when a modal is also open — the modal has its - own backdrop, and `wb-modal-open` (toggled on by ModalProvider - whenever the SDK's modal store is open) is the stable "a modal is - open" signal; the old MUI/Mantine modal root class it used to key off - no longer exists in the Base UI modal. */ + /* Modal already dims the page; don't stack a second backdrop. */ &:global(.wb-modal-open)::before { display: none; } From 280f9816064de4af2a1d50e094a9f2c01ed5403f Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 15:50:52 +0200 Subject: [PATCH 10/24] fix(sdk): keep the modal dialog mounted so enter/exit transitions run ModalProvider mounted Dialog.Root conditionally: it appeared with open already true and unmounted on close, so Base UI's transition lifecycle (data-starting-style / data-ending-style) never ran in either direction - on every Base UI version. The root now stays mounted with open driving it, and the last modal content is retained through the exit transition because the store clears it on close. --- .../modals/providers/modal-provider.tsx | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/packages/sdk/src/features/modals/providers/modal-provider.tsx b/packages/sdk/src/features/modals/providers/modal-provider.tsx index e4453a101..465d6f803 100644 --- a/packages/sdk/src/features/modals/providers/modal-provider.tsx +++ b/packages/sdk/src/features/modals/providers/modal-provider.tsx @@ -1,5 +1,5 @@ import { Modal } from '@workflowbuilder/ui'; -import { useEffect } from 'react'; +import { useEffect, useRef } from 'react'; import { createPortal } from 'react-dom'; import { closeModal, useModalStore } from '../stores/use-modal-store'; @@ -14,6 +14,16 @@ export function ModalProvider() { const isOpen = useModalStore((state) => state.isOpen); const modal = useModalStore((state) => state.modal); + // The store clears `modal` on close; keep the last one so the content + // stays visible through the exit transition. + const lastModalRef = useRef(modal); + + useEffect(() => { + if (modal) { + lastModalRef.current = modal; + } + }, [modal]); + useEffect(() => { document.body.classList.toggle(MODAL_OPEN_BODY_CLASS, isOpen); return () => { @@ -21,24 +31,24 @@ export function ModalProvider() { }; }, [isOpen]); - if (!isOpen || !modal) { - return null; - } + const activeModal = modal ?? lastModalRef.current; + // Keep the Modal (its Dialog.Root) always mounted: enter/exit transitions + // only run when `open` toggles on an already-mounted root. return ( <> {createPortal( - {modal.content} + {activeModal?.content} , document.body, )} From 88c86daf285b9e477f756d9d3d17cfde309a42a7 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 16:01:59 +0200 Subject: [PATCH 11/24] build: bump @base-ui/react to the 1.7 line The 1.4.1 pin guarded against a modal-fade regression attributed to Base UI 1.6; the fade was actually broken by the SDK's own conditional Dialog mounting (fixed in the previous commit) on every version. Caret range in the catalog restores dependency dedupe for npm consumers of the published packages; the workspace stays locked to an exact version via the lockfile. --- pnpm-lock.yaml | 83 ++++++++++++++++++++------------------------- pnpm-workspace.yaml | 6 ++-- 2 files changed, 39 insertions(+), 50 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b8b3a034c..f2769ddd3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,8 +7,8 @@ settings: catalogs: default: '@base-ui/react': - specifier: 1.4.1 - version: 1.4.1 + specifier: ^1.7.0 + version: 1.7.0 '@phosphor-icons/core': specifier: ^2.1.1 version: 2.1.1 @@ -106,7 +106,7 @@ importers: dependencies: '@base-ui/react': specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.7.0(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@jsonforms/core': specifier: ^3.4.1 version: 3.5.1 @@ -234,7 +234,7 @@ importers: dependencies: '@base-ui/react': specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.7.0(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@jsonforms/core': specifier: ^3.4.1 version: 3.5.1 @@ -470,7 +470,7 @@ importers: dependencies: '@base-ui/react': specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.7.0(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@cfworker/json-schema': specifier: 4.1.1 version: 4.1.1 @@ -599,7 +599,7 @@ importers: dependencies: '@base-ui/react': specifier: 'catalog:' - version: 1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.7.0(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@phosphor-icons/react': specifier: 'catalog:' version: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -915,8 +915,8 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@base-ui/react@1.4.1': - resolution: {integrity: sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==} + '@base-ui/react@1.7.0': + resolution: {integrity: sha512-j+8QjX44C32jrXD/qyEAGpFr70FRpGL2CY61mQd9nBPWN737CK0xxD1ceJ055rW4RtdvFDT1e7otzdlfxvsYug==} engines: {node: '>=14.0.0'} peerDependencies: '@date-fns/tz': ^1.2.0 @@ -932,8 +932,8 @@ packages: date-fns: optional: true - '@base-ui/utils@0.2.8': - resolution: {integrity: sha512-jvOi+c+ftGlGotNcKnzPVg2IhCaDTB6/6R3JeqdjdXktuAJi3wKH9T7+svuaKh1mmfVU11UWzUZVH74JDfi/wQ==} + '@base-ui/utils@0.3.2': + resolution: {integrity: sha512-oWy1aq/I2GmYjpl4PhEAhzflF8VPGKgZeq0xAWTbfD5KBWyxcN0ZP2+WHSUm/5Z6lVMBDLReLcoXwSYoRc/zNQ==} peerDependencies: '@types/react': ^17 || ^18 || ^19 react: ^17 || ^18 || ^19 @@ -1686,20 +1686,20 @@ packages: '@expressive-code/plugin-text-markers@0.41.7': resolution: {integrity: sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==} - '@floating-ui/core@1.7.5': - resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@floating-ui/dom@1.7.6': - resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@floating-ui/react-dom@2.1.8': - resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.11': - resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} '@fontsource/poppins@5.2.7': resolution: {integrity: sha512-6uQyPmseo4FgI97WIhA4yWRlNaoLk4vSDK/PyRwdqqZb5zAEuc+Kunt8JTMcsHYUEGYBtN15SNkMajMdqUSUmg==} @@ -7505,11 +7505,6 @@ packages: '@types/react': optional: true - use-sync-external-store@1.4.0: - resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - use-sync-external-store@1.6.0: resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: @@ -8364,12 +8359,12 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@base-ui/react@1.4.1(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@base-ui/react@1.7.0(@date-fns/tz@1.5.0)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.29.7 - '@base-ui/utils': 0.2.8(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@floating-ui/react-dom': 2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@floating-ui/utils': 0.2.11 + '@base-ui/utils': 0.3.2(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@floating-ui/react-dom': 2.1.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@floating-ui/utils': 0.2.12 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) use-sync-external-store: 1.6.0(react@19.1.0) @@ -8378,10 +8373,10 @@ snapshots: '@types/react': 19.1.8 date-fns: 4.1.0 - '@base-ui/utils@0.2.8(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@base-ui/utils@0.3.2(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.29.7 - '@floating-ui/utils': 0.2.11 + '@floating-ui/utils': 0.2.12 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) reselect: 5.2.0 @@ -9072,22 +9067,22 @@ snapshots: dependencies: '@expressive-code/core': 0.41.7 - '@floating-ui/core@1.7.5': + '@floating-ui/core@1.8.0': dependencies: - '@floating-ui/utils': 0.2.11 + '@floating-ui/utils': 0.2.12 - '@floating-ui/dom@1.7.6': + '@floating-ui/dom@1.8.0': dependencies: - '@floating-ui/core': 1.7.5 - '@floating-ui/utils': 0.2.11 + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - '@floating-ui/react-dom@2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@floating-ui/dom': 1.7.6 + '@floating-ui/dom': 1.8.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@floating-ui/utils@0.2.11': {} + '@floating-ui/utils@0.2.12': {} '@fontsource/poppins@5.2.7': {} @@ -9458,14 +9453,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.29.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.29.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -11248,7 +11243,7 @@ snapshots: canvg@3.0.11: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.29.7 '@types/raf': 3.4.3 core-js: 3.46.0 raf: 3.4.1 @@ -13068,7 +13063,7 @@ snapshots: i18next@23.16.8: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.29.7 i18next@24.2.3(typescript@5.9.3): dependencies: @@ -16003,10 +15998,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.8 - use-sync-external-store@1.4.0(react@19.1.0): - dependencies: - react: 19.1.0 - use-sync-external-store@1.6.0(react@19.1.0): dependencies: react: 19.1.0 @@ -16550,7 +16541,7 @@ snapshots: zustand@4.5.6(@types/react@19.1.8)(immer@10.1.1)(react@19.1.0): dependencies: - use-sync-external-store: 1.4.0(react@19.1.0) + use-sync-external-store: 1.6.0(react@19.1.0) optionalDependencies: '@types/react': 19.1.8 immer: 10.1.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 510c615c4..8540ed98b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,10 +3,8 @@ packages: - './packages/*' catalog: - # Pinned to the version the component library was validated against. Base UI - # changed Dialog/Popup transition behaviour after 1.4.x (1.6 broke the modal - # backdrop fade), so bump only after re-checking modal/menu/tooltip transitions. - '@base-ui/react': 1.4.1 + # Bump = visual pass over overlay transitions. + '@base-ui/react': ^1.7.0 '@phosphor-icons/core': ^2.1.1 '@phosphor-icons/react': ^2.1.7 '@xyflow/react': 12.10.0 From 8d5c53fe7b6a413c16ea6989bab85a228dc5f36e Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 17:05:41 +0200 Subject: [PATCH 12/24] perf(sdk): stop bundling @workflowbuilder/ui CSS twice dist/style.css carried every ui rule twice: once through the explicit @import of ui's index.css and once through the JS module graph (each bundled ui chunk carries a libInjectCss-injected CSS import). The JS graph vector stays - it also tree-shakes CSS of components the SDK does not use; the redundant @import goes. Verified by marker counts halving in the rebuilt bundle (typography 24 -> 12) and a visual pass on demo. --- packages/sdk/src/index.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index 5050d9da3..56d8e0c82 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -24,9 +24,10 @@ /* 3. Design tokens */ @import '@workflowbuilder/ui/tokens.css'; -/* 4. External component CSS */ +/* 4. External component CSS. @workflowbuilder/ui styles arrive through the + JS module graph (libInjectCss imports in its chunks) - importing its + index.css here would bundle every rule twice. */ @import '@xyflow/react/dist/style.css'; -@import '@workflowbuilder/ui/index.css'; /* 5. Sub-layer order inside `ui` — must come AFTER @imports (has a body, so the spec classifies it as a statement that closes the @import prelude). */ From e39f3c1893ff94e45cd1975a91723098e4bf40b8 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 17:38:00 +0200 Subject: [PATCH 13/24] docs: note that app builds consume the prebuilt packages/ui dist --- CLAUDE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 6788454bb..b06383bb2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,6 +24,8 @@ Three onboarding paths (A installs from npm; B, C run the repo locally). README Path B is UI-only and does not need Docker. Path C requires `pnpm infra:up` before backend/worker can start; the backend applies pending migrations automatically at boot. +App builds and dev servers consume the prebuilt `packages/ui/dist` (created on install). After editing `packages/ui/src`, run `pnpm build:ui` (or keep `pnpm --filter @workflowbuilder/ui dev` watching) - app commands do not rebuild it. + ### Agent signals Long-running processes already emit stable log lines that scripts and agents can grep for: From acebed9bcf705371badd5e83c19045a41b9a73f2 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 17:51:01 +0200 Subject: [PATCH 14/24] docs(sdk): extend the archival banner over the UI-library swap and fix token paths The decision log's sections 3-4 describe the overflow-ui Vite alias and import layout as current; the banner now covers the swap to the in-repo library and corrects the disproven CSS-extraction claim. The token doc pointed readers into a node_modules symlink instead of packages/ui/dist. --- docs/how-to-change-css-tokens.md | 2 +- packages/sdk/DECISION-LOG.md | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/how-to-change-css-tokens.md b/docs/how-to-change-css-tokens.md index 9c6ee007b..6bdc1d10f 100644 --- a/docs/how-to-change-css-tokens.md +++ b/docs/how-to-change-css-tokens.md @@ -2,6 +2,6 @@ You can use our enterprise version with available figma design kit. We store tokens (colors) in `packages/sdk/src/index.css`, you'll find a CSS import: `@import '@workflowbuilder/ui/tokens.css';` with our figma you replace that import with generated from figma desing kit. -Alternatively, if you want to stay with community version and do not pay for the licenses, you can look inside `node_modules` at `packages/sdk/node_modules/@workflowbuilder/ui/dist/tokens.css`, check the variable names, and manually set some or all of the colors in your repository to overwrite them. +Alternatively, if you want to stay with community version and do not pay for the licenses, you can open `packages/ui/dist/tokens.css` (generated by `packages/tokens` from the checked-in Figma export), check the variable names, and manually set some or all of the colors in your repository to overwrite them. `@workflowbuilder/ui` is our in-repo library for UI elements, living at `packages/ui`. diff --git a/packages/sdk/DECISION-LOG.md b/packages/sdk/DECISION-LOG.md index 297eb09ec..167826c13 100644 --- a/packages/sdk/DECISION-LOG.md +++ b/packages/sdk/DECISION-LOG.md @@ -11,7 +11,13 @@ > ``. References below to `Editor`, `createWorkflowBuilder`, > `WorkflowBuilderConfig`, `WorkflowBuilderInstance` describe symbols that no > longer exist; see current SDK exports in `packages/sdk/src/index.ts` for the -> post-refactor surface. The notes are retained for historical context only. +> post-refactor surface. The UI library was later swapped from the npm package +> `@synergycodes/overflow-ui` to the in-repo `@workflowbuilder/ui`: the +> `overflow-ui-css` Vite alias and the `@import` layout in sections 3-4 no +> longer exist, and the "Vite doesn't extract CSS from bundled node_modules" +> claim in section 3 turned out to be false (bundled chunk CSS imports ARE +> extracted - the SDK now relies on exactly that). The notes are retained for +> historical context only. ## Context From 3c55273dedbf8f82a7a77d7d3d886e73209a389d Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 17:56:29 +0200 Subject: [PATCH 15/24] docs(changeset): cover derived type shapes and the restored modal fade --- .changeset/move-ui-library-in-repo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/move-ui-library-in-repo.md b/.changeset/move-ui-library-in-repo.md index 5b32dfdc8..b8dd6b002 100644 --- a/.changeset/move-ui-library-in-repo.md +++ b/.changeset/move-ui-library-in-repo.md @@ -4,4 +4,4 @@ Consume the UI component library from the in-repo `@workflowbuilder/ui` (Base UI) instead of the published `@synergycodes/overflow-ui`. -The SDK previously bundled `@synergycodes/overflow-ui@1.0.0-beta.27` (built on MUI / Mantine / Emotion / Floating UI). It now bundles the in-repo `@workflowbuilder/ui@2.0.0`, rebuilt on [Base UI](https://base-ui.com/). `@base-ui/react` is now a regular dependency of the SDK (installed automatically, not bundled) rather than an inlined implementation detail. Bundled component visuals and interaction details change accordingly; the SDK's own public API surface is unchanged, but the internal DOM structure and class names of all bundled UI changed (MUI Base + Mantine → Base UI) — styles or tests written against those internal class names may need updating. +The SDK previously bundled `@synergycodes/overflow-ui@1.0.0-beta.27` (built on MUI / Mantine / Emotion / Floating UI). It now bundles the in-repo `@workflowbuilder/ui@2.0.0`, rebuilt on [Base UI](https://base-ui.com/). `@base-ui/react` is now a regular dependency of the SDK (installed automatically, not bundled) rather than an inlined implementation detail. Bundled component visuals and interaction details change accordingly; the SDK's exported symbols are unchanged, but public types deriving from the UI library (`InputControlProps`, `TextAreaControlProps`) now build on `@workflowbuilder/ui` type shapes (picked keys unchanged), and the internal DOM structure and class names of all bundled UI changed (MUI Base + Mantine → Base UI) — styles or tests written against those internal class names may need updating. Modal open/close now runs its enter and exit fade transitions (previously the dialog appeared and disappeared instantly). From 1b6b2855aab09a4afed40dcdf7be511666ef63b3 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 18:12:26 +0200 Subject: [PATCH 16/24] fix(deps): resolve app react from the catalog A caret react next to catalog react-dom is the exact drift the catalog comment warns about - React 19 requires the pair to match (React error 527). --- apps/ai-studio/package.json | 2 +- apps/demo/package.json | 2 +- pnpm-lock.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/ai-studio/package.json b/apps/ai-studio/package.json index 64ea356bd..ed9adb2bb 100644 --- a/apps/ai-studio/package.json +++ b/apps/ai-studio/package.json @@ -24,7 +24,7 @@ "html-to-image": "1.11.11", "immer": "^10.1.1", "mermaid": "^11.15.0", - "react": "^19.1.0", + "react": "catalog:", "react-is": "catalog:", "react-dom": "catalog:", "react-i18next": "^15.4.1", diff --git a/apps/demo/package.json b/apps/demo/package.json index c50ec2f61..9187d9d3e 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -31,7 +31,7 @@ "immer": "^10.1.1", "jspdf": "^3.0.1", "libavoid-js": "0.4.0-beta.1", - "react": "^19.1.0", + "react": "catalog:", "react-dom": "catalog:", "react-i18next": "^15.4.1", "remeda": "^2.19.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2769ddd3..506bc9114 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,7 +138,7 @@ importers: specifier: ^11.15.0 version: 11.16.0 react: - specifier: ^19.1.0 + specifier: 'catalog:' version: 19.1.0 react-dom: specifier: 'catalog:' @@ -278,7 +278,7 @@ importers: specifier: 0.4.0-beta.1 version: 0.4.0-beta.1 react: - specifier: ^19.1.0 + specifier: 'catalog:' version: 19.1.0 react-dom: specifier: 'catalog:' From 6af60874ad6f71d31be82097c9be413d8846188a Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Mon, 10 Aug 2026 21:21:21 +0200 Subject: [PATCH 17/24] fix(sdk): layer the xyflow stylesheet and drop its duplicate JS import xyflow CSS arrived through two vectors (a bare css @import and a JS-side import in diagram.tsx), both unlayered. Once the ui library's port rules moved into @layer ui.component, unlayered xyflow beat them and node ports rendered as raw 6px dark dots. The stylesheet now joins the declared (and previously unused) ext-lib layer, which the ui layer outranks; the duplicate JS import goes away. Verified in demo: styled ports and the node-as-port connection target both render from the layered rules. --- packages/sdk/src/features/diagram/diagram.tsx | 1 - packages/sdk/src/index.css | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/sdk/src/features/diagram/diagram.tsx b/packages/sdk/src/features/diagram/diagram.tsx index 8e38e557c..466cd50bd 100644 --- a/packages/sdk/src/features/diagram/diagram.tsx +++ b/packages/sdk/src/features/diagram/diagram.tsx @@ -13,7 +13,6 @@ import { type DragEventHandler, useCallback, useEffect, useMemo } from 'react'; import type { DragEvent } from 'react'; import styles from './diagram.module.css'; -import '@xyflow/react/dist/style.css'; import { getReactFlowProps } from '../../data/react-flow-config'; import { usePaletteDrop } from '../../hooks/use-palette-drop'; diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index 56d8e0c82..e57e08829 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -27,7 +27,7 @@ /* 4. External component CSS. @workflowbuilder/ui styles arrive through the JS module graph (libInjectCss imports in its chunks) - importing its index.css here would bundle every rule twice. */ -@import '@xyflow/react/dist/style.css'; +@import '@xyflow/react/dist/style.css' layer(ext-lib); /* 5. Sub-layer order inside `ui` — must come AFTER @imports (has a body, so the spec classifies it as a statement that closes the @import prelude). */ From 395fa3901f231ed97529ec91b1ae2638394d629d Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Tue, 11 Aug 2026 12:19:39 +0200 Subject: [PATCH 18/24] fix(sdk): declare a single top-level cascade layer in the stylesheet UI chunk CSS arrives through the JS module graph and can parse before index.css; its stamped statement then registered top-level ui first and the SDK's reset/ext-lib/ui declaration could only append, flipping the effective order to [ui, reset, ext-lib] - xyflow beat every component style. Now every stylesheet opens with the identical @layer ui.base, ui.component; statement, xyflow and the SDK resets join ui.base, and no second top-level layer exists to race against. Verified live in demo: only one order statement registers, xyflow's handle defaults sit in ui.base and lose to ui.component, and an unlayered :root override prepended before all component CSS still wins. --- .changeset/sdk-single-top-layer.md | 5 +++ packages/sdk/src/index.css | 50 ++++++++++++++++++------------ packages/ui/css-layers.md | 12 +++++++ 3 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 .changeset/sdk-single-top-layer.md diff --git a/.changeset/sdk-single-top-layer.md b/.changeset/sdk-single-top-layer.md new file mode 100644 index 000000000..21f883139 --- /dev/null +++ b/.changeset/sdk-single-top-layer.md @@ -0,0 +1,5 @@ +--- +'@workflowbuilder/sdk': minor +--- + +The SDK stylesheet now declares a single top-level cascade layer: XYFlow's stylesheet and the SDK resets moved from the `ext-lib` / `reset` layers into `ui.base`, and the file opens with the same `@layer ui.base, ui.component;` statement as every `@workflowbuilder/ui` stylesheet. Component styling no longer depends on stylesheet load order. If you targeted the removed `reset` / `ext-lib` layer names, plain unlayered CSS wins over all library layers. diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index e57e08829..13cadb08c 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -1,8 +1,15 @@ /* Library CSS bundle ORDER MATTERS — @layer declaration and @imports must come before any rule */ -/* 1. Layer order declaration — empty @layer is allowed before @import */ -@layer reset, ext-lib, ui; +/* 1. Layer order declaration — empty @layer is allowed before @import. + This is the SAME statement every @workflowbuilder/ui dist stylesheet + leads with. There is deliberately only ONE top-level layer (`ui`): + layer order is fixed by first mention anywhere in the document, and UI + chunk CSS arrives through the JS module graph, so it can parse before + this file. With every stylesheet opening with an identical statement, + load order cannot invert the cascade. Do not add another top-level + layer here - it would reintroduce that race (see packages/ui/css-layers.md). */ +@layer ui.base, ui.component; /* 2. Web fonts — Poppins is bundled locally (via @fontsource/poppins) instead of fetched from Google's CDN at runtime. Reasons: strict CSPs block the @@ -26,27 +33,30 @@ /* 4. External component CSS. @workflowbuilder/ui styles arrive through the JS module graph (libInjectCss imports in its chunks) - importing its - index.css here would bundle every rule twice. */ -@import '@xyflow/react/dist/style.css' layer(ext-lib); + index.css here would bundle every rule twice. xyflow joins ui.base so + the UI's ui.component theming beats its defaults by layer order alone, + whatever loads first. */ +@import '@xyflow/react/dist/style.css' layer(ui.base); -/* 5. Sub-layer order inside `ui` — must come AFTER @imports (has a body, so - the spec classifies it as a statement that closes the @import prelude). */ -@layer ui { - @layer base, component; -} - -:root { - --wb-transition: 0.1s ease-in; - --wb-background-color: var(--ax-ui-bg-tertiary-default); - --wb-scroll-width: 0.375rem; - --wb-scroll-radius: 0.625rem; - --wb-scroll-thumb-color: var(--ax-scrollbar-bg-default); - --wb-scroll-track-color: transparent; - --wb-font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; +/* 5. SDK variable defaults. Layered so a consumer's plain + `:root { --wb-…: … }` override wins regardless of load order. */ +@layer ui.base { + :root { + --wb-transition: 0.1s ease-in; + --wb-background-color: var(--ax-ui-bg-tertiary-default); + --wb-scroll-width: 0.375rem; + --wb-scroll-radius: 0.625rem; + --wb-scroll-thumb-color: var(--ax-scrollbar-bg-default); + --wb-scroll-track-color: transparent; + --wb-font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; + } } -/* 5. App global styles (reset, scrollbars, fonts, body) */ -@layer reset { +/* 6. App global styles (reset, scrollbars, fonts, body). They sit in ui.base + next to the third-party defaults: component styles (ui.component) and + any unlayered consumer CSS beat them, which is exactly the contract a + reset wants. */ +@layer ui.base { ::-webkit-scrollbar { width: var(--wb-scroll-width); } diff --git a/packages/ui/css-layers.md b/packages/ui/css-layers.md index 4e478ed4b..8d3172566 100644 --- a/packages/ui/css-layers.md +++ b/packages/ui/css-layers.md @@ -36,6 +36,18 @@ stylesheets ignore `@import` entirely. leading with the statement, uses an unknown layer name, or ships rules outside `@layer`. +## One top-level layer across the ecosystem + +`ui` is deliberately the ONLY top-level layer, in this package and in the +SDK's `index.css` alike. Layer order is fixed by the first mention anywhere in +the document, and stylesheets here arrive through the JS module graph - so +with two independent order declarations (say `reset, ext-lib, ui` in one file +and `ui.base, ui.component` in another) the effective order would depend on +which file parses first. Everything that must lose to component styles +(third-party CSS such as xyflow, the SDK's reset block) joins `ui.base` +instead of getting its own top-level layer, and every stylesheet opens with +the identical `@layer ui.base, ui.component;` statement. + ## Variable defaults `:root` blocks with variable defaults (`--ax-public-*` in component sources, From d6afb7782a2070391b7b7b2454bb7f97220bec41 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Tue, 11 Aug 2026 12:20:21 +0200 Subject: [PATCH 19/24] fix(sdk): gate the modal portal out of server-side rendering The always-mounted portal evaluated createPortal(..., document.body) on every render, so SSR of a closed editor threw ReferenceError. --- .changeset/sdk-ssr-modal-portal.md | 5 +++++ .../src/features/modals/providers/modal-provider.tsx | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/sdk-ssr-modal-portal.md diff --git a/.changeset/sdk-ssr-modal-portal.md b/.changeset/sdk-ssr-modal-portal.md new file mode 100644 index 000000000..1dd301c26 --- /dev/null +++ b/.changeset/sdk-ssr-modal-portal.md @@ -0,0 +1,5 @@ +--- +'@workflowbuilder/sdk': patch +--- + +`ModalProvider` no longer touches `document` during server-side rendering; the modal portal mounts after hydration. Fixes `ReferenceError: document is not defined` when the editor renders in SSR frameworks such as Next.js. diff --git a/packages/sdk/src/features/modals/providers/modal-provider.tsx b/packages/sdk/src/features/modals/providers/modal-provider.tsx index 465d6f803..729f21a07 100644 --- a/packages/sdk/src/features/modals/providers/modal-provider.tsx +++ b/packages/sdk/src/features/modals/providers/modal-provider.tsx @@ -1,5 +1,5 @@ import { Modal } from '@workflowbuilder/ui'; -import { useEffect, useRef } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import { closeModal, useModalStore } from '../stores/use-modal-store'; @@ -31,8 +31,18 @@ export function ModalProvider() { }; }, [isOpen]); + // The always-mounted portal touches `document` on every render; effects + // never run on the server, so this gates it out of SSR (the documented + // Next.js path server-renders even 'use client' components). + const [mounted, setMounted] = useState(false); + useEffect(() => { + setMounted(true); + }, []); + const activeModal = modal ?? lastModalRef.current; + if (!mounted) return null; + // Keep the Modal (its Dialog.Root) always mounted: enter/exit transitions // only run when `open` toggles on an already-mounted root. return ( From 5d50852eff2b603b8aca71f6eeea4de1bbb4a954 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Tue, 11 Aug 2026 12:23:56 +0200 Subject: [PATCH 20/24] fix(sdk): match the date-picker trigger override to the new markup DatePicker renders Popover.Trigger as the button itself, so the .date-picker > div > button override matched nothing and date/datetime fields lost their 2.5rem trigger height. --- .changeset/sdk-date-picker-trigger-height.md | 5 +++++ .../dynamic-typed-input/dynamic-typed-input.module.css | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .changeset/sdk-date-picker-trigger-height.md diff --git a/.changeset/sdk-date-picker-trigger-height.md b/.changeset/sdk-date-picker-trigger-height.md new file mode 100644 index 000000000..8d95131a5 --- /dev/null +++ b/.changeset/sdk-date-picker-trigger-height.md @@ -0,0 +1,5 @@ +--- +'@workflowbuilder/sdk': patch +--- + +Date and datetime variable inputs regained their intended `2.5rem` trigger height and left-aligned text; the style override now matches the new DatePicker markup. diff --git a/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.module.css b/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.module.css index 5475d5dc4..384e486a7 100644 --- a/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.module.css +++ b/packages/sdk/src/features/variables/components/dynamic-typed-input/dynamic-typed-input.module.css @@ -5,7 +5,6 @@ height: 2.5rem; } -.date-picker, .container--select { border-radius: var(--ax-public-input-border-radius-medium); @@ -15,6 +14,14 @@ } } +/* DatePicker renders its Popover.Trigger as the button itself, so the class + lands directly on it - no wrapper to descend through. */ +.date-picker { + border-radius: var(--ax-public-input-border-radius-medium); + min-height: 2.5rem; + text-align: left; +} + .date-with-reset-container { position: relative; } From a4e5be48743dd259debdd629259f8bddc57721ff Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Tue, 11 Aug 2026 12:24:18 +0200 Subject: [PATCH 21/24] docs(ui): align base-ui claims with the ^1.7.0 dependency README and CHANGELOG promised a validated 1.4.x pin and blamed later versions for transition regressions; the regression was our conditional mounting, and the actual dependency is ^1.7.0. Changeset records the dependency-contract change. --- .changeset/ui-base-ui-1-7.md | 5 +++++ packages/ui/CHANGELOG.md | 2 +- packages/ui/README.md | 11 +++++------ 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 .changeset/ui-base-ui-1-7.md diff --git a/.changeset/ui-base-ui-1-7.md b/.changeset/ui-base-ui-1-7.md new file mode 100644 index 000000000..397a5b6e6 --- /dev/null +++ b/.changeset/ui-base-ui-1-7.md @@ -0,0 +1,5 @@ +--- +'@workflowbuilder/ui': minor +--- + +`@base-ui/react` dependency moved from `1.4.1` to `^1.7.0`. Overlay transitions (Modal, Menu, Select, Tooltip, DatePicker) were re-validated on the 1.7 line. diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index d366cdef9..233f24a67 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -35,7 +35,7 @@ Workflow Builder SDK. affects the cascade; add `@workflowbuilder/ui/styles.css` once if you also want the global reset and typography. - **Dependencies**: `react` / `react-dom` are the only peer dependencies. - `@base-ui/react` (pinned to the validated `1.4.x` line) and + `@base-ui/react` (`^1.7.0`) and `react-textarea-autosize` are regular dependencies; `date-fns`, `react-day-picker`, `clsx`, and the Phosphor icons are bundled into the package output. diff --git a/packages/ui/README.md b/packages/ui/README.md index dcc7c27a6..6a79b8a92 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -23,12 +23,11 @@ yarn add @workflowbuilder/ui ``` > **Peers & dependencies.** The only peer dependencies are `react` and -> `react-dom` (bring your own). `@base-ui/react` is a regular dependency pinned -> to the `1.4.x` line (later versions regressed dialog/menu/tooltip transitions), -> so it installs automatically — no need to add it yourself. The heavier -> component dependencies (date-fns, react-day-picker, clsx, Phosphor icons) are -> bundled into the package; `react-textarea-autosize` and `@base-ui/react` are -> the only ones resolved from your `node_modules`. +> `react-dom` (bring your own). `@base-ui/react` (`^1.7.0`) is a regular +> dependency, so it installs automatically — no need to add it yourself. The +> heavier component dependencies (date-fns, react-day-picker, clsx, Phosphor +> icons) are bundled into the package; `react-textarea-autosize` and +> `@base-ui/react` are the only ones resolved from your `node_modules`. ### 🎨 Import styles From 49dd4243852a062c321440107ff94194db29e8a7 Mon Sep 17 00:00:00 2001 From: librowski-synergy Date: Tue, 11 Aug 2026 12:25:29 +0200 Subject: [PATCH 22/24] docs(sdk): drop dead promises and add an npm path to the token guide README advertised a scroll-thumb-hover token that does not exist and claimed the html/body/root 100vh sizing ships in the package. The token guide only described monorepo paths and suggested editing generated dist CSS. Both now describe what actually ships and how an npm consumer overrides tokens. --- docs/how-to-change-css-tokens.md | 39 ++++++++++++++++++++++++++++---- packages/sdk/README.md | 16 +++++++++---- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/docs/how-to-change-css-tokens.md b/docs/how-to-change-css-tokens.md index 6bdc1d10f..19b57567d 100644 --- a/docs/how-to-change-css-tokens.md +++ b/docs/how-to-change-css-tokens.md @@ -1,7 +1,38 @@ -# How to change css tokens? +# How to change CSS tokens? -You can use our enterprise version with available figma design kit. We store tokens (colors) in `packages/sdk/src/index.css`, you'll find a CSS import: `@import '@workflowbuilder/ui/tokens.css';` with our figma you replace that import with generated from figma desing kit. +All colors, spacing, and radii resolve through `--ax-*` custom properties +defined in `@workflowbuilder/ui/tokens.css` (imported by the SDK's stylesheet). +The shipped defaults live inside the `ui.base` cascade layer, so a plain +unlayered override in your own stylesheet always wins - import order does not +matter. -Alternatively, if you want to stay with community version and do not pay for the licenses, you can open `packages/ui/dist/tokens.css` (generated by `packages/tokens` from the checked-in Figma export), check the variable names, and manually set some or all of the colors in your repository to overwrite them. +## Consuming from npm (SDK or UI package) -`@workflowbuilder/ui` is our in-repo library for UI elements, living at `packages/ui`. +Override the variables you care about in any stylesheet of your app: + +```css +:root { + --ax-button-primary-bg-default: #0f62fe; + --ax-ui-bg-tertiary-default: #f4f4f4; +} +``` + +To discover variable names, inspect elements in devtools or browse +`node_modules/@workflowbuilder/ui/dist/tokens.css`. Theme-specific values are +keyed on `html[data-theme='light' | 'dark']`, so scope your overrides the same +way when they should apply to one theme only. + +## Working in this monorepo + +The source of truth is `packages/tokens/tokens.json` (a Figma Tokens Studio +export) plus the build in `packages/tokens/src`. Edit the export (or re-export +from Figma) and run `pnpm build:ui`. + +Do **not** edit `packages/ui/dist/tokens.css` - it is generated output and the +next build overwrites it. + +## Enterprise + +The enterprise version ships a Figma design kit; its generated stylesheet +replaces the `@import '@workflowbuilder/ui/tokens.css';` line in +`packages/sdk/src/index.css`. diff --git a/packages/sdk/README.md b/packages/sdk/README.md index 71735050d..5af2dfc61 100644 --- a/packages/sdk/README.md +++ b/packages/sdk/README.md @@ -210,7 +210,7 @@ The editor exposes a small set of CSS custom properties for top-level styling. O } ``` -Available `--wb-*` tokens: `--wb-background-color`, `--wb-font-family`, `--wb-transition`, plus scrollbar styling (`--wb-scroll-width`, `--wb-scroll-radius`, `--wb-scroll-thumb-color`, `--wb-scroll-thumb-hover-color`, `--wb-scroll-track-color`). +Available `--wb-*` tokens: `--wb-background-color`, `--wb-font-family`, `--wb-transition`, plus scrollbar styling (`--wb-scroll-width`, `--wb-scroll-radius`, `--wb-scroll-thumb-color`, `--wb-scroll-track-color`). Deeper color and spacing customization (palette, semantic UI tokens) goes through the `--ax-*` token layer from `@workflowbuilder/ui`. Full guide: [Design system and customization](https://www.workflowbuilder.io/docs/overview/features/design-system-and-customization/). @@ -224,7 +224,12 @@ body { background-color: var(--wb-background-color); overflow: hidden; } +``` + +The stylesheet does **not** size your document — the editor fills whatever container +you give it, so give it one. A typical full-viewport host adds in its own CSS: +```css html, body, #root { @@ -232,8 +237,8 @@ body, } ``` -The rules ship inside `@layer reset` (the lowest precedence in the SDK's cascade layer -order), so any consumer-level rule on `body` / `html` / `#root` wins automatically — no +The shipped resets live inside `@layer ui.base` (the lowest layer in the cascade +order), so any consumer-level rule on `body` / `html` wins automatically — no specificity hacks or `!important` needed. Two things to be aware of: - **`overflow: hidden` on ``** — the editor expects a full-viewport canvas with no @@ -245,8 +250,9 @@ specificity hacks or `!important` needed. Two things to be aware of: ``, the token is undefined and the body falls back to transparent. Either ship the CSS or set `--wb-background-color` yourself. -If you don't want the body resets at all, import the SDK before your own global -stylesheet so your rules land in the unlayered cascade above `@layer reset`. +If you don't want the body resets at all, just override them in your own global +stylesheet — unlayered consumer CSS beats `@layer ui.base` regardless of import +order. ## Single-instance constraint From 6cd167b11dd063308cf05d75306ddd41054bac7f Mon Sep 17 00:00:00 2001 From: Jan Librowski Date: Wed, 12 Aug 2026 14:32:11 +0200 Subject: [PATCH 23/24] fix(sdk): drop the global popover z-index override The rule flattened every open Base UI popup to 1002 while a modal was open - including Select and Menu, which sit at 10000 - so the variable suggestions panel at 3000 painted over an open dropdown. It also used !important against the README's own contract and matched consumer popups. The date-picker positioner now carries the shared popup class in @workflowbuilder/ui, which is what the rule was working around; the body class stays for the variable-suggestions backdrop. --- .../src/features/modals/providers/modal-provider.tsx | 6 +++--- packages/sdk/src/index.css | 10 ---------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/packages/sdk/src/features/modals/providers/modal-provider.tsx b/packages/sdk/src/features/modals/providers/modal-provider.tsx index 729f21a07..f1bccb1f0 100644 --- a/packages/sdk/src/features/modals/providers/modal-provider.tsx +++ b/packages/sdk/src/features/modals/providers/modal-provider.tsx @@ -5,9 +5,9 @@ import { createPortal } from 'react-dom'; import { closeModal, useModalStore } from '../stores/use-modal-store'; // Stable "a modal is open" signal for CSS that lives outside this component -// (e.g. index.css, variable-text.module.css). Toggled here rather than read -// off Base UI's Dialog internals so those selectors don't depend on -// @workflowbuilder/ui's markup. +// (variable-text.module.css suppresses its own backdrop while a modal dims the +// page). Toggled here rather than read off Base UI's Dialog internals so those +// selectors don't depend on @workflowbuilder/ui's markup. const MODAL_OPEN_BODY_CLASS = 'wb-modal-open'; export function ModalProvider() { diff --git a/packages/sdk/src/index.css b/packages/sdk/src/index.css index 13cadb08c..f6abcfeda 100644 --- a/packages/sdk/src/index.css +++ b/packages/sdk/src/index.css @@ -103,13 +103,3 @@ } } } - -/* Shows date picker (and any other Base UI popover) over an open modal. - `.wb-modal-open` is toggled on by ModalProvider whenever the SDK's - modal store is open; `[data-open]` is Base UI's own "popup is open" data - attribute, present on Popover.Popup/Menu.Popup/Select.Popup/etc. while - visible. Without this, a popover opened from inside a modal (e.g. the - DatePicker calendar) renders behind the modal's stacking context. */ -body.wb-modal-open [data-open] { - z-index: 1002 !important; -} From a29c480b0793957b9e8f7ddb0a64152b659247b4 Mon Sep 17 00:00:00 2001 From: Jan Librowski Date: Wed, 12 Aug 2026 14:32:28 +0200 Subject: [PATCH 24/24] build(deps): pin base-ui to an exact 1.7.0 The keep-mounted modal depends on Base UI's transition lifecycle, and the range ships to consumers - a caret would let a minor change it without our test. --- .changeset/ui-base-ui-1-7.md | 2 +- packages/ui/CHANGELOG.md | 2 +- packages/ui/README.md | 2 +- pnpm-lock.yaml | 2 +- pnpm-workspace.yaml | 6 ++++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.changeset/ui-base-ui-1-7.md b/.changeset/ui-base-ui-1-7.md index 397a5b6e6..9f26fb365 100644 --- a/.changeset/ui-base-ui-1-7.md +++ b/.changeset/ui-base-ui-1-7.md @@ -2,4 +2,4 @@ '@workflowbuilder/ui': minor --- -`@base-ui/react` dependency moved from `1.4.1` to `^1.7.0`. Overlay transitions (Modal, Menu, Select, Tooltip, DatePicker) were re-validated on the 1.7 line. +`@base-ui/react` dependency moved from `1.4.1` to `1.7.0` (still exact-pinned). Overlay transitions (Modal, Menu, Select, Tooltip, DatePicker) were re-validated on the 1.7 line. diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index 233f24a67..6c3bc16fb 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -35,7 +35,7 @@ Workflow Builder SDK. affects the cascade; add `@workflowbuilder/ui/styles.css` once if you also want the global reset and typography. - **Dependencies**: `react` / `react-dom` are the only peer dependencies. - `@base-ui/react` (`^1.7.0`) and + `@base-ui/react` (pinned to `1.7.0`) and `react-textarea-autosize` are regular dependencies; `date-fns`, `react-day-picker`, `clsx`, and the Phosphor icons are bundled into the package output. diff --git a/packages/ui/README.md b/packages/ui/README.md index 6a79b8a92..3ea8c2844 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -23,7 +23,7 @@ yarn add @workflowbuilder/ui ``` > **Peers & dependencies.** The only peer dependencies are `react` and -> `react-dom` (bring your own). `@base-ui/react` (`^1.7.0`) is a regular +> `react-dom` (bring your own). `@base-ui/react` (pinned to `1.7.0`) is a regular > dependency, so it installs automatically — no need to add it yourself. The > heavier component dependencies (date-fns, react-day-picker, clsx, Phosphor > icons) are bundled into the package; `react-textarea-autosize` and diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 506bc9114..df575a746 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: catalogs: default: '@base-ui/react': - specifier: ^1.7.0 + specifier: 1.7.0 version: 1.7.0 '@phosphor-icons/core': specifier: ^2.1.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8540ed98b..f0db055d7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,8 +3,10 @@ packages: - './packages/*' catalog: - # Bump = visual pass over overlay transitions. - '@base-ui/react': ^1.7.0 + # Exact-pinned: the keep-mounted modal relies on Base UI's transition + # lifecycle, and this range ships to consumers. Bump = visual pass over + # overlay transitions. + '@base-ui/react': 1.7.0 '@phosphor-icons/core': ^2.1.1 '@phosphor-icons/react': ^2.1.7 '@xyflow/react': 12.10.0