@nadicodeai/ui 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -1
- package/README.md +4 -2
- package/dist/components/accordion.d.ts +15 -5
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +34 -9
- package/dist/components/ai-elements/chain-of-thought.js +1 -1
- package/dist/components/ai-elements/mic-selector.js +1 -1
- package/dist/components/ai-elements/plan.d.ts +3 -2
- package/dist/components/ai-elements/plan.d.ts.map +1 -1
- package/dist/components/ai-elements/reasoning.js +1 -1
- package/dist/components/ai-elements/stack-trace.js +1 -1
- package/dist/components/ai-elements/transcription.js +1 -1
- package/dist/components/ai-elements/voice-selector.d.ts +2 -1
- package/dist/components/ai-elements/voice-selector.d.ts.map +1 -1
- package/dist/components/ai-elements/voice-selector.js +1 -1
- package/dist/components/alert-dialog.d.ts +10 -9
- package/dist/components/alert-dialog.d.ts.map +1 -1
- package/dist/components/alert-dialog.js +16 -13
- package/dist/components/aspect-ratio.d.ts +3 -2
- package/dist/components/aspect-ratio.d.ts.map +1 -1
- package/dist/components/aspect-ratio.js +6 -3
- package/dist/components/avatar.d.ts +5 -5
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +5 -5
- package/dist/components/badge.js +1 -1
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/button-group.js +1 -1
- package/dist/components/button.d.ts +4 -2
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +21 -17
- package/dist/components/checkbox.d.ts +2 -3
- package/dist/components/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +3 -3
- package/dist/components/collapsible.d.ts +8 -4
- package/dist/components/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible.js +16 -6
- package/dist/components/command.d.ts +4 -3
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/command.js +13 -12
- package/dist/components/context-menu.d.ts +24 -15
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu.js +38 -28
- package/dist/components/dialog.d.ts +10 -9
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +11 -10
- package/dist/components/direction.d.ts +6 -5
- package/dist/components/direction.d.ts.map +1 -1
- package/dist/components/direction.js +3 -4
- package/dist/components/drawer.d.ts +22 -10
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/drawer.js +70 -12
- package/dist/components/dropdown-menu.d.ts +25 -16
- package/dist/components/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu.js +40 -30
- package/dist/components/form.d.ts +3 -3
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/hover-card.d.ts +8 -4
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card.js +12 -7
- package/dist/components/item.js +1 -1
- package/dist/components/label.d.ts +1 -2
- package/dist/components/label.d.ts.map +1 -1
- package/dist/components/label.js +1 -2
- package/dist/components/menubar.d.ts +21 -18
- package/dist/components/menubar.d.ts.map +1 -1
- package/dist/components/menubar.js +25 -23
- package/dist/components/navigation-menu.d.ts +16 -12
- package/dist/components/navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu.js +16 -13
- package/dist/components/popover.d.ts +11 -8
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +33 -12
- package/dist/components/progress.d.ts +7 -4
- package/dist/components/progress.d.ts.map +1 -1
- package/dist/components/progress.js +17 -5
- package/dist/components/radio-group.d.ts +4 -4
- package/dist/components/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group.js +4 -4
- package/dist/components/scroll-area.d.ts +3 -3
- package/dist/components/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area.js +2 -4
- package/dist/components/select.d.ts +11 -11
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +14 -18
- package/dist/components/separator.d.ts +2 -3
- package/dist/components/separator.d.ts.map +1 -1
- package/dist/components/separator.js +3 -3
- package/dist/components/sheet.d.ts +8 -7
- package/dist/components/sheet.d.ts.map +1 -1
- package/dist/components/sheet.js +10 -12
- package/dist/components/sidebar.js +1 -1
- package/dist/components/slider.d.ts +2 -3
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +10 -7
- package/dist/components/switch.d.ts +3 -4
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/switch.js +2 -2
- package/dist/components/tabs.d.ts +5 -6
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +5 -5
- package/dist/components/theme-mode-switcher.js +1 -1
- package/dist/components/toggle-group.d.ts +12 -4
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +29 -7
- package/dist/components/toggle.d.ts +3 -3
- package/dist/components/toggle.d.ts.map +1 -1
- package/dist/components/toggle.js +9 -8
- package/dist/components/tooltip.d.ts +8 -6
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +7 -6
- package/dist/hooks/use-controllable-state.d.ts +9 -0
- package/dist/hooks/use-controllable-state.d.ts.map +1 -0
- package/dist/hooks/use-controllable-state.js +25 -0
- package/dist/lib/base-render.d.ts +14 -0
- package/dist/lib/base-render.d.ts.map +1 -0
- package/dist/lib/base-render.js +16 -0
- package/dist/lib/slot.d.ts +8 -0
- package/dist/lib/slot.d.ts.map +1 -0
- package/dist/lib/slot.js +17 -0
- package/docs/agents/nadicodeai-ui.md +1 -1
- package/docs/migration/base-ui-migration.md +49 -0
- package/llms.txt +2 -2
- package/package.json +3 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/lib/slot.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,QAAA,MAAM,IAAI;;mBAjBG,KAAK,CAAC,SAAS;;CAmB3B,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
package/dist/lib/slot.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
const SlotRoot = React.forwardRef(({ children, ...slotProps }, forwardedRef) => {
|
|
5
|
+
const isElement = React.isValidElement(children);
|
|
6
|
+
return useRender({
|
|
7
|
+
enabled: isElement,
|
|
8
|
+
render: isElement ? children : undefined,
|
|
9
|
+
ref: forwardedRef,
|
|
10
|
+
props: slotProps,
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
SlotRoot.displayName = "Slot";
|
|
14
|
+
const Slot = {
|
|
15
|
+
Root: SlotRoot,
|
|
16
|
+
};
|
|
17
|
+
export { Slot };
|
|
@@ -217,7 +217,7 @@ npx shadcn@latest add @ai-elements/message --dry-run
|
|
|
217
217
|
|
|
218
218
|
`info --json` is the project-aware source for `tailwindVersion`, `base`,
|
|
219
219
|
`iconLibrary`, aliases, `resolvedPaths`, and configured registries. Current
|
|
220
|
-
package context should report Tailwind v4,
|
|
220
|
+
package context should report Tailwind v4, Base UI primitives, lucide icons,
|
|
221
221
|
source paths under `src/*`, and configured `@shadcn`/`@ai-elements` registry
|
|
222
222
|
access. Use `search` to find current registry items, `docs` to fetch component
|
|
223
223
|
documentation and example/API links, `view` to inspect item contents, and
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Base UI Migration
|
|
2
|
+
|
|
3
|
+
`@nadicodeai/ui` now uses Base UI as its active shadcn primitive base.
|
|
4
|
+
|
|
5
|
+
Current invariants:
|
|
6
|
+
|
|
7
|
+
- `components.json` uses `base-nova`, and `npx shadcn@latest info --json` should report `base: "base"`.
|
|
8
|
+
- Package source must not import `radix-ui`, `@radix-ui/*`, or `vaul`. `cmdk` is the one allowed carrier: shadcn's stock base-nova `command` still ships on it, and the package uses that stock registry item instead of a local rewrite, accepting cmdk's transitive Radix internals the same way shadcn does.
|
|
9
|
+
- `@nadicodeai/ui/package.json` must not depend on `radix-ui`, `@radix-ui/react-use-controllable-state`, or `vaul`.
|
|
10
|
+
- Website and portal Next config must optimize `@base-ui/react`, not `radix-ui`.
|
|
11
|
+
- Existing public `asChild` usage is preserved through package-local adapters that translate to Base UI `render`.
|
|
12
|
+
- Accordion and ToggleGroup preserve the previous single-string public API while feeding Base UI its array-shaped value model.
|
|
13
|
+
- AI Elements use the package-local `useControllableState` helper instead of Radix's hook.
|
|
14
|
+
|
|
15
|
+
## Migration Catalog
|
|
16
|
+
|
|
17
|
+
Direct Base-backed shadcn replacements:
|
|
18
|
+
|
|
19
|
+
- `accordion`, `alert-dialog`, `aspect-ratio`, `avatar`, `checkbox`, `collapsible`, `context-menu`, `dialog`, `drawer`, `dropdown-menu`, `hover-card`, `label`, `menubar`, `navigation-menu`, `popover`, `progress`, `radio-group`, `scroll-area`, `select`, `separator`, `sheet`, `slider`, `switch`, `tabs`, `toggle`, `toggle-group`, and `tooltip`.
|
|
20
|
+
|
|
21
|
+
Manual compatibility helpers:
|
|
22
|
+
|
|
23
|
+
- `src/lib/base-render.tsx` translates historical `asChild` usage to Base UI `render`.
|
|
24
|
+
- `src/lib/slot.tsx` replaces Radix Slot for wrapper-only components, built on Base UI's `useRender` (the same mechanism stock base-nova wrapper items use).
|
|
25
|
+
- `button`, `badge`, `breadcrumb`, `button-group`, `form`, `item`, and `sidebar` preserve package APIs while removing Radix Slot.
|
|
26
|
+
- `direction` keeps the old `dir` prop and maps it to Base UI's `direction` prop.
|
|
27
|
+
|
|
28
|
+
Removed non-shadcn Radix carriers:
|
|
29
|
+
|
|
30
|
+
- `command` stays on the stock base-nova registry item, which ships on `cmdk` (shadcn has not migrated Command off cmdk; a local rewrite was reverted in review because it regressed cmdk's filtering and group accessibility).
|
|
31
|
+
- `drawer` replaces `vaul` with Base UI Drawer.
|
|
32
|
+
- AI Elements replace `@radix-ui/react-use-controllable-state` with `src/hooks/use-controllable-state.ts`.
|
|
33
|
+
|
|
34
|
+
AI Elements using the local controlled/uncontrolled helper:
|
|
35
|
+
|
|
36
|
+
- `chain-of-thought`
|
|
37
|
+
- `mic-selector`
|
|
38
|
+
- `reasoning`
|
|
39
|
+
- `stack-trace`
|
|
40
|
+
- `transcription`
|
|
41
|
+
- `voice-selector`
|
|
42
|
+
|
|
43
|
+
Verification:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm run build -w @nadicodeai/ui
|
|
47
|
+
npm run test -w @nadicodeai/ui
|
|
48
|
+
rg 'radix-ui|@radix-ui|vaul' @nadicodeai/ui/src @nadicodeai/ui/package.json website/next.config.ts portal/next.config.ts
|
|
49
|
+
```
|
package/llms.txt
CHANGED
|
@@ -20,7 +20,7 @@ Runtime imports:
|
|
|
20
20
|
- AI Elements subpath: `import { Message } from "@nadicodeai/ui/components/ai-elements/message";`
|
|
21
21
|
|
|
22
22
|
Component surface:
|
|
23
|
-
- shadcn source components are shipped from `@nadicodeai/ui/components
|
|
23
|
+
- shadcn source components are shipped from `@nadicodeai/ui/components/*`; the active primitive base is Base UI.
|
|
24
24
|
- Vercel AI Elements source components are shipped from `@nadicodeai/ui/components/ai-elements/*`.
|
|
25
25
|
- React adapters over design-system grammar and assets ship from component subpaths.
|
|
26
26
|
- Reusable marketing/section compositions belong in this package.
|
|
@@ -66,7 +66,7 @@ shadcn / AI Elements discovery:
|
|
|
66
66
|
- Use live MCP/CLI discovery from `@nadicodeai/ui`; do not maintain a committed upstream registry inventory, snapshot, or inventory update script.
|
|
67
67
|
- Codex MCP setup when supported: `npx shadcn@latest mcp init --client codex`.
|
|
68
68
|
- CLI fallbacks: `npx shadcn@latest info --json`, `npx shadcn@latest search @shadcn -q "select" --json`, `npx shadcn@latest search @ai-elements -q "message" --json`, `npx shadcn@latest docs button select dialog --json`, `npx shadcn@latest view @shadcn/button`, `npx shadcn@latest add @shadcn/button --dry-run`, `npx shadcn@latest add @ai-elements/message --dry-run`.
|
|
69
|
-
- Use `info --json` for aliases, Tailwind version, base primitive library, icon library, source paths, and configured registries. Use `search`, `docs`, and `view` before adding source; use `add --dry-run` or `add --diff` before changing files.
|
|
69
|
+
- Use `info --json` for aliases, Tailwind version, base primitive library, icon library, source paths, and configured registries. It should report Base UI, not Radix. Use `search`, `docs`, and `view` before adding source; use `add --dry-run` or `add --diff` before changing files.
|
|
70
70
|
|
|
71
71
|
Agent references shipped in this package:
|
|
72
72
|
- `AGENTS.md`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/ui",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -49,8 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@base-ui/react": "^1.6.0",
|
|
52
|
-
"@nadicodeai/design-system": "0.4.
|
|
53
|
-
"@radix-ui/react-use-controllable-state": "^1.2.3",
|
|
52
|
+
"@nadicodeai/design-system": "0.4.1",
|
|
54
53
|
"@rive-app/react-webgl2": "^4.29.1",
|
|
55
54
|
"@streamdown/cjk": "^1.0.3",
|
|
56
55
|
"@streamdown/code": "^1.1.1",
|
|
@@ -68,7 +67,6 @@
|
|
|
68
67
|
"media-chrome": "^4.19.2",
|
|
69
68
|
"motion": "^12.40.0",
|
|
70
69
|
"nanoid": "^5.1.15",
|
|
71
|
-
"radix-ui": "^1.6.0",
|
|
72
70
|
"react-day-picker": "^10.0.1",
|
|
73
71
|
"react-hook-form": "^7.80.0",
|
|
74
72
|
"react-jsx-parser": "^2.4.1",
|
|
@@ -79,8 +77,7 @@
|
|
|
79
77
|
"streamdown": "^2.5.0",
|
|
80
78
|
"tailwind-merge": "^3.0.0",
|
|
81
79
|
"tokenlens": "^1.3.1",
|
|
82
|
-
"use-stick-to-bottom": "^1.1.6"
|
|
83
|
-
"vaul": "^1.1.2"
|
|
80
|
+
"use-stick-to-bottom": "^1.1.6"
|
|
84
81
|
},
|
|
85
82
|
"peerDependencies": {
|
|
86
83
|
"@tailwindcss/postcss": "^4.3.1",
|