@timbal-ai/timbal-react 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +18 -4
- package/dist/app.cjs +3532 -1483
- package/dist/app.d.cts +75 -30
- package/dist/app.d.ts +75 -30
- package/dist/app.esm.js +29 -7
- package/dist/{chart-artifact-CMnDys2t.d.ts → chart-artifact-2OTDTRwM.d.ts} +194 -40
- package/dist/{chart-artifact-C8-Py6lc.d.cts → chart-artifact-CS3qyGIY.d.cts} +194 -40
- package/dist/chat.cjs +264 -107
- package/dist/chat.d.cts +2 -2
- package/dist/chat.d.ts +2 -2
- package/dist/chat.esm.js +4 -3
- package/dist/chunk-5ECRZ5O7.esm.js +899 -0
- package/dist/{chunk-QU7ET55D.esm.js → chunk-AZL2WANO.esm.js} +320 -177
- package/dist/{chunk-OH23AX2V.esm.js → chunk-B4XAC4G7.esm.js} +430 -780
- package/dist/chunk-EDEKQYSU.esm.js +10 -0
- package/dist/{chunk-GQBYZRD7.esm.js → chunk-IGHBLJV3.esm.js} +38 -27
- package/dist/{chunk-OFWC4MIY.esm.js → chunk-JYDJRGDE.esm.js} +5 -3
- package/dist/{chunk-VOWNCS3F.esm.js → chunk-SZDYIRMB.esm.js} +1567 -490
- package/dist/chunk-TZI3ID3C.esm.js +232 -0
- package/dist/{chunk-THBA27QY.esm.js → chunk-WMKPT5BV.esm.js} +242 -123
- package/dist/{chunk-VXMM2HX7.esm.js → chunk-ZNYAETFD.esm.js} +1 -1
- package/dist/{circular-progress-Ci8L-Hfa.d.cts → circular-progress-CDsJwIPF.d.cts} +19 -77
- package/dist/{circular-progress-Ci8L-Hfa.d.ts → circular-progress-CDsJwIPF.d.ts} +19 -77
- package/dist/index.cjs +5506 -3626
- package/dist/index.d.cts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.esm.js +45 -33
- package/dist/kanban-U5xNe9py.d.cts +212 -0
- package/dist/kanban-U5xNe9py.d.ts +212 -0
- package/dist/{layout-BTJyU8wd.d.ts → layout-B8r6Jbat.d.ts} +1 -1
- package/dist/{layout-C2G-FcER.d.cts → layout-Cu7Ijn04.d.cts} +1 -1
- package/dist/site.cjs +358 -0
- package/dist/site.d.cts +184 -0
- package/dist/site.d.ts +184 -0
- package/dist/site.esm.js +322 -0
- package/dist/studio.cjs +702 -343
- package/dist/studio.d.cts +1 -1
- package/dist/studio.d.ts +1 -1
- package/dist/studio.esm.js +7 -5
- package/dist/styles.css +56 -0
- package/dist/{timbal-v2-button-CNfdwGq4.d.cts → timbal-v2-button-B7vPs7gg.d.cts} +2 -2
- package/dist/{timbal-v2-button-CNfdwGq4.d.ts → timbal-v2-button-B7vPs7gg.d.ts} +2 -2
- package/dist/ui.cjs +1504 -659
- package/dist/ui.d.cts +11 -4
- package/dist/ui.d.ts +11 -4
- package/dist/ui.esm.js +35 -26
- package/dist/{welcome-DXqsGTwH.d.ts → welcome-DduQAC4K.d.ts} +4 -0
- package/dist/{welcome-BFGRoNfK.d.cts → welcome-NXZlcihe.d.cts} +4 -0
- 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
|
@@ -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,39 @@ interface FilterFieldProps {
|
|
|
1026
1121
|
/** Single filter control with an optional label — use inside `FilterBar`. */
|
|
1027
1122
|
declare const FilterField: FC<FilterFieldProps>;
|
|
1028
1123
|
|
|
1124
|
+
interface ContactItem {
|
|
1125
|
+
id: string;
|
|
1126
|
+
name: string;
|
|
1127
|
+
email: string;
|
|
1128
|
+
initials: string;
|
|
1129
|
+
avatarUrl?: string;
|
|
1130
|
+
}
|
|
1131
|
+
interface FilterState {
|
|
1132
|
+
contacts: string[];
|
|
1133
|
+
walletAddress: string;
|
|
1134
|
+
lastInvoiceDate: string | null;
|
|
1135
|
+
customDateRange?: {
|
|
1136
|
+
from: string;
|
|
1137
|
+
to: string;
|
|
1138
|
+
};
|
|
1139
|
+
lifetimeValue: {
|
|
1140
|
+
operator: "greater_than" | "less_than" | "equals";
|
|
1141
|
+
value: string;
|
|
1142
|
+
} | null;
|
|
1143
|
+
outstanding: {
|
|
1144
|
+
operator: "greater_than" | "less_than" | "equals";
|
|
1145
|
+
value: string;
|
|
1146
|
+
} | null;
|
|
1147
|
+
}
|
|
1148
|
+
interface FilterDropdownProps {
|
|
1149
|
+
filters?: FilterState;
|
|
1150
|
+
onFiltersChange?: (filters: FilterState) => void;
|
|
1151
|
+
initialFilters?: Partial<FilterState>;
|
|
1152
|
+
contacts?: ContactItem[];
|
|
1153
|
+
className?: string;
|
|
1154
|
+
}
|
|
1155
|
+
declare function FilterDropdown({ filters, onFiltersChange, initialFilters, contacts, className, }: FilterDropdownProps): react_jsx_runtime.JSX.Element;
|
|
1156
|
+
|
|
1029
1157
|
type DataTableSortDirection = "asc" | "desc";
|
|
1030
1158
|
interface DataTableSort {
|
|
1031
1159
|
columnId: string;
|
|
@@ -1112,20 +1240,46 @@ interface ChartPanelProps {
|
|
|
1112
1240
|
*/
|
|
1113
1241
|
declare const ChartPanel: FC<ChartPanelProps>;
|
|
1114
1242
|
|
|
1243
|
+
interface SparklineProps {
|
|
1244
|
+
/** Numeric values, or objects from which `dataKey` is read. */
|
|
1245
|
+
data: Array<number | Record<string, unknown>>;
|
|
1246
|
+
dataKey?: string;
|
|
1247
|
+
color?: string;
|
|
1248
|
+
/** Show a soft gradient fill under the line. Default true. */
|
|
1249
|
+
area?: boolean;
|
|
1250
|
+
width?: number;
|
|
1251
|
+
height?: number;
|
|
1252
|
+
strokeWidth?: number;
|
|
1253
|
+
className?: string;
|
|
1254
|
+
ariaLabel?: string;
|
|
1255
|
+
}
|
|
1256
|
+
/** Tiny inline trend line — no axes, no chrome. For table cells and stat tiles. */
|
|
1257
|
+
declare const Sparkline: FC<SparklineProps>;
|
|
1258
|
+
|
|
1115
1259
|
interface MetricTileProps {
|
|
1116
1260
|
label: ReactNode;
|
|
1117
1261
|
value: ReactNode;
|
|
1118
1262
|
/** Small unit suffix next to the value (e.g. "ms", "%"). */
|
|
1119
1263
|
unit?: ReactNode;
|
|
1120
|
-
/** Optional trend pill (e.g. "+8%"). */
|
|
1264
|
+
/** Optional trend pill or text (e.g. "+8%", "↗ 45100.00%"). */
|
|
1121
1265
|
trend?: ReactNode;
|
|
1122
1266
|
trendTone?: "up" | "down" | "neutral";
|
|
1267
|
+
/** Trend presentation variant. Default `"pill"`. */
|
|
1268
|
+
trendVariant?: "pill" | "inline";
|
|
1123
1269
|
/** Selected state — draws the bottom accent bar (for selectable rows). */
|
|
1124
1270
|
active?: boolean;
|
|
1271
|
+
/** Bottom accent bar color variant. Default `"default"`. */
|
|
1272
|
+
activeTone?: "default" | "primary" | "success" | "warn" | "danger" | "neutral";
|
|
1125
1273
|
/** Right divider between cells in a metrics row. */
|
|
1126
1274
|
showDivider?: boolean;
|
|
1127
1275
|
/** Makes the tile a button. Omit for a static tile. */
|
|
1128
1276
|
onSelect?: () => void;
|
|
1277
|
+
/** Sparkline chart data values to render inside the cell. */
|
|
1278
|
+
sparklineData?: Array<number | Record<string, unknown>>;
|
|
1279
|
+
/** Optional config options for the nested `<Sparkline />` component. */
|
|
1280
|
+
sparklineConfig?: Omit<SparklineProps, "data">;
|
|
1281
|
+
/** Custom sparkline component to render (overrides sparklineData). */
|
|
1282
|
+
sparkline?: ReactNode;
|
|
1129
1283
|
/** Override the default accessible name (use when `label` is not plain text). */
|
|
1130
1284
|
ariaLabel?: string;
|
|
1131
1285
|
className?: string;
|
|
@@ -1133,11 +1287,14 @@ interface MetricTileProps {
|
|
|
1133
1287
|
/**
|
|
1134
1288
|
* Single KPI cell — matches timbal-platform `MetricsRowCard` / `MetricCell`.
|
|
1135
1289
|
* Use inside `MetricRow` or `MetricChartCard`, or standalone.
|
|
1290
|
+
* Supports inline trend tags and gorgeous background sparklines matching the premium look.
|
|
1136
1291
|
*/
|
|
1137
1292
|
declare const MetricTile: FC<MetricTileProps>;
|
|
1138
1293
|
|
|
1139
1294
|
interface MetricCardHeaderProps {
|
|
1140
1295
|
title?: ReactNode;
|
|
1296
|
+
/** Tag or label next to the title (e.g. "Last 24 hours"). */
|
|
1297
|
+
titleTag?: ReactNode;
|
|
1141
1298
|
/** Hook for `aria-labelledby` on the parent card `<section>`. */
|
|
1142
1299
|
titleId?: string;
|
|
1143
1300
|
description?: ReactNode;
|
|
@@ -1151,6 +1308,11 @@ interface MetricRowItem {
|
|
|
1151
1308
|
unit?: MetricTileProps["unit"];
|
|
1152
1309
|
trend?: MetricTileProps["trend"];
|
|
1153
1310
|
trendTone?: MetricTileProps["trendTone"];
|
|
1311
|
+
trendVariant?: MetricTileProps["trendVariant"];
|
|
1312
|
+
activeTone?: MetricTileProps["activeTone"];
|
|
1313
|
+
sparklineData?: MetricTileProps["sparklineData"];
|
|
1314
|
+
sparklineConfig?: MetricTileProps["sparklineConfig"];
|
|
1315
|
+
sparkline?: MetricTileProps["sparkline"];
|
|
1154
1316
|
}
|
|
1155
1317
|
interface MetricRowProps extends MetricCardHeaderProps {
|
|
1156
1318
|
metrics: MetricRowItem[];
|
|
@@ -1167,6 +1329,7 @@ interface MetricRowProps extends MetricCardHeaderProps {
|
|
|
1167
1329
|
/**
|
|
1168
1330
|
* Platform-style KPI strip in one elevated card — no chart.
|
|
1169
1331
|
* Use for overview rows; pair with `MetricChartCard` when you need the plot below.
|
|
1332
|
+
* Fully supports background sparklines and rich inline trend metadata.
|
|
1170
1333
|
*/
|
|
1171
1334
|
declare const MetricRow: FC<MetricRowProps>;
|
|
1172
1335
|
|
|
@@ -1270,6 +1433,11 @@ interface MetricChartMetric {
|
|
|
1270
1433
|
unit?: ReactNode;
|
|
1271
1434
|
trend?: ReactNode;
|
|
1272
1435
|
trendTone?: MetricTileProps["trendTone"];
|
|
1436
|
+
trendVariant?: MetricTileProps["trendVariant"];
|
|
1437
|
+
activeTone?: MetricTileProps["activeTone"];
|
|
1438
|
+
sparklineData?: MetricTileProps["sparklineData"];
|
|
1439
|
+
sparklineConfig?: MetricTileProps["sparklineConfig"];
|
|
1440
|
+
sparkline?: MetricTileProps["sparkline"];
|
|
1273
1441
|
/** Time-series for this metric, shown in the chart when selected. */
|
|
1274
1442
|
data?: Array<Record<string, unknown>>;
|
|
1275
1443
|
/** Value field within `data`. Default "value". */
|
|
@@ -1279,6 +1447,7 @@ interface MetricChartMetric {
|
|
|
1279
1447
|
}
|
|
1280
1448
|
interface MetricChartCardProps {
|
|
1281
1449
|
title?: ReactNode;
|
|
1450
|
+
titleTag?: ReactNode;
|
|
1282
1451
|
description?: ReactNode;
|
|
1283
1452
|
/** Trailing header control (e.g. a "See detail" link/button). */
|
|
1284
1453
|
actions?: ReactNode;
|
|
@@ -1305,6 +1474,7 @@ interface MetricChartCardProps {
|
|
|
1305
1474
|
/**
|
|
1306
1475
|
* Analytics card: selectable KPI row over a flush area chart —
|
|
1307
1476
|
* timbal-platform `MetricsRowCard` / Studio analytics pattern.
|
|
1477
|
+
* Fully supports background sparklines and rich inline trend metadata.
|
|
1308
1478
|
*/
|
|
1309
1479
|
declare const MetricChartCard: FC<MetricChartCardProps>;
|
|
1310
1480
|
|
|
@@ -1444,22 +1614,6 @@ interface RadarChartProps {
|
|
|
1444
1614
|
*/
|
|
1445
1615
|
declare const RadarChart: FC<RadarChartProps>;
|
|
1446
1616
|
|
|
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
1617
|
interface ChartArtifactViewProps {
|
|
1464
1618
|
artifact: ChartArtifact;
|
|
1465
1619
|
/**
|
|
@@ -1478,4 +1632,4 @@ interface ChartArtifactViewProps {
|
|
|
1478
1632
|
*/
|
|
1479
1633
|
declare const ChartArtifactView: FC<ChartArtifactViewProps>;
|
|
1480
1634
|
|
|
1481
|
-
export {
|
|
1635
|
+
export { EmptyState 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, type ContactItem as N, DangerZone as O, DangerZoneAction as P, type DangerZoneActionProps as Q, type DangerZoneProps as R, type StatusBadgeTone as S, DataTable as T, type DataTableColumn as U, type DataTableProps as V, type DataTableSort as W, type DataTableSortDirection as X, type DescriptionItem as Y, DescriptionList as Z, type DescriptionListProps as _, type AppDensityClassKey as a, RadialChart as a$, type EmptyStateProps as a0, ExpandableSection as a1, type ExpandableSectionProps as a2, Field as a3, FieldInput as a4, type FieldInputProps as a5, type FieldProps as a6, FieldRow as a7, type FieldRowProps as a8, FieldSelect as a9, type IntegrationsEmptyStateProps as aA, LineAreaChart as aB, type LineAreaChartProps as aC, type LintFinding as aD, type LintOptions as aE, type LintResult as aF, type LintSeverity as aG, MetricChartCard as aH, type MetricChartCardProps as aI, type MetricChartMetric as aJ, MetricRow as aK, type MetricRowItem as aL, type MetricRowProps as aM, MetricTile as aN, type MetricTileProps as aO, Page as aP, PageHeader as aQ, type PageHeaderProps as aR, type PageProps as aS, PieChart as aT, type PieChartProps as aU, PlanBadge as aV, type PlanBadgeProps as aW, type PlanBadgeTone as aX, RESERVED_GRADIENT_TOKENS as aY, RadarChart as aZ, type RadarChartProps as a_, type FieldSelectProps as aa, FieldSwitch as ab, type FieldSwitchProps as ac, FieldTextarea as ad, type FieldTextareaProps as ae, FilterBar as af, type FilterBarProps as ag, FilterDropdown as ah, type FilterDropdownProps as ai, FilterField as aj, type FilterFieldProps as ak, type FilterState as al, FloatingUnsavedChangesBar as am, type FloatingUnsavedChangesBarProps as an, FormSection as ao, type FormSectionProps as ap, HOUSE_RULES as aq, type HouseRule as ar, INTEGRATION_CATALOG_CARD_HEIGHT_CLASS as as, InfoCard as at, type InfoCardProps as au, type InfoCardTone as av, IntegrationCard as aw, type IntegrationCardProps as ax, type IntegrationCardStatus as ay, IntegrationsEmptyState as az, APP_DENSITY_CHART_HEIGHT as b, clearTimbalTheme as b$, type RadialChartProps as b0, ResourceCard as b1, type ResourceCardProps as b2, type ReviewResult as b3, SEMANTIC_COLOR_TOKENS as b4, SLOP_BUDGETS as b5, SearchInput as b6, type SearchInputProps as b7, Section as b8, type SectionProps as b9, type SurfaceCardVariant as bA, TAILWIND_PALETTE_COLORS as bB, THEME_AGENT_INSTRUCTIONS as bC, TIMBAL_THEME_PRESETS as bD, type ThemeShadow as bE, type ThemeToCssOptions as bF, type ThemeTokenMap as bG, type TimbalThemeIntent as bH, type TimbalThemePreset as bI, type TimbalThemePresetId as bJ, TimbalThemeStyle as bK, type TimbalThemeStyleProps as bL, type TimbalThemeTokens as bM, type TimbalThemeTypography as bN, UI_REVIEW_AGENT_INSTRUCTIONS as bO, type UseLiveQueryOptions as bP, type UseLiveQueryResult as bQ, appDensityClass as bR, appFilterBarClass as bS, appPageColumnClass as bT, appSearchInputClass as bU, appShellInsetTopClass as bV, appShellTopbarInsetClass as bW, appStatTileClass as bX, appSurfaceCardClass as bY, applyThemePreset as bZ, applyTimbalTheme as b_, type SemanticColorToken as ba, SettingsSection as bb, SettingsSectionHeader as bc, type SettingsSectionHeaderProps as bd, type SettingsSectionProps as be, Sparkline as bf, type SparklineProps as bg, Stack as bh, type StackAlign as bi, type StackGap as bj, type StackJustify as bk, type StackProps as bl, StatTile as bm, type StatTileProps as bn, type StatTileTone as bo, StatusBadge as bp, type StatusBadgeProps as bq, StatusDot as br, type StatusDotProps as bs, type StatusDotTone as bt, SubNav as bu, type SubNavItem as bv, type SubNavProps as bw, SurfaceCard as bx, type SurfaceCardProps as by, type SurfaceCardTone as bz, APP_DENSITY_CLASSES as c, connectionRowListClass as c0, createTimbalTheme as c1, ensureThemeFontLink as c2, flushBarCategoryGap as c3, flushLineAreaEdgeToEdge as c4, formatLintReport as c5, getStoredThemePreset as c6, getThemePreset as c7, lintGeneratedUi as c8, resolveChartMargin as c9, resolveTooltipCategory as ca, reviewGeneratedUi as cb, themeToCss as cc, useAppCopilotContext as cd, useAppShellChat as ce, useAppShellNav as cf, useInterval as cg, useLiveQuery as ch, 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 };
|