artefact-design-system 0.1.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.
@@ -0,0 +1,834 @@
1
+ import * as React$1 from 'react';
2
+ import { ElementType, CSSProperties, ReactNode, HTMLAttributes, ComponentProps, ButtonHTMLAttributes } from 'react';
3
+ import { Icon as Icon$1, IconWeight } from '@phosphor-icons/react';
4
+ import { ClassValue } from 'clsx';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { VariantProps } from 'class-variance-authority';
7
+ import { Avatar as Avatar$1, Separator as Separator$1, Checkbox as Checkbox$1, Dialog as Dialog$1, DropdownMenu as DropdownMenu$1, Label as Label$1, NavigationMenu as NavigationMenu$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1, Tooltip as Tooltip$1 } from 'radix-ui';
8
+ import * as RechartsPrimitive from 'recharts';
9
+ import { TooltipValueType } from 'recharts';
10
+ import { ToasterProps } from 'sonner';
11
+
12
+ /** Color — ONE place, every color, named by role. References to the CSS
13
+ * custom properties defined in index.css; values live there ONCE, this is
14
+ * just a typed name for each. (Previously split into `color` (shadcn's
15
+ * contract slots) and a separate `brand` object (orange/green/warn/plum) —
16
+ * merged because that split actively hid a bug: shadcn's own `--accent`
17
+ * slot is its internal hover fill (cream-2, == `muted`), which collided in
18
+ * name with our real brand orange in the other object. One namespace, no
19
+ * same-named-different-color trap.) */
20
+ declare const color: {
21
+ readonly background: "var(--background)";
22
+ readonly foreground: "var(--foreground)";
23
+ readonly card: "var(--card)";
24
+ readonly cardForeground: "var(--card-foreground)";
25
+ readonly popover: "var(--popover)";
26
+ readonly popoverForeground: "var(--popover-foreground)";
27
+ readonly ink3: "var(--brand-ink-3)";
28
+ readonly primary: "var(--primary)";
29
+ readonly primaryForeground: "var(--primary-foreground)";
30
+ readonly secondary: "var(--secondary)";
31
+ readonly secondaryForeground: "var(--secondary-foreground)";
32
+ readonly muted: "var(--muted)";
33
+ readonly mutedForeground: "var(--muted-foreground)";
34
+ readonly border: "var(--border)";
35
+ readonly input: "var(--input)";
36
+ readonly ring: "var(--ring)";
37
+ readonly destructive: "var(--destructive)";
38
+ readonly accent: "var(--brand-accent)";
39
+ readonly accentForeground: "var(--brand-accent-foreground)";
40
+ readonly accentHover: "var(--brand-accent-hover)";
41
+ readonly accentSoft: "var(--brand-accent-soft)";
42
+ readonly accentSoftForeground: "var(--brand-accent-soft-foreground)";
43
+ readonly accentGradient: "var(--brand-accent-gradient)";
44
+ readonly green: "var(--brand-green)";
45
+ readonly greenForeground: "var(--brand-green-foreground)";
46
+ readonly greenHover: "var(--brand-green-hover)";
47
+ readonly greenSoft: "var(--brand-green-soft)";
48
+ readonly greenSoftForeground: "var(--brand-green-soft-foreground)";
49
+ readonly warn: "var(--brand-warn)";
50
+ readonly warnForeground: "var(--brand-warn-foreground)";
51
+ readonly warnHover: "var(--brand-warn-hover)";
52
+ readonly warnSoft: "var(--brand-warn-soft)";
53
+ readonly warnSoftForeground: "var(--brand-warn-soft-foreground)";
54
+ readonly plum: "var(--brand-plum)";
55
+ readonly plumForeground: "var(--brand-plum-foreground)";
56
+ readonly plumHover: "var(--brand-plum-hover)";
57
+ readonly plumSoft: "var(--brand-plum-soft)";
58
+ readonly plumSoftForeground: "var(--brand-plum-soft-foreground)";
59
+ readonly danger: "var(--brand-danger)";
60
+ readonly dangerForeground: "var(--brand-danger-foreground)";
61
+ readonly dangerHover: "var(--brand-danger-hover)";
62
+ readonly dangerSoft: "var(--brand-danger-soft)";
63
+ readonly dangerSoftForeground: "var(--brand-danger-soft-foreground)";
64
+ readonly chart1: "var(--chart-1)";
65
+ readonly chart2: "var(--chart-2)";
66
+ readonly chart3: "var(--chart-3)";
67
+ readonly chart4: "var(--chart-4)";
68
+ readonly chart5: "var(--chart-5)";
69
+ readonly chartSurface: "var(--brand-chart-surface)";
70
+ readonly scrim: "var(--brand-scrim)";
71
+ };
72
+ type ColorKey = keyof typeof color;
73
+ /** Keys of `color` that have all 4 role siblings (`XForeground`/`XHover`/
74
+ * `XSoft`/`XSoftForeground`) — computed at the TYPE level too, not just at
75
+ * runtime, so `color[`${role}Foreground`]` type-checks under `strict`
76
+ * without a cast. */
77
+ type SemanticRoleKey = {
78
+ [K in ColorKey]: `${K}Foreground` extends ColorKey ? `${K}Hover` extends ColorKey ? `${K}Soft` extends ColorKey ? `${K}SoftForeground` extends ColorKey ? K : never : never : never : never;
79
+ }[ColorKey];
80
+ /** Every "full role" name in `color` — derived from the naming convention
81
+ * itself (a role is any key with matching `Foreground`/`Hover`/`Soft`/
82
+ * `SoftForeground` siblings), not a second hand-maintained list. Add a new
83
+ * role above (all 5 suffixed keys) and it appears here — and in
84
+ * Foundation/Colors' story, which reads THIS — with zero other edits.
85
+ * This is the fix for the class of bug `scrim` shipped with (built, wired
86
+ * into a real component, invisible in Storybook because the demo story
87
+ * hand-listed variants instead of reading the source object). */
88
+ declare const semanticRoles: SemanticRoleKey[];
89
+ /** The `chartN` keys in `color`, in order — same reasoning as
90
+ * `semanticRoles`: derived from the naming pattern, so a 6th chart color
91
+ * added to `color` above shows up in Foundation/Colors' Charts story with
92
+ * no edit there. */
93
+ declare const chartKeys: ("background" | "foreground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "ink3" | "primary" | "primaryForeground" | "secondary" | "secondaryForeground" | "muted" | "mutedForeground" | "border" | "input" | "ring" | "destructive" | "accent" | "accentForeground" | "accentHover" | "accentSoft" | "accentSoftForeground" | "accentGradient" | "green" | "greenForeground" | "greenHover" | "greenSoft" | "greenSoftForeground" | "warn" | "warnForeground" | "warnHover" | "warnSoft" | "warnSoftForeground" | "plum" | "plumForeground" | "plumHover" | "plumSoft" | "plumSoftForeground" | "danger" | "dangerForeground" | "dangerHover" | "dangerSoft" | "dangerSoftForeground" | "chart1" | "chart2" | "chart3" | "chart4" | "chart5" | "chartSurface" | "scrim")[];
94
+ /** Radius scale — named steps over the single --radius token (index.css). */
95
+ declare const radius: {
96
+ readonly sm: "var(--radius-sm)";
97
+ readonly md: "var(--radius-md)";
98
+ readonly lg: "var(--radius-lg)";
99
+ readonly xl: "var(--radius-xl)";
100
+ readonly "2xl": "var(--radius-2xl)";
101
+ readonly pill: 999;
102
+ };
103
+ /** Spacing scale (px) — synthesized from values actually used across
104
+ * komanda.html/dashboard.html (6/8/12/16/18/20/24/28...), rounded into a
105
+ * shared step scale so primitives/components pick from one set. */
106
+ declare const spacing: {
107
+ readonly none: 0;
108
+ readonly xs: 4;
109
+ readonly sm: 8;
110
+ readonly md: 12;
111
+ readonly base: 16;
112
+ readonly lg: 20;
113
+ readonly xl: 24;
114
+ readonly "2xl": 32;
115
+ readonly "3xl": 40;
116
+ readonly "4xl": 56;
117
+ };
118
+ type SpacingKey = keyof typeof spacing;
119
+ /** Type scale (px + line-height) — the three named tokens komanda.html
120
+ * declares itself (--text-footnote/caption/body) extended upward with the
121
+ * heading sizes actually found in its markup (18/20/24), plus one larger
122
+ * step (`display`) for hero-scale contexts not yet exercised by either
123
+ * source page. */
124
+ declare const type: {
125
+ readonly footnote: {
126
+ readonly size: 12;
127
+ readonly lineHeight: 1.45;
128
+ };
129
+ readonly caption: {
130
+ readonly size: 14;
131
+ readonly lineHeight: 1.45;
132
+ };
133
+ readonly body: {
134
+ readonly size: 16;
135
+ readonly lineHeight: 1.55;
136
+ };
137
+ readonly subhead: {
138
+ readonly size: 18;
139
+ readonly lineHeight: 1.35;
140
+ };
141
+ readonly title: {
142
+ readonly size: 20;
143
+ readonly lineHeight: 1.3;
144
+ };
145
+ readonly headline: {
146
+ readonly size: 24;
147
+ readonly lineHeight: 1.25;
148
+ };
149
+ readonly display: {
150
+ readonly size: 32;
151
+ readonly lineHeight: 1.15;
152
+ };
153
+ };
154
+ type TypeKey = keyof typeof type;
155
+ /** Font family — self-hosted Struve, see brand-overrides.css for @font-face. */
156
+ declare const font: {
157
+ readonly sans: "var(--font-sans)";
158
+ };
159
+
160
+ type Len = number | string | SpacingKey;
161
+ type BoxOwnProps = {
162
+ as?: ElementType;
163
+ p?: Len;
164
+ px?: Len;
165
+ py?: Len;
166
+ radius?: Len;
167
+ width?: Len;
168
+ maxWidth?: Len;
169
+ minWidth?: Len;
170
+ grow?: boolean;
171
+ className?: string;
172
+ style?: CSSProperties;
173
+ children?: ReactNode;
174
+ };
175
+ type BoxProps = BoxOwnProps & Omit<HTMLAttributes<HTMLElement>, keyof BoxOwnProps>;
176
+ /** Box — the base container. The thing a Card (or anything) is built ON. */
177
+ declare function Box({ as: As, p, px, py, radius, width, maxWidth, minWidth, grow, className, style, children, ...rest }: BoxProps): React$1.JSX.Element;
178
+ type FlexProps = BoxProps & {
179
+ direction?: "row" | "column";
180
+ gap?: Len;
181
+ align?: CSSProperties["alignItems"];
182
+ justify?: CSSProperties["justifyContent"];
183
+ wrap?: boolean;
184
+ };
185
+ /** Flex — a flex container. Wraps by default → naturally responsive. */
186
+ declare function Flex({ direction, gap, align, justify, wrap, style, children, ...box }: FlexProps): React$1.JSX.Element;
187
+ /** Stack — Flex preset for the common vertical layout case. */
188
+ declare function Stack({ gap, ...props }: Omit<FlexProps, "direction">): React$1.JSX.Element;
189
+ type GridProps = BoxProps & {
190
+ /** cards reflow: as many minColWidth-wide columns as fit, each stretching */
191
+ minColWidth?: Len;
192
+ /** OR a fixed column count */
193
+ columns?: number;
194
+ gap?: Len;
195
+ align?: CSSProperties["alignItems"];
196
+ };
197
+ /** Grid — auto-fit reflow (intrinsically responsive, no breakpoints needed). */
198
+ declare function Grid({ minColWidth, columns, gap, align, style, children, ...box }: GridProps): React$1.JSX.Element;
199
+ /** Container — max-width centered content column. */
200
+ declare function Container({ size, style, children, ...box }: BoxProps & {
201
+ size?: Len;
202
+ }): React$1.JSX.Element;
203
+
204
+ declare const VARIANTS: {
205
+ glass: {
206
+ style: CSSProperties;
207
+ description: string;
208
+ };
209
+ paper: {
210
+ style: CSSProperties;
211
+ description: string;
212
+ };
213
+ muted: {
214
+ style: CSSProperties;
215
+ description: string;
216
+ };
217
+ plain: {
218
+ style: CSSProperties;
219
+ description: string;
220
+ };
221
+ scrim: {
222
+ style: CSSProperties;
223
+ description: string;
224
+ };
225
+ };
226
+ type SurfaceVariant = keyof typeof VARIANTS;
227
+ /** The variant registry itself — Foundation/Surface's story iterates this
228
+ * directly instead of hand-listing each variant (see file header). */
229
+ declare const SURFACE_VARIANTS: {
230
+ glass: {
231
+ style: CSSProperties;
232
+ description: string;
233
+ };
234
+ paper: {
235
+ style: CSSProperties;
236
+ description: string;
237
+ };
238
+ muted: {
239
+ style: CSSProperties;
240
+ description: string;
241
+ };
242
+ plain: {
243
+ style: CSSProperties;
244
+ description: string;
245
+ };
246
+ scrim: {
247
+ style: CSSProperties;
248
+ description: string;
249
+ };
250
+ };
251
+ type SurfaceProps = ComponentProps<typeof Box> & {
252
+ variant?: SurfaceVariant;
253
+ };
254
+ declare function Surface({ variant, radius, style, ...box }: SurfaceProps): React$1.JSX.Element;
255
+
256
+ type TitledRowProps = {
257
+ title?: ReactNode;
258
+ side?: ReactNode;
259
+ rail?: number;
260
+ gap?: number;
261
+ children: ReactNode;
262
+ };
263
+ declare function TitledRow({ title, side, rail, gap, children }: TitledRowProps): React$1.JSX.Element;
264
+
265
+ declare function AppShell({ sidebar, children }: {
266
+ sidebar: ReactNode;
267
+ children: ReactNode;
268
+ }): React$1.JSX.Element;
269
+
270
+ declare const REGISTRY: {
271
+ readonly home: Icon$1;
272
+ readonly team: Icon$1;
273
+ readonly orders: Icon$1;
274
+ readonly knowledge: Icon$1;
275
+ readonly settings: Icon$1;
276
+ readonly search: Icon$1;
277
+ readonly add: Icon$1;
278
+ readonly remove: Icon$1;
279
+ readonly close: Icon$1;
280
+ readonly check: Icon$1;
281
+ readonly more: Icon$1;
282
+ readonly bell: Icon$1;
283
+ readonly "caret-down": Icon$1;
284
+ readonly "caret-right": Icon$1;
285
+ readonly "caret-up": Icon$1;
286
+ readonly "arrow-up": Icon$1;
287
+ readonly "arrow-down": Icon$1;
288
+ readonly "arrow-right": Icon$1;
289
+ readonly star: Icon$1;
290
+ readonly warning: Icon$1;
291
+ readonly "trend-up": Icon$1;
292
+ readonly "trend-down": Icon$1;
293
+ readonly spark: Icon$1;
294
+ readonly lock: Icon$1;
295
+ readonly "lock-open": Icon$1;
296
+ readonly voice: Icon$1;
297
+ readonly info: Icon$1;
298
+ readonly lightbulb: Icon$1;
299
+ readonly "chart-line-up": Icon$1;
300
+ readonly dashboard: Icon$1;
301
+ readonly send: Icon$1;
302
+ };
303
+ type IconName = keyof typeof REGISTRY;
304
+ declare const ICON_NAMES: IconName[];
305
+ type IconProps = {
306
+ name: IconName;
307
+ /** px; matches the surrounding text/control size */
308
+ size?: number;
309
+ weight?: IconWeight;
310
+ color?: string;
311
+ className?: string;
312
+ /** decorative by default; pass a label to expose it to AT */
313
+ label?: string;
314
+ };
315
+ declare function Icon({ name, size, weight, color, className, label, }: IconProps): React$1.JSX.Element;
316
+
317
+ type RadiusKey = keyof typeof radius;
318
+ type ImageProps = {
319
+ src: string;
320
+ /** required — decorative images should use alt="" explicitly, not omit it */
321
+ alt: string;
322
+ width?: number | string;
323
+ height?: number | string;
324
+ fit?: "cover" | "contain";
325
+ radius?: RadiusKey | number | string;
326
+ loading?: "lazy" | "eager";
327
+ className?: string;
328
+ style?: CSSProperties;
329
+ };
330
+ declare function Image({ src, alt, width, height, fit, radius, loading, className, style, }: ImageProps): React$1.JSX.Element;
331
+
332
+ type TextProps = {
333
+ /** which element this renders as — independent of visual size */
334
+ as?: ElementType;
335
+ /** Foundation type-scale step */
336
+ size?: TypeKey;
337
+ weight?: CSSProperties["fontWeight"];
338
+ /** a resolved token value, e.g. `color.mutedForeground` or `color.accent` */
339
+ color?: string;
340
+ align?: CSSProperties["textAlign"];
341
+ /** clip to one line with an ellipsis instead of wrapping */
342
+ truncate?: boolean;
343
+ className?: string;
344
+ style?: CSSProperties;
345
+ children?: ReactNode;
346
+ };
347
+ declare function Text({ as: As, size, weight, color: textColor, align, truncate, className, style, children, }: TextProps): React$1.JSX.Element;
348
+
349
+ declare function cn(...inputs: ClassValue[]): string;
350
+
351
+ declare const alertVariants: (props?: ({
352
+ variant?: "destructive" | "default" | null | undefined;
353
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
354
+ declare function Alert({ className, variant, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React$1.JSX.Element;
355
+ declare function AlertTitle({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
356
+ declare function AlertDescription({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
357
+ declare function AlertAction({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
358
+
359
+ declare function Avatar({ className, size, ...props }: React$1.ComponentProps<typeof Avatar$1.Root> & {
360
+ size?: "default" | "sm" | "lg";
361
+ }): React$1.JSX.Element;
362
+ declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof Avatar$1.Image>): React$1.JSX.Element;
363
+ declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof Avatar$1.Fallback>): React$1.JSX.Element;
364
+ declare function AvatarBadge({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
365
+ declare function AvatarGroup({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
366
+ declare function AvatarGroupCount({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
367
+
368
+ declare const badgeVariants: (props?: ({
369
+ variant?: "secondary" | "destructive" | "link" | "default" | "outline" | "ghost" | null | undefined;
370
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
371
+ declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
372
+ asChild?: boolean;
373
+ }): React$1.JSX.Element;
374
+
375
+ declare const buttonVariants: (props?: ({
376
+ variant?: "secondary" | "destructive" | "link" | "default" | "outline" | "ghost" | null | undefined;
377
+ size?: "xs" | "sm" | "lg" | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
378
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
379
+ declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
380
+ asChild?: boolean;
381
+ }): React$1.JSX.Element;
382
+
383
+ declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof Separator$1.Root>): React$1.JSX.Element;
384
+
385
+ declare const buttonGroupVariants: (props?: ({
386
+ orientation?: "horizontal" | "vertical" | null | undefined;
387
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
388
+ declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): React$1.JSX.Element;
389
+ declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<"div"> & {
390
+ asChild?: boolean;
391
+ }): React$1.JSX.Element;
392
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): React$1.JSX.Element;
393
+
394
+ declare function Card({ className, size, ...props }: React$1.ComponentProps<"div"> & {
395
+ size?: "default" | "sm";
396
+ }): React$1.JSX.Element;
397
+ declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
398
+ declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
399
+ declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
400
+ declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
401
+ declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
402
+ declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
403
+
404
+ declare const THEMES: {
405
+ readonly light: "";
406
+ readonly dark: ".dark";
407
+ };
408
+ type TooltipNameType = number | string;
409
+ type ChartConfig = Record<string, {
410
+ label?: React$1.ReactNode;
411
+ icon?: React$1.ComponentType;
412
+ } & ({
413
+ color?: string;
414
+ theme?: never;
415
+ } | {
416
+ color?: never;
417
+ theme: Record<keyof typeof THEMES, string>;
418
+ })>;
419
+ declare function ChartContainer({ id, className, children, config, initialDimension, ...props }: React$1.ComponentProps<"div"> & {
420
+ config: ChartConfig;
421
+ children: React$1.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
422
+ initialDimension?: {
423
+ width: number;
424
+ height: number;
425
+ };
426
+ }): React$1.JSX.Element;
427
+ declare const ChartStyle: ({ id, config }: {
428
+ id: string;
429
+ config: ChartConfig;
430
+ }) => React$1.JSX.Element | null;
431
+ declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
432
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React$1.ComponentProps<typeof RechartsPrimitive.Tooltip> & React$1.ComponentProps<"div"> & {
433
+ hideLabel?: boolean;
434
+ hideIndicator?: boolean;
435
+ indicator?: "line" | "dot" | "dashed";
436
+ nameKey?: string;
437
+ labelKey?: string;
438
+ } & Omit<RechartsPrimitive.DefaultTooltipContentProps<TooltipValueType, TooltipNameType>, "accessibilityLayer">): React$1.JSX.Element | null;
439
+ declare const ChartLegend: React$1.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React$1.ReactPortal | null>;
440
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React$1.ComponentProps<"div"> & {
441
+ hideIcon?: boolean;
442
+ nameKey?: string;
443
+ } & RechartsPrimitive.DefaultLegendContentProps): React$1.JSX.Element | null;
444
+
445
+ declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof Checkbox$1.Root>): React$1.JSX.Element;
446
+
447
+ declare function Dialog({ ...props }: React$1.ComponentProps<typeof Dialog$1.Root>): React$1.JSX.Element;
448
+ declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof Dialog$1.Trigger>): React$1.JSX.Element;
449
+ declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof Dialog$1.Portal>): React$1.JSX.Element;
450
+ declare function DialogClose({ ...props }: React$1.ComponentProps<typeof Dialog$1.Close>): React$1.JSX.Element;
451
+ declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Overlay>): React$1.JSX.Element;
452
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React$1.ComponentProps<typeof Dialog$1.Content> & {
453
+ showCloseButton?: boolean;
454
+ }): React$1.JSX.Element;
455
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
456
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: React$1.ComponentProps<"div"> & {
457
+ showCloseButton?: boolean;
458
+ }): React$1.JSX.Element;
459
+ declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Title>): React$1.JSX.Element;
460
+ declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Description>): React$1.JSX.Element;
461
+
462
+ declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Root>): React$1.JSX.Element;
463
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Portal>): React$1.JSX.Element;
464
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Trigger>): React$1.JSX.Element;
465
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Content>): React$1.JSX.Element;
466
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Group>): React$1.JSX.Element;
467
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Item> & {
468
+ inset?: boolean;
469
+ variant?: "default" | "destructive";
470
+ }): React$1.JSX.Element;
471
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.CheckboxItem> & {
472
+ inset?: boolean;
473
+ }): React$1.JSX.Element;
474
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioGroup>): React$1.JSX.Element;
475
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioItem> & {
476
+ inset?: boolean;
477
+ }): React$1.JSX.Element;
478
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Label> & {
479
+ inset?: boolean;
480
+ }): React$1.JSX.Element;
481
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Separator>): React$1.JSX.Element;
482
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
483
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Sub>): React$1.JSX.Element;
484
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
485
+ inset?: boolean;
486
+ }): React$1.JSX.Element;
487
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubContent>): React$1.JSX.Element;
488
+
489
+ declare function Empty({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
490
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
491
+ declare const emptyMediaVariants: (props?: ({
492
+ variant?: "default" | "icon" | null | undefined;
493
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
494
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): React$1.JSX.Element;
495
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
496
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): React$1.JSX.Element;
497
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
498
+
499
+ declare function Label({ className, ...props }: React$1.ComponentProps<typeof Label$1.Root>): React$1.JSX.Element;
500
+
501
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): React$1.JSX.Element;
502
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
503
+ variant?: "legend" | "label";
504
+ }): React$1.JSX.Element;
505
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
506
+ declare const fieldVariants: (props?: ({
507
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
508
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
509
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): React$1.JSX.Element;
510
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
511
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): React$1.JSX.Element;
512
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
513
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): React$1.JSX.Element;
514
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
515
+ children?: React.ReactNode;
516
+ }): React$1.JSX.Element;
517
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
518
+ errors?: Array<{
519
+ message?: string;
520
+ } | undefined>;
521
+ }): React$1.JSX.Element | null;
522
+
523
+ declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): React$1.JSX.Element;
524
+
525
+ declare function InputGroup({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
526
+ declare const inputGroupAddonVariants: (props?: ({
527
+ align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
528
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
529
+ declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): React$1.JSX.Element;
530
+ declare const inputGroupButtonVariants: (props?: ({
531
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
532
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
533
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): React$1.JSX.Element;
534
+ declare function InputGroupText({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
535
+ declare function InputGroupInput({ className, ...props }: React$1.ComponentProps<"input">): React$1.JSX.Element;
536
+ declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<"textarea">): React$1.JSX.Element;
537
+
538
+ declare function ItemGroup({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
539
+ declare function ItemSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): React$1.JSX.Element;
540
+ declare const itemVariants: (props?: ({
541
+ variant?: "muted" | "default" | "outline" | null | undefined;
542
+ size?: "xs" | "sm" | "default" | null | undefined;
543
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
544
+ declare function Item({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
545
+ asChild?: boolean;
546
+ }): React$1.JSX.Element;
547
+ declare const itemMediaVariants: (props?: ({
548
+ variant?: "image" | "default" | "icon" | null | undefined;
549
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
550
+ declare function ItemMedia({ className, variant, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): React$1.JSX.Element;
551
+ declare function ItemContent({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
552
+ declare function ItemTitle({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
553
+ declare function ItemDescription({ className, ...props }: React$1.ComponentProps<"p">): React$1.JSX.Element;
554
+ declare function ItemActions({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
555
+ declare function ItemHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
556
+ declare function ItemFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
557
+
558
+ declare function NavigationMenu({ className, children, viewport, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Root> & {
559
+ viewport?: boolean;
560
+ }): React$1.JSX.Element;
561
+ declare function NavigationMenuList({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.List>): React$1.JSX.Element;
562
+ declare function NavigationMenuItem({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Item>): React$1.JSX.Element;
563
+ declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types.ClassProp | undefined) => string;
564
+ declare function NavigationMenuTrigger({ className, children, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Trigger>): React$1.JSX.Element;
565
+ declare function NavigationMenuContent({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Content>): React$1.JSX.Element;
566
+ declare function NavigationMenuViewport({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Viewport>): React$1.JSX.Element;
567
+ declare function NavigationMenuLink({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Link>): React$1.JSX.Element;
568
+ declare function NavigationMenuIndicator({ className, ...props }: React$1.ComponentProps<typeof NavigationMenu$1.Indicator>): React$1.JSX.Element;
569
+
570
+ declare function Pagination({ className, ...props }: React$1.ComponentProps<"nav">): React$1.JSX.Element;
571
+ declare function PaginationContent({ className, ...props }: React$1.ComponentProps<"ul">): React$1.JSX.Element;
572
+ declare function PaginationItem({ ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
573
+ type PaginationLinkProps = {
574
+ isActive?: boolean;
575
+ } & Pick<React$1.ComponentProps<typeof Button>, "size"> & React$1.ComponentProps<"a">;
576
+ declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): React$1.JSX.Element;
577
+ declare function PaginationPrevious({ className, text, ...props }: React$1.ComponentProps<typeof PaginationLink> & {
578
+ text?: string;
579
+ }): React$1.JSX.Element;
580
+ declare function PaginationNext({ className, text, ...props }: React$1.ComponentProps<typeof PaginationLink> & {
581
+ text?: string;
582
+ }): React$1.JSX.Element;
583
+ declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
584
+
585
+ declare function Progress({ className, value, ...props }: React$1.ComponentProps<typeof Progress$1.Root>): React$1.JSX.Element;
586
+
587
+ declare function RadioGroup({ className, ...props }: React$1.ComponentProps<typeof RadioGroup$1.Root>): React$1.JSX.Element;
588
+ declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroup$1.Item>): React$1.JSX.Element;
589
+
590
+ declare function Select({ ...props }: React$1.ComponentProps<typeof Select$1.Root>): React$1.JSX.Element;
591
+ declare function SelectGroup({ className, ...props }: React$1.ComponentProps<typeof Select$1.Group>): React$1.JSX.Element;
592
+ declare function SelectValue({ ...props }: React$1.ComponentProps<typeof Select$1.Value>): React$1.JSX.Element;
593
+ declare function SelectTrigger({ className, size, children, ...props }: React$1.ComponentProps<typeof Select$1.Trigger> & {
594
+ size?: "sm" | "default";
595
+ }): React$1.JSX.Element;
596
+ declare function SelectContent({ className, children, position, align, ...props }: React$1.ComponentProps<typeof Select$1.Content>): React$1.JSX.Element;
597
+ declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof Select$1.Label>): React$1.JSX.Element;
598
+ declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof Select$1.Item>): React$1.JSX.Element;
599
+ declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof Select$1.Separator>): React$1.JSX.Element;
600
+ declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollUpButton>): React$1.JSX.Element;
601
+ declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollDownButton>): React$1.JSX.Element;
602
+
603
+ declare const Toaster: ({ ...props }: ToasterProps) => React$1.JSX.Element;
604
+
605
+ declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): React$1.JSX.Element;
606
+
607
+ declare function Switch({ className, size, ...props }: React$1.ComponentProps<typeof Switch$1.Root> & {
608
+ size?: "sm" | "default";
609
+ }): React$1.JSX.Element;
610
+
611
+ declare function Table({ className, ...props }: React$1.ComponentProps<"table">): React$1.JSX.Element;
612
+ declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): React$1.JSX.Element;
613
+ declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): React$1.JSX.Element;
614
+ declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): React$1.JSX.Element;
615
+ declare function TableRow({ className, ...props }: React$1.ComponentProps<"tr">): React$1.JSX.Element;
616
+ declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): React$1.JSX.Element;
617
+ declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): React$1.JSX.Element;
618
+ declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): React$1.JSX.Element;
619
+
620
+ declare function Tabs({ className, orientation, ...props }: React$1.ComponentProps<typeof Tabs$1.Root>): React$1.JSX.Element;
621
+ declare const tabsListVariants: (props?: ({
622
+ variant?: "line" | "default" | null | undefined;
623
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
624
+ declare function TabsList({ className, variant, ...props }: React$1.ComponentProps<typeof Tabs$1.List> & VariantProps<typeof tabsListVariants>): React$1.JSX.Element;
625
+ declare function TabsTrigger({ className, ...props }: React$1.ComponentProps<typeof Tabs$1.Trigger>): React$1.JSX.Element;
626
+ declare function TabsContent({ className, ...props }: React$1.ComponentProps<typeof Tabs$1.Content>): React$1.JSX.Element;
627
+
628
+ declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): React$1.JSX.Element;
629
+
630
+ declare const toggleVariants: (props?: ({
631
+ variant?: "default" | "outline" | null | undefined;
632
+ size?: "sm" | "lg" | "default" | null | undefined;
633
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
634
+ declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps<typeof Toggle$1.Root> & VariantProps<typeof toggleVariants>): React$1.JSX.Element;
635
+
636
+ declare function ToggleGroup({ className, variant, size, spacing, orientation, children, ...props }: React$1.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants> & {
637
+ spacing?: number;
638
+ orientation?: "horizontal" | "vertical";
639
+ }): React$1.JSX.Element;
640
+ declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): React$1.JSX.Element;
641
+
642
+ declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof Tooltip$1.Provider>): React$1.JSX.Element;
643
+ declare function Tooltip({ ...props }: React$1.ComponentProps<typeof Tooltip$1.Root>): React$1.JSX.Element;
644
+ declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof Tooltip$1.Trigger>): React$1.JSX.Element;
645
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof Tooltip$1.Content>): React$1.JSX.Element;
646
+
647
+ type AdviceCardProps = {
648
+ icon: IconName;
649
+ /** ink (default, most advice) or accent (rare — the source reserves this for a genuine highlight, e.g. a new record) */
650
+ tone?: "ink" | "accent";
651
+ value: ReactNode;
652
+ text: ReactNode;
653
+ note?: ReactNode;
654
+ };
655
+ declare function AdviceCard({ icon, tone, value, text, note }: AdviceCardProps): React$1.JSX.Element;
656
+
657
+ declare function Chip({ children, style, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): React$1.JSX.Element;
658
+
659
+ type FormFieldProps = {
660
+ label: string;
661
+ htmlFor?: string;
662
+ description?: string;
663
+ error?: string;
664
+ children: ReactNode;
665
+ };
666
+ declare function FormField({ label, htmlFor, description, error, children }: FormFieldProps): React$1.JSX.Element;
667
+
668
+ type FilterSelectProps = {
669
+ label: string;
670
+ placeholder: string;
671
+ value?: string;
672
+ onValueChange?: (value: string) => void;
673
+ onClear?: () => void;
674
+ options: {
675
+ value: string;
676
+ label: string;
677
+ }[];
678
+ };
679
+ declare function FilterSelect({ label, placeholder, value, onValueChange, onClear, options }: FilterSelectProps): React$1.JSX.Element;
680
+
681
+ declare function MessageBubble({ from, children }: {
682
+ from: "user" | "bot";
683
+ children: ReactNode;
684
+ }): React$1.JSX.Element;
685
+
686
+ type SearchProps = {
687
+ placeholder?: string;
688
+ value?: string;
689
+ onChange?: (value: string) => void;
690
+ className?: string;
691
+ };
692
+ declare function Search({ placeholder, value, onChange, className }: SearchProps): React$1.JSX.Element;
693
+
694
+ declare function Toolbar({ children, orientation, bare, }: {
695
+ children: ReactNode;
696
+ orientation?: "horizontal" | "vertical";
697
+ /** Skip the muted-pill chrome — just the Radix roving-focus root + layout.
698
+ * Use this when the toolbar holds exactly ONE already-styled group (e.g.
699
+ * a lone ToolbarToggleGroup, which paints its own pill background) —
700
+ * the default chrome is for combining multiple groups/separators/actions
701
+ * under one shared housing (see the PeriodAndActions story). Without
702
+ * `bare`, a single already-backgrounded group nests inside this one's
703
+ * own background/radius, producing a visible pill-in-a-pill seam. */
704
+ bare?: boolean;
705
+ }): React$1.JSX.Element;
706
+ /** ToolbarGroup — a cluster of related controls (e.g. the period toggle). */
707
+ declare function ToolbarGroup({ children }: {
708
+ children: ReactNode;
709
+ }): React$1.JSX.Element;
710
+ /** ToolbarToggleGroup — single-select segmented control (roving focus, real
711
+ * radiogroup semantics) — e.g. Месяц / Неделя / День. */
712
+ declare function ToolbarToggleGroup({ value, onValueChange, children, }: {
713
+ value: string;
714
+ onValueChange?: (v: string) => void;
715
+ children: ReactNode;
716
+ }): React$1.JSX.Element;
717
+ declare function ToolbarToggleItem({ value, children, }: {
718
+ value: string;
719
+ children: ReactNode;
720
+ }): React$1.JSX.Element;
721
+ /** ToolbarSeparator — vertical divider between groups. Uses `color.input`
722
+ * (komanda's own --line-2 "visible hairline" token), NOT `color.border` —
723
+ * `--border` is deliberately transparent project-wide, which would make
724
+ * this invisible (see the `[data-slot="separator"]` note in
725
+ * brand-overrides.css; this one needs its own fix since it's built on raw
726
+ * Radix, not shadcn's Separator, so that CSS override doesn't reach it). */
727
+ declare function ToolbarSeparator(): React$1.JSX.Element;
728
+ /** ToolbarButton — wraps our Button primitive so it participates in the
729
+ * toolbar's roving-focus group instead of being a separate tab stop. */
730
+ declare function ToolbarButton({ children }: {
731
+ children: ReactNode;
732
+ }): React$1.JSX.Element;
733
+
734
+ declare function TypingIndicator(): React$1.JSX.Element;
735
+
736
+ type ChartSeries = {
737
+ key: string;
738
+ label: string;
739
+ color: string;
740
+ };
741
+ type BarChartProps = {
742
+ data: Record<string, unknown>[];
743
+ xKey: string;
744
+ series: ChartSeries[];
745
+ height?: number;
746
+ showLegend?: boolean;
747
+ };
748
+ declare function BarChart({ data, xKey, series, height, showLegend }: BarChartProps): React$1.JSX.Element;
749
+
750
+ /** AreaChart — Components tier, real Recharts (stacked area — cumulative trends). */
751
+ type AreaChartProps = {
752
+ data: Record<string, unknown>[];
753
+ xKey: string;
754
+ series: ChartSeries[];
755
+ height?: number;
756
+ showLegend?: boolean;
757
+ stacked?: boolean;
758
+ };
759
+ declare function AreaChart({ data, xKey, series, height, showLegend, stacked }: AreaChartProps): React$1.JSX.Element;
760
+
761
+ type DistributionSegment = {
762
+ label: string;
763
+ count: string;
764
+ widthPct: number;
765
+ };
766
+ type DistributionGroup = {
767
+ name: string;
768
+ total: string;
769
+ segments: DistributionSegment[];
770
+ };
771
+ declare function DistributionChart({ groups, rowHeight }: {
772
+ groups: DistributionGroup[];
773
+ rowHeight?: number;
774
+ }): React$1.JSX.Element;
775
+
776
+ /** DonutChart — Components tier, real Recharts (categorical breakdown). */
777
+ type DonutSlice = {
778
+ key: string;
779
+ label: string;
780
+ value: number;
781
+ color: string;
782
+ };
783
+ type DonutChartProps = {
784
+ data: DonutSlice[];
785
+ height?: number;
786
+ showLegend?: boolean;
787
+ };
788
+ declare function DonutChart({ data, height, showLegend }: DonutChartProps): React$1.JSX.Element;
789
+
790
+ /** LineChart — Components tier, real Recharts (multi-series trend line). */
791
+ type LineChartProps = {
792
+ data: Record<string, unknown>[];
793
+ xKey: string;
794
+ series: ChartSeries[];
795
+ height?: number;
796
+ showLegend?: boolean;
797
+ };
798
+ declare function LineChart({ data, xKey, series, height, showLegend }: LineChartProps): React$1.JSX.Element;
799
+
800
+ type ChipQuestion = {
801
+ question: string;
802
+ answer: ReactNode;
803
+ };
804
+ type AssistantDockProps = {
805
+ title?: string;
806
+ intro?: string;
807
+ chips?: ChipQuestion[];
808
+ fallbackAnswer?: ReactNode;
809
+ placeholder?: string;
810
+ };
811
+ declare function AssistantDock({ title, intro, chips, fallbackAnswer, placeholder, }: AssistantDockProps): React$1.JSX.Element;
812
+
813
+ type NavItem = {
814
+ key: string;
815
+ label: string;
816
+ icon: IconName;
817
+ };
818
+ declare const EXAMPLE_NAV_ITEMS: NavItem[];
819
+ type SidebarNavProps = {
820
+ active?: string;
821
+ items: NavItem[];
822
+ avatarInitials?: string;
823
+ avatarTitle?: string;
824
+ showSettings?: boolean;
825
+ /** Which client's dashboard this is (Артефакт serves several). Omit to
826
+ * hide the chip entirely — DON'T default this to any one client's name. */
827
+ clientLabel?: string;
828
+ /** Single-letter badge for the chip; falls back to `clientLabel`'s first
829
+ * character if omitted. */
830
+ clientInitial?: string;
831
+ };
832
+ declare function SidebarNav({ active, items, avatarInitials, avatarTitle, showSettings, clientLabel, clientInitial, }: SidebarNavProps): React$1.JSX.Element;
833
+
834
+ export { AdviceCard, type AdviceCardProps, Alert, AlertAction, AlertDescription, AlertTitle, AppShell, AreaChart, type AreaChartProps, AssistantDock, type AssistantDockProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChart, type BarChartProps, Box, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, type ChartSeries, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Chip, type ChipQuestion, Container, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DistributionChart, type DistributionGroup, type DistributionSegment, DonutChart, type DonutChartProps, type DonutSlice, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EXAMPLE_NAV_ITEMS, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterSelect, type FilterSelectProps, Flex, FormField, Grid, ICON_NAMES, Icon, type IconName, type IconProps, Image, type ImageProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LineChart, type LineChartProps, MessageBubble, type NavItem, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Progress, RadioGroup, RadioGroupItem, SURFACE_VARIANTS, Search, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SidebarNav, type SidebarNavProps, type SpacingKey, Spinner, Stack, Surface, type SurfaceProps, type SurfaceVariant, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, type TextProps, Textarea, TitledRow, type TitledRowProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, ToolbarButton, ToolbarGroup, ToolbarSeparator, ToolbarToggleGroup, ToolbarToggleItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TypeKey, TypingIndicator, badgeVariants, buttonGroupVariants, buttonVariants, chartKeys, cn, color, font, navigationMenuTriggerStyle, radius, semanticRoles, spacing, tabsListVariants, toggleVariants, type };