@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.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +18 -4
  3. package/dist/app.cjs +3532 -1483
  4. package/dist/app.d.cts +75 -30
  5. package/dist/app.d.ts +75 -30
  6. package/dist/app.esm.js +29 -7
  7. package/dist/{chart-artifact-CMnDys2t.d.ts → chart-artifact-2OTDTRwM.d.ts} +194 -40
  8. package/dist/{chart-artifact-C8-Py6lc.d.cts → chart-artifact-CS3qyGIY.d.cts} +194 -40
  9. package/dist/chat.cjs +264 -107
  10. package/dist/chat.d.cts +2 -2
  11. package/dist/chat.d.ts +2 -2
  12. package/dist/chat.esm.js +4 -3
  13. package/dist/chunk-5ECRZ5O7.esm.js +899 -0
  14. package/dist/{chunk-QU7ET55D.esm.js → chunk-AZL2WANO.esm.js} +320 -177
  15. package/dist/{chunk-OH23AX2V.esm.js → chunk-B4XAC4G7.esm.js} +430 -780
  16. package/dist/chunk-EDEKQYSU.esm.js +10 -0
  17. package/dist/{chunk-GQBYZRD7.esm.js → chunk-IGHBLJV3.esm.js} +38 -27
  18. package/dist/{chunk-OFWC4MIY.esm.js → chunk-JYDJRGDE.esm.js} +5 -3
  19. package/dist/{chunk-VOWNCS3F.esm.js → chunk-SZDYIRMB.esm.js} +1567 -490
  20. package/dist/chunk-TZI3ID3C.esm.js +232 -0
  21. package/dist/{chunk-THBA27QY.esm.js → chunk-WMKPT5BV.esm.js} +242 -123
  22. package/dist/{chunk-VXMM2HX7.esm.js → chunk-ZNYAETFD.esm.js} +1 -1
  23. package/dist/{circular-progress-Ci8L-Hfa.d.cts → circular-progress-CDsJwIPF.d.cts} +19 -77
  24. package/dist/{circular-progress-Ci8L-Hfa.d.ts → circular-progress-CDsJwIPF.d.ts} +19 -77
  25. package/dist/index.cjs +5506 -3626
  26. package/dist/index.d.cts +7 -6
  27. package/dist/index.d.ts +7 -6
  28. package/dist/index.esm.js +45 -33
  29. package/dist/kanban-U5xNe9py.d.cts +212 -0
  30. package/dist/kanban-U5xNe9py.d.ts +212 -0
  31. package/dist/{layout-BTJyU8wd.d.ts → layout-B8r6Jbat.d.ts} +1 -1
  32. package/dist/{layout-C2G-FcER.d.cts → layout-Cu7Ijn04.d.cts} +1 -1
  33. package/dist/site.cjs +358 -0
  34. package/dist/site.d.cts +184 -0
  35. package/dist/site.d.ts +184 -0
  36. package/dist/site.esm.js +322 -0
  37. package/dist/studio.cjs +702 -343
  38. package/dist/studio.d.cts +1 -1
  39. package/dist/studio.d.ts +1 -1
  40. package/dist/studio.esm.js +7 -5
  41. package/dist/styles.css +56 -0
  42. package/dist/{timbal-v2-button-CNfdwGq4.d.cts → timbal-v2-button-B7vPs7gg.d.cts} +2 -2
  43. package/dist/{timbal-v2-button-CNfdwGq4.d.ts → timbal-v2-button-B7vPs7gg.d.ts} +2 -2
  44. package/dist/ui.cjs +1504 -659
  45. package/dist/ui.d.cts +11 -4
  46. package/dist/ui.d.ts +11 -4
  47. package/dist/ui.esm.js +35 -26
  48. package/dist/{welcome-DXqsGTwH.d.ts → welcome-DduQAC4K.d.ts} +4 -0
  49. package/dist/{welcome-BFGRoNfK.d.cts → welcome-NXZlcihe.d.cts} +4 -0
  50. package/package.json +9 -1
  51. package/dist/button-BoyX5pM_.d.cts +0 -18
  52. package/dist/button-BoyX5pM_.d.ts +0 -18
  53. package/dist/chunk-UCGVL7ZY.esm.js +0 -52
package/dist/app.d.cts CHANGED
@@ -1,11 +1,13 @@
1
- import { A as AppDensity, a as AppDensityClassKey } from './chart-artifact-C8-Py6lc.cjs';
2
- export { b as APP_DENSITY_CHART_HEIGHT, c as APP_DENSITY_CLASSES, d as APP_KIT_AGENT_INSTRUCTIONS, e as AppChatPanel, f as AppChatPanelProps, g as AppConfirmDialog, h as AppConfirmDialogProps, i as AppCopilotContextValue, j as AppCopilotProvider, k as AppCopilotProviderProps, l as AppShell, m as AppShellChatControls, n as AppShellChatTrigger, o as AppShellChatTriggerProps, p as AppShellNavControls, q as AppShellProps, r as AppShellSidebarTrigger, s as AppShellSidebarTriggerProps, t as AppShellTopbar, u as AppShellTopbarProps, B as BreadcrumbEntry, v as BreadcrumbItem, w as Breadcrumbs, x as BreadcrumbsProps, C as CHART_PALETTE, y as COLOR_UTILITY_PREFIXES, z as ChartArtifactView, D as ChartLayout, E as ChartMargin, F as ChartPanel, G as ChartPanelProps, H as ChartSeries, I as ChartTooltipIndicator, J as ChartVariant, K as ConnectionRow, L as ConnectionRowList, M as ConnectionRowListProps, N as ConnectionRowProps, O as DangerZone, P as DangerZoneAction, Q as DangerZoneActionProps, R as DangerZoneProps, S as DataTable, T as DataTableColumn, U as DataTableProps, V as DataTableSort, W as DataTableSortDirection, X as DescriptionItem, Y as DescriptionList, Z as DescriptionListProps, _ as EmptyState, $ as EmptyStateProps, a0 as ExpandableSection, a1 as ExpandableSectionProps, a2 as Field, a3 as FieldInput, a4 as FieldInputProps, a5 as FieldProps, a6 as FieldRow, a7 as FieldRowProps, a8 as FieldSelect, a9 as FieldSelectProps, aa as FieldSwitch, ab as FieldSwitchProps, ac as FieldTextarea, ad as FieldTextareaProps, ae as FilterBar, af as FilterBarProps, ag as FilterField, ah as FilterFieldProps, ai as FloatingUnsavedChangesBar, aj as FloatingUnsavedChangesBarProps, ak as FormSection, al as FormSectionProps, am as HOUSE_RULES, an as HouseRule, ao as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, ap as InfoCard, aq as InfoCardProps, ar as InfoCardTone, as as IntegrationCard, at as IntegrationCardProps, au as IntegrationCardStatus, av as IntegrationsEmptyState, aw as IntegrationsEmptyStateProps, ax as LineAreaChart, ay as LineAreaChartProps, az as LintFinding, aA as LintOptions, aB as LintResult, aC as LintSeverity, aD as MetricChartCard, aE as MetricChartCardProps, aF as MetricChartMetric, aG as MetricRow, aH as MetricRowItem, aI as MetricRowProps, aJ as MetricTile, aK as MetricTileProps, aL as Page, aM as PageHeader, aN as PageHeaderProps, aO as PageProps, aP as PieChart, aQ as PieChartProps, aR as PlanBadge, aS as PlanBadgeProps, aT as PlanBadgeTone, aU as RESERVED_GRADIENT_TOKENS, aV as RadarChart, aW as RadarChartProps, aX as RadialChart, aY as RadialChartProps, aZ as ResourceCard, a_ as ResourceCardProps, a$ as ReviewResult, b0 as SEMANTIC_COLOR_TOKENS, b1 as SLOP_BUDGETS, b2 as SearchInput, b3 as SearchInputProps, b4 as Section, b5 as SectionProps, b6 as SemanticColorToken, b7 as SettingsSection, b8 as SettingsSectionHeader, b9 as SettingsSectionHeaderProps, ba as SettingsSectionProps, bb as Sparkline, bc as SparklineProps, bd as StatTile, be as StatTileProps, bf as StatusBadge, bg as StatusBadgeProps, bh as StatusBadgeTone, bi as StatusDot, bj as StatusDotProps, bk as StatusDotTone, bl as SubNav, bm as SubNavItem, bn as SubNavProps, bo as SurfaceCard, bp as SurfaceCardProps, bq as TAILWIND_PALETTE_COLORS, br as THEME_AGENT_INSTRUCTIONS, bs as TIMBAL_THEME_PRESETS, bt as ThemeShadow, bu as ThemeToCssOptions, bv as ThemeTokenMap, bw as TimbalThemeIntent, bx as TimbalThemePreset, by as TimbalThemePresetId, bz as TimbalThemeStyle, bA as TimbalThemeStyleProps, bB as TimbalThemeTokens, bC as TimbalThemeTypography, bD as UI_REVIEW_AGENT_INSTRUCTIONS, bE as UseLiveQueryOptions, bF as UseLiveQueryResult, bG as appDensityClass, bH as applyThemePreset, bI as applyTimbalTheme, bJ as clearTimbalTheme, bK as connectionRowListClass, bL as createTimbalTheme, bM as ensureThemeFontLink, bN as flushBarCategoryGap, bO as flushLineAreaEdgeToEdge, bP as formatLintReport, bQ as getStoredThemePreset, bR as getThemePreset, bS as lintGeneratedUi, bT as resolveChartMargin, bU as resolveTooltipCategory, bV as reviewGeneratedUi, bW as themeToCss, bX as useAppCopilotContext, bY as useAppShellChat, bZ as useAppShellNav, b_ as useInterval, b$ as useLiveQuery } from './chart-artifact-C8-Py6lc.cjs';
1
+ import { A as AppDensity, a as AppDensityClassKey, S as StatusBadgeTone } from './chart-artifact-CS3qyGIY.cjs';
2
+ export { b as APP_DENSITY_CHART_HEIGHT, c as APP_DENSITY_CLASSES, d as APP_KIT_AGENT_INSTRUCTIONS, e as AppChatPanel, f as AppChatPanelProps, g as AppConfirmDialog, h as AppConfirmDialogProps, i as AppCopilotContextValue, j as AppCopilotProvider, k as AppCopilotProviderProps, l as AppPageWidth, m as AppShell, n as AppShellChatControls, o as AppShellChatTrigger, p as AppShellChatTriggerProps, q as AppShellNavControls, r as AppShellProps, s as AppShellSidebarTrigger, t as AppShellSidebarTriggerProps, B as BreadcrumbEntry, u as BreadcrumbItem, v as Breadcrumbs, w as BreadcrumbsProps, C as CHART_PALETTE, x as COLOR_UTILITY_PREFIXES, y as ChartArtifactView, z as ChartLayout, D as ChartMargin, E as ChartPanel, F as ChartPanelProps, G as ChartSeries, H as ChartTooltipIndicator, I as ChartVariant, J as ConnectionRow, K as ConnectionRowList, L as ConnectionRowListProps, M as ConnectionRowProps, N as ContactItem, O as DangerZone, P as DangerZoneAction, Q as DangerZoneActionProps, R as DangerZoneProps, T as DataTable, U as DataTableColumn, V as DataTableProps, W as DataTableSort, X as DataTableSortDirection, Y as DescriptionItem, Z as DescriptionList, _ as DescriptionListProps, $ as EmptyState, a0 as EmptyStateProps, a1 as ExpandableSection, a2 as ExpandableSectionProps, a3 as Field, a4 as FieldInput, a5 as FieldInputProps, a6 as FieldProps, a7 as FieldRow, a8 as FieldRowProps, a9 as FieldSelect, aa as FieldSelectProps, ab as FieldSwitch, ac as FieldSwitchProps, ad as FieldTextarea, ae as FieldTextareaProps, af as FilterBar, ag as FilterBarProps, ah as FilterDropdown, ai as FilterDropdownProps, aj as FilterField, ak as FilterFieldProps, al as FilterState, am as FloatingUnsavedChangesBar, an as FloatingUnsavedChangesBarProps, ao as FormSection, ap as FormSectionProps, aq as HOUSE_RULES, ar as HouseRule, as as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, at as InfoCard, au as InfoCardProps, av as InfoCardTone, aw as IntegrationCard, ax as IntegrationCardProps, ay as IntegrationCardStatus, az as IntegrationsEmptyState, aA as IntegrationsEmptyStateProps, aB as LineAreaChart, aC as LineAreaChartProps, aD as LintFinding, aE as LintOptions, aF as LintResult, aG as LintSeverity, aH as MetricChartCard, aI as MetricChartCardProps, aJ as MetricChartMetric, aK as MetricRow, aL as MetricRowItem, aM as MetricRowProps, aN as MetricTile, aO as MetricTileProps, aP as Page, aQ as PageHeader, aR as PageHeaderProps, aS as PageProps, aT as PieChart, aU as PieChartProps, aV as PlanBadge, aW as PlanBadgeProps, aX as PlanBadgeTone, aY as RESERVED_GRADIENT_TOKENS, aZ as RadarChart, a_ as RadarChartProps, a$ as RadialChart, b0 as RadialChartProps, b1 as ResourceCard, b2 as ResourceCardProps, b3 as ReviewResult, b4 as SEMANTIC_COLOR_TOKENS, b5 as SLOP_BUDGETS, b6 as SearchInput, b7 as SearchInputProps, b8 as Section, b9 as SectionProps, ba as SemanticColorToken, bb as SettingsSection, bc as SettingsSectionHeader, bd as SettingsSectionHeaderProps, be as SettingsSectionProps, bf as Sparkline, bg as SparklineProps, bh as Stack, bi as StackAlign, bj as StackGap, bk as StackJustify, bl as StackProps, bm as StatTile, bn as StatTileProps, bo as StatTileTone, bp as StatusBadge, bq as StatusBadgeProps, br as StatusDot, bs as StatusDotProps, bt as StatusDotTone, bu as SubNav, bv as SubNavItem, bw as SubNavProps, bx as SurfaceCard, by as SurfaceCardProps, bz as SurfaceCardTone, bA as SurfaceCardVariant, bB as TAILWIND_PALETTE_COLORS, bC as THEME_AGENT_INSTRUCTIONS, bD as TIMBAL_THEME_PRESETS, bE as ThemeShadow, bF as ThemeToCssOptions, bG as ThemeTokenMap, bH as TimbalThemeIntent, bI as TimbalThemePreset, bJ as TimbalThemePresetId, bK as TimbalThemeStyle, bL as TimbalThemeStyleProps, bM as TimbalThemeTokens, bN as TimbalThemeTypography, bO as UI_REVIEW_AGENT_INSTRUCTIONS, bP as UseLiveQueryOptions, bQ as UseLiveQueryResult, bR as appDensityClass, bS as appFilterBarClass, bT as appPageColumnClass, bU as appSearchInputClass, bV as appShellInsetTopClass, bW as appShellTopbarInsetClass, bX as appStatTileClass, bY as appSurfaceCardClass, bZ as applyThemePreset, b_ as applyTimbalTheme, b$ as clearTimbalTheme, c0 as connectionRowListClass, c1 as createTimbalTheme, c2 as ensureThemeFontLink, c3 as flushBarCategoryGap, c4 as flushLineAreaEdgeToEdge, c5 as formatLintReport, c6 as getStoredThemePreset, c7 as getThemePreset, c8 as lintGeneratedUi, c9 as resolveChartMargin, ca as resolveTooltipCategory, cb as reviewGeneratedUi, cc as themeToCss, cd as useAppCopilotContext, ce as useAppShellChat, cf as useAppShellNav, cg as useInterval, ch as useLiveQuery } from './chart-artifact-CS3qyGIY.cjs';
3
3
  import { FC, ReactNode } from 'react';
4
- export { B as Button } from './button-BoyX5pM_.cjs';
4
+ export { A as Avatar, a as AvatarFallback, b as AvatarImage, c as AvatarVariant, B as Banner, d as BannerProps, e as Button, f as ButtonColor, K as Kanban, g as KanbanCardData, h as KanbanCardVariant, i as KanbanColumnData, j as KanbanDensity, k as KanbanDragHandleProps, l as KanbanLocation, m as KanbanMoveEvent, n as KanbanProps, o as KanbanRenderCardContext, p as KanbanTone, T as Timeline, q as TimelineItem, r as TimelineProps, U as UntitledButton, s as UntitledButtonColor, t as UntitledButtonProps, u as UntitledButtonSize } from './kanban-U5xNe9py.cjs';
5
5
  export { C as ChartArtifact, a as ChartSeriesConfig, T as ThreadVariant, b as TimbalChat, c as TimbalChatProps } from './chat-ClmzWzCX.cjs';
6
6
  import 'react/jsx-runtime';
7
7
  import 'class-variance-authority/types';
8
8
  import 'class-variance-authority';
9
+ import 'radix-ui';
10
+ import '@dnd-kit/core';
9
11
  import '@assistant-ui/react';
10
12
 
11
13
  interface AppDensityProviderProps {
@@ -19,35 +21,78 @@ declare function useAppDensity(): AppDensity;
19
21
  /** Resolved layout class for the active density (or an explicit override). */
20
22
  declare function useAppDensityClass(key: AppDensityClassKey, override?: AppDensity): string;
21
23
 
24
+ interface AlertCardProps {
25
+ /** The primary title/heading of the alert. */
26
+ title: ReactNode;
27
+ /** Detailed description or content of the alert. */
28
+ description?: ReactNode;
29
+ /** Optional category badge/tag label. */
30
+ category?: ReactNode;
31
+ /** Tone for the category badge. Default `"default"`. */
32
+ categoryTone?: StatusBadgeTone;
33
+ /** Optional status badge/tag label. */
34
+ status?: ReactNode;
35
+ /** Tone for the status badge. Default `"default"`. */
36
+ statusTone?: StatusBadgeTone;
37
+ /** Optional guided action description. If provided, renders with a bold "Action:" prefix at the bottom. */
38
+ action?: ReactNode;
39
+ /** Custom trailing element on the right. If omitted and `onClick` is provided, a chevron-right is rendered. */
40
+ trailing?: ReactNode;
41
+ /** Whole-card click handler. When provided, the card is rendered as an interactive button. */
42
+ onClick?: () => void;
43
+ /** Accessible name for the card button when interactive. */
44
+ ariaLabel?: string;
45
+ className?: string;
46
+ }
22
47
  /**
23
- * Class composites for the `app` kit (dashboards, settings, data views).
24
- * Colours via semantic tokens in styles.css — no hardcoded palette literals.
25
- */
26
- /**
27
- * App page column centered within the shell content area (right of the
28
- * sidebar inset). Wide cap so dashboards use the available width instead of
29
- * leaving large side gutters; the cap only kicks in on ultra-wide displays.
30
- */
31
- declare const appPageColumnClass = "mx-auto w-full max-w-[100rem] px-4 md:px-6 lg:px-8";
32
- /**
33
- * Topbar horizontal inset — full content width (no `max-w-6xl`), same side
34
- * padding as the page column so controls sit closer to the viewport edges.
48
+ * Standardized Alert / Action card component.
49
+ *
50
+ * Admits category and status tags, clear titles, descriptive bodies, and automated action
51
+ * footers, keeping generated UIs beautiful and highly guided.
52
+ * Fully interactive with safe, neutral-colored hover transitions.
35
53
  */
36
- declare const appShellTopbarInsetClass = "w-full px-4 md:px-6";
37
- /** Top breathing room for `AppShell` — matches timbal-platform list pages (`pt-4 md:pt-6`). */
38
- declare const appShellInsetTopClass = "pt-4 md:pt-6";
39
- /** Card surface same elevated integration look as in-thread artifacts. */
40
- declare const appSurfaceCardClass: string;
41
- /** Metric / stat tile. */
42
- declare const appStatTileClass: string;
54
+ declare const AlertCard: FC<AlertCardProps>;
55
+
56
+ interface CatalogCardProps {
57
+ /** The primary title of the catalog item. */
58
+ title: ReactNode;
59
+ /** Sub-title, author, or publisher (e.g., "google"). */
60
+ subtitle?: ReactNode;
61
+ /** Logo or icon node, rendered in the top-left next to the title. */
62
+ logo?: ReactNode;
63
+ /** External URL for the title link. If provided, renders an external link icon next to the title. */
64
+ href?: string;
65
+ /** Header category tag or status badge (e.g., `<StatusBadge>Text Generation</StatusBadge>`). */
66
+ badge?: ReactNode;
67
+ /** Main description or body content. */
68
+ description?: ReactNode;
69
+ /** Horizontal list of metadata tags, badges, or text strings right above the footer. */
70
+ tags?: ReactNode[];
71
+ /** Optional custom links rendered on the bottom-left of the footer. */
72
+ footerLinks?: Array<{
73
+ label: ReactNode;
74
+ href: string;
75
+ }>;
76
+ /** Value to copy when clicking the copy button in the bottom-right footer. */
77
+ copyValue?: string;
78
+ /** Label for the copy button. Default `"Copy ID"`. */
79
+ copyLabel?: ReactNode;
80
+ /** Custom footer actions, rendered at the bottom-right of the footer (replaces copy button if provided). */
81
+ actions?: ReactNode;
82
+ /** Whole-card click handler. When provided, the card renders as a focusable button with neutral hover highlight. */
83
+ onClick?: () => void;
84
+ /** Accessible name for the card button. */
85
+ ariaLabel?: string;
86
+ className?: string;
87
+ }
43
88
  /**
44
- * Filter bar chrome horizontal controls row.
45
- * Bottom-aligns children so an unlabeled `SearchInput` lines up with the
46
- * control in a labeled `Field` + `Select` (labels extend upward).
89
+ * Standardized high-fidelity Catalog / Model Card component.
90
+ *
91
+ * Designed to represent sophisticated marketplace and routing catalog cards (models, datasets, tools).
92
+ * Features structured headers with logos, links, sub-headers, multiline descriptions, metadata row,
93
+ * and a separated footer with link lists and automatic copy actions.
94
+ * Interactive cards have safe, neutral-colored hover animations.
47
95
  */
48
- declare const appFilterBarClass = "flex flex-wrap items-end gap-2";
49
- /** Search inputs in filter bars — shared control skin (field shape), so a
50
- * search field and a dropdown placed side by side match exactly. */
51
- declare const appSearchInputClass: string;
96
+ declare const CatalogCard: FC<CatalogCardProps>;
52
97
 
53
- export { AppDensity, AppDensityClassKey, AppDensityProvider, type AppDensityProviderProps, appFilterBarClass, appPageColumnClass, appSearchInputClass, appShellInsetTopClass, appShellTopbarInsetClass, appStatTileClass, appSurfaceCardClass, useAppDensity, useAppDensityClass };
98
+ export { AlertCard, type AlertCardProps, AppDensity, AppDensityClassKey, AppDensityProvider, type AppDensityProviderProps, CatalogCard, type CatalogCardProps, StatusBadgeTone, useAppDensity, useAppDensityClass };
package/dist/app.d.ts CHANGED
@@ -1,11 +1,13 @@
1
- import { A as AppDensity, a as AppDensityClassKey } from './chart-artifact-CMnDys2t.js';
2
- export { b as APP_DENSITY_CHART_HEIGHT, c as APP_DENSITY_CLASSES, d as APP_KIT_AGENT_INSTRUCTIONS, e as AppChatPanel, f as AppChatPanelProps, g as AppConfirmDialog, h as AppConfirmDialogProps, i as AppCopilotContextValue, j as AppCopilotProvider, k as AppCopilotProviderProps, l as AppShell, m as AppShellChatControls, n as AppShellChatTrigger, o as AppShellChatTriggerProps, p as AppShellNavControls, q as AppShellProps, r as AppShellSidebarTrigger, s as AppShellSidebarTriggerProps, t as AppShellTopbar, u as AppShellTopbarProps, B as BreadcrumbEntry, v as BreadcrumbItem, w as Breadcrumbs, x as BreadcrumbsProps, C as CHART_PALETTE, y as COLOR_UTILITY_PREFIXES, z as ChartArtifactView, D as ChartLayout, E as ChartMargin, F as ChartPanel, G as ChartPanelProps, H as ChartSeries, I as ChartTooltipIndicator, J as ChartVariant, K as ConnectionRow, L as ConnectionRowList, M as ConnectionRowListProps, N as ConnectionRowProps, O as DangerZone, P as DangerZoneAction, Q as DangerZoneActionProps, R as DangerZoneProps, S as DataTable, T as DataTableColumn, U as DataTableProps, V as DataTableSort, W as DataTableSortDirection, X as DescriptionItem, Y as DescriptionList, Z as DescriptionListProps, _ as EmptyState, $ as EmptyStateProps, a0 as ExpandableSection, a1 as ExpandableSectionProps, a2 as Field, a3 as FieldInput, a4 as FieldInputProps, a5 as FieldProps, a6 as FieldRow, a7 as FieldRowProps, a8 as FieldSelect, a9 as FieldSelectProps, aa as FieldSwitch, ab as FieldSwitchProps, ac as FieldTextarea, ad as FieldTextareaProps, ae as FilterBar, af as FilterBarProps, ag as FilterField, ah as FilterFieldProps, ai as FloatingUnsavedChangesBar, aj as FloatingUnsavedChangesBarProps, ak as FormSection, al as FormSectionProps, am as HOUSE_RULES, an as HouseRule, ao as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, ap as InfoCard, aq as InfoCardProps, ar as InfoCardTone, as as IntegrationCard, at as IntegrationCardProps, au as IntegrationCardStatus, av as IntegrationsEmptyState, aw as IntegrationsEmptyStateProps, ax as LineAreaChart, ay as LineAreaChartProps, az as LintFinding, aA as LintOptions, aB as LintResult, aC as LintSeverity, aD as MetricChartCard, aE as MetricChartCardProps, aF as MetricChartMetric, aG as MetricRow, aH as MetricRowItem, aI as MetricRowProps, aJ as MetricTile, aK as MetricTileProps, aL as Page, aM as PageHeader, aN as PageHeaderProps, aO as PageProps, aP as PieChart, aQ as PieChartProps, aR as PlanBadge, aS as PlanBadgeProps, aT as PlanBadgeTone, aU as RESERVED_GRADIENT_TOKENS, aV as RadarChart, aW as RadarChartProps, aX as RadialChart, aY as RadialChartProps, aZ as ResourceCard, a_ as ResourceCardProps, a$ as ReviewResult, b0 as SEMANTIC_COLOR_TOKENS, b1 as SLOP_BUDGETS, b2 as SearchInput, b3 as SearchInputProps, b4 as Section, b5 as SectionProps, b6 as SemanticColorToken, b7 as SettingsSection, b8 as SettingsSectionHeader, b9 as SettingsSectionHeaderProps, ba as SettingsSectionProps, bb as Sparkline, bc as SparklineProps, bd as StatTile, be as StatTileProps, bf as StatusBadge, bg as StatusBadgeProps, bh as StatusBadgeTone, bi as StatusDot, bj as StatusDotProps, bk as StatusDotTone, bl as SubNav, bm as SubNavItem, bn as SubNavProps, bo as SurfaceCard, bp as SurfaceCardProps, bq as TAILWIND_PALETTE_COLORS, br as THEME_AGENT_INSTRUCTIONS, bs as TIMBAL_THEME_PRESETS, bt as ThemeShadow, bu as ThemeToCssOptions, bv as ThemeTokenMap, bw as TimbalThemeIntent, bx as TimbalThemePreset, by as TimbalThemePresetId, bz as TimbalThemeStyle, bA as TimbalThemeStyleProps, bB as TimbalThemeTokens, bC as TimbalThemeTypography, bD as UI_REVIEW_AGENT_INSTRUCTIONS, bE as UseLiveQueryOptions, bF as UseLiveQueryResult, bG as appDensityClass, bH as applyThemePreset, bI as applyTimbalTheme, bJ as clearTimbalTheme, bK as connectionRowListClass, bL as createTimbalTheme, bM as ensureThemeFontLink, bN as flushBarCategoryGap, bO as flushLineAreaEdgeToEdge, bP as formatLintReport, bQ as getStoredThemePreset, bR as getThemePreset, bS as lintGeneratedUi, bT as resolveChartMargin, bU as resolveTooltipCategory, bV as reviewGeneratedUi, bW as themeToCss, bX as useAppCopilotContext, bY as useAppShellChat, bZ as useAppShellNav, b_ as useInterval, b$ as useLiveQuery } from './chart-artifact-CMnDys2t.js';
1
+ import { A as AppDensity, a as AppDensityClassKey, S as StatusBadgeTone } from './chart-artifact-2OTDTRwM.js';
2
+ export { b as APP_DENSITY_CHART_HEIGHT, c as APP_DENSITY_CLASSES, d as APP_KIT_AGENT_INSTRUCTIONS, e as AppChatPanel, f as AppChatPanelProps, g as AppConfirmDialog, h as AppConfirmDialogProps, i as AppCopilotContextValue, j as AppCopilotProvider, k as AppCopilotProviderProps, l as AppPageWidth, m as AppShell, n as AppShellChatControls, o as AppShellChatTrigger, p as AppShellChatTriggerProps, q as AppShellNavControls, r as AppShellProps, s as AppShellSidebarTrigger, t as AppShellSidebarTriggerProps, B as BreadcrumbEntry, u as BreadcrumbItem, v as Breadcrumbs, w as BreadcrumbsProps, C as CHART_PALETTE, x as COLOR_UTILITY_PREFIXES, y as ChartArtifactView, z as ChartLayout, D as ChartMargin, E as ChartPanel, F as ChartPanelProps, G as ChartSeries, H as ChartTooltipIndicator, I as ChartVariant, J as ConnectionRow, K as ConnectionRowList, L as ConnectionRowListProps, M as ConnectionRowProps, N as ContactItem, O as DangerZone, P as DangerZoneAction, Q as DangerZoneActionProps, R as DangerZoneProps, T as DataTable, U as DataTableColumn, V as DataTableProps, W as DataTableSort, X as DataTableSortDirection, Y as DescriptionItem, Z as DescriptionList, _ as DescriptionListProps, $ as EmptyState, a0 as EmptyStateProps, a1 as ExpandableSection, a2 as ExpandableSectionProps, a3 as Field, a4 as FieldInput, a5 as FieldInputProps, a6 as FieldProps, a7 as FieldRow, a8 as FieldRowProps, a9 as FieldSelect, aa as FieldSelectProps, ab as FieldSwitch, ac as FieldSwitchProps, ad as FieldTextarea, ae as FieldTextareaProps, af as FilterBar, ag as FilterBarProps, ah as FilterDropdown, ai as FilterDropdownProps, aj as FilterField, ak as FilterFieldProps, al as FilterState, am as FloatingUnsavedChangesBar, an as FloatingUnsavedChangesBarProps, ao as FormSection, ap as FormSectionProps, aq as HOUSE_RULES, ar as HouseRule, as as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, at as InfoCard, au as InfoCardProps, av as InfoCardTone, aw as IntegrationCard, ax as IntegrationCardProps, ay as IntegrationCardStatus, az as IntegrationsEmptyState, aA as IntegrationsEmptyStateProps, aB as LineAreaChart, aC as LineAreaChartProps, aD as LintFinding, aE as LintOptions, aF as LintResult, aG as LintSeverity, aH as MetricChartCard, aI as MetricChartCardProps, aJ as MetricChartMetric, aK as MetricRow, aL as MetricRowItem, aM as MetricRowProps, aN as MetricTile, aO as MetricTileProps, aP as Page, aQ as PageHeader, aR as PageHeaderProps, aS as PageProps, aT as PieChart, aU as PieChartProps, aV as PlanBadge, aW as PlanBadgeProps, aX as PlanBadgeTone, aY as RESERVED_GRADIENT_TOKENS, aZ as RadarChart, a_ as RadarChartProps, a$ as RadialChart, b0 as RadialChartProps, b1 as ResourceCard, b2 as ResourceCardProps, b3 as ReviewResult, b4 as SEMANTIC_COLOR_TOKENS, b5 as SLOP_BUDGETS, b6 as SearchInput, b7 as SearchInputProps, b8 as Section, b9 as SectionProps, ba as SemanticColorToken, bb as SettingsSection, bc as SettingsSectionHeader, bd as SettingsSectionHeaderProps, be as SettingsSectionProps, bf as Sparkline, bg as SparklineProps, bh as Stack, bi as StackAlign, bj as StackGap, bk as StackJustify, bl as StackProps, bm as StatTile, bn as StatTileProps, bo as StatTileTone, bp as StatusBadge, bq as StatusBadgeProps, br as StatusDot, bs as StatusDotProps, bt as StatusDotTone, bu as SubNav, bv as SubNavItem, bw as SubNavProps, bx as SurfaceCard, by as SurfaceCardProps, bz as SurfaceCardTone, bA as SurfaceCardVariant, bB as TAILWIND_PALETTE_COLORS, bC as THEME_AGENT_INSTRUCTIONS, bD as TIMBAL_THEME_PRESETS, bE as ThemeShadow, bF as ThemeToCssOptions, bG as ThemeTokenMap, bH as TimbalThemeIntent, bI as TimbalThemePreset, bJ as TimbalThemePresetId, bK as TimbalThemeStyle, bL as TimbalThemeStyleProps, bM as TimbalThemeTokens, bN as TimbalThemeTypography, bO as UI_REVIEW_AGENT_INSTRUCTIONS, bP as UseLiveQueryOptions, bQ as UseLiveQueryResult, bR as appDensityClass, bS as appFilterBarClass, bT as appPageColumnClass, bU as appSearchInputClass, bV as appShellInsetTopClass, bW as appShellTopbarInsetClass, bX as appStatTileClass, bY as appSurfaceCardClass, bZ as applyThemePreset, b_ as applyTimbalTheme, b$ as clearTimbalTheme, c0 as connectionRowListClass, c1 as createTimbalTheme, c2 as ensureThemeFontLink, c3 as flushBarCategoryGap, c4 as flushLineAreaEdgeToEdge, c5 as formatLintReport, c6 as getStoredThemePreset, c7 as getThemePreset, c8 as lintGeneratedUi, c9 as resolveChartMargin, ca as resolveTooltipCategory, cb as reviewGeneratedUi, cc as themeToCss, cd as useAppCopilotContext, ce as useAppShellChat, cf as useAppShellNav, cg as useInterval, ch as useLiveQuery } from './chart-artifact-2OTDTRwM.js';
3
3
  import { FC, ReactNode } from 'react';
4
- export { B as Button } from './button-BoyX5pM_.js';
4
+ export { A as Avatar, a as AvatarFallback, b as AvatarImage, c as AvatarVariant, B as Banner, d as BannerProps, e as Button, f as ButtonColor, K as Kanban, g as KanbanCardData, h as KanbanCardVariant, i as KanbanColumnData, j as KanbanDensity, k as KanbanDragHandleProps, l as KanbanLocation, m as KanbanMoveEvent, n as KanbanProps, o as KanbanRenderCardContext, p as KanbanTone, T as Timeline, q as TimelineItem, r as TimelineProps, U as UntitledButton, s as UntitledButtonColor, t as UntitledButtonProps, u as UntitledButtonSize } from './kanban-U5xNe9py.js';
5
5
  export { C as ChartArtifact, a as ChartSeriesConfig, T as ThreadVariant, b as TimbalChat, c as TimbalChatProps } from './chat-ClmzWzCX.js';
6
6
  import 'react/jsx-runtime';
7
7
  import 'class-variance-authority/types';
8
8
  import 'class-variance-authority';
9
+ import 'radix-ui';
10
+ import '@dnd-kit/core';
9
11
  import '@assistant-ui/react';
10
12
 
11
13
  interface AppDensityProviderProps {
@@ -19,35 +21,78 @@ declare function useAppDensity(): AppDensity;
19
21
  /** Resolved layout class for the active density (or an explicit override). */
20
22
  declare function useAppDensityClass(key: AppDensityClassKey, override?: AppDensity): string;
21
23
 
24
+ interface AlertCardProps {
25
+ /** The primary title/heading of the alert. */
26
+ title: ReactNode;
27
+ /** Detailed description or content of the alert. */
28
+ description?: ReactNode;
29
+ /** Optional category badge/tag label. */
30
+ category?: ReactNode;
31
+ /** Tone for the category badge. Default `"default"`. */
32
+ categoryTone?: StatusBadgeTone;
33
+ /** Optional status badge/tag label. */
34
+ status?: ReactNode;
35
+ /** Tone for the status badge. Default `"default"`. */
36
+ statusTone?: StatusBadgeTone;
37
+ /** Optional guided action description. If provided, renders with a bold "Action:" prefix at the bottom. */
38
+ action?: ReactNode;
39
+ /** Custom trailing element on the right. If omitted and `onClick` is provided, a chevron-right is rendered. */
40
+ trailing?: ReactNode;
41
+ /** Whole-card click handler. When provided, the card is rendered as an interactive button. */
42
+ onClick?: () => void;
43
+ /** Accessible name for the card button when interactive. */
44
+ ariaLabel?: string;
45
+ className?: string;
46
+ }
22
47
  /**
23
- * Class composites for the `app` kit (dashboards, settings, data views).
24
- * Colours via semantic tokens in styles.css — no hardcoded palette literals.
25
- */
26
- /**
27
- * App page column centered within the shell content area (right of the
28
- * sidebar inset). Wide cap so dashboards use the available width instead of
29
- * leaving large side gutters; the cap only kicks in on ultra-wide displays.
30
- */
31
- declare const appPageColumnClass = "mx-auto w-full max-w-[100rem] px-4 md:px-6 lg:px-8";
32
- /**
33
- * Topbar horizontal inset — full content width (no `max-w-6xl`), same side
34
- * padding as the page column so controls sit closer to the viewport edges.
48
+ * Standardized Alert / Action card component.
49
+ *
50
+ * Admits category and status tags, clear titles, descriptive bodies, and automated action
51
+ * footers, keeping generated UIs beautiful and highly guided.
52
+ * Fully interactive with safe, neutral-colored hover transitions.
35
53
  */
36
- declare const appShellTopbarInsetClass = "w-full px-4 md:px-6";
37
- /** Top breathing room for `AppShell` — matches timbal-platform list pages (`pt-4 md:pt-6`). */
38
- declare const appShellInsetTopClass = "pt-4 md:pt-6";
39
- /** Card surface same elevated integration look as in-thread artifacts. */
40
- declare const appSurfaceCardClass: string;
41
- /** Metric / stat tile. */
42
- declare const appStatTileClass: string;
54
+ declare const AlertCard: FC<AlertCardProps>;
55
+
56
+ interface CatalogCardProps {
57
+ /** The primary title of the catalog item. */
58
+ title: ReactNode;
59
+ /** Sub-title, author, or publisher (e.g., "google"). */
60
+ subtitle?: ReactNode;
61
+ /** Logo or icon node, rendered in the top-left next to the title. */
62
+ logo?: ReactNode;
63
+ /** External URL for the title link. If provided, renders an external link icon next to the title. */
64
+ href?: string;
65
+ /** Header category tag or status badge (e.g., `<StatusBadge>Text Generation</StatusBadge>`). */
66
+ badge?: ReactNode;
67
+ /** Main description or body content. */
68
+ description?: ReactNode;
69
+ /** Horizontal list of metadata tags, badges, or text strings right above the footer. */
70
+ tags?: ReactNode[];
71
+ /** Optional custom links rendered on the bottom-left of the footer. */
72
+ footerLinks?: Array<{
73
+ label: ReactNode;
74
+ href: string;
75
+ }>;
76
+ /** Value to copy when clicking the copy button in the bottom-right footer. */
77
+ copyValue?: string;
78
+ /** Label for the copy button. Default `"Copy ID"`. */
79
+ copyLabel?: ReactNode;
80
+ /** Custom footer actions, rendered at the bottom-right of the footer (replaces copy button if provided). */
81
+ actions?: ReactNode;
82
+ /** Whole-card click handler. When provided, the card renders as a focusable button with neutral hover highlight. */
83
+ onClick?: () => void;
84
+ /** Accessible name for the card button. */
85
+ ariaLabel?: string;
86
+ className?: string;
87
+ }
43
88
  /**
44
- * Filter bar chrome horizontal controls row.
45
- * Bottom-aligns children so an unlabeled `SearchInput` lines up with the
46
- * control in a labeled `Field` + `Select` (labels extend upward).
89
+ * Standardized high-fidelity Catalog / Model Card component.
90
+ *
91
+ * Designed to represent sophisticated marketplace and routing catalog cards (models, datasets, tools).
92
+ * Features structured headers with logos, links, sub-headers, multiline descriptions, metadata row,
93
+ * and a separated footer with link lists and automatic copy actions.
94
+ * Interactive cards have safe, neutral-colored hover animations.
47
95
  */
48
- declare const appFilterBarClass = "flex flex-wrap items-end gap-2";
49
- /** Search inputs in filter bars — shared control skin (field shape), so a
50
- * search field and a dropdown placed side by side match exactly. */
51
- declare const appSearchInputClass: string;
96
+ declare const CatalogCard: FC<CatalogCardProps>;
52
97
 
53
- export { AppDensity, AppDensityClassKey, AppDensityProvider, type AppDensityProviderProps, appFilterBarClass, appPageColumnClass, appSearchInputClass, appShellInsetTopClass, appShellTopbarInsetClass, appStatTileClass, appSurfaceCardClass, useAppDensity, useAppDensityClass };
98
+ export { AlertCard, type AlertCardProps, AppDensity, AppDensityClassKey, AppDensityProvider, type AppDensityProviderProps, CatalogCard, type CatalogCardProps, StatusBadgeTone, useAppDensity, useAppDensityClass };
package/dist/app.esm.js CHANGED
@@ -2,6 +2,7 @@ import {
2
2
  APP_DENSITY_CHART_HEIGHT,
3
3
  APP_DENSITY_CLASSES,
4
4
  APP_KIT_AGENT_INSTRUCTIONS,
5
+ AlertCard,
5
6
  AppChatPanel,
6
7
  AppConfirmDialog,
7
8
  AppCopilotProvider,
@@ -9,9 +10,9 @@ import {
9
10
  AppShell,
10
11
  AppShellChatTrigger,
11
12
  AppShellSidebarTrigger,
12
- AppShellTopbar,
13
13
  Breadcrumbs,
14
14
  COLOR_UTILITY_PREFIXES,
15
+ CatalogCard,
15
16
  ChartPanel,
16
17
  ConnectionRow,
17
18
  ConnectionRowList,
@@ -28,6 +29,7 @@ import {
28
29
  FieldSwitch,
29
30
  FieldTextarea,
30
31
  FilterBar,
32
+ FilterDropdown,
31
33
  FilterField,
32
34
  FloatingUnsavedChangesBar,
33
35
  FormSection,
@@ -51,6 +53,7 @@ import {
51
53
  SettingsSection,
52
54
  SettingsSectionHeader,
53
55
  Sparkline,
56
+ Stack,
54
57
  StatTile,
55
58
  StatusBadge,
56
59
  StatusDot,
@@ -88,7 +91,7 @@ import {
88
91
  useAppShellNav,
89
92
  useInterval,
90
93
  useLiveQuery
91
- } from "./chunk-VOWNCS3F.esm.js";
94
+ } from "./chunk-SZDYIRMB.esm.js";
92
95
  import "./chunk-QIABF4KB.esm.js";
93
96
  import {
94
97
  CHART_PALETTE,
@@ -102,16 +105,26 @@ import {
102
105
  flushLineAreaEdgeToEdge,
103
106
  resolveChartMargin,
104
107
  resolveTooltipCategory
105
- } from "./chunk-GQBYZRD7.esm.js";
106
- import "./chunk-UCGVL7ZY.esm.js";
107
- import "./chunk-VXMM2HX7.esm.js";
108
+ } from "./chunk-IGHBLJV3.esm.js";
108
109
  import {
110
+ Banner,
111
+ Kanban,
112
+ Timeline,
113
+ UntitledButton
114
+ } from "./chunk-5ECRZ5O7.esm.js";
115
+ import "./chunk-ZNYAETFD.esm.js";
116
+ import {
117
+ Avatar,
118
+ AvatarFallback,
119
+ AvatarImage,
109
120
  Button
110
- } from "./chunk-QU7ET55D.esm.js";
121
+ } from "./chunk-AZL2WANO.esm.js";
122
+ import "./chunk-EDEKQYSU.esm.js";
111
123
  export {
112
124
  APP_DENSITY_CHART_HEIGHT,
113
125
  APP_DENSITY_CLASSES,
114
126
  APP_KIT_AGENT_INSTRUCTIONS,
127
+ AlertCard,
115
128
  AppChatPanel,
116
129
  AppConfirmDialog,
117
130
  AppCopilotProvider,
@@ -119,11 +132,15 @@ export {
119
132
  AppShell,
120
133
  AppShellChatTrigger,
121
134
  AppShellSidebarTrigger,
122
- AppShellTopbar,
135
+ Avatar,
136
+ AvatarFallback,
137
+ AvatarImage,
138
+ Banner,
123
139
  Breadcrumbs,
124
140
  Button,
125
141
  CHART_PALETTE,
126
142
  COLOR_UTILITY_PREFIXES,
143
+ CatalogCard,
127
144
  ChartArtifactView,
128
145
  ChartPanel,
129
146
  ConnectionRow,
@@ -141,6 +158,7 @@ export {
141
158
  FieldSwitch,
142
159
  FieldTextarea,
143
160
  FilterBar,
161
+ FilterDropdown,
144
162
  FilterField,
145
163
  FloatingUnsavedChangesBar,
146
164
  FormSection,
@@ -149,6 +167,7 @@ export {
149
167
  InfoCard,
150
168
  IntegrationCard,
151
169
  IntegrationsEmptyState,
170
+ Kanban,
152
171
  LineAreaChart,
153
172
  MetricChartCard,
154
173
  MetricRow,
@@ -168,6 +187,7 @@ export {
168
187
  SettingsSection,
169
188
  SettingsSectionHeader,
170
189
  Sparkline,
190
+ Stack,
171
191
  StatTile,
172
192
  StatusBadge,
173
193
  StatusDot,
@@ -178,7 +198,9 @@ export {
178
198
  TIMBAL_THEME_PRESETS,
179
199
  TimbalChat,
180
200
  TimbalThemeStyle,
201
+ Timeline,
181
202
  UI_REVIEW_AGENT_INSTRUCTIONS,
203
+ UntitledButton,
182
204
  appDensityClass,
183
205
  appFilterBarClass,
184
206
  appPageColumnClass,