Skip to content

Commit 9b121b8

Browse files
refactor: migrate consumers to @workflowbuilder/ui and fix Base UI API breaks
1 parent a28d22d commit 9b121b8

94 files changed

Lines changed: 157 additions & 3147 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@workflowbuilder/sdk': minor
3+
---
4+
5+
Consume the UI component library from the in-repo `@workflowbuilder/ui` (Base UI) instead of the published `@synergycodes/overflow-ui`.
6+
7+
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@1.0.0-beta.28`, 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.

apps/ai-studio/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
"test:watch": "vitest --passWithNoTests"
1414
},
1515
"dependencies": {
16+
"@base-ui/react": "catalog:",
1617
"@jsonforms/core": "^3.4.1",
1718
"@jsonforms/react": "^3.4.1",
1819
"@phosphor-icons/react": "^2.1.7",
19-
"@synergycodes/overflow-ui": "1.0.0-beta.27",
2020
"@workflow-builder/types": "workspace:*",
21+
"@workflowbuilder/ui": "workspace:*",
2122
"@xyflow/react": "catalog:",
2223
"clsx": "^2.1.1",
2324
"immer": "^10.1.1",

apps/ai-studio/src/components/controls/ai-studio-controls.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { NavButton } from '@synergycodes/overflow-ui';
21
import { Icon, getStoreEdges, getStoreNodes } from '@workflowbuilder/sdk';
2+
import { NavButton } from '@workflowbuilder/ui';
33
import clsx from 'clsx';
44
import { useCallback } from 'react';
55

apps/ai-studio/vite.config.mts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,12 @@ import { defineConfig } from 'vite';
55
import svgr from 'vite-plugin-svgr';
66

77
export default defineConfig(() => {
8-
const shouldUseLocalOverflowUI = process.env.LOCAL_OVERFLOW_UI === 'true';
9-
108
const sdkDirectory = path.resolve(import.meta.dirname, '../../packages/sdk');
119

1210
return {
1311
plugins: [svgr(), react()],
1412
resolve: {
1513
alias: [
16-
...(shouldUseLocalOverflowUI
17-
? Object.entries(getLocalOverflowUIAliases()).map(([find, replacement]) => ({
18-
find,
19-
replacement,
20-
}))
21-
: []),
2214
{
2315
find: /^@workflowbuilder\/sdk\/style\.css$/,
2416
replacement: path.resolve(sdkDirectory, 'src/index.css'),
@@ -27,14 +19,6 @@ export default defineConfig(() => {
2719
find: /^@workflowbuilder\/sdk$/,
2820
replacement: path.resolve(sdkDirectory, 'src/index.ts'),
2921
},
30-
// overflow-ui doesn't expose ./dist/index.css via package.json exports
31-
{
32-
find: 'overflow-ui-css',
33-
replacement: path.resolve(
34-
sdkDirectory,
35-
'node_modules/@synergycodes/overflow-ui/dist/index.css',
36-
),
37-
},
3822
// SDK source files use @/ to refer to their own root (packages/sdk/src/...).
3923
// AI Studio files do not use @/ (they import via @workflowbuilder/sdk subpaths),
4024
// so it's safe to point @/ at the SDK root for cross-package alias parity.
@@ -56,12 +40,3 @@ export default defineConfig(() => {
5640
},
5741
};
5842
});
59-
60-
function getLocalOverflowUIAliases(): Record<string, string> {
61-
const distribution = path.resolve(import.meta.dirname, '../../../overflow-ui/packages/ui/dist');
62-
63-
return {
64-
'@synergycodes/overflow-ui/tokens.css': path.join(distribution, 'tokens.css'),
65-
'@synergycodes/overflow-ui': path.join(distribution, 'overflow-ui.js'),
66-
};
67-
}

apps/backend/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ All scripts run from the monorepo root. Grouped by purpose:
7979
| `dev:backend` | Backend only (Hono server with `tsx watch`) |
8080
| `dev:worker` | Execution worker only (Temporal worker with `tsx watch`) |
8181
| `dev:docs` | Docs site (Astro) |
82-
| `dev:local` | Demo frontend with `LOCAL_OVERFLOW_UI=true` (linked local overflow-ui) |
8382

8483
### Infra (Docker lifecycle)
8584

apps/demo/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@
1616
"test:watch": "vitest"
1717
},
1818
"dependencies": {
19+
"@base-ui/react": "catalog:",
1920
"@jsonforms/core": "^3.4.1",
2021
"@jsonforms/react": "^3.4.1",
2122
"@microsoft/clarity": "^1.0.0",
2223
"@phosphor-icons/react": "^2.1.7",
23-
"@synergycodes/overflow-ui": "1.0.0-beta.27",
24+
"@workflowbuilder/ui": "workspace:*",
2425
"@xyflow/react": "catalog:",
2526
"ajv": "catalog:",
2627
"clsx": "^2.1.1",

apps/demo/src/app/components/multi-port-node/multi-port-node-template.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { NodeDescription, NodeIcon, NodePanel } from '@synergycodes/overflow-ui';
21
import { Icon, defineNodeTemplate, getHandleId, statusOptions } from '@workflowbuilder/sdk';
32
import type { NodeDataProperties, WorkflowNodeTemplateProps } from '@workflowbuilder/sdk';
3+
import { NodeDescription, NodeIcon, NodePanel } from '@workflowbuilder/ui';
44
import { Handle, Position } from '@xyflow/react';
55
import clsx from 'clsx';
66
import { memo, useMemo } from 'react';

apps/demo/src/app/plugins/help/components/app-bar/get-app-bar-button.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { NavButton } from '@synergycodes/overflow-ui';
21
import { Icon } from '@workflowbuilder/sdk';
32
import type { TranslationKey, WBIcon } from '@workflowbuilder/sdk';
3+
import { NavButton } from '@workflowbuilder/ui';
44
import i18n from 'i18next';
55

66
import { openNoAccessModal } from '../../functions/open-no-access-modal';

apps/demo/src/app/plugins/help/components/footer-support-button.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Button } from '@synergycodes/overflow-ui';
1+
import { Button } from '@workflowbuilder/ui';
22
import { useTranslation } from 'react-i18next';
33

44
import { openHelpModal } from '../functions/open-help-modal';

apps/demo/src/app/plugins/help/functions/add-items-to-dots.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { type MenuItemProps } from '@synergycodes/overflow-ui';
21
import { Icon } from '@workflowbuilder/sdk';
2+
import { type MenuItemProps } from '@workflowbuilder/ui';
33
import i18n from 'i18next';
44

55
import { openNoAccessModal } from './open-no-access-modal';

0 commit comments

Comments
 (0)