@nadicodeai/ui 0.4.1 → 0.5.0
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 +1 -1
- package/README.md +2 -2
- package/dist/components/accordion.d.ts +4 -15
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +5 -31
- package/dist/components/agent-message.js +1 -1
- package/dist/components/agent-tool-approval.d.ts.map +1 -1
- package/dist/components/agent-tool-approval.js +9 -6
- package/dist/components/ai-elements/artifact.js +1 -1
- package/dist/components/ai-elements/attachments.d.ts +1 -1
- package/dist/components/ai-elements/attachments.d.ts.map +1 -1
- package/dist/components/ai-elements/attachments.js +2 -2
- package/dist/components/ai-elements/audio-player.d.ts.map +1 -1
- package/dist/components/ai-elements/audio-player.js +8 -8
- package/dist/components/ai-elements/chain-of-thought.js +1 -1
- package/dist/components/ai-elements/checkpoint.d.ts +1 -1
- package/dist/components/ai-elements/checkpoint.d.ts.map +1 -1
- package/dist/components/ai-elements/checkpoint.js +1 -1
- package/dist/components/ai-elements/commit.d.ts.map +1 -1
- package/dist/components/ai-elements/commit.js +1 -1
- package/dist/components/ai-elements/context.d.ts +4 -4
- package/dist/components/ai-elements/context.d.ts.map +1 -1
- package/dist/components/ai-elements/context.js +4 -3
- package/dist/components/ai-elements/file-tree.d.ts.map +1 -1
- package/dist/components/ai-elements/file-tree.js +1 -1
- package/dist/components/ai-elements/inline-citation.d.ts.map +1 -1
- package/dist/components/ai-elements/inline-citation.js +2 -2
- package/dist/components/ai-elements/message.js +1 -1
- package/dist/components/ai-elements/mic-selector.d.ts.map +1 -1
- package/dist/components/ai-elements/mic-selector.js +1 -1
- package/dist/components/ai-elements/model-selector.d.ts +1 -1
- package/dist/components/ai-elements/model-selector.d.ts.map +1 -1
- package/dist/components/ai-elements/model-selector.js +1 -1
- package/dist/components/ai-elements/open-in-chat.d.ts.map +1 -1
- package/dist/components/ai-elements/open-in-chat.js +8 -5
- package/dist/components/ai-elements/plan.d.ts.map +1 -1
- package/dist/components/ai-elements/plan.js +3 -3
- package/dist/components/ai-elements/prompt-input.d.ts +2 -2
- package/dist/components/ai-elements/prompt-input.d.ts.map +1 -1
- package/dist/components/ai-elements/prompt-input.js +12 -12
- package/dist/components/ai-elements/queue.d.ts.map +1 -1
- package/dist/components/ai-elements/queue.js +2 -2
- package/dist/components/ai-elements/reasoning.js +1 -1
- package/dist/components/ai-elements/sandbox.js +3 -3
- package/dist/components/ai-elements/schema-display.js +4 -4
- package/dist/components/ai-elements/sources.js +1 -1
- package/dist/components/ai-elements/stack-trace.d.ts.map +1 -1
- package/dist/components/ai-elements/stack-trace.js +2 -2
- package/dist/components/ai-elements/task.d.ts.map +1 -1
- package/dist/components/ai-elements/task.js +3 -3
- package/dist/components/ai-elements/test-results.js +1 -1
- package/dist/components/ai-elements/tool.js +2 -2
- package/dist/components/ai-elements/voice-selector.d.ts +1 -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/ai-elements/web-preview.d.ts.map +1 -1
- package/dist/components/ai-elements/web-preview.js +2 -2
- package/dist/components/alert-dialog.d.ts +1 -2
- package/dist/components/alert-dialog.d.ts.map +1 -1
- package/dist/components/alert-dialog.js +2 -3
- package/dist/components/alert.d.ts +2 -1
- package/dist/components/alert.d.ts.map +1 -1
- package/dist/components/alert.js +8 -5
- package/dist/components/aspect-ratio.d.ts.map +1 -1
- package/dist/components/aspect-ratio.js +0 -1
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +0 -1
- package/dist/components/badge.d.ts +2 -4
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/badge.js +21 -13
- package/dist/components/breadcrumb.d.ts +3 -4
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb.js +20 -12
- package/dist/components/button-group.d.ts +2 -3
- package/dist/components/button-group.d.ts.map +1 -1
- package/dist/components/button-group.js +17 -9
- package/dist/components/button.d.ts +1 -5
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +2 -8
- package/dist/components/calendar.d.ts +5 -3
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +17 -17
- package/dist/components/card.d.ts +3 -1
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +6 -6
- package/dist/components/carousel.d.ts +10 -1
- package/dist/components/carousel.d.ts.map +1 -1
- package/dist/components/carousel.js +10 -10
- package/dist/components/chart.d.ts.map +1 -1
- package/dist/components/chart.js +2 -3
- package/dist/components/collapsible.d.ts +3 -7
- package/dist/components/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible.js +5 -16
- package/dist/components/combobox.d.ts +1 -1
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/combobox.js +10 -11
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/context-menu.d.ts +4 -9
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu.js +6 -16
- package/dist/components/dialog.d.ts +2 -3
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +2 -4
- package/dist/components/direction.d.ts +1 -8
- package/dist/components/direction.d.ts.map +1 -1
- package/dist/components/direction.js +1 -7
- package/dist/components/drawer.d.ts +4 -13
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/drawer.js +5 -22
- package/dist/components/dropdown-menu.d.ts +4 -9
- package/dist/components/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu.js +6 -17
- package/dist/components/empty.d.ts.map +1 -1
- package/dist/components/empty.js +5 -5
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +11 -19
- package/dist/components/form.d.ts +2 -2
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +17 -5
- package/dist/components/hover-card.d.ts +3 -8
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/hover-card.js +4 -9
- package/dist/components/input-group.d.ts +3 -1
- package/dist/components/input-group.d.ts.map +1 -1
- package/dist/components/input-group.js +10 -16
- package/dist/components/input-otp.d.ts.map +1 -1
- package/dist/components/input-otp.js +5 -5
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +2 -1
- package/dist/components/item.d.ts +3 -4
- package/dist/components/item.d.ts.map +1 -1
- package/dist/components/item.js +29 -18
- package/dist/components/kbd.d.ts.map +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/menubar.d.ts.map +1 -1
- package/dist/components/menubar.js +4 -1
- package/dist/components/native-select.d.ts +3 -2
- package/dist/components/native-select.d.ts.map +1 -1
- package/dist/components/native-select.js +2 -2
- package/dist/components/navigation-menu.d.ts +2 -9
- package/dist/components/navigation-menu.d.ts.map +1 -1
- package/dist/components/navigation-menu.js +4 -8
- package/dist/components/pagination.d.ts +8 -4
- package/dist/components/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +10 -13
- package/dist/components/popover.d.ts +3 -7
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +5 -30
- package/dist/components/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group.js +0 -1
- package/dist/components/resizable.d.ts.map +1 -1
- package/dist/components/resizable.js +2 -2
- package/dist/components/scroll-area.d.ts.map +1 -1
- package/dist/components/scroll-area.js +0 -1
- package/dist/components/separator.d.ts.map +1 -1
- package/dist/components/separator.js +0 -1
- package/dist/components/sheet.d.ts +2 -3
- package/dist/components/sheet.d.ts.map +1 -1
- package/dist/components/sheet.js +2 -3
- package/dist/components/sidebar.d.ts +9 -15
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar.js +85 -41
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +3 -8
- package/dist/components/sonner.d.ts +1 -1
- package/dist/components/sonner.d.ts.map +1 -1
- package/dist/components/sonner.js +15 -9
- package/dist/components/spinner.d.ts.map +1 -1
- package/dist/components/spinner.js +2 -2
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/switch.js +0 -1
- package/dist/components/table.js +2 -2
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +0 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/theme-mode-switcher.js +4 -3
- package/dist/components/toggle-group.d.ts +3 -9
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +5 -22
- package/dist/components/toggle.d.ts +1 -2
- package/dist/components/toggle.d.ts.map +1 -1
- package/dist/components/toggle.js +2 -3
- package/dist/components/tooltip.d.ts +2 -5
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +4 -6
- package/dist/hooks/use-mobile.d.ts.map +1 -1
- package/dist/hooks/use-mobile.js +0 -1
- package/docs/migration/base-ui-migration.md +33 -9
- package/package.json +3 -2
- package/dist/lib/base-render.d.ts +0 -14
- package/dist/lib/base-render.d.ts.map +0 -1
- package/dist/lib/base-render.js +0 -16
- package/dist/lib/slot.d.ts +0 -8
- package/dist/lib/slot.d.ts.map +0 -1
- package/dist/lib/slot.js +0 -17
package/dist/hooks/use-mobile.js
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
Current invariants:
|
|
6
6
|
|
|
7
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`.
|
|
8
|
+
- Package source must not import `radix-ui`, `@radix-ui/*`, or `vaul`.
|
|
9
|
+
- `cmdk` is allowed only for the stock shadcn Command component while the current `base-nova` registry declares it.
|
|
9
10
|
- `@nadicodeai/ui/package.json` must not depend on `radix-ui`, `@radix-ui/react-use-controllable-state`, or `vaul`.
|
|
10
11
|
- Website and portal Next config must optimize `@base-ui/react`, not `radix-ui`.
|
|
11
|
-
-
|
|
12
|
-
- Accordion and ToggleGroup preserve the previous single-string public API while feeding Base UI its array-shaped value model.
|
|
12
|
+
- Public shadcn primitive usage follows the current Base UI registry API. Base UI composition uses `render`; do not add package-local `asChild` adapters for registry-owned primitives.
|
|
13
13
|
- AI Elements use the package-local `useControllableState` helper instead of Radix's hook.
|
|
14
14
|
|
|
15
15
|
## Migration Catalog
|
|
@@ -18,16 +18,13 @@ Direct Base-backed shadcn replacements:
|
|
|
18
18
|
|
|
19
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
20
|
|
|
21
|
-
|
|
21
|
+
Package-owned helpers:
|
|
22
22
|
|
|
23
|
-
-
|
|
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.
|
|
23
|
+
- Wrapper-only components (`badge`, `breadcrumb`, `button-group`, `item`, `sidebar`, `form`) compose through Base UI's `useRender`/`mergeProps` directly; the transitional `src/lib/slot.tsx` and `src/lib/base-render.tsx` shims are removed.
|
|
27
24
|
|
|
28
25
|
Removed non-shadcn Radix carriers:
|
|
29
26
|
|
|
30
|
-
- `command` stays
|
|
27
|
+
- `command` stays backed by shadcn's stock `cmdk` implementation while the `base-nova` registry declares that dependency.
|
|
31
28
|
- `drawer` replaces `vaul` with Base UI Drawer.
|
|
32
29
|
- AI Elements replace `@radix-ui/react-use-controllable-state` with `src/hooks/use-controllable-state.ts`.
|
|
33
30
|
|
|
@@ -40,6 +37,33 @@ AI Elements using the local controlled/uncontrolled helper:
|
|
|
40
37
|
- `transcription`
|
|
41
38
|
- `voice-selector`
|
|
42
39
|
|
|
40
|
+
## Breaking in 0.5.0
|
|
41
|
+
|
|
42
|
+
`@nadicodeai/ui@0.5.0` removes the Radix-era compatibility layer that 0.4.x
|
|
43
|
+
carried. Consumers upgrading from 0.4.x must migrate:
|
|
44
|
+
|
|
45
|
+
- `asChild` is removed on every primitive (Button, triggers, closes, menu
|
|
46
|
+
items). Use Base UI's `render` prop instead; when the rendered element is
|
|
47
|
+
not a native `<button>`, also pass `nativeButton={false}` (for example
|
|
48
|
+
`<Button nativeButton={false} render={<a href="…" />}>`).
|
|
49
|
+
- `DropdownMenuItem` / `ContextMenuItem` / `MenubarItem` no longer accept
|
|
50
|
+
`onSelect`. Use `onClick`, and `closeOnClick={false}` to keep the menu open
|
|
51
|
+
(replaces the `onSelect` + `event.preventDefault()` pattern).
|
|
52
|
+
- `PromptInputActionAddScreenshot`'s `onSelect` prop is renamed `onClick`.
|
|
53
|
+
- `Accordion` and `ToggleGroup` drop `type="single" | "multiple"` and string
|
|
54
|
+
values. Values are always arrays; pass `multiple` for multi-select.
|
|
55
|
+
- `TooltipProvider` drops the `delayDuration` alias — use `delay`. HoverCard
|
|
56
|
+
open/close delays live on `HoverCardTrigger` (`delay` / `closeDelay`), not
|
|
57
|
+
the root.
|
|
58
|
+
- `Drawer` drops the vaul-era `direction` / `activeSnapPoint` /
|
|
59
|
+
`setActiveSnapPoint` aliases — use Base UI's `swipeDirection` /
|
|
60
|
+
`snapPoint` / `onSnapPointChange`.
|
|
61
|
+
- `DirectionProvider` drops the `dir` alias — use `direction`.
|
|
62
|
+
- `NavigationMenuViewport` and `PopoverAnchor` are no longer exported; they
|
|
63
|
+
have no stock base-nova equivalent.
|
|
64
|
+
- `CollapsibleContent` / disclosure panels drop the `forceMount` alias — use
|
|
65
|
+
Base UI's `keepMounted`.
|
|
66
|
+
|
|
43
67
|
Verification:
|
|
44
68
|
|
|
45
69
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@base-ui/react": "^1.6.0",
|
|
52
|
-
"@nadicodeai/design-system": "0.
|
|
52
|
+
"@nadicodeai/design-system": "0.5.0",
|
|
53
53
|
"@rive-app/react-webgl2": "^4.29.1",
|
|
54
54
|
"@streamdown/cjk": "^1.0.3",
|
|
55
55
|
"@streamdown/code": "^1.1.1",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"media-chrome": "^4.19.2",
|
|
68
68
|
"motion": "^12.40.0",
|
|
69
69
|
"nanoid": "^5.1.15",
|
|
70
|
+
"next-themes": "^0.4.6",
|
|
70
71
|
"react-day-picker": "^10.0.1",
|
|
71
72
|
"react-hook-form": "^7.80.0",
|
|
72
73
|
"react-jsx-parser": "^2.4.1",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
type AsChildProps = {
|
|
3
|
-
asChild?: boolean;
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
render?: unknown;
|
|
6
|
-
};
|
|
7
|
-
type WithoutAsChild<T> = Omit<T, "asChild">;
|
|
8
|
-
declare function withAsChildRender<T extends AsChildProps>({ asChild, children, render, ...props }: T): WithoutAsChild<T>;
|
|
9
|
-
type WithAsChild<T> = T & {
|
|
10
|
-
asChild?: boolean;
|
|
11
|
-
};
|
|
12
|
-
export { withAsChildRender };
|
|
13
|
-
export type { WithAsChild };
|
|
14
|
-
//# sourceMappingURL=base-render.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-render.d.ts","sourceRoot":"","sources":["../../src/lib/base-render.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAE3C,iBAAS,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,EACjD,OAAO,EACP,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAavB;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,YAAY,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/lib/base-render.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
function withAsChildRender({ asChild, children, render, ...props }) {
|
|
4
|
-
if (asChild && React.isValidElement(children)) {
|
|
5
|
-
return {
|
|
6
|
-
...props,
|
|
7
|
-
render: render ?? children,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
return {
|
|
11
|
-
...props,
|
|
12
|
-
children,
|
|
13
|
-
render,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export { withAsChildRender };
|
package/dist/lib/slot.d.ts
DELETED
package/dist/lib/slot.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
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 };
|