@usetheo/ui 0.6.3-next.0 → 0.8.0-next.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/CHANGELOG.md +200 -0
- package/README.md +18 -17
- package/dist/components.css +1 -1
- package/dist/index.d.ts +454 -8
- package/dist/index.js +898 -9
- package/dist/index.js.map +1 -1
- package/package.json +98 -48
- package/registry/index.json +72 -0
- package/registry/r/account-menu.json +24 -0
- package/registry/r/button.json +1 -1
- package/registry/r/code-block.json +21 -0
- package/registry/r/confirm-dialog.json +25 -0
- package/registry/r/copy-button.json +22 -0
- package/registry/r/danger-zone.json +20 -0
- package/registry/r/plan-badge.json +20 -0
- package/registry/r/progress.json +20 -0
- package/registry/r/stat-tile.json +22 -0
- package/registry/r/status-dot.json +20 -0
- package/registry/r/table.json +22 -0
- package/registry/r/theme-provider.json +1 -1
- package/registry/r/theme-script.json +1 -1
- package/registry/r/timestamp.json +20 -0
- package/registry/r/usage-meter.json +21 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, JSX as JSX$1, ComponentPropsWithoutRef, ComponentProps, ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, ComponentType, SVGProps, TextareaHTMLAttributes, ElementType, ReactElement, OutputHTMLAttributes } from 'react';
|
|
3
|
+
import { ReactNode, JSX as JSX$1, ComponentPropsWithoutRef, ComponentProps, ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, ComponentType, SVGProps, TextareaHTMLAttributes, ElementType, ReactElement, OutputHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes } from 'react';
|
|
4
4
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
5
|
import * as ToastPrimitive from '@radix-ui/react-toast';
|
|
6
6
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -941,7 +941,7 @@ declare const Tabs: react.ForwardRefExoticComponent<TabsPrimitive.TabsProps & re
|
|
|
941
941
|
* Wrap your app in <Tooltip.Provider> once (or use the default delayDuration here).
|
|
942
942
|
*/
|
|
943
943
|
declare const Provider: react.FC<TooltipPrimitive.TooltipProviderProps>;
|
|
944
|
-
declare const Root: react.FC<TooltipPrimitive.TooltipProps>;
|
|
944
|
+
declare const Root$2: react.FC<TooltipPrimitive.TooltipProps>;
|
|
945
945
|
declare const Trigger: react.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
946
946
|
declare const Content$1: react.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
947
947
|
interface TooltipProps extends ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> {
|
|
@@ -958,7 +958,7 @@ interface TooltipProps extends ComponentPropsWithoutRef<typeof TooltipPrimitive.
|
|
|
958
958
|
declare const Tooltip: ({ label, side, align, delayDuration, children, ...rootProps }: TooltipProps) => ReturnType<typeof Provider>;
|
|
959
959
|
declare const TooltipWithStatics: typeof Tooltip & {
|
|
960
960
|
Provider: typeof Provider;
|
|
961
|
-
Root: typeof Root;
|
|
961
|
+
Root: typeof Root$2;
|
|
962
962
|
Trigger: typeof Trigger;
|
|
963
963
|
Content: typeof Content$1;
|
|
964
964
|
};
|
|
@@ -2112,11 +2112,11 @@ interface ContentProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.C
|
|
|
2112
2112
|
hideCloseButton?: boolean;
|
|
2113
2113
|
}
|
|
2114
2114
|
declare const Content: react.ForwardRefExoticComponent<ContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
2115
|
-
declare const Header: {
|
|
2115
|
+
declare const Header$1: {
|
|
2116
2116
|
({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
2117
2117
|
displayName: string;
|
|
2118
2118
|
};
|
|
2119
|
-
declare const Body: {
|
|
2119
|
+
declare const Body$1: {
|
|
2120
2120
|
({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
2121
2121
|
displayName: string;
|
|
2122
2122
|
};
|
|
@@ -2131,8 +2131,8 @@ declare const Sheet: typeof DialogPrimitive.Root & {
|
|
|
2131
2131
|
Close: typeof DialogPrimitive.Close;
|
|
2132
2132
|
Content: typeof Content;
|
|
2133
2133
|
Overlay: typeof Overlay;
|
|
2134
|
-
Header: typeof Header;
|
|
2135
|
-
Body: typeof Body;
|
|
2134
|
+
Header: typeof Header$1;
|
|
2135
|
+
Body: typeof Body$1;
|
|
2136
2136
|
Footer: typeof Footer;
|
|
2137
2137
|
Title: typeof Title;
|
|
2138
2138
|
Description: typeof Description;
|
|
@@ -2604,6 +2604,452 @@ interface ToolResultProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
2604
2604
|
*/
|
|
2605
2605
|
declare const ToolResult: react.ForwardRefExoticComponent<ToolResultProps & react.RefAttributes<HTMLDivElement>>;
|
|
2606
2606
|
|
|
2607
|
+
/**
|
|
2608
|
+
* Progress — accessible progress bar primitive.
|
|
2609
|
+
*
|
|
2610
|
+
* Built on `<div role="progressbar">` (NOT native `<progress>`) so Tailwind
|
|
2611
|
+
* classes can style the track + fill cross-browser (Chrome/Safari/Firefox
|
|
2612
|
+
* shadow-DOM hooks for `<progress>` diverge). Matches Radix / shadcn /
|
|
2613
|
+
* Mantine convention.
|
|
2614
|
+
*
|
|
2615
|
+
* Variants:
|
|
2616
|
+
* - intent: `default` | `success` | `warning` | `destructive` — controls fill color
|
|
2617
|
+
* - height: `h-1` (4px, default) | `h-1.5` | `h-2` | `h-3`
|
|
2618
|
+
* - indeterminate: animated bar, no value (e.g. "uploading…", "building…")
|
|
2619
|
+
*
|
|
2620
|
+
* Composition:
|
|
2621
|
+
* <Progress value={42} max={100} intent="success" aria-label="Upload" />
|
|
2622
|
+
* <Progress indeterminate aria-label="Building" />
|
|
2623
|
+
*
|
|
2624
|
+
* A11y:
|
|
2625
|
+
* - role="progressbar"
|
|
2626
|
+
* - aria-valuenow / aria-valuemin / aria-valuemax (determinate)
|
|
2627
|
+
* - aria-busy="true" when indeterminate
|
|
2628
|
+
* - Respects `prefers-reduced-motion` (no animation when set)
|
|
2629
|
+
*
|
|
2630
|
+
* Used by `<UsageMeter>` to render each metric's fill bar, but ships as a
|
|
2631
|
+
* standalone primitive for direct consumer use (deploy phase, file upload,
|
|
2632
|
+
* build progress, quota fill).
|
|
2633
|
+
*/
|
|
2634
|
+
interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, "role"> {
|
|
2635
|
+
/** Current value (0..max). Values outside the range are clamped. */
|
|
2636
|
+
value?: number;
|
|
2637
|
+
/** Maximum value. Defaults to 100. */
|
|
2638
|
+
max?: number;
|
|
2639
|
+
/** Visual intent — controls fill color. */
|
|
2640
|
+
intent?: "default" | "success" | "warning" | "destructive";
|
|
2641
|
+
/** Bar height in tailwind units. Defaults to `"h-1"` (4px). */
|
|
2642
|
+
height?: "h-1" | "h-1.5" | "h-2" | "h-3";
|
|
2643
|
+
/** When true, animated bar with no value. Omits `aria-valuenow`, adds `aria-busy`. */
|
|
2644
|
+
indeterminate?: boolean;
|
|
2645
|
+
/** Accessible label. Required if not preceded by an `aria-labelledby` element. */
|
|
2646
|
+
"aria-label"?: string;
|
|
2647
|
+
}
|
|
2648
|
+
declare const Progress: react.ForwardRefExoticComponent<ProgressProps & react.RefAttributes<HTMLDivElement>>;
|
|
2649
|
+
|
|
2650
|
+
/**
|
|
2651
|
+
* PlanBadge — semantic pricing-tier badge.
|
|
2652
|
+
*
|
|
2653
|
+
* Five canonical tiers (`free` / `hobby` / `pro` / `team` / `enterprise`) with
|
|
2654
|
+
* distinct color tokens. Consumers self-document intent with `plan="hobby"`
|
|
2655
|
+
* instead of mapping a generic `<Badge variant="outline">` to colors per app.
|
|
2656
|
+
* Future rebrand / dark-mode tweaks propagate automatically — no consumer
|
|
2657
|
+
* code change.
|
|
2658
|
+
*
|
|
2659
|
+
* Visual spec (per `theo/docs/handoff/2026-05-23-theo-ui-cloud-dashboard-gaps-brief.md`):
|
|
2660
|
+
*
|
|
2661
|
+
* | tier | bg | border | text |
|
|
2662
|
+
* |--------------|---------------------|--------------------------|-----------------------|
|
|
2663
|
+
* | free | bg-muted/40 | border-muted-foreground/20 | text-muted-foreground |
|
|
2664
|
+
* | hobby | bg-warning/10 | border-warning/30 | text-warning |
|
|
2665
|
+
* | pro | bg-primary/10 | border-primary/30 | text-primary |
|
|
2666
|
+
* | team | bg-success/10 | border-success/30 | text-success |
|
|
2667
|
+
* | enterprise | bg-foreground/5 | border-foreground/20 | text-foreground |
|
|
2668
|
+
*
|
|
2669
|
+
* Default label capitalizes the tier (`hobby → "Hobby"`, `enterprise → "Enterprise"`).
|
|
2670
|
+
*
|
|
2671
|
+
* Used by `<AccountMenu>` inline with the user name; usable standalone.
|
|
2672
|
+
*/
|
|
2673
|
+
type PlanTier = "free" | "hobby" | "pro" | "team" | "enterprise";
|
|
2674
|
+
interface PlanBadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
2675
|
+
/** Plan tier identifier. */
|
|
2676
|
+
plan: PlanTier;
|
|
2677
|
+
/** Override the display label. Defaults to the capitalized tier name. */
|
|
2678
|
+
label?: string;
|
|
2679
|
+
/** Size variant. */
|
|
2680
|
+
size?: "sm" | "md";
|
|
2681
|
+
}
|
|
2682
|
+
declare const PlanBadge: react.ForwardRefExoticComponent<PlanBadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
2683
|
+
|
|
2684
|
+
/**
|
|
2685
|
+
* UsageMeter — multi-metric stacked usage card.
|
|
2686
|
+
*
|
|
2687
|
+
* PaaS-shape sibling of `<CostMeter>` (which is mono-USD). Displays N
|
|
2688
|
+
* metrics with arbitrary units (GB, requests, build-minutes, seats) per
|
|
2689
|
+
* the reference TheoCloud dashboard mockup. Each row = label + value/max
|
|
2690
|
+
* + `<Progress>` fill bar.
|
|
2691
|
+
*
|
|
2692
|
+
* Composition:
|
|
2693
|
+
*
|
|
2694
|
+
* <UsageMeter
|
|
2695
|
+
* title="Last 30 days"
|
|
2696
|
+
* action={<Badge variant="outline">Upgrade</Badge>}
|
|
2697
|
+
* metrics={[
|
|
2698
|
+
* { label: "Fast Data Transfer", value: 0, max: 100, unit: "GB" },
|
|
2699
|
+
* { label: "Edge Requests", value: 0, max: 1_000_000, unit: "req",
|
|
2700
|
+
* formatter: (v, m) => `${v} / ${m >= 1e6 ? `${m / 1e6}M` : m}` },
|
|
2701
|
+
* ]}
|
|
2702
|
+
* />
|
|
2703
|
+
*
|
|
2704
|
+
* Over-quota detection: when `value > max`, the value text gets the
|
|
2705
|
+
* `text-warning` class and the underlying `<Progress>` uses
|
|
2706
|
+
* `intent="warning"` (bar fills 100% via Progress's own clamping).
|
|
2707
|
+
*
|
|
2708
|
+
* `compact` mode renders only the bars (no label/value text) — useful in
|
|
2709
|
+
* narrow nav-bar slots.
|
|
2710
|
+
*
|
|
2711
|
+
* Imports the sibling `<Progress>` primitive via relative path (per RFC
|
|
2712
|
+
* dashboard-paas-primitives D3) — primitives must not depend on the
|
|
2713
|
+
* `@usetheo/ui` barrel.
|
|
2714
|
+
*/
|
|
2715
|
+
interface UsageMetric {
|
|
2716
|
+
/** Display label (e.g. "Fast Data Transfer"). */
|
|
2717
|
+
label: ReactNode;
|
|
2718
|
+
/** Current consumption. */
|
|
2719
|
+
value: number;
|
|
2720
|
+
/** Maximum allowed in the current period. */
|
|
2721
|
+
max: number;
|
|
2722
|
+
/** Unit string (e.g. "GB", "req", "min"). Rendered after value/max. */
|
|
2723
|
+
unit?: string;
|
|
2724
|
+
/** Optional custom formatter — overrides default `${value} / ${max} ${unit}`. */
|
|
2725
|
+
formatter?: (value: number, max: number, unit?: string) => string;
|
|
2726
|
+
}
|
|
2727
|
+
interface UsageMeterProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2728
|
+
/** Card title (e.g. "Last 30 days", "This billing period"). */
|
|
2729
|
+
title?: ReactNode;
|
|
2730
|
+
/** Optional right-aligned action slot (e.g. an Upgrade Badge or Button). */
|
|
2731
|
+
action?: ReactNode;
|
|
2732
|
+
/** Array of metrics to display. Order preserved. */
|
|
2733
|
+
metrics: UsageMetric[];
|
|
2734
|
+
/** When true, show only the bars without label/value text (sparkline mode). */
|
|
2735
|
+
compact?: boolean;
|
|
2736
|
+
}
|
|
2737
|
+
declare const UsageMeter: react.ForwardRefExoticComponent<UsageMeterProps & react.RefAttributes<HTMLDivElement>>;
|
|
2738
|
+
|
|
2739
|
+
/**
|
|
2740
|
+
* AccountMenu — sidebar header for PaaS surfaces.
|
|
2741
|
+
*
|
|
2742
|
+
* Renders avatar + name + (optional) plan badge + (optional) secondary line.
|
|
2743
|
+
* Dual mode: with `onClick`, renders as a `<button>` with a `ChevronsUpDown`
|
|
2744
|
+
* trailing icon (account picker affordance); without, renders as a static
|
|
2745
|
+
* `<div>` (read-only display, not focusable).
|
|
2746
|
+
*
|
|
2747
|
+
* Composition:
|
|
2748
|
+
*
|
|
2749
|
+
* <Sidebar.Header className="p-0">
|
|
2750
|
+
* <AccountMenu
|
|
2751
|
+
* name="paulohenriquevn"
|
|
2752
|
+
* avatar="https://avatars.githubusercontent.com/u/12345"
|
|
2753
|
+
* plan="hobby"
|
|
2754
|
+
* onClick={openAccountSwitcher}
|
|
2755
|
+
* />
|
|
2756
|
+
* </Sidebar.Header>
|
|
2757
|
+
*
|
|
2758
|
+
* Avatar handling:
|
|
2759
|
+
* - URL (`http(s)://` or `/`) → `<Avatar.Image>` with `<Avatar.Fallback>` initials
|
|
2760
|
+
* - Short string (≤2 chars) → treated as initials directly
|
|
2761
|
+
* - Undefined → initials derived from the first character of `name`
|
|
2762
|
+
*
|
|
2763
|
+
* PaaS-shape sibling of `<ProjectSwitcher>` (workspace + branch + agent-status).
|
|
2764
|
+
* Same dual-mode (interactive vs static) pattern; different semantics.
|
|
2765
|
+
*/
|
|
2766
|
+
interface AccountMenuProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "children" | "name"> {
|
|
2767
|
+
/** Display name (username, email, org name). */
|
|
2768
|
+
name: ReactNode;
|
|
2769
|
+
/** Avatar URL or 1-2-char initials. If undefined, derives initials from `name`. */
|
|
2770
|
+
avatar?: string;
|
|
2771
|
+
/** Plan tier — renders inline `<PlanBadge size="sm">`. Omit for none. */
|
|
2772
|
+
plan?: PlanTier;
|
|
2773
|
+
/** Optional secondary line below name (e.g. email). */
|
|
2774
|
+
secondary?: ReactNode;
|
|
2775
|
+
/** Make the row interactive (button) with a trailing chevron. */
|
|
2776
|
+
onClick?: () => void;
|
|
2777
|
+
}
|
|
2778
|
+
declare const AccountMenu: react.ForwardRefExoticComponent<AccountMenuProps & react.RefAttributes<HTMLElement>>;
|
|
2779
|
+
|
|
2780
|
+
/**
|
|
2781
|
+
* Table — semantic data table primitive with sub-components.
|
|
2782
|
+
*
|
|
2783
|
+
* Composition:
|
|
2784
|
+
* <Table density="default">
|
|
2785
|
+
* <Table.Header>
|
|
2786
|
+
* <Table.Row>
|
|
2787
|
+
* <Table.HeaderCell>Date</Table.HeaderCell>
|
|
2788
|
+
* <Table.HeaderCell align="right">Amount</Table.HeaderCell>
|
|
2789
|
+
* </Table.Row>
|
|
2790
|
+
* </Table.Header>
|
|
2791
|
+
* <Table.Body>
|
|
2792
|
+
* <Table.Row>
|
|
2793
|
+
* <Table.Cell>2026-05-23</Table.Cell>
|
|
2794
|
+
* <Table.Cell align="right" numeric>$ 42.00</Table.Cell>
|
|
2795
|
+
* </Table.Row>
|
|
2796
|
+
* </Table.Body>
|
|
2797
|
+
* </Table>
|
|
2798
|
+
*
|
|
2799
|
+
* density propagates via Context so Cells pick up vertical padding without
|
|
2800
|
+
* prop drilling. Sub-components are attached as static properties on the
|
|
2801
|
+
* root (`Table.Header`, etc.) — single import surface.
|
|
2802
|
+
*
|
|
2803
|
+
* Sortable header: pass `onSort` + `sortDirection`. The HeaderCell renders
|
|
2804
|
+
* the sort affordance (ChevronUp/ChevronDown) and triggers the consumer
|
|
2805
|
+
* callback. `sortDirection` without `onSort` is a no-op (header stays
|
|
2806
|
+
* static); `sortDirection="none"` with `onSort` shows a dimmed affordance.
|
|
2807
|
+
*/
|
|
2808
|
+
type TableDensity = "default" | "compact";
|
|
2809
|
+
type AlignKind = "left" | "center" | "right";
|
|
2810
|
+
type SortDirection = "asc" | "desc" | "none";
|
|
2811
|
+
interface TableProps extends HTMLAttributes<HTMLTableElement> {
|
|
2812
|
+
density?: TableDensity;
|
|
2813
|
+
}
|
|
2814
|
+
declare const Root$1: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
|
|
2815
|
+
declare const Header: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
2816
|
+
declare const Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
2817
|
+
declare const Row: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableRowElement> & react.RefAttributes<HTMLTableRowElement>>;
|
|
2818
|
+
interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
|
|
2819
|
+
align?: AlignKind;
|
|
2820
|
+
numeric?: boolean;
|
|
2821
|
+
}
|
|
2822
|
+
declare const Cell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
|
|
2823
|
+
interface TableHeaderCellProps extends ThHTMLAttributes<HTMLTableCellElement> {
|
|
2824
|
+
align?: AlignKind;
|
|
2825
|
+
/** When provided, header becomes a sort trigger. */
|
|
2826
|
+
onSort?: () => void;
|
|
2827
|
+
/** Current sort state for this column. */
|
|
2828
|
+
sortDirection?: SortDirection;
|
|
2829
|
+
}
|
|
2830
|
+
declare const HeaderCell: react.ForwardRefExoticComponent<TableHeaderCellProps & react.RefAttributes<HTMLTableCellElement>>;
|
|
2831
|
+
type TableRoot = typeof Root$1 & {
|
|
2832
|
+
Header: typeof Header;
|
|
2833
|
+
Body: typeof Body;
|
|
2834
|
+
Row: typeof Row;
|
|
2835
|
+
Cell: typeof Cell;
|
|
2836
|
+
HeaderCell: typeof HeaderCell;
|
|
2837
|
+
};
|
|
2838
|
+
declare const Table: TableRoot;
|
|
2839
|
+
|
|
2840
|
+
/**
|
|
2841
|
+
* StatusDot — semantic status indicator (colored circle + optional label).
|
|
2842
|
+
*
|
|
2843
|
+
* Five status kinds:
|
|
2844
|
+
* - `live` — deployed / verified / healthy (success)
|
|
2845
|
+
* - `building` — in-progress / queued (warning, auto-pulses)
|
|
2846
|
+
* - `failed` — error / down / rejected (destructive)
|
|
2847
|
+
* - `idle` — pending / offline (muted)
|
|
2848
|
+
* - `warning` — degraded but functional (warning, static)
|
|
2849
|
+
*
|
|
2850
|
+
* Three sizes (xs 6px, sm 8px default, md 10px). `pulse` defaults to
|
|
2851
|
+
* `true` for `building` and `false` otherwise; passing `pulse` explicitly
|
|
2852
|
+
* overrides the auto behavior. When no visible `label` AND no `aria-label`
|
|
2853
|
+
* are provided, the component auto-applies `aria-label={status}` and
|
|
2854
|
+
* emits a dev-mode warning (a status communicated only by color is
|
|
2855
|
+
* invisible to screen readers).
|
|
2856
|
+
*
|
|
2857
|
+
* @example
|
|
2858
|
+
* <StatusDot status="live" label="Production" />
|
|
2859
|
+
* <StatusDot status="building" /> // auto-pulses + auto-aria-label
|
|
2860
|
+
*/
|
|
2861
|
+
type StatusKind = "live" | "building" | "failed" | "idle" | "warning";
|
|
2862
|
+
interface StatusDotProps extends Omit<HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
2863
|
+
status: StatusKind;
|
|
2864
|
+
label?: ReactNode;
|
|
2865
|
+
size?: "xs" | "sm" | "md";
|
|
2866
|
+
pulse?: boolean;
|
|
2867
|
+
}
|
|
2868
|
+
declare const StatusDot: react.ForwardRefExoticComponent<StatusDotProps & react.RefAttributes<HTMLSpanElement>>;
|
|
2869
|
+
|
|
2870
|
+
interface CopyButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick" | "children"> {
|
|
2871
|
+
/** String to copy when clicked. */
|
|
2872
|
+
value: string;
|
|
2873
|
+
/** Optional button label. Default: just the icon. */
|
|
2874
|
+
label?: ReactNode;
|
|
2875
|
+
/** Visual style. */
|
|
2876
|
+
variant?: "ghost" | "outline";
|
|
2877
|
+
/** Size. */
|
|
2878
|
+
size?: "sm" | "md";
|
|
2879
|
+
/** Callback after successful copy (e.g. analytics). */
|
|
2880
|
+
onCopied?: (value: string) => void;
|
|
2881
|
+
/** Duration of the feedback state in ms. Default 1500. */
|
|
2882
|
+
feedbackDuration?: number;
|
|
2883
|
+
}
|
|
2884
|
+
declare const CopyButton: react.ForwardRefExoticComponent<CopyButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
2885
|
+
|
|
2886
|
+
/**
|
|
2887
|
+
* Timestamp — accessible relative/absolute time primitive.
|
|
2888
|
+
*
|
|
2889
|
+
* Renders a semantic `<time datetime>` element. Format modes:
|
|
2890
|
+
* - `relative` (default) — "just now", "5 minutes ago", "2 hours ago",
|
|
2891
|
+
* "Dec 5" (>7d), "Dec 5, 2024" (different year)
|
|
2892
|
+
* - `absolute` — full localized date+time
|
|
2893
|
+
* - `both` — "Dec 5, 2026 (2 hours ago)"
|
|
2894
|
+
*
|
|
2895
|
+
* Uses zero-dep `Intl.RelativeTimeFormat`. The tooltip on hover is the
|
|
2896
|
+
* HTML `title` attribute (not the `<Tooltip>` component) — keeps this
|
|
2897
|
+
* file a true primitive without sibling-primitive imports.
|
|
2898
|
+
*
|
|
2899
|
+
* Auto-refreshes via `setInterval` (default 60_000ms); pass
|
|
2900
|
+
* `refreshInterval={0}` to disable. `aria-label` always carries the
|
|
2901
|
+
* absolute time so screen readers read "May 23, 2026 14:32 — posted
|
|
2902
|
+
* 2 hours ago".
|
|
2903
|
+
*
|
|
2904
|
+
* @param value Source date — ISO string, Date object, or **Unix ms**
|
|
2905
|
+
* (NOT seconds). Passing seconds renders ~1970.
|
|
2906
|
+
*/
|
|
2907
|
+
interface TimestampProps extends Omit<TimeHTMLAttributes<HTMLTimeElement>, "children"> {
|
|
2908
|
+
value: string | Date | number;
|
|
2909
|
+
format?: "relative" | "absolute" | "both";
|
|
2910
|
+
/** Auto-refresh interval when format=relative. Default 60000. 0 disables. */
|
|
2911
|
+
refreshInterval?: number;
|
|
2912
|
+
/** Locale for absolute formatting + Intl.RelativeTimeFormat. Default browser locale. */
|
|
2913
|
+
locale?: string;
|
|
2914
|
+
/** When true, omit the `title` tooltip. */
|
|
2915
|
+
noTooltip?: boolean;
|
|
2916
|
+
}
|
|
2917
|
+
declare const Timestamp: react.ForwardRefExoticComponent<TimestampProps & react.RefAttributes<HTMLTimeElement>>;
|
|
2918
|
+
|
|
2919
|
+
/**
|
|
2920
|
+
* StatTile — big number + label + optional delta + optional icon.
|
|
2921
|
+
*
|
|
2922
|
+
* Dual mode based on `onClick`:
|
|
2923
|
+
* - With onClick → renders as `<button>` with hover state + trailing
|
|
2924
|
+
* ArrowUpRight chevron (navigation affordance).
|
|
2925
|
+
* - Without onClick → renders as static `<div>`.
|
|
2926
|
+
*
|
|
2927
|
+
* Delta trend drives icon + color: up=success/TrendingUp, down=destructive/
|
|
2928
|
+
* TrendingDown, flat=muted/Minus. Big value uses font-display + tabular-nums.
|
|
2929
|
+
*
|
|
2930
|
+
* @example
|
|
2931
|
+
* <StatTile value="42" label="Projects" />
|
|
2932
|
+
* <StatTile value="$1,234" label="MRR" icon={DollarSign}
|
|
2933
|
+
* delta={{ value: "+12%", trend: "up" }} onClick={openBilling} />
|
|
2934
|
+
*/
|
|
2935
|
+
interface StatTileProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "value"> {
|
|
2936
|
+
value: ReactNode;
|
|
2937
|
+
label: ReactNode;
|
|
2938
|
+
icon?: ElementType;
|
|
2939
|
+
delta?: {
|
|
2940
|
+
value: ReactNode;
|
|
2941
|
+
trend: "up" | "down" | "flat";
|
|
2942
|
+
};
|
|
2943
|
+
}
|
|
2944
|
+
declare const StatTile: react.ForwardRefExoticComponent<StatTileProps & react.RefAttributes<HTMLElement>>;
|
|
2945
|
+
|
|
2946
|
+
/**
|
|
2947
|
+
* DangerZone — destructive-actions section primitive.
|
|
2948
|
+
*
|
|
2949
|
+
* Red-bordered container with a title bar and `DangerZone.Action` rows.
|
|
2950
|
+
* Each Action is laid out as title + description on the left, with a
|
|
2951
|
+
* consumer-provided action slot (typically a destructive Button) on
|
|
2952
|
+
* the right. Rows are separated by hairline dividers; the last row
|
|
2953
|
+
* has no bottom border via `last:border-b-0`.
|
|
2954
|
+
*
|
|
2955
|
+
* The consumer supplies the destructive button — this primitive never
|
|
2956
|
+
* imports `<Button>`, keeping it free of internal `@usetheo/ui` deps
|
|
2957
|
+
* (true primitive).
|
|
2958
|
+
*
|
|
2959
|
+
* @example
|
|
2960
|
+
* <DangerZone>
|
|
2961
|
+
* <DangerZone.Action
|
|
2962
|
+
* title="Delete project"
|
|
2963
|
+
* description="Permanently delete this project."
|
|
2964
|
+
* action={<Button variant="destructive">Delete</Button>}
|
|
2965
|
+
* />
|
|
2966
|
+
* </DangerZone>
|
|
2967
|
+
*/
|
|
2968
|
+
interface DangerZoneProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
|
|
2969
|
+
/** Section title. Default "Danger Zone". */
|
|
2970
|
+
title?: ReactNode;
|
|
2971
|
+
}
|
|
2972
|
+
declare const Root: react.ForwardRefExoticComponent<DangerZoneProps & react.RefAttributes<HTMLElement>>;
|
|
2973
|
+
interface DangerZoneActionProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2974
|
+
title: ReactNode;
|
|
2975
|
+
description: ReactNode;
|
|
2976
|
+
/** Consumer-provided destructive button (or any ReactNode). */
|
|
2977
|
+
action: ReactNode;
|
|
2978
|
+
}
|
|
2979
|
+
declare const Action: react.ForwardRefExoticComponent<DangerZoneActionProps & react.RefAttributes<HTMLDivElement>>;
|
|
2980
|
+
type DangerZoneRoot = typeof Root & {
|
|
2981
|
+
Action: typeof Action;
|
|
2982
|
+
};
|
|
2983
|
+
declare const DangerZone: DangerZoneRoot;
|
|
2984
|
+
|
|
2985
|
+
/**
|
|
2986
|
+
* ConfirmDialog — controlled confirmation modal built on `Dialog`.
|
|
2987
|
+
*
|
|
2988
|
+
* Focuses Cancel on open (deliberate — NOT the destructive button).
|
|
2989
|
+
* `intent="destructive"` styles the confirm button with the destructive
|
|
2990
|
+
* variant. `confirmationPhrase` enables typed-confirmation guard:
|
|
2991
|
+
* the confirm button is disabled until the input value matches the
|
|
2992
|
+
* phrase exactly (case-sensitive). An empty string phrase is treated
|
|
2993
|
+
* as "no phrase required" (`!!confirmationPhrase`). Pressing Enter in
|
|
2994
|
+
* the input triggers confirm when `canConfirm` is true.
|
|
2995
|
+
*
|
|
2996
|
+
* `onConfirm` can be async. While the returned promise is pending,
|
|
2997
|
+
* both buttons are disabled and a `Loader2` spinner appears. On
|
|
2998
|
+
* resolve, the dialog closes via `onOpenChange(false)`. On reject,
|
|
2999
|
+
* the dialog stays open so the consumer can show their own error.
|
|
3000
|
+
*
|
|
3001
|
+
* @example
|
|
3002
|
+
* <ConfirmDialog
|
|
3003
|
+
* open={open} onOpenChange={setOpen}
|
|
3004
|
+
* title="Delete project"
|
|
3005
|
+
* description="This cannot be undone."
|
|
3006
|
+
* intent="destructive"
|
|
3007
|
+
* confirmationPhrase="my-project"
|
|
3008
|
+
* onConfirm={async () => api.deleteProject(id)}
|
|
3009
|
+
* />
|
|
3010
|
+
*/
|
|
3011
|
+
interface ConfirmDialogProps {
|
|
3012
|
+
open: boolean;
|
|
3013
|
+
onOpenChange: (open: boolean) => void;
|
|
3014
|
+
title: ReactNode;
|
|
3015
|
+
description: ReactNode;
|
|
3016
|
+
confirmLabel?: ReactNode;
|
|
3017
|
+
cancelLabel?: ReactNode;
|
|
3018
|
+
intent?: "default" | "destructive";
|
|
3019
|
+
confirmationPhrase?: string;
|
|
3020
|
+
onConfirm: () => void | Promise<void>;
|
|
3021
|
+
loading?: boolean;
|
|
3022
|
+
}
|
|
3023
|
+
declare const ConfirmDialog: react.ForwardRefExoticComponent<ConfirmDialogProps & react.RefAttributes<HTMLDivElement>>;
|
|
3024
|
+
|
|
3025
|
+
/**
|
|
3026
|
+
* CodeBlock — terminal command / code snippet surface.
|
|
3027
|
+
*
|
|
3028
|
+
* Pre-rendered code block with optional terminal "$ " prefix per line,
|
|
3029
|
+
* optional caption (file name), and optional CopyButton positioned top-right.
|
|
3030
|
+
* The CopyButton receives the RAW `code` (without the visual "$ " prefix),
|
|
3031
|
+
* so consumers paste only the executable command.
|
|
3032
|
+
*
|
|
3033
|
+
* @example
|
|
3034
|
+
* <CodeBlock code="theo deploy" terminal copyable />
|
|
3035
|
+
* <CodeBlock code={dotenv} caption=".env.local" copyable />
|
|
3036
|
+
*
|
|
3037
|
+
* `language` is reserved for future syntax highlighting (v1: ignored).
|
|
3038
|
+
*/
|
|
3039
|
+
interface CodeBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
|
|
3040
|
+
/** Code content. Can be multiline. */
|
|
3041
|
+
code: string;
|
|
3042
|
+
/** Language hint (forward-compat; v1 ignored). */
|
|
3043
|
+
language?: string;
|
|
3044
|
+
/** When true, prefix each line with "$ " for shell commands. */
|
|
3045
|
+
terminal?: boolean;
|
|
3046
|
+
/** Show inline CopyButton in top-right. */
|
|
3047
|
+
copyable?: boolean;
|
|
3048
|
+
/** Optional caption above block (e.g. ".env.local"). */
|
|
3049
|
+
caption?: ReactNode;
|
|
3050
|
+
}
|
|
3051
|
+
declare const CodeBlock: react.ForwardRefExoticComponent<CodeBlockProps & react.RefAttributes<HTMLDivElement>>;
|
|
3052
|
+
|
|
2607
3053
|
interface ProgressChecklistProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2608
3054
|
title?: ReactNode;
|
|
2609
3055
|
steps: TaskStep[];
|
|
@@ -3670,4 +4116,4 @@ interface CommandPaletteProps {
|
|
|
3670
4116
|
*/
|
|
3671
4117
|
declare function CommandPalette({ open, onOpenChange, items, onSelect, placeholder, emptyMessage, filter, }: CommandPaletteProps): react_jsx_runtime.JSX.Element;
|
|
3672
4118
|
|
|
3673
|
-
export { ALL_MODES, AgentComposer, type AgentDraft, AgentEditor, AgentErrorCard, type AgentErrorKind, AgentEvent, type AgentEvent$1 as AgentEventModel, type AgentEventStatus, type AgentEventType, AgentHandoff, AgentProfile, type AgentProfileDescriptor, AgentStartingState, AgentStream, type AgentStreamItem, AgentStreaming, AgentTimeline, ApprovalCard, type ApprovalSeverity, ArtifactPreview, type Attachment, AttachmentChip, type AuditActorKind, type AuditEntry, AuditLogEntry, type AuditSeverity, AutoCompactNotice, Avatar, BadgeWithDot as Badge, type BadgeProps, BrowserControls, BuildLogStream, Button, type ButtonProps, type Capability, CapabilityIndicator, type CapabilityState, Card, ChatComposer, ChatMessage, ChatMessageAction, type ChatMessageActionProps, ChatMessageActions, type ChatMessageActionsProps, ChatMessageBranch, ChatMessageBranchContent, type ChatMessageBranchContentProps, ChatMessageBranchNext, type ChatMessageBranchNextProps, ChatMessageBranchPage, type ChatMessageBranchPageProps, ChatMessageBranchPrevious, type ChatMessageBranchPreviousProps, type ChatMessageBranchProps, ChatMessageBranchSelector, type ChatMessageBranchSelectorProps, ChatMessageContent, type ChatMessageContentProps, type ChatMessageContentVariant, type ChatMessageProps, ChatMessageResponse, type ChatMessageResponseProps, ChatMessageRoot, type ChatMessageRootProps, ChatMessageToolbar, type ChatMessageToolbarProps, ChatThread, Checkbox, type ColorScale, type CommandItem, CommandPalette, type ComposerMode, ContextCard, ContextWindowBar, CostMeter, type CreatedFile, CreatedFilesCard, type CronJob, CronJobCard, type CronJobStatus, CronJobsList, type CustomContentUIPart, DataPart, type DataPartProps, type DataRenderer, type DataRendererMap, type DataUIPart, type DefineThemeInput, type Density, type DensityContextValue, type Deployment, DeploymentRow, type DeploymentStatus, Dialog, type DiffHunk, type DiffLine, type DiffLineKind, DiffViewer, type Domain, DomainConfig, type DomainStatus, EmptyState, type EnvScope, type EnvVar, EnvVarEditor, FilePart, type FilePartProps, type FileUIPart, FolderContextCard, type FolderEntry, FolderSelector, FormField, HOOK_EVENTS, type HandoffParty, HookConfig, type HookEntry, type HookEvent, type HookEventEntry, HookEventLog, type HookEventResult, Input, type InputProps, type IntentOption, IntentSelector, Label, type Lane, LaneBoard, type LaneCard, type LaneState, type LogLevel, type LogLine, LoginSplit, type MCPServer, MCPServerCard, MCPServerList, type MCPServerStatus, MODE_LABEL, MemoryEditor, type MemoryLayer, type MemoryScope, type MentionItem, MentionMenu, type MentionTrigger, type MessageRole, type Metric, MetricsPanel, type Mode, type ModelCapabilityFlag, ModelCard, type ModelInfo, type ModelOption, ModelSelector, type PartRendererMap, type PermissionDecision, type PermissionDecisionKind, PermissionMatrix, PermissionModal, type PermissionOperation, type PermissionRequest, type PermissionRule, type PlanNode, type PlanNodeStatus, type PreviewEnv, PreviewEnvCard, PreviewPanel, type PreviewService, ProgressChecklist, type Project, ProjectCard, type ProjectStatus, ProjectSwitcher, type ProviderMetadata, type QuickAction, QuickActionChips, RadioGroup, type RailStep, type ReasoningFileUIPart, ReasoningPart, type ReasoningPartProps, type ReasoningUIPart, type RecentFolder, RecentFoldersList, type RenderPartOptions, type RollbackTarget, RollbackUI, type Rule, RuleCard, RuleEditor, type RuleScope, type RuleState, RunStats, type RunningTaskItem, type RunningTaskStatus, RunningTasksPanel, ScrollArea, Select, SessionListItem, type SessionMode, type SessionRunStatus, type SessionStatus, type SessionSummary, SessionTimeline, Sheet, Sidebar, Skeleton, type Skill, SkillCard, SkillEditor, type SkillSource, type SkillState, SkillsList, SocialAuthRow, type SocialProvider, SourceDocumentPart, type SourceDocumentPartProps, type SourceDocumentUIPart, SourceUrlPart, type SourceUrlPartProps, type SourceUrlUIPart, type StepStartUIPart, StepsRail, SubAgentDispatch, type SubAgentRun, type SubAgentState, Switch, SystemPromptEditor, Tabs, TaskHeader, TaskNode, TaskPlan, type TaskSource, type TaskStatus, type TaskStep, type TaskStepStatus, type TerminalLine, TerminalPanel, TextPart, type TextPartProps, type TextUIPart, Textarea, type TextareaProps, type Theme, type ThemeFonts, type ThemeMode, ThemeProvider, ThemeScript, ThemeSwitcher, TheoUIProvider, type TheoUIProviderProps, Toast, type ToastVariant, Toaster, TokenUsageChart, type TokenUsagePoint, ToolCall, ToolCallCard, ToolCallPart, type ToolCallPartProps, type ToolCallStatus, type ToolEnablement, type ToolEntry, type ToolInvocationState, ToolResult, type ToolUIPart, ToolsList, TooltipWithStatics as Tooltip, TopNav, type UIMessage, type UIMessagePart, anthropicStyle, auroraTerminal, avatarVariants, badgeVariants, builtinThemes, buttonVariants, capabilityPresets, classicPaper, cn, defineTheme, dracula, githubDark, hex, isCustomContentUIPart, isDataUIPart, isFileUIPart, isReasoningFileUIPart, isReasoningUIPart, isSourceDocumentUIPart, isSourceUrlUIPart, isStepStartUIPart, isTextUIPart, isToolUIPart, linearGlass, modelCapabilityPresets, oneDark, openaiStyle, renderPart, rgb, sheetVariants, useDensity, useTheme, useToast, vercelMono, violetForge };
|
|
4119
|
+
export { ALL_MODES, AccountMenu, type AccountMenuProps, AgentComposer, type AgentDraft, AgentEditor, AgentErrorCard, type AgentErrorKind, AgentEvent, type AgentEvent$1 as AgentEventModel, type AgentEventStatus, type AgentEventType, AgentHandoff, AgentProfile, type AgentProfileDescriptor, AgentStartingState, AgentStream, type AgentStreamItem, AgentStreaming, AgentTimeline, ApprovalCard, type ApprovalSeverity, ArtifactPreview, type Attachment, AttachmentChip, type AuditActorKind, type AuditEntry, AuditLogEntry, type AuditSeverity, AutoCompactNotice, Avatar, BadgeWithDot as Badge, type BadgeProps, BrowserControls, BuildLogStream, Button, type ButtonProps, type Capability, CapabilityIndicator, type CapabilityState, Card, ChatComposer, ChatMessage, ChatMessageAction, type ChatMessageActionProps, ChatMessageActions, type ChatMessageActionsProps, ChatMessageBranch, ChatMessageBranchContent, type ChatMessageBranchContentProps, ChatMessageBranchNext, type ChatMessageBranchNextProps, ChatMessageBranchPage, type ChatMessageBranchPageProps, ChatMessageBranchPrevious, type ChatMessageBranchPreviousProps, type ChatMessageBranchProps, ChatMessageBranchSelector, type ChatMessageBranchSelectorProps, ChatMessageContent, type ChatMessageContentProps, type ChatMessageContentVariant, type ChatMessageProps, ChatMessageResponse, type ChatMessageResponseProps, ChatMessageRoot, type ChatMessageRootProps, ChatMessageToolbar, type ChatMessageToolbarProps, ChatThread, Checkbox, CodeBlock, type CodeBlockProps, type ColorScale, type CommandItem, CommandPalette, type ComposerMode, ConfirmDialog, type ConfirmDialogProps, ContextCard, ContextWindowBar, CopyButton, type CopyButtonProps, CostMeter, type CreatedFile, CreatedFilesCard, type CronJob, CronJobCard, type CronJobStatus, CronJobsList, type CustomContentUIPart, DangerZone, type DangerZoneActionProps, type DangerZoneProps, DataPart, type DataPartProps, type DataRenderer, type DataRendererMap, type DataUIPart, type DefineThemeInput, type Density, type DensityContextValue, type Deployment, DeploymentRow, type DeploymentStatus, Dialog, type DiffHunk, type DiffLine, type DiffLineKind, DiffViewer, type Domain, DomainConfig, type DomainStatus, EmptyState, type EnvScope, type EnvVar, EnvVarEditor, FilePart, type FilePartProps, type FileUIPart, FolderContextCard, type FolderEntry, FolderSelector, FormField, HOOK_EVENTS, type HandoffParty, HookConfig, type HookEntry, type HookEvent, type HookEventEntry, HookEventLog, type HookEventResult, Input, type InputProps, type IntentOption, IntentSelector, Label, type Lane, LaneBoard, type LaneCard, type LaneState, type LogLevel, type LogLine, LoginSplit, type MCPServer, MCPServerCard, MCPServerList, type MCPServerStatus, MODE_LABEL, MemoryEditor, type MemoryLayer, type MemoryScope, type MentionItem, MentionMenu, type MentionTrigger, type MessageRole, type Metric, MetricsPanel, type Mode, type ModelCapabilityFlag, ModelCard, type ModelInfo, type ModelOption, ModelSelector, type PartRendererMap, type PermissionDecision, type PermissionDecisionKind, PermissionMatrix, PermissionModal, type PermissionOperation, type PermissionRequest, type PermissionRule, PlanBadge, type PlanBadgeProps, type PlanNode, type PlanNodeStatus, type PlanTier, type PreviewEnv, PreviewEnvCard, PreviewPanel, type PreviewService, Progress, ProgressChecklist, type ProgressProps, type Project, ProjectCard, type ProjectStatus, ProjectSwitcher, type ProviderMetadata, type QuickAction, QuickActionChips, RadioGroup, type RailStep, type ReasoningFileUIPart, ReasoningPart, type ReasoningPartProps, type ReasoningUIPart, type RecentFolder, RecentFoldersList, type RenderPartOptions, type RollbackTarget, RollbackUI, type Rule, RuleCard, RuleEditor, type RuleScope, type RuleState, RunStats, type RunningTaskItem, type RunningTaskStatus, RunningTasksPanel, ScrollArea, Select, SessionListItem, type SessionMode, type SessionRunStatus, type SessionStatus, type SessionSummary, SessionTimeline, Sheet, Sidebar, Skeleton, type Skill, SkillCard, SkillEditor, type SkillSource, type SkillState, SkillsList, SocialAuthRow, type SocialProvider, SourceDocumentPart, type SourceDocumentPartProps, type SourceDocumentUIPart, SourceUrlPart, type SourceUrlPartProps, type SourceUrlUIPart, StatTile, type StatTileProps, StatusDot, type StatusDotProps, type StatusKind, type StepStartUIPart, StepsRail, SubAgentDispatch, type SubAgentRun, type SubAgentState, Switch, SystemPromptEditor, Table, type TableCellProps, type TableHeaderCellProps, type TableProps, Tabs, TaskHeader, TaskNode, TaskPlan, type TaskSource, type TaskStatus, type TaskStep, type TaskStepStatus, type TerminalLine, TerminalPanel, TextPart, type TextPartProps, type TextUIPart, Textarea, type TextareaProps, type Theme, type ThemeFonts, type ThemeMode, ThemeProvider, ThemeScript, ThemeSwitcher, TheoUIProvider, type TheoUIProviderProps, Timestamp, type TimestampProps, Toast, type ToastVariant, Toaster, TokenUsageChart, type TokenUsagePoint, ToolCall, ToolCallCard, ToolCallPart, type ToolCallPartProps, type ToolCallStatus, type ToolEnablement, type ToolEntry, type ToolInvocationState, ToolResult, type ToolUIPart, ToolsList, TooltipWithStatics as Tooltip, TopNav, type UIMessage, type UIMessagePart, UsageMeter, type UsageMeterProps, type UsageMetric, anthropicStyle, auroraTerminal, avatarVariants, badgeVariants, builtinThemes, buttonVariants, capabilityPresets, classicPaper, cn, defineTheme, dracula, githubDark, hex, isCustomContentUIPart, isDataUIPart, isFileUIPart, isReasoningFileUIPart, isReasoningUIPart, isSourceDocumentUIPart, isSourceUrlUIPart, isStepStartUIPart, isTextUIPart, isToolUIPart, linearGlass, modelCapabilityPresets, oneDark, openaiStyle, renderPart, rgb, sheetVariants, useDensity, useTheme, useToast, vercelMono, violetForge };
|