@nadicodeai/ui 0.4.1 → 0.5.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 +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/dashboard-shell.d.ts +11 -2
- package/dist/components/dashboard-shell.d.ts.map +1 -1
- package/dist/components/dashboard-shell.js +73 -4
- 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/label-system.d.ts +14 -0
- package/dist/components/label-system.d.ts.map +1 -0
- package/dist/components/label-system.js +16 -0
- 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.d.ts.map +1 -1
- package/dist/components/table.js +5 -5
- 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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/styles/globals.css +8 -0
- 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/AGENTS.md
CHANGED
|
@@ -22,7 +22,7 @@ skills.
|
|
|
22
22
|
- **Source-authored, built package.** Components are authored as shadcn-style source in this workspace, then emitted to `dist/` for consumption by other apps. Package exports must point at built JS/declarations/CSS, not raw `src/*.tsx`, and `npm pack --dry-run` must include only intentional consumer artifacts.
|
|
23
23
|
- **Public surface changes require a release decision.** Any change to exported components, `src/index.ts`, `src/ai-elements.ts`, package `exports`, `globals.css`, UI-local semantic aliases, theme behavior, package docs, package skills, or design-system token/CSS/theme output consumed by this package must end with an explicit npm release decision before handoff. If the change should reach external consumers, bump the relevant package version(s), run `npm pack --dry-run -w @nadicodeai/ui`, and follow `../docs/agents/npm-publishing.md`. When the UI change depends on modified `@nadicodeai/design-system` output, bump/publish `@nadicodeai/design-system` first, then update `@nadicodeai/ui`'s dependency and publish UI. Never claim a UI package change is shipped to npm until `npm view @nadicodeai/ui version` reports the intended published version.
|
|
24
24
|
- **shadcn and AI Elements are package surface.** The installed shadcn source components under `src/components/` and all 48 Vercel AI Elements under `src/components/ai-elements/` are intentional ready-to-use exports. Keep `src/index.ts`, `src/ai-elements.ts`, package `exports`, README/agent docs, and `website/app/ui-check/elements` synchronized whenever this surface changes.
|
|
25
|
-
- **Base UI is the active primitive base.** `components.json` must resolve through a Base style, currently `base-nova`, and `npx shadcn@latest info --json` must report `base: "base"`. Do not reintroduce `radix-ui`, `@radix-ui/*`, or `vaul` to package source/dependencies or app optimizer configuration
|
|
25
|
+
- **Base UI is the active primitive base.** `components.json` must resolve through a Base style, currently `base-nova`, and `npx shadcn@latest info --json` must report `base: "base"`. Do not reintroduce `radix-ui`, `@radix-ui/*`, or `vaul` to package source/dependencies or app optimizer configuration. Registry-owned shadcn primitives should stay aligned with current `shadcn@latest` Base UI output; use Base UI `render` composition instead of Radix `asChild`. `cmdk` is allowed only for the stock shadcn Command component while the current `base-nova` registry declares that dependency; do not use it elsewhere or replace it without a shadcn/compatibility decision and tests.
|
|
26
26
|
- **Named shadcn blocks stay named.** When a user, plan, or issue selects a shadcn block/example such as `login-02`, `signup-02`, `dashboard-01`, or `sidebar-*`, use that registry item as the source of truth through shadcn CLI/MCP. Do not replace it with a package-authored abstraction unless the plan explicitly records the substitution, the reason, and the true consumer route that proves it.
|
|
27
27
|
- **Package surface is source-backed.** `src/components/` is intentionally flat shadcn-style source. Do not document folders or package namespaces that do not exist. Do not add top-level exports for recipes, blocks, agent, or terminal groupings unless a later package API decision adds concrete source, built files, docs, and tests in the same change.
|
|
28
28
|
- **Auth routes are consumer-owned shadcn block work.** Login, signup, OTP, two-factor, magic-link, and provider-button flows start from the selected shadcn block/example in the consuming app, with app-owned Better Auth behavior. Do not ship generic auth, signup, OTP, federated-login, or provider abstractions from this package unless a later explicit boundary decision replaces the selected shadcn block.
|
package/README.md
CHANGED
|
@@ -197,8 +197,8 @@ npx shadcn@latest add @ai-elements/message --dry-run
|
|
|
197
197
|
`info --json` is the project-aware source of truth for aliases, Tailwind version,
|
|
198
198
|
base primitive library, icon library, resolved source paths, and configured
|
|
199
199
|
registries. The active primitive base is Base UI; do not add Radix or vaul to
|
|
200
|
-
package source or dependencies
|
|
201
|
-
|
|
200
|
+
package source or dependencies. `cmdk` is present only for the stock shadcn
|
|
201
|
+
Command component while the Base UI registry declares it. Use `search`, `docs`, and `view` to inspect current registry items
|
|
202
202
|
before adding or refreshing source. Review `add --dry-run` or `add --diff`
|
|
203
203
|
output before changing files, and do not use `--overwrite` unless the maintainer
|
|
204
204
|
explicitly asks for an upstream refresh.
|
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
defaultValue?: AccordionCompatibilityValue;
|
|
8
|
-
multiple?: boolean;
|
|
9
|
-
onValueChange?: (value: AccordionCompatibilityValue, eventDetails: AccordionPrimitive.Root.ChangeEventDetails) => void;
|
|
10
|
-
type?: "single" | "multiple";
|
|
11
|
-
value?: AccordionCompatibilityValue;
|
|
12
|
-
};
|
|
13
|
-
declare function Accordion({ className, collapsible, defaultValue, multiple, onValueChange, type, value, ...props }: AccordionCompatibilityProps): React.JSX.Element;
|
|
14
|
-
declare function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props): React.JSX.Element;
|
|
15
|
-
declare function AccordionTrigger({ className, children, asChild, ...props }: WithAsChild<AccordionPrimitive.Trigger.Props>): React.JSX.Element;
|
|
16
|
-
declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props): React.JSX.Element;
|
|
2
|
+
declare function Accordion({ className, ...props }: AccordionPrimitive.Root.Props): import("react").JSX.Element;
|
|
3
|
+
declare function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props): import("react").JSX.Element;
|
|
4
|
+
declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props): import("react").JSX.Element;
|
|
5
|
+
declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props): import("react").JSX.Element;
|
|
17
6
|
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|
|
18
7
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/components/accordion.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/components/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAK1E,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,+BAQxE;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,+BAQ5E;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,+BAiBlC;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,+BAiBhC;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1,41 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
2
|
import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
|
|
5
|
-
import { withAsChildRender } from "../lib/base-render.js";
|
|
6
3
|
import { cn } from "../lib/utils.js";
|
|
7
4
|
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
if (Array.isArray(value)) {
|
|
13
|
-
return value;
|
|
14
|
-
}
|
|
15
|
-
return value === "" ? [] : [value];
|
|
16
|
-
}
|
|
17
|
-
function Accordion({ className, collapsible = false, defaultValue, multiple, onValueChange, type, value, ...props }) {
|
|
18
|
-
const isMultiple = multiple ?? type === "multiple";
|
|
19
|
-
const baseValue = React.useMemo(() => toBaseValue(value), [value]);
|
|
20
|
-
const defaultBaseValue = React.useMemo(() => toBaseValue(defaultValue), [defaultValue]);
|
|
21
|
-
const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultBaseValue);
|
|
22
|
-
const resolvedValue = value === undefined ? uncontrolledValue : baseValue;
|
|
23
|
-
const handleValueChange = React.useCallback((nextValue, eventDetails) => {
|
|
24
|
-
if (!isMultiple && !collapsible && nextValue.length === 0) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (value === undefined) {
|
|
28
|
-
setUncontrolledValue(nextValue);
|
|
29
|
-
}
|
|
30
|
-
onValueChange?.(isMultiple ? nextValue : (nextValue[0] ?? ""), eventDetails);
|
|
31
|
-
}, [collapsible, isMultiple, onValueChange, value]);
|
|
32
|
-
return (_jsx(AccordionPrimitive.Root, { "data-slot": "accordion", className: cn("flex w-full flex-col", className), multiple: isMultiple, onValueChange: handleValueChange, value: resolvedValue, ...props }));
|
|
5
|
+
function Accordion({ className, ...props }) {
|
|
6
|
+
return (_jsx(AccordionPrimitive.Root, { "data-slot": "accordion", className: cn("flex w-full flex-col", className), ...props }));
|
|
33
7
|
}
|
|
34
8
|
function AccordionItem({ className, ...props }) {
|
|
35
9
|
return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn("not-last:border-b", className), ...props }));
|
|
36
10
|
}
|
|
37
|
-
function AccordionTrigger({ className, children,
|
|
38
|
-
return (_jsx(AccordionPrimitive.Header, { className: "flex", children:
|
|
11
|
+
function AccordionTrigger({ className, children, ...props }) {
|
|
12
|
+
return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className), ...props, children: [children, _jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }), _jsx(ChevronUpIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })] }) }));
|
|
39
13
|
}
|
|
40
14
|
function AccordionContent({ className, children, ...props }) {
|
|
41
15
|
return (_jsx(AccordionPrimitive.Panel, { "data-slot": "accordion-content", className: "overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up", ...props, children: _jsx("div", { className: cn("h-(--accordion-panel-height) pt-0 pb-2.5 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className), children: children }) }));
|
|
@@ -50,7 +50,7 @@ function AgentSourcesList({ sources }) {
|
|
|
50
50
|
if (!sources?.length) {
|
|
51
51
|
return null;
|
|
52
52
|
}
|
|
53
|
-
return (_jsxs(Sources, { "data-slot": "agent-message-sources", children: [_jsx(SourcesTrigger, { count: sources.length }), _jsx(SourcesContent, {
|
|
53
|
+
return (_jsxs(Sources, { "data-slot": "agent-message-sources", children: [_jsx(SourcesTrigger, { count: sources.length }), _jsx(SourcesContent, { keepMounted: true, children: sources.map((source) => (_jsx(Source, { href: source.url ?? "#", title: source.redaction
|
|
54
54
|
? getAgentRedactionText(source.redaction)
|
|
55
55
|
: source.title }, source.id))) })] }));
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-tool-approval.d.ts","sourceRoot":"","sources":["../../src/components/agent-tool-approval.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,EACL,IAAI,EAML,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEvE,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAEzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;CAKmC,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-tool-approval.d.ts","sourceRoot":"","sources":["../../src/components/agent-tool-approval.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,EACL,IAAI,EAML,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEvE,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAEzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;CAKmC,CAAA;AAuDpE,iBAAS,iBAAiB,CAAC,EACzB,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAiE,EACjE,YAAY,EACZ,QAAQ,EACR,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACjE,OAAO,EAAE,wBAAwB,CAAA;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACpE,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,wBAAwB,KAC9B,IAAI,CAAA;IACT,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,qBA4DA;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -39,23 +39,26 @@ const approvalRiskLabels = {
|
|
|
39
39
|
low: "Low risk",
|
|
40
40
|
review: "Review",
|
|
41
41
|
};
|
|
42
|
-
function getApprovalChoiceClass(choice) {
|
|
42
|
+
function getApprovalChoiceClass(choice, variant) {
|
|
43
|
+
if (variant !== "outline") {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
43
46
|
if (choice === "run") {
|
|
44
|
-
return "
|
|
47
|
+
return "text-[var(--nc-tool-approval-run)]";
|
|
45
48
|
}
|
|
46
49
|
if (choice === "deny") {
|
|
47
|
-
return "
|
|
50
|
+
return "text-[var(--nc-tool-approval-deny)]";
|
|
48
51
|
}
|
|
49
52
|
if (choice === "session") {
|
|
50
|
-
return "
|
|
53
|
+
return "text-[var(--nc-tool-approval-session)]";
|
|
51
54
|
}
|
|
52
|
-
return "
|
|
55
|
+
return "text-[var(--nc-tool-approval-always)]";
|
|
53
56
|
}
|
|
54
57
|
function AgentToolApproval({ request, title, description, choices = request.choices ?? ["run", "deny", "session", "always"], choiceLabels, onChoice, disabled = false, footer, className, ...props }) {
|
|
55
58
|
return (_jsxs(Card, { "data-slot": "agent-tool-approval", "data-tool-name": request.toolName, "data-risk": request.risk, className: cn("gap-4 border-dashed bg-muted/20 shadow-none", className), ...props, children: [_jsxs(CardHeader, { className: "gap-2", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [request.risk && (_jsx(Badge, { variant: "outline", children: approvalRiskLabels[request.risk] })), _jsx(Badge, { variant: "secondary", children: request.toolName })] }), _jsx(CardTitle, { children: title ?? request.title ?? "Approval required" }), (description ?? request.description) && (_jsx(CardDescription, { children: description ?? request.description })), request.scope && (_jsx(CardDescription, { "data-slot": "agent-tool-approval-scope", children: request.scope }))] }), _jsx(CardContent, { children: _jsx("div", { "data-slot": "agent-tool-approval-choices", className: "flex flex-wrap gap-2", children: choices.map((choice) => {
|
|
56
59
|
const defaults = approvalChoiceDefaults[choice];
|
|
57
60
|
const Icon = defaults.icon;
|
|
58
|
-
return (_jsxs(Button, { type: "button", variant: defaults.variant, disabled: disabled, "data-approval-choice": choice, "data-approval-alias": agentApprovalAliases[choice], className: cn(getApprovalChoiceClass(choice)), onClick: () => onChoice?.(choice, request), children: [_jsx(Icon, { className: "size-4", "data-icon": true }), choiceLabels?.[choice] ?? defaults.label] }, choice));
|
|
61
|
+
return (_jsxs(Button, { type: "button", variant: defaults.variant, disabled: disabled, "data-approval-choice": choice, "data-approval-alias": agentApprovalAliases[choice], className: cn(getApprovalChoiceClass(choice, defaults.variant)), onClick: () => onChoice?.(choice, request), children: [_jsx(Icon, { className: "size-4", "data-icon": true }), choiceLabels?.[choice] ?? defaults.label] }, choice));
|
|
59
62
|
}) }) }), footer && _jsx(CardFooter, { children: footer })] }));
|
|
60
63
|
}
|
|
61
64
|
export { AgentToolApproval };
|
|
@@ -13,7 +13,7 @@ export const ArtifactActions = ({ className, ...props }) => (_jsx("div", { class
|
|
|
13
13
|
export const ArtifactAction = ({ tooltip, label, icon: Icon, children, className, size = "sm", variant = "ghost", ...props }) => {
|
|
14
14
|
const button = (_jsxs(Button, { className: cn("size-8 p-0 text-muted-foreground hover:text-foreground", className), size: size, type: "button", variant: variant, ...props, children: [Icon ? _jsx(Icon, { className: "size-4" }) : children, _jsx("span", { className: "sr-only", children: label || tooltip })] }));
|
|
15
15
|
if (tooltip) {
|
|
16
|
-
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, {
|
|
16
|
+
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: button }), _jsx(TooltipContent, { children: _jsx("p", { children: tooltip }) })] }) }));
|
|
17
17
|
}
|
|
18
18
|
return button;
|
|
19
19
|
};
|
|
@@ -44,7 +44,7 @@ export type AttachmentRemoveProps = ComponentProps<typeof Button> & {
|
|
|
44
44
|
};
|
|
45
45
|
export declare const AttachmentRemove: ({ label, className, children, ...props }: AttachmentRemoveProps) => import("react").JSX.Element | null;
|
|
46
46
|
export type AttachmentHoverCardProps = ComponentProps<typeof HoverCard>;
|
|
47
|
-
export declare const AttachmentHoverCard: (
|
|
47
|
+
export declare const AttachmentHoverCard: (props: AttachmentHoverCardProps) => import("react").JSX.Element;
|
|
48
48
|
export type AttachmentHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
|
|
49
49
|
export declare const AttachmentHoverCardTrigger: (props: AttachmentHoverCardTriggerProps) => import("react").JSX.Element;
|
|
50
50
|
export type AttachmentHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/attachments.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAU3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvE,MAAM,MAAM,cAAc,GACtB,CAAC,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7B,CAAC,oBAAoB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE5C,MAAM,MAAM,uBAAuB,GAC/B,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAe3D,eAAO,MAAM,gBAAgB,GAC3B,MAAM,cAAc,KACnB,uBAqBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,cAAc,KAAG,MAOzD,CAAC;AA6BF,UAAU,uBAAuB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAID,UAAU,sBAAsB;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAQD,eAAO,MAAM,qBAAqB,+BAC8B,CAAC;AAEjE,eAAO,MAAM,oBAAoB,8BAMhC,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,4CAKzB,gBAAgB,gCAkBlB,CAAC;AAMF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC7D,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,mDAMxB,eAAe,gCAiCjB,CAAC;AAMF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACpE,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,uCAI/B,sBAAsB,gCAoCxB,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,wCAI5B,mBAAmB,uCAkBrB,CAAC;AAMF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,0CAK9B,qBAAqB,uCA2CvB,CAAC;AAMF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAExE,eAAO,MAAM,mBAAmB,GAAI,
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/attachments.tsx"],"names":[],"mappings":"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"}
|
|
@@ -119,7 +119,7 @@ export const AttachmentRemove = ({ label = "Remove", className, children, ...pro
|
|
|
119
119
|
"[&>svg]:size-2.5",
|
|
120
120
|
], variant === "list" && ["size-8 shrink-0 rounded p-0", "[&>svg]:size-4"], className), onClick: handleClick, type: "button", variant: "ghost", ...props, children: [children ?? _jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: label })] }));
|
|
121
121
|
};
|
|
122
|
-
export const AttachmentHoverCard = (
|
|
123
|
-
export const AttachmentHoverCardTrigger = (props) => _jsx(HoverCardTrigger, { ...props });
|
|
122
|
+
export const AttachmentHoverCard = (props) => (_jsx(HoverCard, { ...props }));
|
|
123
|
+
export const AttachmentHoverCardTrigger = (props) => _jsx(HoverCardTrigger, { closeDelay: 0, delay: 0, ...props });
|
|
124
124
|
export const AttachmentHoverCardContent = ({ align = "start", className, ...props }) => (_jsx(HoverCardContent, { align: align, className: cn("w-auto p-2", className), ...props }));
|
|
125
125
|
export const AttachmentEmpty = ({ className, children, ...props }) => (_jsx("div", { className: cn("flex items-center justify-center p-4 text-muted-foreground text-sm", className), ...props, children: children ?? "No attachments" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-player.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/audio-player.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,IAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AACpE,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,OAAO,CACR,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,+BAIzB,gBAAgB,gCAiClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GACxE,CACI;IACE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B,GACD;IACE,GAAG,EAAE,MAAM,CAAC;CACb,CACJ,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,gCAazB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,wBAGnC,0BAA0B,gCAI5B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,yBAGnC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"audio-player.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/audio-player.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,IAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AACpE,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,OAAO,CACR,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,+BAIzB,gBAAgB,gCAiClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GACxE,CACI;IACE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B,GACD;IACE,GAAG,EAAE,MAAM,CAAC;CACb,CACJ,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,gCAazB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,wBAGnC,0BAA0B,gCAI5B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,yBAGnC,0BAA0B,gCAa5B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,cAAc,CAC7D,OAAO,uBAAuB,CAC/B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,0BAG3C,kCAAkC,gCAapC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,cAAc,CAC5D,OAAO,sBAAsB,CAC9B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,0BAG1C,iCAAiC,gCAanC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CACtD,OAAO,gBAAgB,CACxB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,yBAGpC,2BAA2B,gCAW7B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB,GAAI,yBAGlC,yBAAyB,gCAW3B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAC1D,OAAO,oBAAoB,CAC5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,yBAGxC,+BAA+B,gCAWjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,yBAGnC,0BAA0B,gCAW5B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CACtD,OAAO,gBAAgB,CACxB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,yBAGpC,2BAA2B,gCAW7B,CAAC"}
|
|
@@ -33,11 +33,11 @@ _jsx("audio", { "data-slot": "audio-player-element", slot: "media", src: "src" i
|
|
|
33
33
|
? props.src
|
|
34
34
|
: `data:${props.data.mediaType};base64,${props.data.base64}`, tabIndex: tabIndex, ...props }));
|
|
35
35
|
export const AudioPlayerControlBar = ({ children, ...props }) => (_jsx(MediaControlBar, { "data-slot": "audio-player-control-bar", ...props, children: _jsx(ButtonGroup, { orientation: "horizontal", children: children }) }));
|
|
36
|
-
export const AudioPlayerPlayButton = ({ className, ...props }) => (_jsx(Button, {
|
|
37
|
-
export const AudioPlayerSeekBackwardButton = ({ seekOffset = 10, ...props }) => (_jsx(Button, {
|
|
38
|
-
export const AudioPlayerSeekForwardButton = ({ seekOffset = 10, ...props }) => (_jsx(Button, {
|
|
39
|
-
export const AudioPlayerTimeDisplay = ({ className, ...props }) => (_jsx(ButtonGroupText, {
|
|
40
|
-
export const AudioPlayerTimeRange = ({ className, ...props }) => (_jsx(ButtonGroupText, {
|
|
41
|
-
export const AudioPlayerDurationDisplay = ({ className, ...props }) => (_jsx(ButtonGroupText, {
|
|
42
|
-
export const AudioPlayerMuteButton = ({ className, ...props }) => (_jsx(ButtonGroupText, {
|
|
43
|
-
export const AudioPlayerVolumeRange = ({ className, ...props }) => (_jsx(ButtonGroupText, {
|
|
36
|
+
export const AudioPlayerPlayButton = ({ className, ...props }) => (_jsx(Button, { nativeButton: false, render: _jsx(MediaPlayButton, { className: cn("bg-transparent", className), "data-slot": "audio-player-play-button", ...props }), size: "icon-sm", variant: "outline" }));
|
|
37
|
+
export const AudioPlayerSeekBackwardButton = ({ seekOffset = 10, ...props }) => (_jsx(Button, { nativeButton: false, render: _jsx(MediaSeekBackwardButton, { "data-slot": "audio-player-seek-backward-button", seekOffset: seekOffset, ...props }), size: "icon-sm", variant: "outline" }));
|
|
38
|
+
export const AudioPlayerSeekForwardButton = ({ seekOffset = 10, ...props }) => (_jsx(Button, { nativeButton: false, render: _jsx(MediaSeekForwardButton, { "data-slot": "audio-player-seek-forward-button", seekOffset: seekOffset, ...props }), size: "icon-sm", variant: "outline" }));
|
|
39
|
+
export const AudioPlayerTimeDisplay = ({ className, ...props }) => (_jsx(ButtonGroupText, { className: "bg-transparent", render: _jsx(MediaTimeDisplay, { className: cn("tabular-nums", className), "data-slot": "audio-player-time-display", ...props }) }));
|
|
40
|
+
export const AudioPlayerTimeRange = ({ className, ...props }) => (_jsx(ButtonGroupText, { className: "bg-transparent", render: _jsx(MediaTimeRange, { className: cn("", className), "data-slot": "audio-player-time-range", ...props }) }));
|
|
41
|
+
export const AudioPlayerDurationDisplay = ({ className, ...props }) => (_jsx(ButtonGroupText, { className: "bg-transparent", render: _jsx(MediaDurationDisplay, { className: cn("tabular-nums", className), "data-slot": "audio-player-duration-display", ...props }) }));
|
|
42
|
+
export const AudioPlayerMuteButton = ({ className, ...props }) => (_jsx(ButtonGroupText, { className: "bg-transparent", render: _jsx(MediaMuteButton, { className: cn("", className), "data-slot": "audio-player-mute-button", ...props }) }));
|
|
43
|
+
export const AudioPlayerVolumeRange = ({ className, ...props }) => (_jsx(ButtonGroupText, { className: "bg-transparent", render: _jsx(MediaVolumeRange, { className: cn("", className), "data-slot": "audio-player-volume-range", ...props }) }));
|
|
@@ -37,7 +37,7 @@ export const ChainOfThoughtSearchResults = memo(({ className, ...props }) => (_j
|
|
|
37
37
|
export const ChainOfThoughtSearchResult = memo(({ className, children, ...props }) => (_jsx(Badge, { className: cn("gap-1 px-2 py-0.5 font-normal text-xs", className), variant: "secondary", ...props, children: children })));
|
|
38
38
|
export const ChainOfThoughtContent = memo(({ className, children, ...props }) => {
|
|
39
39
|
const { isOpen } = useChainOfThought();
|
|
40
|
-
return (_jsx(Collapsible, { open: isOpen, children: _jsx(CollapsibleContent, { className: cn("mt-2 flex flex-col gap-3", "data-
|
|
40
|
+
return (_jsx(Collapsible, { open: isOpen, children: _jsx(CollapsibleContent, { className: cn("mt-2 flex flex-col gap-3", "data-closed:fade-out-0 data-closed:slide-out-to-top-2 data-open:slide-in-from-top-2 text-popover-foreground outline-none data-closed:animate-out data-open:animate-in", className), ...props, children: children }) }));
|
|
41
41
|
});
|
|
42
42
|
export const ChainOfThoughtImage = memo(({ className, children, caption, ...props }) => (_jsxs("div", { className: cn("mt-2 flex flex-col gap-2", className), ...props, children: [_jsx("div", { className: "relative flex max-h-[22rem] items-center justify-center overflow-hidden rounded-lg bg-muted p-3", children: children }), caption && _jsx("p", { className: "text-muted-foreground text-xs", children: caption })] })));
|
|
43
43
|
ChainOfThought.displayName = "ChainOfThought";
|
|
@@ -4,7 +4,7 @@ import type { ComponentProps, HTMLAttributes } from "react";
|
|
|
4
4
|
export type CheckpointProps = HTMLAttributes<HTMLDivElement>;
|
|
5
5
|
export declare const Checkpoint: ({ className, children, ...props }: CheckpointProps) => import("react").JSX.Element;
|
|
6
6
|
export type CheckpointIconProps = LucideProps;
|
|
7
|
-
export declare const CheckpointIcon: ({ className, children, ...props }: CheckpointIconProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined
|
|
7
|
+
export declare const CheckpointIcon: ({ className, children, ...props }: CheckpointIconProps) => string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined>;
|
|
8
8
|
export type CheckpointTriggerProps = ComponentProps<typeof Button> & {
|
|
9
9
|
tooltip?: string;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/checkpoint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,UAAU,GAAI,mCAIxB,eAAe,gCAWjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE9C,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,6UAGnB,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,gDAM/B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/checkpoint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,UAAU,GAAI,mCAIxB,eAAe,gCAWjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE9C,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,6UAGnB,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,gDAM/B,sBAAsB,gCAkBtB,CAAC"}
|
|
@@ -7,4 +7,4 @@ import { cn } from "../../lib/utils.js";
|
|
|
7
7
|
import { BookmarkIcon } from "lucide-react";
|
|
8
8
|
export const Checkpoint = ({ className, children, ...props }) => (_jsxs("div", { className: cn("flex items-center gap-0.5 overflow-hidden text-muted-foreground", className), ...props, children: [children, _jsx(Separator, {})] }));
|
|
9
9
|
export const CheckpointIcon = ({ className, children, ...props }) => children ?? (_jsx(BookmarkIcon, { className: cn("size-4 shrink-0", className), ...props }));
|
|
10
|
-
export const CheckpointTrigger = ({ children, variant = "ghost", size = "sm", tooltip, ...props }) => tooltip ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, {
|
|
10
|
+
export const CheckpointTrigger = ({ children, variant = "ghost", size = "sm", tooltip, ...props }) => tooltip ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx(Button, { size: size, type: "button", variant: variant, ...props, children: children }) }), _jsx(TooltipContent, { align: "start", side: "bottom", children: tooltip })] })) : (_jsx(Button, { size: size, type: "button", variant: variant, ...props, children: children }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/commit.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,QAAQ,EAIT,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE7D,eAAO,MAAM,MAAM,GAAI,mCAAmC,WAAW,gCAOpE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE1E,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/commit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { cn } from "../../lib/utils.js";
|
|
|
7
7
|
import { CheckIcon, CopyIcon, FileIcon, GitCommitIcon, MinusIcon, PlusIcon, } from "lucide-react";
|
|
8
8
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
9
9
|
export const Commit = ({ className, children, ...props }) => (_jsx(Collapsible, { className: cn("rounded-lg border bg-background", className), ...props, children: children }));
|
|
10
|
-
export const CommitHeader = ({ className, children, ...props }) => (_jsx(CollapsibleTrigger, {
|
|
10
|
+
export const CommitHeader = ({ className, children, ...props }) => (_jsx(CollapsibleTrigger, { nativeButton: false, render: _jsx("div", { className: cn("group flex cursor-pointer items-center justify-between gap-4 p-3 text-left transition-colors hover:opacity-80", className), children: children }), ...props }));
|
|
11
11
|
export const CommitHash = ({ className, children, ...props }) => (_jsxs("span", { className: cn("font-mono text-xs", className), ...props, children: [_jsx(GitCommitIcon, { className: "mr-1 inline-block size-3" }), children] }));
|
|
12
12
|
export const CommitMessage = ({ className, children, ...props }) => (_jsx("span", { className: cn("font-medium text-sm", className), ...props, children: children }));
|
|
13
13
|
export const CommitMetadata = ({ className, children, ...props }) => (_jsx("div", { className: cn("flex items-center gap-2 text-muted-foreground text-xs", className), ...props, children: children }));
|
|
@@ -22,12 +22,12 @@ export declare const ContextContentBody: ({ children, className, ...props }: Con
|
|
|
22
22
|
export type ContextContentFooterProps = ComponentProps<"div">;
|
|
23
23
|
export declare const ContextContentFooter: ({ children, className, ...props }: ContextContentFooterProps) => import("react").JSX.Element;
|
|
24
24
|
export type ContextInputUsageProps = ComponentProps<"div">;
|
|
25
|
-
export declare const ContextInputUsage: ({ className, children, ...props }: ContextInputUsageProps) => string | number | bigint | true | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> |
|
|
25
|
+
export declare const ContextInputUsage: ({ className, children, ...props }: ContextInputUsageProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
|
|
26
26
|
export type ContextOutputUsageProps = ComponentProps<"div">;
|
|
27
|
-
export declare const ContextOutputUsage: ({ className, children, ...props }: ContextOutputUsageProps) => string | number | bigint | true | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> |
|
|
27
|
+
export declare const ContextOutputUsage: ({ className, children, ...props }: ContextOutputUsageProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
|
|
28
28
|
export type ContextReasoningUsageProps = ComponentProps<"div">;
|
|
29
|
-
export declare const ContextReasoningUsage: ({ className, children, ...props }: ContextReasoningUsageProps) => string | number | bigint | true | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> |
|
|
29
|
+
export declare const ContextReasoningUsage: ({ className, children, ...props }: ContextReasoningUsageProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
|
|
30
30
|
export type ContextCacheUsageProps = ComponentProps<"div">;
|
|
31
|
-
export declare const ContextCacheUsage: ({ className, children, ...props }: ContextCacheUsageProps) => string | number | bigint | true | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> |
|
|
31
|
+
export declare const ContextCacheUsage: ({ className, children, ...props }: ContextCacheUsageProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
|
|
32
32
|
export {};
|
|
33
33
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAU5C,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,CAAC;AAE5E,eAAO,MAAM,OAAO,GAAI,qDAMrB,YAAY,gCAWd,CAAC;AA2CF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc,GAAI,wBAAwB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAU5C,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,CAAC;AAE5E,eAAO,MAAM,OAAO,GAAI,qDAMrB,YAAY,gCAWd,CAAC;AA2CF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc,GAAI,wBAAwB,mBAAmB,gCA8BzE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1E,eAAO,MAAM,cAAc,GAAI,yBAG5B,mBAAmB,gCAKrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,mCAIlC,yBAAyB,gCA+B3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAAI,mCAIhC,uBAAuB,gCAIzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,mCAIlC,yBAAyB,gCAgC3B,CAAC;AAqBF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,GAAI,mCAI/B,sBAAsB,iVAgCxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAAI,mCAIhC,uBAAuB,iVAgCzB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE/D,eAAO,MAAM,qBAAqB,GAAI,mCAInC,0BAA0B,iVAgC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,GAAI,mCAI/B,sBAAsB,iVAgCxB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { Button } from "../button.js";
|
|
|
4
4
|
import { HoverCard, HoverCardContent, HoverCardTrigger, } from "../hover-card.js";
|
|
5
5
|
import { Progress } from "../progress.js";
|
|
6
6
|
import { cn } from "../../lib/utils.js";
|
|
7
|
-
import { createContext, useContext, useMemo } from "react";
|
|
7
|
+
import { createContext, isValidElement, useContext, useMemo } from "react";
|
|
8
8
|
import { getUsage } from "tokenlens";
|
|
9
9
|
const PERCENT_MAX = 100;
|
|
10
10
|
const ICON_RADIUS = 10;
|
|
@@ -21,7 +21,7 @@ const useContextValue = () => {
|
|
|
21
21
|
};
|
|
22
22
|
export const Context = ({ usedTokens, maxTokens, usage, modelId, ...props }) => {
|
|
23
23
|
const contextValue = useMemo(() => ({ maxTokens, modelId, usage, usedTokens }), [maxTokens, modelId, usage, usedTokens]);
|
|
24
|
-
return (_jsx(ContextContext.Provider, { value: contextValue, children: _jsx(HoverCard, {
|
|
24
|
+
return (_jsx(ContextContext.Provider, { value: contextValue, children: _jsx(HoverCard, { ...props }) }));
|
|
25
25
|
};
|
|
26
26
|
const ContextIcon = () => {
|
|
27
27
|
const { usedTokens, maxTokens } = useContextValue();
|
|
@@ -37,7 +37,8 @@ export const ContextTrigger = ({ children, ...props }) => {
|
|
|
37
37
|
maximumFractionDigits: 1,
|
|
38
38
|
style: "percent",
|
|
39
39
|
}).format(usedPercent);
|
|
40
|
-
|
|
40
|
+
const trigger = isValidElement(children) ? (children) : (_jsx(Button, { type: "button", variant: "ghost", ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx("span", { className: "font-medium text-muted-foreground", children: renderedPercent }), _jsx(ContextIcon, {})] })) }));
|
|
41
|
+
return (_jsx(HoverCardTrigger, { closeDelay: 0, delay: 0, render: trigger }));
|
|
41
42
|
};
|
|
42
43
|
export const ContextContent = ({ className, ...props }) => (_jsx(HoverCardContent, { className: cn("min-w-60 divide-y overflow-hidden p-0", className), ...props }));
|
|
43
44
|
export const ContextContentHeader = ({ children, className, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-tree.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/file-tree.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BvD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,4HAStB,aAAa,gCAqCf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,gCAInB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,gCAInB,CAAC;AAcF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,+CAM5B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"file-tree.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/file-tree.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BvD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,4HAStB,aAAa,gCAqCf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,gCAInB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,gCAInB,CAAC;AAcF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,+CAM5B,mBAAmB,gCAuErB,CAAC;AAYF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,qDAO1B,iBAAiB,gCA8CnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAIlE,eAAO,MAAM,eAAe,GAAI,mCAI7B,oBAAoB,gCAUtB,CAAC"}
|
|
@@ -47,7 +47,7 @@ export const FileTreeFolder = ({ path, name, className, children, ...props }) =>
|
|
|
47
47
|
onSelect?.(path);
|
|
48
48
|
}, [onSelect, path]);
|
|
49
49
|
const folderContextValue = useMemo(() => ({ isExpanded, name, path }), [isExpanded, name, path]);
|
|
50
|
-
return (_jsx(FileTreeFolderContext.Provider, { value: folderContextValue, children: _jsx(Collapsible, { onOpenChange: handleOpenChange, open: isExpanded, children: _jsxs("div", { className: cn("", className), role: "treeitem", tabIndex: 0, ...props, children: [_jsxs("div", { className: cn("flex w-full items-center gap-1 rounded px-2 py-1 text-left transition-colors hover:bg-muted/50", isSelected && "bg-muted"), children: [_jsx(CollapsibleTrigger, {
|
|
50
|
+
return (_jsx(FileTreeFolderContext.Provider, { value: folderContextValue, children: _jsx(Collapsible, { onOpenChange: handleOpenChange, open: isExpanded, children: _jsxs("div", { className: cn("", className), role: "treeitem", tabIndex: 0, ...props, children: [_jsxs("div", { className: cn("flex w-full items-center gap-1 rounded px-2 py-1 text-left transition-colors hover:bg-muted/50", isSelected && "bg-muted"), children: [_jsx(CollapsibleTrigger, { render: _jsx("button", { className: "flex shrink-0 cursor-pointer items-center border-none bg-transparent p-0", type: "button", children: _jsx(ChevronRightIcon, { className: cn("size-4 shrink-0 text-muted-foreground transition-transform", isExpanded && "rotate-90") }) }) }), _jsxs("button", { className: "flex min-w-0 flex-1 cursor-pointer items-center gap-1 border-none bg-transparent p-0 text-left", onClick: handleSelect, type: "button", children: [_jsx(FileTreeIcon, { children: isExpanded ? (_jsx(FolderOpenIcon, { className: "size-4 text-[var(--nc-link-deep)]" })) : (_jsx(FolderIcon, { className: "size-4 text-[var(--nc-link-deep)]" })) }), _jsx(FileTreeName, { children: name })] })] }), _jsx(CollapsibleContent, { children: _jsx("div", { className: "ml-4 border-l pl-2", children: children }) })] }) }) }));
|
|
51
51
|
};
|
|
52
52
|
const FileTreeFileContext = createContext({
|
|
53
53
|
name: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-citation.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/inline-citation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACL,QAAQ,EAGT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EAGV,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAS5C,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,cAAc,GAAI,yBAG5B,mBAAmB,gCAKrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,kBAAkB,GAAI,yBAGhC,uBAAuB,gCAKzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,gCAEhE,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAqBF,eAAO,MAAM,yBAAyB,GAAI,kCAIvC,8BAA8B,
|
|
1
|
+
{"version":3,"file":"inline-citation.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/inline-citation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACL,QAAQ,EAGT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EAGV,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAS5C,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,cAAc,GAAI,yBAG5B,mBAAmB,gCAKrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,kBAAkB,GAAI,yBAGhC,uBAAuB,gCAKzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,gCAEhE,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAqBF,eAAO,MAAM,yBAAyB,GAAI,kCAIvC,8BAA8B,gCAqBhC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhE,eAAO,MAAM,sBAAsB,GAAI,yBAGpC,2BAA2B,gCAE7B,CAAC;AASF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB,GAAI,mCAIpC,2BAA2B,gCAU7B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEvE,eAAO,MAAM,6BAA6B,GACxC,OAAO,kCAAkC,gCACR,CAAC;AAEpC,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B,GAAI,yBAGxC,+BAA+B,gCAKjC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B,GAAI,yBAG1C,iCAAiC,gCAQnC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAErE,eAAO,MAAM,2BAA2B,GAAI,mCAIzC,gCAAgC,gCAsClC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAEvE,eAAO,MAAM,0BAA0B,GAAI,yBAGxC,+BAA+B,gCAoBjC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAEvE,eAAO,MAAM,0BAA0B,GAAI,yBAGxC,+BAA+B,gCAoBjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,4DAOlC,yBAAyB,gCAe3B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,GAAI,mCAIjC,wBAAwB,gCAU1B,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react";
|
|
|
8
8
|
import { createContext, useCallback, useContext, useEffect, useState, } from "react";
|
|
9
9
|
export const InlineCitation = ({ className, ...props }) => (_jsx("span", { className: cn("group inline items-center gap-1", className), ...props }));
|
|
10
10
|
export const InlineCitationText = ({ className, ...props }) => (_jsx("span", { className: cn("transition-colors group-hover:bg-accent", className), ...props }));
|
|
11
|
-
export const InlineCitationCard = (props) => (_jsx(HoverCard, {
|
|
11
|
+
export const InlineCitationCard = (props) => (_jsx(HoverCard, { ...props }));
|
|
12
12
|
const FALLBACK_CITATION_BASE = "https://nadicodeai.local";
|
|
13
13
|
const getCitationLabel = (source) => {
|
|
14
14
|
if (!source) {
|
|
@@ -27,7 +27,7 @@ const getCitationLabel = (source) => {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
export const InlineCitationCardTrigger = ({ sources, className, ...props }) => (_jsx(HoverCardTrigger, {
|
|
30
|
+
export const InlineCitationCardTrigger = ({ sources, className, ...props }) => (_jsx(HoverCardTrigger, { closeDelay: 0, delay: 0, render: _jsx(Badge, { className: cn("ml-1 rounded-full", className), variant: "secondary", ...props, children: sources[0] ? (_jsxs(_Fragment, { children: [getCitationLabel(sources[0]), " ", sources.length > 1 && `+${sources.length - 1}`] })) : ("unknown") }) }));
|
|
31
31
|
export const InlineCitationCardBody = ({ className, ...props }) => (_jsx(HoverCardContent, { className: cn("relative w-80 p-0", className), ...props }));
|
|
32
32
|
const CarouselApiContext = createContext(undefined);
|
|
33
33
|
const useCarouselApi = () => {
|
|
@@ -17,7 +17,7 @@ export const MessageActions = ({ className, children, ...props }) => (_jsx("div"
|
|
|
17
17
|
export const MessageAction = ({ tooltip, children, label, variant = "ghost", size = "icon-sm", ...props }) => {
|
|
18
18
|
const button = (_jsxs(Button, { size: size, type: "button", variant: variant, ...props, children: [children, _jsx("span", { className: "sr-only", children: label || tooltip })] }));
|
|
19
19
|
if (tooltip) {
|
|
20
|
-
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, {
|
|
20
|
+
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: button }), _jsx(TooltipContent, { children: _jsx("p", { children: tooltip }) })] }) }));
|
|
21
21
|
}
|
|
22
22
|
return button;
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mic-selector.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/mic-selector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EACP,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAiCvD,eAAO,MAAM,eAAe;;;;;;CAiG3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,qKAQzB,gBAAgB,gCAsClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"mic-selector.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/mic-selector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EACP,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAiCvD,eAAO,MAAM,eAAe;;;;;;CAiG3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,qKAQzB,gBAAgB,gCAsClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,gCAsCzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IACrE,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,yCAIhC,uBAAuB,gCAYzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,GAAG;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,cAAc,qBAAqB,gCAEnE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,cAAc,CAAC,OAAO,WAAW,CAAC,EAClC,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,wBAG7B,oBAAoB,gCAItB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB,GAAI,wBAG9B,qBAAqB,gCAAuD,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAY1D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IAC3D,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,iCAI9B,qBAAqB,gCAoBvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,gBAAgB,GAAI,yBAG9B,qBAAqB,gCAmBvB,CAAC"}
|
|
@@ -145,7 +145,7 @@ export const MicSelectorTrigger = ({ children, ...props }) => {
|
|
|
145
145
|
resizeObserver.disconnect();
|
|
146
146
|
};
|
|
147
147
|
}, [setWidth]);
|
|
148
|
-
return (_jsx(PopoverTrigger, {
|
|
148
|
+
return (_jsx(PopoverTrigger, { render: _jsxs(Button, { variant: "outline", ...props, ref: ref, children: [children, _jsx(ChevronsUpDownIcon, { className: "shrink-0 text-muted-foreground", size: 16 })] }) }));
|
|
149
149
|
};
|
|
150
150
|
export const MicSelectorContent = ({ className, popoverOptions, ...props }) => {
|
|
151
151
|
const { width, onValueChange, value } = useContext(MicSelectorContext);
|
|
@@ -10,7 +10,7 @@ export type ModelSelectorContentProps = ComponentProps<typeof DialogContent> & {
|
|
|
10
10
|
};
|
|
11
11
|
export declare const ModelSelectorContent: ({ className, children, title, ...props }: ModelSelectorContentProps) => import("react").JSX.Element;
|
|
12
12
|
export type ModelSelectorDialogProps = ComponentProps<typeof CommandDialog>;
|
|
13
|
-
export declare const ModelSelectorDialog: (props: ModelSelectorDialogProps) => import("react").JSX.Element;
|
|
13
|
+
export declare const ModelSelectorDialog: ({ children, ...props }: ModelSelectorDialogProps) => import("react").JSX.Element;
|
|
14
14
|
export type ModelSelectorInputProps = ComponentProps<typeof CommandInput>;
|
|
15
15
|
export declare const ModelSelectorInput: ({ className, ...props }: ModelSelectorInputProps) => import("react").JSX.Element;
|
|
16
16
|
export type ModelSelectorListProps = ComponentProps<typeof CommandList>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/model-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,aAAa,EAEb,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAEtD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAE7E,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,gCAEpE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,GAAG;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,0CAKlC,yBAAyB,gCAc3B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAE5E,eAAO,MAAM,mBAAmB,GAAI,
|
|
1
|
+
{"version":3,"file":"model-selector.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/model-selector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { cn } from "../../lib/utils.js";
|
|
|
5
5
|
export const ModelSelector = (props) => (_jsx(Dialog, { ...props }));
|
|
6
6
|
export const ModelSelectorTrigger = (props) => (_jsx(DialogTrigger, { ...props }));
|
|
7
7
|
export const ModelSelectorContent = ({ className, children, title = "Model Selector", ...props }) => (_jsxs(DialogContent, { "aria-describedby": undefined, className: cn("outline! border-none! p-0 outline-border! outline-solid!", className), ...props, children: [_jsx(DialogTitle, { className: "sr-only", children: title }), _jsx(Command, { className: "**:data-[slot=command-input-wrapper]:h-auto", children: children })] }));
|
|
8
|
-
export const ModelSelectorDialog = (props) => (_jsx(CommandDialog, { ...props }));
|
|
8
|
+
export const ModelSelectorDialog = ({ children, ...props }) => (_jsx(CommandDialog, { ...props, children: _jsx(Command, { className: "**:data-[slot=command-input-wrapper]:h-auto", children: children }) }));
|
|
9
9
|
export const ModelSelectorInput = ({ className, ...props }) => (_jsx(CommandInput, { className: cn("h-auto py-3.5", className), ...props }));
|
|
10
10
|
export const ModelSelectorList = (props) => (_jsx(CommandList, { ...props }));
|
|
11
11
|
export const ModelSelectorEmpty = (props) => (_jsx(CommandEmpty, { ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-in-chat.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/open-in-chat.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"open-in-chat.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/open-in-chat.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,mBAAmB,EAEnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAiK5C,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,GAAG;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,qBAAqB,WAAW,gCAQtD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE5E,eAAO,MAAM,aAAa,GAAI,yBAAyB,kBAAkB,gCAMxE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gCAEhD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAExE,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCAIlD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAE1D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE5E,eAAO,MAAM,aAAa,GAAI,wBAAwB,kBAAkB,gCAWvE,CAAC;AA4BF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAEtD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExE,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,gCAEpD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCAE5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCAElD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExE,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,gCAEpD,CAAC"}
|