@timbal-ai/timbal-react 1.4.0 → 1.6.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 +30 -0
- package/README.md +43 -4
- package/dist/app.cjs +3770 -1506
- package/dist/app.d.cts +76 -31
- package/dist/app.d.ts +76 -31
- package/dist/app.esm.js +30 -8
- package/dist/{chart-artifact-C8-Py6lc.d.cts → chart-artifact-C2pZQsaP.d.ts} +247 -41
- package/dist/{chart-artifact-CMnDys2t.d.ts → chart-artifact-VAqgH-My.d.cts} +247 -41
- package/dist/{chat-ClmzWzCX.d.cts → chat-DDsp-Vzz.d.cts} +1 -1
- package/dist/{chat-ClmzWzCX.d.ts → chat-DDsp-Vzz.d.ts} +1 -1
- package/dist/chat.cjs +280 -123
- package/dist/chat.d.cts +3 -3
- package/dist/chat.d.ts +3 -3
- package/dist/chat.esm.js +4 -3
- package/dist/chunk-24B4I4XC.esm.js +232 -0
- package/dist/{chunk-VOWNCS3F.esm.js → chunk-6SQMTBPL.esm.js} +1669 -504
- package/dist/chunk-EDEKQYSU.esm.js +10 -0
- package/dist/{chunk-QIABF4KB.esm.js → chunk-ELEY66OH.esm.js} +2 -2
- package/dist/{chunk-THBA27QY.esm.js → chunk-HSL36SJ4.esm.js} +243 -124
- package/dist/chunk-JJOO4PR5.esm.js +391 -0
- package/dist/{chunk-QU7ET55D.esm.js → chunk-MBS7XHV2.esm.js} +335 -192
- package/dist/chunk-NO5AWNWT.esm.js +1066 -0
- package/dist/{chunk-VXMM2HX7.esm.js → chunk-R4RQT2XQ.esm.js} +3 -3
- package/dist/{chunk-OFWC4MIY.esm.js → chunk-TMP7RIA7.esm.js} +5 -3
- package/dist/{chunk-GQBYZRD7.esm.js → chunk-WQIQW7EM.esm.js} +40 -28
- package/dist/{chunk-OH23AX2V.esm.js → chunk-YYEI6XME.esm.js} +441 -957
- package/dist/{circular-progress-Ci8L-Hfa.d.cts → circular-progress-B9nnwzCu.d.cts} +20 -78
- package/dist/{circular-progress-Ci8L-Hfa.d.ts → circular-progress-B9nnwzCu.d.ts} +20 -78
- package/dist/index.cjs +5547 -3192
- package/dist/index.d.cts +10 -8
- package/dist/index.d.ts +10 -8
- package/dist/index.esm.js +76 -44
- package/dist/kanban-FFBeaZPS.d.cts +212 -0
- package/dist/kanban-FFBeaZPS.d.ts +212 -0
- package/dist/{layout-BTJyU8wd.d.ts → layout-CuKeSY74.d.ts} +1 -1
- package/dist/{layout-C2G-FcER.d.cts → layout-PzVwkJyL.d.cts} +1 -1
- package/dist/site.cjs +429 -0
- package/dist/site.d.cts +198 -0
- package/dist/site.d.ts +198 -0
- package/dist/site.esm.js +23 -0
- package/dist/studio.cjs +722 -363
- package/dist/studio.d.cts +2 -2
- package/dist/studio.d.ts +2 -2
- package/dist/studio.esm.js +8 -6
- package/dist/styles.css +56 -0
- package/dist/{timbal-v2-button-CNfdwGq4.d.cts → timbal-v2-button-DCAZNyUx.d.cts} +3 -3
- package/dist/{timbal-v2-button-CNfdwGq4.d.ts → timbal-v2-button-DCAZNyUx.d.ts} +3 -3
- package/dist/ui.cjs +1553 -708
- package/dist/ui.d.cts +11 -4
- package/dist/ui.d.ts +11 -4
- package/dist/ui.esm.js +45 -36
- package/dist/{welcome-DXqsGTwH.d.ts → welcome-B00oH5Io.d.cts} +5 -1
- package/dist/{welcome-BFGRoNfK.d.cts → welcome-DU-4NTjZ.d.ts} +5 -1
- package/package.json +9 -1
- package/dist/button-BoyX5pM_.d.cts +0 -18
- package/dist/button-BoyX5pM_.d.ts +0 -18
- package/dist/chunk-UCGVL7ZY.esm.js +0 -52
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { v as TimbalRuntimeProviderProps, m as ThreadProps, B as ChartArtifact } from './chat-DDsp-Vzz.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -389,7 +389,7 @@ interface AppShellProps {
|
|
|
389
389
|
sidebar?: ReactNode;
|
|
390
390
|
/**
|
|
391
391
|
* Global top bar (login, theme, account) — spans the full shell width (not
|
|
392
|
-
* the page `max-w-6xl` column).
|
|
392
|
+
* the page `max-w-6xl` column).
|
|
393
393
|
*/
|
|
394
394
|
topbar?: ReactNode;
|
|
395
395
|
/** @deprecated Use `topbar`. */
|
|
@@ -441,21 +441,6 @@ interface AppShellProps {
|
|
|
441
441
|
*/
|
|
442
442
|
declare const AppShell: FC<AppShellProps>;
|
|
443
443
|
|
|
444
|
-
interface AppShellTopbarProps {
|
|
445
|
-
/** Leading cluster — mobile menu, product mark, org switcher. */
|
|
446
|
-
start?: ReactNode;
|
|
447
|
-
/** Trailing cluster — theme toggle, login, account menu. */
|
|
448
|
-
actions?: ReactNode;
|
|
449
|
-
/** Optional center content between start and actions. */
|
|
450
|
-
children?: ReactNode;
|
|
451
|
-
className?: string;
|
|
452
|
-
}
|
|
453
|
-
/**
|
|
454
|
-
* Global app chrome row inside `AppShell` — auth, theme, and account actions.
|
|
455
|
-
* Spans the full shell width via the shell’s `topbar` slot (wider than `<Page />`).
|
|
456
|
-
*/
|
|
457
|
-
declare const AppShellTopbar: FC<AppShellTopbarProps>;
|
|
458
|
-
|
|
459
444
|
interface AppShellChatTriggerProps {
|
|
460
445
|
className?: string;
|
|
461
446
|
label?: string;
|
|
@@ -503,7 +488,7 @@ interface AppShellSidebarTriggerProps {
|
|
|
503
488
|
}
|
|
504
489
|
/**
|
|
505
490
|
* Hamburger that opens the `AppShell` mobile nav drawer. Hidden on `md+`
|
|
506
|
-
* (the sidebar is persistent there). Drop it in `
|
|
491
|
+
* (the sidebar is persistent there). Drop it in the `AppShell` topbar
|
|
507
492
|
* slot — it reads the shell nav controls, so no wiring is needed.
|
|
508
493
|
*/
|
|
509
494
|
declare const AppShellSidebarTrigger: FC<AppShellSidebarTriggerProps>;
|
|
@@ -525,6 +510,15 @@ declare const APP_DENSITY_CLASSES: {
|
|
|
525
510
|
readonly default: string;
|
|
526
511
|
readonly compact: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between pb-2 pt-1";
|
|
527
512
|
};
|
|
513
|
+
/**
|
|
514
|
+
* Vertical rhythm between a `Page`'s direct content blocks. Page-level gap so
|
|
515
|
+
* stacked blocks (FilterBar + DataTable, MetricRow + ChartPanel, bare cards)
|
|
516
|
+
* never render flush — the #1 source of gap-less generated layouts.
|
|
517
|
+
*/
|
|
518
|
+
readonly pageStack: {
|
|
519
|
+
readonly default: "flex flex-col gap-6";
|
|
520
|
+
readonly compact: "flex flex-col gap-4";
|
|
521
|
+
};
|
|
528
522
|
readonly section: {
|
|
529
523
|
readonly default: "flex flex-col gap-4 py-4";
|
|
530
524
|
readonly compact: "flex flex-col gap-2 py-2";
|
|
@@ -550,12 +544,12 @@ declare const APP_DENSITY_CLASSES: {
|
|
|
550
544
|
readonly compact: "relative flex min-w-0 flex-1 flex-col gap-1 px-3 py-2 text-left font-normal";
|
|
551
545
|
};
|
|
552
546
|
readonly metricChartRegion: {
|
|
553
|
-
readonly default: "relative min-h-0 w-full overflow-x-hidden
|
|
554
|
-
readonly compact: "relative min-h-0 w-full overflow-x-hidden
|
|
547
|
+
readonly default: "relative min-h-0 w-full overflow-x-hidden pt-2";
|
|
548
|
+
readonly compact: "relative min-h-0 w-full overflow-x-hidden pt-1";
|
|
555
549
|
};
|
|
556
550
|
readonly metricChartPlotRegion: {
|
|
557
|
-
readonly default: "relative min-h-0 w-full overflow-x-hidden
|
|
558
|
-
readonly compact: "relative min-h-0 w-full overflow-x-hidden
|
|
551
|
+
readonly default: "relative min-h-0 w-full overflow-x-hidden px-0 pt-5 pb-3";
|
|
552
|
+
readonly compact: "relative min-h-0 w-full overflow-x-hidden px-0 pt-3 pb-2";
|
|
559
553
|
};
|
|
560
554
|
readonly chartPanelBody: {
|
|
561
555
|
readonly default: "pt-2 pb-3";
|
|
@@ -565,6 +559,43 @@ declare const APP_DENSITY_CLASSES: {
|
|
|
565
559
|
type AppDensityClassKey = keyof typeof APP_DENSITY_CLASSES;
|
|
566
560
|
declare function appDensityClass(key: AppDensityClassKey, density?: AppDensity): string;
|
|
567
561
|
|
|
562
|
+
/**
|
|
563
|
+
* Class composites for the `app` kit (dashboards, settings, data views).
|
|
564
|
+
* Colours via semantic tokens in styles.css — no hardcoded palette literals.
|
|
565
|
+
*/
|
|
566
|
+
/**
|
|
567
|
+
* App page column — centered within the shell content area (right of the
|
|
568
|
+
* sidebar inset). Wide cap so dashboards use the available width instead of
|
|
569
|
+
* leaving large side gutters; the cap only kicks in on ultra-wide displays.
|
|
570
|
+
*/
|
|
571
|
+
declare const appPageColumnClass = "mx-auto w-full max-w-[100rem] px-4 md:px-6 lg:px-8";
|
|
572
|
+
/**
|
|
573
|
+
* Page content width ladder. Every option is a centered column with lateral
|
|
574
|
+
* padding — pick a narrower cap for focused / reading pages instead of always
|
|
575
|
+
* running full-bleed.
|
|
576
|
+
*/
|
|
577
|
+
type AppPageWidth = "full" | "wide" | "default" | "centered" | "narrow" | "prose";
|
|
578
|
+
/**
|
|
579
|
+
* Topbar horizontal inset — aligned with the page column's max-width and
|
|
580
|
+
* lateral padding so controls line up perfectly with the page content.
|
|
581
|
+
*/
|
|
582
|
+
declare const appShellTopbarInsetClass = "mx-auto w-full max-w-[100rem] px-4 md:px-6 lg:px-8";
|
|
583
|
+
/** Top breathing room for `AppShell` — matches timbal-platform list pages (`pt-4 md:pt-6`). */
|
|
584
|
+
declare const appShellInsetTopClass = "pt-4 md:pt-6";
|
|
585
|
+
/** Card surface — same elevated integration look as in-thread artifacts. */
|
|
586
|
+
declare const appSurfaceCardClass: string;
|
|
587
|
+
/** Metric / stat tile. */
|
|
588
|
+
declare const appStatTileClass: string;
|
|
589
|
+
/**
|
|
590
|
+
* Filter bar chrome — horizontal controls row.
|
|
591
|
+
* Bottom-aligns children so an unlabeled `SearchInput` lines up with the
|
|
592
|
+
* control in a labeled `Field` + `Select` (labels extend upward).
|
|
593
|
+
*/
|
|
594
|
+
declare const appFilterBarClass = "flex flex-wrap items-end gap-2";
|
|
595
|
+
/** Search inputs in filter bars — shared control skin (field shape), so a
|
|
596
|
+
* search field and a dropdown placed side by side match exactly. */
|
|
597
|
+
declare const appSearchInputClass: string;
|
|
598
|
+
|
|
568
599
|
interface PageHeaderProps {
|
|
569
600
|
/** Page title. Omit for a headerless page (no `<h1>` rendered). */
|
|
570
601
|
title?: ReactNode;
|
|
@@ -583,6 +614,13 @@ interface PageProps extends PageHeaderProps {
|
|
|
583
614
|
* `compact` tightens page insets, section gaps, and card padding.
|
|
584
615
|
*/
|
|
585
616
|
density?: AppDensity;
|
|
617
|
+
/**
|
|
618
|
+
* Content width cap. Defaults to the density default (wide cap on `default`,
|
|
619
|
+
* full-bleed on `compact`). Use a narrower value (`default`, `narrow`,
|
|
620
|
+
* `prose`, `centered`) for focused or reading pages instead of always
|
|
621
|
+
* stretching full width. Ignored when `fill` is set unless `fillPadded`.
|
|
622
|
+
*/
|
|
623
|
+
width?: AppPageWidth;
|
|
586
624
|
/**
|
|
587
625
|
* Make the page a bounded, full-height flex column instead of a centered,
|
|
588
626
|
* content-sized column. Pair with `AppShell contentFill` for full-bleed pages
|
|
@@ -590,6 +628,12 @@ interface PageProps extends PageHeaderProps {
|
|
|
590
628
|
* and own its own scroll. Give the fill child `min-h-0 flex-1`.
|
|
591
629
|
*/
|
|
592
630
|
fill?: boolean;
|
|
631
|
+
/**
|
|
632
|
+
* Keep the centered column (lateral padding + `width` cap) while still
|
|
633
|
+
* filling the viewport height. Use for full-height pages that should not run
|
|
634
|
+
* edge-to-edge (a centered editor, a focused detail view).
|
|
635
|
+
*/
|
|
636
|
+
fillPadded?: boolean;
|
|
593
637
|
className?: string;
|
|
594
638
|
}
|
|
595
639
|
declare const Page: FC<PageProps>;
|
|
@@ -604,6 +648,30 @@ interface SectionProps {
|
|
|
604
648
|
}
|
|
605
649
|
declare const Section: FC<SectionProps>;
|
|
606
650
|
|
|
651
|
+
type StackGap = "none" | "xs" | "sm" | "md" | "lg" | "xl";
|
|
652
|
+
type StackAlign = "start" | "center" | "end" | "stretch";
|
|
653
|
+
type StackJustify = "start" | "center" | "end" | "between";
|
|
654
|
+
interface StackProps {
|
|
655
|
+
children: ReactNode;
|
|
656
|
+
/** Flex direction. Default `"vertical"`. */
|
|
657
|
+
direction?: "vertical" | "horizontal";
|
|
658
|
+
/** Spacing between children. Default `"md"`. */
|
|
659
|
+
gap?: StackGap;
|
|
660
|
+
/** Cross-axis alignment. */
|
|
661
|
+
align?: StackAlign;
|
|
662
|
+
/** Main-axis distribution. */
|
|
663
|
+
justify?: StackJustify;
|
|
664
|
+
/** Allow children to wrap (horizontal rows). Default `false`. */
|
|
665
|
+
wrap?: boolean;
|
|
666
|
+
className?: string;
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Minimal flex stack with an explicit gap scale — the lightweight option for
|
|
670
|
+
* spacing a small cluster of elements where a full `Section` (title, padding)
|
|
671
|
+
* is too heavy. Prevents flush, gap-less groups inside cards and rows.
|
|
672
|
+
*/
|
|
673
|
+
declare const Stack: FC<StackProps>;
|
|
674
|
+
|
|
607
675
|
type AppCopilotContextValue = Record<string, unknown>;
|
|
608
676
|
interface AppCopilotProviderProps {
|
|
609
677
|
value: AppCopilotContextValue;
|
|
@@ -622,16 +690,31 @@ interface AppChatPanelProps extends Omit<TimbalRuntimeProviderProps, "children">
|
|
|
622
690
|
*/
|
|
623
691
|
declare const AppChatPanel: FC<AppChatPanelProps>;
|
|
624
692
|
|
|
693
|
+
type SurfaceCardVariant = "default" | "muted" | "outline" | "elevated" | "flat" | "hierarchical";
|
|
694
|
+
type SurfaceCardTone = "default" | "primary" | "success" | "warn" | "danger";
|
|
625
695
|
interface SurfaceCardProps {
|
|
626
696
|
children: ReactNode;
|
|
697
|
+
/** Surface chrome. Default `"default"` (elevated gradient). */
|
|
698
|
+
variant?: SurfaceCardVariant;
|
|
699
|
+
/** Accent ring tint. Default `"default"` (none). */
|
|
700
|
+
tone?: SurfaceCardTone;
|
|
701
|
+
/** Makes the card interactive with hover/active transitions. Defaults to true if onClick is provided. */
|
|
702
|
+
hoverable?: boolean;
|
|
703
|
+
/** Callback for when the card is clicked. Renders as a button when provided. */
|
|
704
|
+
onClick?: () => void;
|
|
705
|
+
/** Accessible name for the interactive button. */
|
|
706
|
+
ariaLabel?: string;
|
|
627
707
|
className?: string;
|
|
628
708
|
}
|
|
629
709
|
declare const SurfaceCard: FC<SurfaceCardProps>;
|
|
630
710
|
|
|
711
|
+
type StatTileTone = "default" | "primary" | "success" | "warn" | "danger";
|
|
631
712
|
interface StatTileProps {
|
|
632
713
|
label: ReactNode;
|
|
633
714
|
value: ReactNode;
|
|
634
715
|
hint?: ReactNode;
|
|
716
|
+
/** Tints the value to convey status. Default `"default"` (foreground). */
|
|
717
|
+
tone?: StatTileTone;
|
|
635
718
|
className?: string;
|
|
636
719
|
}
|
|
637
720
|
declare const StatTile: FC<StatTileProps>;
|
|
@@ -641,6 +724,8 @@ interface EmptyStateProps {
|
|
|
641
724
|
description?: ReactNode;
|
|
642
725
|
action?: ReactNode;
|
|
643
726
|
className?: string;
|
|
727
|
+
/** Visual variant of the empty state. Default `"default"`. */
|
|
728
|
+
variant?: "default" | "layered" | "compact";
|
|
644
729
|
}
|
|
645
730
|
declare const EmptyState: FC<EmptyStateProps>;
|
|
646
731
|
|
|
@@ -692,11 +777,14 @@ interface InfoCardProps {
|
|
|
692
777
|
/** Trailing CTA / action. */
|
|
693
778
|
action?: ReactNode;
|
|
694
779
|
tone?: InfoCardTone;
|
|
780
|
+
layout?: "horizontal" | "vertical";
|
|
781
|
+
onClick?: () => void;
|
|
782
|
+
ariaLabel?: string;
|
|
695
783
|
className?: string;
|
|
696
784
|
}
|
|
697
785
|
/**
|
|
698
786
|
* Soft info / callout panel with optional icon, title, body and CTA. For tips,
|
|
699
|
-
* empty hints, upsell nudges, and read-only notices.
|
|
787
|
+
* empty hints, upsell nudges, and read-only notices. Supports horizontal and vertical layouts.
|
|
700
788
|
*/
|
|
701
789
|
declare const InfoCard: FC<InfoCardProps>;
|
|
702
790
|
|
|
@@ -715,6 +803,9 @@ declare const StatusDot: FC<StatusDotProps>;
|
|
|
715
803
|
interface DescriptionItem {
|
|
716
804
|
label: ReactNode;
|
|
717
805
|
value: ReactNode;
|
|
806
|
+
className?: string;
|
|
807
|
+
labelClassName?: string;
|
|
808
|
+
valueClassName?: string;
|
|
718
809
|
}
|
|
719
810
|
interface DescriptionListProps {
|
|
720
811
|
items: DescriptionItem[];
|
|
@@ -757,6 +848,10 @@ interface ResourceCardProps {
|
|
|
757
848
|
/** Accessible name when `title` is not plain text. */
|
|
758
849
|
ariaLabel?: string;
|
|
759
850
|
className?: string;
|
|
851
|
+
/** Visual variant of the card. Default `"default"` (elevated gradient). */
|
|
852
|
+
variant?: "default" | "flat" | "outline";
|
|
853
|
+
/** Shape of the media container. Default `"circle"`. */
|
|
854
|
+
avatarShape?: "circle" | "rounded";
|
|
760
855
|
}
|
|
761
856
|
/**
|
|
762
857
|
* Project / agent / dataset card — same elevated surface as integration catalog tiles.
|
|
@@ -1026,6 +1121,85 @@ interface FilterFieldProps {
|
|
|
1026
1121
|
/** Single filter control with an optional label — use inside `FilterBar`. */
|
|
1027
1122
|
declare const FilterField: FC<FilterFieldProps>;
|
|
1028
1123
|
|
|
1124
|
+
type FilterFieldType = "multiselect" | "text" | "daterange" | "numeric";
|
|
1125
|
+
type NumericOperator = "gt" | "lt" | "eq";
|
|
1126
|
+
interface FilterSelectOption {
|
|
1127
|
+
/** Stable value stored in the filter state. */
|
|
1128
|
+
value: string;
|
|
1129
|
+
/** Visible label. */
|
|
1130
|
+
label: string;
|
|
1131
|
+
/** Optional leading node (avatar, swatch, status dot). */
|
|
1132
|
+
icon?: ReactNode;
|
|
1133
|
+
/** Optional secondary text (e.g. an email under a name). */
|
|
1134
|
+
hint?: string;
|
|
1135
|
+
}
|
|
1136
|
+
interface FilterDatePreset {
|
|
1137
|
+
id: string;
|
|
1138
|
+
label: string;
|
|
1139
|
+
/** Optional right-aligned hint (e.g. a resolved date range). */
|
|
1140
|
+
hint?: string;
|
|
1141
|
+
}
|
|
1142
|
+
interface FilterNumericOperatorOption {
|
|
1143
|
+
id: NumericOperator;
|
|
1144
|
+
label: string;
|
|
1145
|
+
}
|
|
1146
|
+
/** One filterable facet — describe your table's columns with these. */
|
|
1147
|
+
interface FilterFieldDef {
|
|
1148
|
+
/** Stable key; the field's value is stored under this id in `FilterValues`. */
|
|
1149
|
+
id: string;
|
|
1150
|
+
/** Menu label (use the column's name). */
|
|
1151
|
+
label: string;
|
|
1152
|
+
type: FilterFieldType;
|
|
1153
|
+
/** Leading icon in the menu row. */
|
|
1154
|
+
icon?: ReactNode;
|
|
1155
|
+
/** `multiselect` options. */
|
|
1156
|
+
options?: FilterSelectOption[];
|
|
1157
|
+
/** `multiselect` search box — defaults on when there are more than 8 options. */
|
|
1158
|
+
searchable?: boolean;
|
|
1159
|
+
/** Placeholder for the `multiselect` search box. */
|
|
1160
|
+
searchPlaceholder?: string;
|
|
1161
|
+
/** Placeholder for `text` / `numeric` inputs. */
|
|
1162
|
+
placeholder?: string;
|
|
1163
|
+
/** `daterange` presets — defaults to a sensible relative set. */
|
|
1164
|
+
presets?: FilterDatePreset[];
|
|
1165
|
+
/** `numeric` operators — defaults to greater/less/equals. */
|
|
1166
|
+
operators?: FilterNumericOperatorOption[];
|
|
1167
|
+
}
|
|
1168
|
+
interface FilterDateRangeValue {
|
|
1169
|
+
preset: string | null;
|
|
1170
|
+
from?: string;
|
|
1171
|
+
to?: string;
|
|
1172
|
+
}
|
|
1173
|
+
interface FilterNumericValue {
|
|
1174
|
+
operator: NumericOperator;
|
|
1175
|
+
value: string;
|
|
1176
|
+
}
|
|
1177
|
+
/** A single field's value — shape depends on the field `type`. */
|
|
1178
|
+
type FilterValue = string[] | string | FilterDateRangeValue | FilterNumericValue | null | undefined;
|
|
1179
|
+
/** All active filters, keyed by field id. */
|
|
1180
|
+
type FilterValues = Record<string, FilterValue>;
|
|
1181
|
+
interface FilterDropdownProps {
|
|
1182
|
+
/** The filterable facets — one per column you want to filter on. */
|
|
1183
|
+
fields: FilterFieldDef[];
|
|
1184
|
+
/** Controlled value. */
|
|
1185
|
+
value?: FilterValues;
|
|
1186
|
+
/** Uncontrolled initial value. */
|
|
1187
|
+
defaultValue?: FilterValues;
|
|
1188
|
+
/** Fires with the full updated `FilterValues` whenever a facet changes. */
|
|
1189
|
+
onChange?: (values: FilterValues) => void;
|
|
1190
|
+
/** Trigger button text. Default `"Filter"`. */
|
|
1191
|
+
label?: string;
|
|
1192
|
+
/** Popover alignment. Default `"start"`. */
|
|
1193
|
+
align?: "start" | "center" | "end";
|
|
1194
|
+
/**
|
|
1195
|
+
* Render removable pills for the active filters next to the trigger (with a
|
|
1196
|
+
* "Clear all"). Default `true`. Set `false` if you render your own chips.
|
|
1197
|
+
*/
|
|
1198
|
+
showActiveChips?: boolean;
|
|
1199
|
+
className?: string;
|
|
1200
|
+
}
|
|
1201
|
+
declare function FilterDropdown({ fields, value, defaultValue, onChange, label, align, showActiveChips, className, }: FilterDropdownProps): react_jsx_runtime.JSX.Element;
|
|
1202
|
+
|
|
1029
1203
|
type DataTableSortDirection = "asc" | "desc";
|
|
1030
1204
|
interface DataTableSort {
|
|
1031
1205
|
columnId: string;
|
|
@@ -1112,20 +1286,52 @@ interface ChartPanelProps {
|
|
|
1112
1286
|
*/
|
|
1113
1287
|
declare const ChartPanel: FC<ChartPanelProps>;
|
|
1114
1288
|
|
|
1289
|
+
interface SparklineProps {
|
|
1290
|
+
/** Numeric values, or objects from which `dataKey` is read. */
|
|
1291
|
+
data: Array<number | Record<string, unknown>>;
|
|
1292
|
+
dataKey?: string;
|
|
1293
|
+
color?: string;
|
|
1294
|
+
/** Show a soft gradient fill under the line. Default true. */
|
|
1295
|
+
area?: boolean;
|
|
1296
|
+
width?: number;
|
|
1297
|
+
height?: number;
|
|
1298
|
+
strokeWidth?: number;
|
|
1299
|
+
className?: string;
|
|
1300
|
+
ariaLabel?: string;
|
|
1301
|
+
/** Enable hover crosshair + value tooltip. Default false. */
|
|
1302
|
+
interactive?: boolean;
|
|
1303
|
+
/** Per-point category labels (aligned to `data`) shown in the tooltip. */
|
|
1304
|
+
labels?: ReactNode[];
|
|
1305
|
+
/** Format the value shown in the tooltip. Defaults to a compact number. */
|
|
1306
|
+
formatValue?: (value: number, index: number) => ReactNode;
|
|
1307
|
+
}
|
|
1308
|
+
/** Tiny inline trend line — no axes, no chrome. For table cells and stat tiles. */
|
|
1309
|
+
declare const Sparkline: FC<SparklineProps>;
|
|
1310
|
+
|
|
1115
1311
|
interface MetricTileProps {
|
|
1116
1312
|
label: ReactNode;
|
|
1117
1313
|
value: ReactNode;
|
|
1118
1314
|
/** Small unit suffix next to the value (e.g. "ms", "%"). */
|
|
1119
1315
|
unit?: ReactNode;
|
|
1120
|
-
/** Optional trend pill (e.g. "+8%"). */
|
|
1316
|
+
/** Optional trend pill or text (e.g. "+8%", "↗ 45100.00%"). */
|
|
1121
1317
|
trend?: ReactNode;
|
|
1122
1318
|
trendTone?: "up" | "down" | "neutral";
|
|
1319
|
+
/** Trend presentation variant. Default `"pill"`. */
|
|
1320
|
+
trendVariant?: "pill" | "inline";
|
|
1123
1321
|
/** Selected state — draws the bottom accent bar (for selectable rows). */
|
|
1124
1322
|
active?: boolean;
|
|
1323
|
+
/** Bottom accent bar color variant. Default `"default"`. */
|
|
1324
|
+
activeTone?: "default" | "primary" | "success" | "warn" | "danger" | "neutral";
|
|
1125
1325
|
/** Right divider between cells in a metrics row. */
|
|
1126
1326
|
showDivider?: boolean;
|
|
1127
1327
|
/** Makes the tile a button. Omit for a static tile. */
|
|
1128
1328
|
onSelect?: () => void;
|
|
1329
|
+
/** Sparkline chart data values to render inside the cell. */
|
|
1330
|
+
sparklineData?: Array<number | Record<string, unknown>>;
|
|
1331
|
+
/** Optional config options for the nested `<Sparkline />` component. */
|
|
1332
|
+
sparklineConfig?: Omit<SparklineProps, "data">;
|
|
1333
|
+
/** Custom sparkline component to render (overrides sparklineData). */
|
|
1334
|
+
sparkline?: ReactNode;
|
|
1129
1335
|
/** Override the default accessible name (use when `label` is not plain text). */
|
|
1130
1336
|
ariaLabel?: string;
|
|
1131
1337
|
className?: string;
|
|
@@ -1133,11 +1339,14 @@ interface MetricTileProps {
|
|
|
1133
1339
|
/**
|
|
1134
1340
|
* Single KPI cell — matches timbal-platform `MetricsRowCard` / `MetricCell`.
|
|
1135
1341
|
* Use inside `MetricRow` or `MetricChartCard`, or standalone.
|
|
1342
|
+
* Supports inline trend tags and gorgeous background sparklines matching the premium look.
|
|
1136
1343
|
*/
|
|
1137
1344
|
declare const MetricTile: FC<MetricTileProps>;
|
|
1138
1345
|
|
|
1139
1346
|
interface MetricCardHeaderProps {
|
|
1140
1347
|
title?: ReactNode;
|
|
1348
|
+
/** Tag or label next to the title (e.g. "Last 24 hours"). */
|
|
1349
|
+
titleTag?: ReactNode;
|
|
1141
1350
|
/** Hook for `aria-labelledby` on the parent card `<section>`. */
|
|
1142
1351
|
titleId?: string;
|
|
1143
1352
|
description?: ReactNode;
|
|
@@ -1151,6 +1360,11 @@ interface MetricRowItem {
|
|
|
1151
1360
|
unit?: MetricTileProps["unit"];
|
|
1152
1361
|
trend?: MetricTileProps["trend"];
|
|
1153
1362
|
trendTone?: MetricTileProps["trendTone"];
|
|
1363
|
+
trendVariant?: MetricTileProps["trendVariant"];
|
|
1364
|
+
activeTone?: MetricTileProps["activeTone"];
|
|
1365
|
+
sparklineData?: MetricTileProps["sparklineData"];
|
|
1366
|
+
sparklineConfig?: MetricTileProps["sparklineConfig"];
|
|
1367
|
+
sparkline?: MetricTileProps["sparkline"];
|
|
1154
1368
|
}
|
|
1155
1369
|
interface MetricRowProps extends MetricCardHeaderProps {
|
|
1156
1370
|
metrics: MetricRowItem[];
|
|
@@ -1167,6 +1381,7 @@ interface MetricRowProps extends MetricCardHeaderProps {
|
|
|
1167
1381
|
/**
|
|
1168
1382
|
* Platform-style KPI strip in one elevated card — no chart.
|
|
1169
1383
|
* Use for overview rows; pair with `MetricChartCard` when you need the plot below.
|
|
1384
|
+
* Fully supports background sparklines and rich inline trend metadata.
|
|
1170
1385
|
*/
|
|
1171
1386
|
declare const MetricRow: FC<MetricRowProps>;
|
|
1172
1387
|
|
|
@@ -1270,6 +1485,11 @@ interface MetricChartMetric {
|
|
|
1270
1485
|
unit?: ReactNode;
|
|
1271
1486
|
trend?: ReactNode;
|
|
1272
1487
|
trendTone?: MetricTileProps["trendTone"];
|
|
1488
|
+
trendVariant?: MetricTileProps["trendVariant"];
|
|
1489
|
+
activeTone?: MetricTileProps["activeTone"];
|
|
1490
|
+
sparklineData?: MetricTileProps["sparklineData"];
|
|
1491
|
+
sparklineConfig?: MetricTileProps["sparklineConfig"];
|
|
1492
|
+
sparkline?: MetricTileProps["sparkline"];
|
|
1273
1493
|
/** Time-series for this metric, shown in the chart when selected. */
|
|
1274
1494
|
data?: Array<Record<string, unknown>>;
|
|
1275
1495
|
/** Value field within `data`. Default "value". */
|
|
@@ -1279,6 +1499,7 @@ interface MetricChartMetric {
|
|
|
1279
1499
|
}
|
|
1280
1500
|
interface MetricChartCardProps {
|
|
1281
1501
|
title?: ReactNode;
|
|
1502
|
+
titleTag?: ReactNode;
|
|
1282
1503
|
description?: ReactNode;
|
|
1283
1504
|
/** Trailing header control (e.g. a "See detail" link/button). */
|
|
1284
1505
|
actions?: ReactNode;
|
|
@@ -1305,6 +1526,7 @@ interface MetricChartCardProps {
|
|
|
1305
1526
|
/**
|
|
1306
1527
|
* Analytics card: selectable KPI row over a flush area chart —
|
|
1307
1528
|
* timbal-platform `MetricsRowCard` / Studio analytics pattern.
|
|
1529
|
+
* Fully supports background sparklines and rich inline trend metadata.
|
|
1308
1530
|
*/
|
|
1309
1531
|
declare const MetricChartCard: FC<MetricChartCardProps>;
|
|
1310
1532
|
|
|
@@ -1444,22 +1666,6 @@ interface RadarChartProps {
|
|
|
1444
1666
|
*/
|
|
1445
1667
|
declare const RadarChart: FC<RadarChartProps>;
|
|
1446
1668
|
|
|
1447
|
-
interface SparklineProps {
|
|
1448
|
-
/** Numeric values, or objects from which `dataKey` is read. */
|
|
1449
|
-
data: Array<number | Record<string, unknown>>;
|
|
1450
|
-
dataKey?: string;
|
|
1451
|
-
color?: string;
|
|
1452
|
-
/** Show a soft gradient fill under the line. Default true. */
|
|
1453
|
-
area?: boolean;
|
|
1454
|
-
width?: number;
|
|
1455
|
-
height?: number;
|
|
1456
|
-
strokeWidth?: number;
|
|
1457
|
-
className?: string;
|
|
1458
|
-
ariaLabel?: string;
|
|
1459
|
-
}
|
|
1460
|
-
/** Tiny inline trend line — no axes, no chrome. For table cells and stat tiles. */
|
|
1461
|
-
declare const Sparkline: FC<SparklineProps>;
|
|
1462
|
-
|
|
1463
1669
|
interface ChartArtifactViewProps {
|
|
1464
1670
|
artifact: ChartArtifact;
|
|
1465
1671
|
/**
|
|
@@ -1478,4 +1684,4 @@ interface ChartArtifactViewProps {
|
|
|
1478
1684
|
*/
|
|
1479
1685
|
declare const ChartArtifactView: FC<ChartArtifactViewProps>;
|
|
1480
1686
|
|
|
1481
|
-
export { type EmptyStateProps as $, type AppDensity as A, type BreadcrumbEntry as B, CHART_PALETTE as C, type
|
|
1687
|
+
export { type EmptyStateProps as $, type AppDensity as A, type BreadcrumbEntry as B, CHART_PALETTE as C, type ChartMargin as D, ChartPanel as E, type ChartPanelProps as F, type ChartSeries as G, type ChartTooltipIndicator as H, type ChartVariant as I, ConnectionRow as J, ConnectionRowList as K, type ConnectionRowListProps as L, type ConnectionRowProps as M, DangerZone as N, DangerZoneAction as O, type DangerZoneActionProps as P, type DangerZoneProps as Q, DataTable as R, type StatusBadgeTone as S, type DataTableColumn as T, type DataTableProps as U, type DataTableSort as V, type DataTableSortDirection as W, type DescriptionItem as X, DescriptionList as Y, type DescriptionListProps as Z, EmptyState as _, type AppDensityClassKey as a, PieChart as a$, ExpandableSection as a0, type ExpandableSectionProps as a1, Field as a2, FieldInput as a3, type FieldInputProps as a4, type FieldProps as a5, FieldRow as a6, type FieldRowProps as a7, FieldSelect as a8, type FieldSelectProps as a9, InfoCard as aA, type InfoCardProps as aB, type InfoCardTone as aC, IntegrationCard as aD, type IntegrationCardProps as aE, type IntegrationCardStatus as aF, IntegrationsEmptyState as aG, type IntegrationsEmptyStateProps as aH, LineAreaChart as aI, type LineAreaChartProps as aJ, type LintFinding as aK, type LintOptions as aL, type LintResult as aM, type LintSeverity as aN, MetricChartCard as aO, type MetricChartCardProps as aP, type MetricChartMetric as aQ, MetricRow as aR, type MetricRowItem as aS, type MetricRowProps as aT, MetricTile as aU, type MetricTileProps as aV, type NumericOperator as aW, Page as aX, PageHeader as aY, type PageHeaderProps as aZ, type PageProps as a_, FieldSwitch as aa, type FieldSwitchProps as ab, FieldTextarea as ac, type FieldTextareaProps as ad, FilterBar as ae, type FilterBarProps as af, type FilterDatePreset as ag, type FilterDateRangeValue as ah, FilterDropdown as ai, type FilterDropdownProps as aj, FilterField as ak, type FilterFieldDef as al, type FilterFieldProps as am, type FilterFieldType as an, type FilterNumericOperatorOption as ao, type FilterNumericValue as ap, type FilterSelectOption as aq, type FilterValue as ar, type FilterValues as as, FloatingUnsavedChangesBar as at, type FloatingUnsavedChangesBarProps as au, FormSection as av, type FormSectionProps as aw, HOUSE_RULES as ax, type HouseRule as ay, INTEGRATION_CATALOG_CARD_HEIGHT_CLASS as az, APP_DENSITY_CHART_HEIGHT as b, appPageColumnClass as b$, type PieChartProps as b0, PlanBadge as b1, type PlanBadgeProps as b2, type PlanBadgeTone as b3, RESERVED_GRADIENT_TOKENS as b4, RadarChart as b5, type RadarChartProps as b6, RadialChart as b7, type RadialChartProps as b8, ResourceCard as b9, type StatusDotProps as bA, type StatusDotTone as bB, SubNav as bC, type SubNavItem as bD, type SubNavProps as bE, SurfaceCard as bF, type SurfaceCardProps as bG, type SurfaceCardTone as bH, type SurfaceCardVariant as bI, TAILWIND_PALETTE_COLORS as bJ, THEME_AGENT_INSTRUCTIONS as bK, TIMBAL_THEME_PRESETS as bL, type ThemeShadow as bM, type ThemeToCssOptions as bN, type ThemeTokenMap as bO, type TimbalThemeIntent as bP, type TimbalThemePreset as bQ, type TimbalThemePresetId as bR, TimbalThemeStyle as bS, type TimbalThemeStyleProps as bT, type TimbalThemeTokens as bU, type TimbalThemeTypography as bV, UI_REVIEW_AGENT_INSTRUCTIONS as bW, type UseLiveQueryOptions as bX, type UseLiveQueryResult as bY, appDensityClass as bZ, appFilterBarClass as b_, type ResourceCardProps as ba, type ReviewResult as bb, SEMANTIC_COLOR_TOKENS as bc, SLOP_BUDGETS as bd, SearchInput as be, type SearchInputProps as bf, Section as bg, type SectionProps as bh, type SemanticColorToken as bi, SettingsSection as bj, SettingsSectionHeader as bk, type SettingsSectionHeaderProps as bl, type SettingsSectionProps as bm, Sparkline as bn, type SparklineProps as bo, Stack as bp, type StackAlign as bq, type StackGap as br, type StackJustify as bs, type StackProps as bt, StatTile as bu, type StatTileProps as bv, type StatTileTone as bw, StatusBadge as bx, type StatusBadgeProps as by, StatusDot as bz, APP_DENSITY_CLASSES as c, appSearchInputClass as c0, appShellInsetTopClass as c1, appShellTopbarInsetClass as c2, appStatTileClass as c3, appSurfaceCardClass as c4, applyThemePreset as c5, applyTimbalTheme as c6, clearTimbalTheme as c7, connectionRowListClass as c8, createTimbalTheme as c9, ensureThemeFontLink as ca, flushBarCategoryGap as cb, flushLineAreaEdgeToEdge as cc, formatLintReport as cd, getStoredThemePreset as ce, getThemePreset as cf, lintGeneratedUi as cg, resolveChartMargin as ch, resolveTooltipCategory as ci, reviewGeneratedUi as cj, themeToCss as ck, useAppCopilotContext as cl, useAppShellChat as cm, useAppShellNav as cn, useInterval as co, useLiveQuery as cp, APP_KIT_AGENT_INSTRUCTIONS as d, AppChatPanel as e, type AppChatPanelProps as f, AppConfirmDialog as g, type AppConfirmDialogProps as h, type AppCopilotContextValue as i, AppCopilotProvider as j, type AppCopilotProviderProps as k, type AppPageWidth as l, AppShell as m, type AppShellChatControls as n, AppShellChatTrigger as o, type AppShellChatTriggerProps as p, type AppShellNavControls as q, type AppShellProps as r, AppShellSidebarTrigger as s, type AppShellSidebarTriggerProps as t, type BreadcrumbItem as u, Breadcrumbs as v, type BreadcrumbsProps as w, COLOR_UTILITY_PREFIXES as x, ChartArtifactView as y, type ChartLayout as z };
|