@timbal-ai/timbal-react 0.8.2 → 1.0.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/dist/app.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as APP_KIT_AGENT_INSTRUCTIONS, a as AppChatPanel, b as AppChatPanelProps, c as AppConfirmDialog, d as AppConfirmDialogProps, e as AppCopilotContextValue, f as AppCopilotProvider, g as AppCopilotProviderProps, h as AppShell, i as AppShellChatControls, j as AppShellChatTrigger, k as AppShellChatTriggerProps, l as AppShellProps, m as AppShellTopbar, n as AppShellTopbarProps, B as BreadcrumbItem, o as Breadcrumbs, p as BreadcrumbsProps, C as CHART_PALETTE, q as ChartArtifactView, r as ChartLayout, s as ChartPanel, t as ChartPanelProps, u as ChartSeries, v as ChartVariant, w as ConnectionRow, x as ConnectionRowList, y as ConnectionRowListProps, z as ConnectionRowProps, D as DangerZone, E as DangerZoneAction, F as DangerZoneActionProps, G as DangerZoneProps, H as DataTable, I as DataTableColumn, J as DataTableProps, K as DataTableSort, L as DataTableSortDirection, M as DescriptionItem, N as DescriptionList, O as DescriptionListProps, P as EmptyState, Q as EmptyStateProps, R as ExpandableSection, S as ExpandableSectionProps, T as Field, U as FieldInput, V as FieldInputProps, W as FieldProps, X as FieldRow, Y as FieldRowProps, Z as FieldSelect, _ as FieldSelectProps, $ as FieldSwitch, a0 as FieldSwitchProps, a1 as FieldTextarea, a2 as FieldTextareaProps, a3 as FilterBar, a4 as FilterBarProps, a5 as FloatingUnsavedChangesBar, a6 as FloatingUnsavedChangesBarProps, a7 as FormSection, a8 as FormSectionProps, a9 as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, aa as InfoCard, ab as InfoCardProps, ac as InfoCardTone, ad as IntegrationCard, ae as IntegrationCardProps, af as IntegrationCardStatus, ag as IntegrationsEmptyState, ah as IntegrationsEmptyStateProps, ai as LineAreaChart, aj as LineAreaChartProps, ak as MetricChartCard, al as MetricChartCardProps, am as MetricChartMetric, an as MetricRow, ao as MetricRowItem, ap as MetricRowProps, aq as MetricTile, ar as MetricTileProps, as as Page, at as PageHeader, au as PageHeaderProps, av as PageProps, aw as PlanBadge, ax as PlanBadgeProps, ay as PlanBadgeTone, az as ResourceCard, aA as ResourceCardProps, aB as SearchInput, aC as SearchInputProps, aD as Section, aE as SectionProps, aF as SettingsSection, aG as SettingsSectionHeader, aH as SettingsSectionHeaderProps, aI as SettingsSectionProps, aJ as Sparkline, aK as SparklineProps, aL as StatTile, aM as StatTileProps, aN as StatusBadge, aO as StatusBadgeProps, aP as StatusBadgeTone, aQ as StatusDot, aR as StatusDotProps, aS as StatusDotTone, aT as SubNav, aU as SubNavItem, aV as SubNavProps, aW as SurfaceCard, aX as SurfaceCardProps, aY as THEME_AGENT_INSTRUCTIONS, aZ as TIMBAL_THEME_PRESETS, a_ as ThemePresetGallery, a$ as ThemePresetGalleryProps, b0 as ThemeShadow, b1 as ThemeToCssOptions, b2 as ThemeTokenMap, b3 as TimbalThemeIntent, b4 as TimbalThemePreset, b5 as TimbalThemePresetId, b6 as TimbalThemeStyle, b7 as TimbalThemeStyleProps, b8 as TimbalThemeTokens, b9 as TimbalThemeTypography, ba as applyThemePreset, bb as applyTimbalTheme, bc as clearTimbalTheme, bd as connectionRowListClass, be as createTimbalTheme, bf as ensureThemeFontLink, bg as getStoredThemePreset, bh as getThemePreset, bi as themeToCss, bj as useAppCopilotContext, bk as useAppShellChat } from './chart-artifact-BzcvblDe.cjs';
2
- export { B as Button } from './button-ClSgD6OF.cjs';
1
+ export { A as APP_KIT_AGENT_INSTRUCTIONS, a as AppChatPanel, b as AppChatPanelProps, c as AppConfirmDialog, d as AppConfirmDialogProps, e as AppCopilotContextValue, f as AppCopilotProvider, g as AppCopilotProviderProps, h as AppShell, i as AppShellChatControls, j as AppShellChatTrigger, k as AppShellChatTriggerProps, l as AppShellProps, m as AppShellTopbar, n as AppShellTopbarProps, B as BreadcrumbEntry, o as BreadcrumbItem, p as Breadcrumbs, q as BreadcrumbsProps, C as CHART_PALETTE, r as COLOR_UTILITY_PREFIXES, s as ChartArtifactView, t as ChartLayout, u as ChartPanel, v as ChartPanelProps, w as ChartSeries, x as ChartVariant, y as ConnectionRow, z as ConnectionRowList, D as ConnectionRowListProps, E as ConnectionRowProps, F as DangerZone, G as DangerZoneAction, H as DangerZoneActionProps, I as DangerZoneProps, J as DataTable, K as DataTableColumn, L as DataTableProps, M as DataTableSort, N as DataTableSortDirection, O as DescriptionItem, P as DescriptionList, Q as DescriptionListProps, R as EmptyState, S as EmptyStateProps, T as ExpandableSection, U as ExpandableSectionProps, V as Field, W as FieldInput, X as FieldInputProps, Y as FieldProps, Z as FieldRow, _ as FieldRowProps, $ as FieldSelect, a0 as FieldSelectProps, a1 as FieldSwitch, a2 as FieldSwitchProps, a3 as FieldTextarea, a4 as FieldTextareaProps, a5 as FilterBar, a6 as FilterBarProps, a7 as FloatingUnsavedChangesBar, a8 as FloatingUnsavedChangesBarProps, a9 as FormSection, aa as FormSectionProps, ab as HOUSE_RULES, ac as HouseRule, ad as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, ae as InfoCard, af as InfoCardProps, ag as InfoCardTone, ah as IntegrationCard, ai as IntegrationCardProps, aj as IntegrationCardStatus, ak as IntegrationsEmptyState, al as IntegrationsEmptyStateProps, am as LineAreaChart, an as LineAreaChartProps, ao as LintFinding, ap as LintOptions, aq as LintResult, ar as LintSeverity, as as MetricChartCard, at as MetricChartCardProps, au as MetricChartMetric, av as MetricRow, aw as MetricRowItem, ax as MetricRowProps, ay as MetricTile, az as MetricTileProps, aA as Page, aB as PageHeader, aC as PageHeaderProps, aD as PageProps, aE as PlanBadge, aF as PlanBadgeProps, aG as PlanBadgeTone, aH as RESERVED_GRADIENT_TOKENS, aI as ResourceCard, aJ as ResourceCardProps, aK as ReviewResult, aL as SEMANTIC_COLOR_TOKENS, aM as SLOP_BUDGETS, aN as SearchInput, aO as SearchInputProps, aP as Section, aQ as SectionProps, aR as SemanticColorToken, aS as SettingsSection, aT as SettingsSectionHeader, aU as SettingsSectionHeaderProps, aV as SettingsSectionProps, aW as Sparkline, aX as SparklineProps, aY as StatTile, aZ as StatTileProps, a_ as StatusBadge, a$ as StatusBadgeProps, b0 as StatusBadgeTone, b1 as StatusDot, b2 as StatusDotProps, b3 as StatusDotTone, b4 as SubNav, b5 as SubNavItem, b6 as SubNavProps, b7 as SurfaceCard, b8 as SurfaceCardProps, b9 as TAILWIND_PALETTE_COLORS, ba as THEME_AGENT_INSTRUCTIONS, bb as TIMBAL_THEME_PRESETS, bc as ThemePresetGallery, bd as ThemePresetGalleryProps, 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 applyThemePreset, bq as applyTimbalTheme, br as clearTimbalTheme, bs as connectionRowListClass, bt as createTimbalTheme, bu as ensureThemeFontLink, bv as formatLintReport, bw as getStoredThemePreset, bx as getThemePreset, by as lintGeneratedUi, bz as reviewGeneratedUi, bA as themeToCss, bB as useAppCopilotContext, bC as useAppShellChat } from './chart-artifact-DOkwSTjQ.cjs';
2
+ export { B as Button } from './button-BoyX5pM_.cjs';
3
3
  export { C as ChartArtifact, T as ThreadVariant, a as TimbalChat, b as TimbalChatProps } from './chat-Bed4FQSl.cjs';
4
4
  import 'react';
5
5
  import 'react/jsx-runtime';
@@ -26,7 +26,8 @@ declare const appSurfaceCardClass: string;
26
26
  declare const appStatTileClass: string;
27
27
  /** Filter bar chrome — horizontal controls row. */
28
28
  declare const appFilterBarClass: string;
29
- /** Search inputs in filter bars — always full pill rounding. */
29
+ /** Search inputs in filter bars — shared control skin (field shape), so a
30
+ * search field and a dropdown placed side by side match exactly. */
30
31
  declare const appSearchInputClass: string;
31
32
 
32
33
  export { appFilterBarClass, appPageColumnClass, appSearchInputClass, appShellInsetTopClass, appShellTopbarInsetClass, appStatTileClass, appSurfaceCardClass };
package/dist/app.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as APP_KIT_AGENT_INSTRUCTIONS, a as AppChatPanel, b as AppChatPanelProps, c as AppConfirmDialog, d as AppConfirmDialogProps, e as AppCopilotContextValue, f as AppCopilotProvider, g as AppCopilotProviderProps, h as AppShell, i as AppShellChatControls, j as AppShellChatTrigger, k as AppShellChatTriggerProps, l as AppShellProps, m as AppShellTopbar, n as AppShellTopbarProps, B as BreadcrumbItem, o as Breadcrumbs, p as BreadcrumbsProps, C as CHART_PALETTE, q as ChartArtifactView, r as ChartLayout, s as ChartPanel, t as ChartPanelProps, u as ChartSeries, v as ChartVariant, w as ConnectionRow, x as ConnectionRowList, y as ConnectionRowListProps, z as ConnectionRowProps, D as DangerZone, E as DangerZoneAction, F as DangerZoneActionProps, G as DangerZoneProps, H as DataTable, I as DataTableColumn, J as DataTableProps, K as DataTableSort, L as DataTableSortDirection, M as DescriptionItem, N as DescriptionList, O as DescriptionListProps, P as EmptyState, Q as EmptyStateProps, R as ExpandableSection, S as ExpandableSectionProps, T as Field, U as FieldInput, V as FieldInputProps, W as FieldProps, X as FieldRow, Y as FieldRowProps, Z as FieldSelect, _ as FieldSelectProps, $ as FieldSwitch, a0 as FieldSwitchProps, a1 as FieldTextarea, a2 as FieldTextareaProps, a3 as FilterBar, a4 as FilterBarProps, a5 as FloatingUnsavedChangesBar, a6 as FloatingUnsavedChangesBarProps, a7 as FormSection, a8 as FormSectionProps, a9 as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, aa as InfoCard, ab as InfoCardProps, ac as InfoCardTone, ad as IntegrationCard, ae as IntegrationCardProps, af as IntegrationCardStatus, ag as IntegrationsEmptyState, ah as IntegrationsEmptyStateProps, ai as LineAreaChart, aj as LineAreaChartProps, ak as MetricChartCard, al as MetricChartCardProps, am as MetricChartMetric, an as MetricRow, ao as MetricRowItem, ap as MetricRowProps, aq as MetricTile, ar as MetricTileProps, as as Page, at as PageHeader, au as PageHeaderProps, av as PageProps, aw as PlanBadge, ax as PlanBadgeProps, ay as PlanBadgeTone, az as ResourceCard, aA as ResourceCardProps, aB as SearchInput, aC as SearchInputProps, aD as Section, aE as SectionProps, aF as SettingsSection, aG as SettingsSectionHeader, aH as SettingsSectionHeaderProps, aI as SettingsSectionProps, aJ as Sparkline, aK as SparklineProps, aL as StatTile, aM as StatTileProps, aN as StatusBadge, aO as StatusBadgeProps, aP as StatusBadgeTone, aQ as StatusDot, aR as StatusDotProps, aS as StatusDotTone, aT as SubNav, aU as SubNavItem, aV as SubNavProps, aW as SurfaceCard, aX as SurfaceCardProps, aY as THEME_AGENT_INSTRUCTIONS, aZ as TIMBAL_THEME_PRESETS, a_ as ThemePresetGallery, a$ as ThemePresetGalleryProps, b0 as ThemeShadow, b1 as ThemeToCssOptions, b2 as ThemeTokenMap, b3 as TimbalThemeIntent, b4 as TimbalThemePreset, b5 as TimbalThemePresetId, b6 as TimbalThemeStyle, b7 as TimbalThemeStyleProps, b8 as TimbalThemeTokens, b9 as TimbalThemeTypography, ba as applyThemePreset, bb as applyTimbalTheme, bc as clearTimbalTheme, bd as connectionRowListClass, be as createTimbalTheme, bf as ensureThemeFontLink, bg as getStoredThemePreset, bh as getThemePreset, bi as themeToCss, bj as useAppCopilotContext, bk as useAppShellChat } from './chart-artifact-Bl67kre7.js';
2
- export { B as Button } from './button-ClSgD6OF.js';
1
+ export { A as APP_KIT_AGENT_INSTRUCTIONS, a as AppChatPanel, b as AppChatPanelProps, c as AppConfirmDialog, d as AppConfirmDialogProps, e as AppCopilotContextValue, f as AppCopilotProvider, g as AppCopilotProviderProps, h as AppShell, i as AppShellChatControls, j as AppShellChatTrigger, k as AppShellChatTriggerProps, l as AppShellProps, m as AppShellTopbar, n as AppShellTopbarProps, B as BreadcrumbEntry, o as BreadcrumbItem, p as Breadcrumbs, q as BreadcrumbsProps, C as CHART_PALETTE, r as COLOR_UTILITY_PREFIXES, s as ChartArtifactView, t as ChartLayout, u as ChartPanel, v as ChartPanelProps, w as ChartSeries, x as ChartVariant, y as ConnectionRow, z as ConnectionRowList, D as ConnectionRowListProps, E as ConnectionRowProps, F as DangerZone, G as DangerZoneAction, H as DangerZoneActionProps, I as DangerZoneProps, J as DataTable, K as DataTableColumn, L as DataTableProps, M as DataTableSort, N as DataTableSortDirection, O as DescriptionItem, P as DescriptionList, Q as DescriptionListProps, R as EmptyState, S as EmptyStateProps, T as ExpandableSection, U as ExpandableSectionProps, V as Field, W as FieldInput, X as FieldInputProps, Y as FieldProps, Z as FieldRow, _ as FieldRowProps, $ as FieldSelect, a0 as FieldSelectProps, a1 as FieldSwitch, a2 as FieldSwitchProps, a3 as FieldTextarea, a4 as FieldTextareaProps, a5 as FilterBar, a6 as FilterBarProps, a7 as FloatingUnsavedChangesBar, a8 as FloatingUnsavedChangesBarProps, a9 as FormSection, aa as FormSectionProps, ab as HOUSE_RULES, ac as HouseRule, ad as INTEGRATION_CATALOG_CARD_HEIGHT_CLASS, ae as InfoCard, af as InfoCardProps, ag as InfoCardTone, ah as IntegrationCard, ai as IntegrationCardProps, aj as IntegrationCardStatus, ak as IntegrationsEmptyState, al as IntegrationsEmptyStateProps, am as LineAreaChart, an as LineAreaChartProps, ao as LintFinding, ap as LintOptions, aq as LintResult, ar as LintSeverity, as as MetricChartCard, at as MetricChartCardProps, au as MetricChartMetric, av as MetricRow, aw as MetricRowItem, ax as MetricRowProps, ay as MetricTile, az as MetricTileProps, aA as Page, aB as PageHeader, aC as PageHeaderProps, aD as PageProps, aE as PlanBadge, aF as PlanBadgeProps, aG as PlanBadgeTone, aH as RESERVED_GRADIENT_TOKENS, aI as ResourceCard, aJ as ResourceCardProps, aK as ReviewResult, aL as SEMANTIC_COLOR_TOKENS, aM as SLOP_BUDGETS, aN as SearchInput, aO as SearchInputProps, aP as Section, aQ as SectionProps, aR as SemanticColorToken, aS as SettingsSection, aT as SettingsSectionHeader, aU as SettingsSectionHeaderProps, aV as SettingsSectionProps, aW as Sparkline, aX as SparklineProps, aY as StatTile, aZ as StatTileProps, a_ as StatusBadge, a$ as StatusBadgeProps, b0 as StatusBadgeTone, b1 as StatusDot, b2 as StatusDotProps, b3 as StatusDotTone, b4 as SubNav, b5 as SubNavItem, b6 as SubNavProps, b7 as SurfaceCard, b8 as SurfaceCardProps, b9 as TAILWIND_PALETTE_COLORS, ba as THEME_AGENT_INSTRUCTIONS, bb as TIMBAL_THEME_PRESETS, bc as ThemePresetGallery, bd as ThemePresetGalleryProps, 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 applyThemePreset, bq as applyTimbalTheme, br as clearTimbalTheme, bs as connectionRowListClass, bt as createTimbalTheme, bu as ensureThemeFontLink, bv as formatLintReport, bw as getStoredThemePreset, bx as getThemePreset, by as lintGeneratedUi, bz as reviewGeneratedUi, bA as themeToCss, bB as useAppCopilotContext, bC as useAppShellChat } from './chart-artifact-CBo9x8Ch.js';
2
+ export { B as Button } from './button-BoyX5pM_.js';
3
3
  export { C as ChartArtifact, T as ThreadVariant, a as TimbalChat, b as TimbalChatProps } from './chat-Bed4FQSl.js';
4
4
  import 'react';
5
5
  import 'react/jsx-runtime';
@@ -26,7 +26,8 @@ declare const appSurfaceCardClass: string;
26
26
  declare const appStatTileClass: string;
27
27
  /** Filter bar chrome — horizontal controls row. */
28
28
  declare const appFilterBarClass: string;
29
- /** Search inputs in filter bars — always full pill rounding. */
29
+ /** Search inputs in filter bars — shared control skin (field shape), so a
30
+ * search field and a dropdown placed side by side match exactly. */
30
31
  declare const appSearchInputClass: string;
31
32
 
32
33
  export { appFilterBarClass, appPageColumnClass, appSearchInputClass, appShellInsetTopClass, appShellTopbarInsetClass, appStatTileClass, appSurfaceCardClass };
package/dist/app.esm.js CHANGED
@@ -7,6 +7,7 @@ import {
7
7
  AppShellChatTrigger,
8
8
  AppShellTopbar,
9
9
  Breadcrumbs,
10
+ COLOR_UTILITY_PREFIXES,
10
11
  ChartPanel,
11
12
  ConnectionRow,
12
13
  ConnectionRowList,
@@ -25,6 +26,7 @@ import {
25
26
  FilterBar,
26
27
  FloatingUnsavedChangesBar,
27
28
  FormSection,
29
+ HOUSE_RULES,
28
30
  INTEGRATION_CATALOG_CARD_HEIGHT_CLASS,
29
31
  InfoCard,
30
32
  IntegrationCard,
@@ -35,7 +37,10 @@ import {
35
37
  Page,
36
38
  PageHeader,
37
39
  PlanBadge,
40
+ RESERVED_GRADIENT_TOKENS,
38
41
  ResourceCard,
42
+ SEMANTIC_COLOR_TOKENS,
43
+ SLOP_BUDGETS,
39
44
  SearchInput,
40
45
  Section,
41
46
  SettingsSection,
@@ -46,10 +51,12 @@ import {
46
51
  StatusDot,
47
52
  SubNav,
48
53
  SurfaceCard,
54
+ TAILWIND_PALETTE_COLORS,
49
55
  THEME_AGENT_INSTRUCTIONS,
50
56
  TIMBAL_THEME_PRESETS,
51
57
  ThemePresetGallery,
52
58
  TimbalThemeStyle,
59
+ UI_REVIEW_AGENT_INSTRUCTIONS,
53
60
  appFilterBarClass,
54
61
  appPageColumnClass,
55
62
  appSearchInputClass,
@@ -63,23 +70,26 @@ import {
63
70
  connectionRowListClass,
64
71
  createTimbalTheme,
65
72
  ensureThemeFontLink,
73
+ formatLintReport,
66
74
  getStoredThemePreset,
67
75
  getThemePreset,
76
+ lintGeneratedUi,
77
+ reviewGeneratedUi,
68
78
  themeToCss,
69
79
  useAppCopilotContext,
70
80
  useAppShellChat
71
- } from "./chunk-6YVKCVEP.esm.js";
81
+ } from "./chunk-GLPOVYEA.esm.js";
72
82
  import "./chunk-QIABF4KB.esm.js";
73
83
  import {
74
84
  CHART_PALETTE,
75
85
  ChartArtifactView,
76
86
  LineAreaChart,
77
87
  TimbalChat
78
- } from "./chunk-5ZKLPWVN.esm.js";
79
- import "./chunk-OISVICYF.esm.js";
88
+ } from "./chunk-SNLXVG7H.esm.js";
89
+ import "./chunk-AYHOVAMI.esm.js";
80
90
  import {
81
91
  Button
82
- } from "./chunk-QVAUCVQA.esm.js";
92
+ } from "./chunk-FOD67Z6G.esm.js";
83
93
  export {
84
94
  APP_KIT_AGENT_INSTRUCTIONS,
85
95
  AppChatPanel,
@@ -91,6 +101,7 @@ export {
91
101
  Breadcrumbs,
92
102
  Button,
93
103
  CHART_PALETTE,
104
+ COLOR_UTILITY_PREFIXES,
94
105
  ChartArtifactView,
95
106
  ChartPanel,
96
107
  ConnectionRow,
@@ -110,6 +121,7 @@ export {
110
121
  FilterBar,
111
122
  FloatingUnsavedChangesBar,
112
123
  FormSection,
124
+ HOUSE_RULES,
113
125
  INTEGRATION_CATALOG_CARD_HEIGHT_CLASS,
114
126
  InfoCard,
115
127
  IntegrationCard,
@@ -121,7 +133,10 @@ export {
121
133
  Page,
122
134
  PageHeader,
123
135
  PlanBadge,
136
+ RESERVED_GRADIENT_TOKENS,
124
137
  ResourceCard,
138
+ SEMANTIC_COLOR_TOKENS,
139
+ SLOP_BUDGETS,
125
140
  SearchInput,
126
141
  Section,
127
142
  SettingsSection,
@@ -132,11 +147,13 @@ export {
132
147
  StatusDot,
133
148
  SubNav,
134
149
  SurfaceCard,
150
+ TAILWIND_PALETTE_COLORS,
135
151
  THEME_AGENT_INSTRUCTIONS,
136
152
  TIMBAL_THEME_PRESETS,
137
153
  ThemePresetGallery,
138
154
  TimbalChat,
139
155
  TimbalThemeStyle,
156
+ UI_REVIEW_AGENT_INSTRUCTIONS,
140
157
  appFilterBarClass,
141
158
  appPageColumnClass,
142
159
  appSearchInputClass,
@@ -150,8 +167,11 @@ export {
150
167
  connectionRowListClass,
151
168
  createTimbalTheme,
152
169
  ensureThemeFontLink,
170
+ formatLintReport,
153
171
  getStoredThemePreset,
154
172
  getThemePreset,
173
+ lintGeneratedUi,
174
+ reviewGeneratedUi,
155
175
  themeToCss,
156
176
  useAppCopilotContext,
157
177
  useAppShellChat
@@ -8,7 +8,7 @@ import { VariantProps } from 'class-variance-authority';
8
8
  * Fill / border / shadow come from `button-tokens` via `TimbalV2Button`.
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
- variant?: "link" | "secondary" | "ghost" | "destructive" | "default" | "outline" | null | undefined;
11
+ variant?: "secondary" | "destructive" | "outline" | "link" | "ghost" | "default" | null | undefined;
12
12
  size?: "xs" | "sm" | "lg" | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
14
14
  declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
@@ -8,7 +8,7 @@ import { VariantProps } from 'class-variance-authority';
8
8
  * Fill / border / shadow come from `button-tokens` via `TimbalV2Button`.
9
9
  */
10
10
  declare const buttonVariants: (props?: ({
11
- variant?: "link" | "secondary" | "ghost" | "destructive" | "default" | "outline" | null | undefined;
11
+ variant?: "secondary" | "destructive" | "outline" | "link" | "ghost" | "default" | null | undefined;
12
12
  size?: "xs" | "sm" | "lg" | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
14
14
  declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
@@ -16,6 +16,179 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
16
16
  */
17
17
  declare const APP_KIT_AGENT_INSTRUCTIONS: string;
18
18
 
19
+ /**
20
+ * The single source of truth for what generated Timbal UIs are *allowed* to
21
+ * look like — the anti-slop constraint, encoded as data.
22
+ *
23
+ * Both the deterministic linter (`ui-lint.ts`) and the agent prompt
24
+ * (`APP_KIT_AGENT_INSTRUCTIONS`) read from this module, so the rules a model is
25
+ * told and the rules it is checked against can never drift apart.
26
+ *
27
+ * "Slop" = the generic AI-dashboard look: a decorative icon on every tile,
28
+ * loud green/red trend pills, arbitrary palette colors, gratuitous dividers,
29
+ * card-in-card nesting, bold giant numbers. Taste lives here, not in prose.
30
+ *
31
+ * This is a **public, documented** API (exported from the package root and
32
+ * `/app`), in the same tier as the theme generator — not an internal class
33
+ * composite.
34
+ */
35
+ /**
36
+ * Semantic color token roots the design system defines (see `styles.css`).
37
+ * Generated code may only reach for colors through these — `bg-background`,
38
+ * `text-muted-foreground`, `border-border`, `text-primary`, `bg-destructive`,
39
+ * the timbal chrome extensions, etc. Anything else is slop.
40
+ */
41
+ declare const SEMANTIC_COLOR_TOKENS: readonly ["background", "foreground", "card", "card-foreground", "popover", "popover-foreground", "primary", "primary-foreground", "secondary", "secondary-foreground", "muted", "muted-foreground", "accent", "accent-foreground", "destructive", "destructive-foreground", "border", "input", "ring", "sidebar", "sidebar-foreground", "sidebar-primary", "sidebar-primary-foreground", "sidebar-accent", "sidebar-accent-foreground", "sidebar-border", "sidebar-ring", "elevated-from", "elevated-to", "modal-from", "modal-to", "playground-from", "playground-via", "playground-to", "composer-bg", "composer-border", "composer-border-focus", "bubble-user", "bubble-user-foreground", "code-block-bg", "code-header-bg"];
42
+ type SemanticColorToken = (typeof SEMANTIC_COLOR_TOKENS)[number];
43
+ /**
44
+ * Gradient / fill tokens reserved for **chrome only** (buttons, the elevated
45
+ * surface, the modal shell, the playground backdrop). They must never decorate
46
+ * a data card, a stat tile, or a list — that is the canonical "slop gradient".
47
+ */
48
+ declare const RESERVED_GRADIENT_TOKENS: readonly ["primary-fill-from", "primary-fill-to", "primary-fill-hover-from", "primary-fill-hover-to", "primary-fill-active-from", "primary-fill-active-to", "secondary-fill-hover-from", "secondary-fill-hover-to", "secondary-fill-active-from", "secondary-fill-active-to", "destructive-fill-hover-from", "destructive-fill-hover-to", "destructive-fill-active-from", "destructive-fill-active-to", "ghost-fill-hover", "ghost-fill-active", "elevated-from", "elevated-to", "modal-from", "modal-to", "playground-from", "playground-via", "playground-to"];
49
+ /**
50
+ * The Tailwind named palette. Any of these followed by a numeric shade
51
+ * (`-50`..`-950`) in a color utility is a hardcoded color — not a token —
52
+ * and is rejected by the linter.
53
+ */
54
+ declare const TAILWIND_PALETTE_COLORS: readonly ["slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
55
+ /** Tailwind color-bearing utility prefixes the linter inspects. */
56
+ declare const COLOR_UTILITY_PREFIXES: readonly ["bg", "text", "border", "ring", "from", "via", "to", "fill", "stroke", "decoration", "outline", "shadow", "divide", "accent", "caret"];
57
+ /**
58
+ * Numeric budgets the linter enforces. Tuned for "tasteful dashboard", not
59
+ * "icon confetti". A view that needs more icons than this is almost always
60
+ * decorating instead of communicating.
61
+ */
62
+ declare const SLOP_BUDGETS: {
63
+ /** Max decorative/standalone icons rendered in a single generated file. */
64
+ readonly maxIconsPerView: 6;
65
+ /** Max consecutive list rows separated by an explicit border/divider before
66
+ * it reads as a "ruled table" — prefer spacing or zebra instead. */
67
+ readonly maxRowDividers: 2;
68
+ };
69
+ /**
70
+ * House-style rules in plain language. The prompt renders these verbatim and
71
+ * the linter maps each `id` to a check, so the model is told and tested on the
72
+ * exact same list.
73
+ */
74
+ interface HouseRule {
75
+ id: string;
76
+ /** One-line imperative the agent reads. */
77
+ rule: string;
78
+ /** Why it matters (kept short — models follow rules with rationale better). */
79
+ why: string;
80
+ /** A wrong example (kept to a fragment). */
81
+ slop?: string;
82
+ /** The tasteful equivalent. */
83
+ good?: string;
84
+ }
85
+ declare const HOUSE_RULES: readonly HouseRule[];
86
+
87
+ /**
88
+ * Deterministic anti-slop linter for generated Timbal UI code.
89
+ *
90
+ * Runs a dependency-free line scan over a `.tsx` string and flags the patterns
91
+ * that turn a clean dashboard into generic AI slop: hardcoded colors, icon
92
+ * spam, bold giant numbers, divider-per-row lists, gradients on data cards.
93
+ *
94
+ * It intentionally avoids a full AST/parser dependency — the checks are
95
+ * line/regex heuristics tuned for high precision on the patterns that actually
96
+ * recur in generated output. Feed `formatLintReport(findings)` back to the
97
+ * generating agent (see `reviewGeneratedUi`) so it can self-correct.
98
+ *
99
+ * Public, documented API — exported from the package root and `/app`.
100
+ */
101
+ type LintSeverity = "error" | "warn";
102
+ interface LintFinding {
103
+ /** Stable rule id (maps to a HouseRule where applicable). */
104
+ rule: string;
105
+ severity: LintSeverity;
106
+ /** 1-based line number in the supplied source. */
107
+ line: number;
108
+ /** Human-readable explanation + fix. */
109
+ message: string;
110
+ /** The offending source fragment (trimmed). */
111
+ snippet: string;
112
+ }
113
+ interface LintResult {
114
+ findings: LintFinding[];
115
+ errorCount: number;
116
+ warnCount: number;
117
+ /** True when there are no `error`-severity findings. */
118
+ ok: boolean;
119
+ }
120
+ interface LintOptions {
121
+ /** Max standalone icons before `icon-spam` fires. Defaults to the budget. */
122
+ maxIconsPerView?: number;
123
+ /** Max bordered list rows before `row-divider` fires. Defaults to the budget. */
124
+ maxRowDividers?: number;
125
+ /** Treat warnings as errors (so `ok` reflects them too). */
126
+ strict?: boolean;
127
+ }
128
+ /**
129
+ * Lint a single generated `.tsx` (or fragment) string for slop.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * const { ok, findings } = lintGeneratedUi(generatedTsx);
134
+ * if (!ok) sendBackToAgent(formatLintReport(findings));
135
+ * ```
136
+ */
137
+ declare function lintGeneratedUi(source: string, options?: LintOptions): LintResult;
138
+ /**
139
+ * Render lint findings as a compact, agent- and human-readable report.
140
+ * Empty string when there are no findings.
141
+ */
142
+ declare function formatLintReport(findings: LintFinding[]): string;
143
+
144
+ /**
145
+ * Layer 4 of the anti-slop system: the critique loop.
146
+ *
147
+ * `reviewGeneratedUi` runs the deterministic linter (Layer 2) and packages the
148
+ * result into something a generating agent can act on in one round-trip — a
149
+ * pass/fail verdict plus a ready-to-send revision prompt that names the exact
150
+ * lines and fixes. The system prompt string (`UI_REVIEW_AGENT_INSTRUCTIONS`)
151
+ * teaches the model to self-review *before* it returns code, so the loop is
152
+ * usually closed without a second model call.
153
+ *
154
+ * Public, documented API — exported from the package root and `/app`.
155
+ */
156
+
157
+ interface ReviewResult {
158
+ /** Raw linter output. */
159
+ lint: LintResult;
160
+ /** True when no blocking (error-severity, or any warning in strict mode) findings remain. */
161
+ passed: boolean;
162
+ /** Compact human/agent-readable report ("" when clean). */
163
+ report: string;
164
+ /**
165
+ * A ready-to-send follow-up prompt instructing the agent to fix the findings,
166
+ * or `null` when the UI passed. Send this back to the model and re-run
167
+ * `reviewGeneratedUi` on its next output until `passed` is true.
168
+ */
169
+ revisionPrompt: string | null;
170
+ }
171
+ /**
172
+ * Review a generated `.tsx` string for slop and produce an actionable verdict.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * let code = await generate(userPrompt);
177
+ * for (let i = 0; i < 2; i++) {
178
+ * const review = reviewGeneratedUi(code, { strict: true });
179
+ * if (review.passed) break;
180
+ * code = await generate(review.revisionPrompt!); // agent fixes named issues
181
+ * }
182
+ * ```
183
+ */
184
+ declare function reviewGeneratedUi(source: string, options?: LintOptions): ReviewResult;
185
+ /**
186
+ * Append to a UI-generation agent's system prompt so it self-reviews before
187
+ * returning code. Pairs with `APP_KIT_AGENT_INSTRUCTIONS` and
188
+ * `THEME_AGENT_INSTRUCTIONS`.
189
+ */
190
+ declare const UI_REVIEW_AGENT_INSTRUCTIONS: string;
191
+
19
192
  /**
20
193
  * Theme generator — turn brand *intent* into a complete, paired light + dark
21
194
  * token set, so agents and apps never hand-author `oklch(...)` or risk a
@@ -664,13 +837,15 @@ interface SubNavProps {
664
837
  */
665
838
  declare const SubNav: FC<SubNavProps>;
666
839
 
667
- interface BreadcrumbItem {
840
+ interface BreadcrumbEntry {
668
841
  label: ReactNode;
669
842
  href?: string;
670
843
  onClick?: () => void;
671
844
  }
845
+ /** @deprecated Use `BreadcrumbEntry` — avoids clashing with the UI `BreadcrumbItem` primitive. */
846
+ type BreadcrumbItem = BreadcrumbEntry;
672
847
  interface BreadcrumbsProps {
673
- items: BreadcrumbItem[];
848
+ items: BreadcrumbEntry[];
674
849
  className?: string;
675
850
  }
676
851
  declare const Breadcrumbs: FC<BreadcrumbsProps>;
@@ -966,4 +1141,4 @@ interface ChartArtifactViewProps {
966
1141
  */
967
1142
  declare const ChartArtifactView: FC<ChartArtifactViewProps>;
968
1143
 
969
- export { FieldSwitch as $, APP_KIT_AGENT_INSTRUCTIONS as A, type BreadcrumbItem as B, CHART_PALETTE as C, DangerZone as D, DangerZoneAction as E, type DangerZoneActionProps as F, type DangerZoneProps as G, DataTable as H, type DataTableColumn as I, type DataTableProps as J, type DataTableSort as K, type DataTableSortDirection as L, type DescriptionItem as M, DescriptionList as N, type DescriptionListProps as O, EmptyState as P, type EmptyStateProps as Q, ExpandableSection as R, type ExpandableSectionProps as S, Field as T, FieldInput as U, type FieldInputProps as V, type FieldProps as W, FieldRow as X, type FieldRowProps as Y, FieldSelect as Z, type FieldSelectProps as _, AppChatPanel as a, type ThemePresetGalleryProps as a$, type FieldSwitchProps as a0, FieldTextarea as a1, type FieldTextareaProps as a2, FilterBar as a3, type FilterBarProps as a4, FloatingUnsavedChangesBar as a5, type FloatingUnsavedChangesBarProps as a6, FormSection as a7, type FormSectionProps as a8, INTEGRATION_CATALOG_CARD_HEIGHT_CLASS as a9, type ResourceCardProps as aA, SearchInput as aB, type SearchInputProps as aC, Section as aD, type SectionProps as aE, SettingsSection as aF, SettingsSectionHeader as aG, type SettingsSectionHeaderProps as aH, type SettingsSectionProps as aI, Sparkline as aJ, type SparklineProps as aK, StatTile as aL, type StatTileProps as aM, StatusBadge as aN, type StatusBadgeProps as aO, type StatusBadgeTone as aP, StatusDot as aQ, type StatusDotProps as aR, type StatusDotTone as aS, SubNav as aT, type SubNavItem as aU, type SubNavProps as aV, SurfaceCard as aW, type SurfaceCardProps as aX, THEME_AGENT_INSTRUCTIONS as aY, TIMBAL_THEME_PRESETS as aZ, ThemePresetGallery as a_, 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, MetricChartCard as ak, type MetricChartCardProps as al, type MetricChartMetric as am, MetricRow as an, type MetricRowItem as ao, type MetricRowProps as ap, MetricTile as aq, type MetricTileProps as ar, Page as as, PageHeader as at, type PageHeaderProps as au, type PageProps as av, PlanBadge as aw, type PlanBadgeProps as ax, type PlanBadgeTone as ay, ResourceCard as az, type AppChatPanelProps as b, type ThemeShadow as b0, type ThemeToCssOptions as b1, type ThemeTokenMap as b2, type TimbalThemeIntent as b3, type TimbalThemePreset as b4, type TimbalThemePresetId as b5, TimbalThemeStyle as b6, type TimbalThemeStyleProps as b7, type TimbalThemeTokens as b8, type TimbalThemeTypography as b9, applyThemePreset as ba, applyTimbalTheme as bb, clearTimbalTheme as bc, connectionRowListClass as bd, createTimbalTheme as be, ensureThemeFontLink as bf, getStoredThemePreset as bg, getThemePreset as bh, themeToCss as bi, useAppCopilotContext as bj, useAppShellChat as bk, AppConfirmDialog as c, type AppConfirmDialogProps as d, type AppCopilotContextValue as e, AppCopilotProvider as f, type AppCopilotProviderProps as g, AppShell as h, type AppShellChatControls as i, AppShellChatTrigger as j, type AppShellChatTriggerProps as k, type AppShellProps as l, AppShellTopbar as m, type AppShellTopbarProps as n, Breadcrumbs as o, type BreadcrumbsProps as p, ChartArtifactView as q, type ChartLayout as r, ChartPanel as s, type ChartPanelProps as t, type ChartSeries as u, type ChartVariant as v, ConnectionRow as w, ConnectionRowList as x, type ConnectionRowListProps as y, type ConnectionRowProps as z };
1144
+ export { FieldSelect as $, APP_KIT_AGENT_INSTRUCTIONS as A, type BreadcrumbEntry as B, CHART_PALETTE as C, type ConnectionRowListProps as D, type ConnectionRowProps as E, DangerZone as F, DangerZoneAction as G, type DangerZoneActionProps as H, type DangerZoneProps as I, DataTable as J, type DataTableColumn as K, type DataTableProps as L, type DataTableSort as M, type DataTableSortDirection as N, type DescriptionItem as O, DescriptionList as P, type DescriptionListProps as Q, EmptyState as R, type EmptyStateProps as S, ExpandableSection as T, type ExpandableSectionProps as U, Field as V, FieldInput as W, type FieldInputProps as X, type FieldProps as Y, FieldRow as Z, type FieldRowProps as _, AppChatPanel as a, type StatusBadgeProps as a$, type FieldSelectProps as a0, FieldSwitch as a1, type FieldSwitchProps as a2, FieldTextarea as a3, type FieldTextareaProps as a4, FilterBar as a5, type FilterBarProps as a6, FloatingUnsavedChangesBar as a7, type FloatingUnsavedChangesBarProps as a8, FormSection as a9, Page as aA, PageHeader as aB, type PageHeaderProps as aC, type PageProps as aD, PlanBadge as aE, type PlanBadgeProps as aF, type PlanBadgeTone as aG, RESERVED_GRADIENT_TOKENS as aH, ResourceCard as aI, type ResourceCardProps as aJ, type ReviewResult as aK, SEMANTIC_COLOR_TOKENS as aL, SLOP_BUDGETS as aM, SearchInput as aN, type SearchInputProps as aO, Section as aP, type SectionProps as aQ, type SemanticColorToken as aR, SettingsSection as aS, SettingsSectionHeader as aT, type SettingsSectionHeaderProps as aU, type SettingsSectionProps as aV, Sparkline as aW, type SparklineProps as aX, StatTile as aY, type StatTileProps as aZ, StatusBadge as a_, type FormSectionProps as aa, HOUSE_RULES as ab, type HouseRule as ac, INTEGRATION_CATALOG_CARD_HEIGHT_CLASS as ad, InfoCard as ae, type InfoCardProps as af, type InfoCardTone as ag, IntegrationCard as ah, type IntegrationCardProps as ai, type IntegrationCardStatus as aj, IntegrationsEmptyState as ak, type IntegrationsEmptyStateProps as al, LineAreaChart as am, type LineAreaChartProps as an, type LintFinding as ao, type LintOptions as ap, type LintResult as aq, type LintSeverity as ar, MetricChartCard as as, type MetricChartCardProps as at, type MetricChartMetric as au, MetricRow as av, type MetricRowItem as aw, type MetricRowProps as ax, MetricTile as ay, type MetricTileProps as az, type AppChatPanelProps as b, type StatusBadgeTone as b0, StatusDot as b1, type StatusDotProps as b2, type StatusDotTone as b3, SubNav as b4, type SubNavItem as b5, type SubNavProps as b6, SurfaceCard as b7, type SurfaceCardProps as b8, TAILWIND_PALETTE_COLORS as b9, themeToCss as bA, useAppCopilotContext as bB, useAppShellChat as bC, THEME_AGENT_INSTRUCTIONS as ba, TIMBAL_THEME_PRESETS as bb, ThemePresetGallery as bc, type ThemePresetGalleryProps 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, applyThemePreset as bp, applyTimbalTheme as bq, clearTimbalTheme as br, connectionRowListClass as bs, createTimbalTheme as bt, ensureThemeFontLink as bu, formatLintReport as bv, getStoredThemePreset as bw, getThemePreset as bx, lintGeneratedUi as by, reviewGeneratedUi as bz, AppConfirmDialog as c, type AppConfirmDialogProps as d, type AppCopilotContextValue as e, AppCopilotProvider as f, type AppCopilotProviderProps as g, AppShell as h, type AppShellChatControls as i, AppShellChatTrigger as j, type AppShellChatTriggerProps as k, type AppShellProps as l, AppShellTopbar as m, type AppShellTopbarProps as n, type BreadcrumbItem as o, Breadcrumbs as p, type BreadcrumbsProps as q, COLOR_UTILITY_PREFIXES as r, ChartArtifactView as s, type ChartLayout as t, ChartPanel as u, type ChartPanelProps as v, type ChartSeries as w, type ChartVariant as x, ConnectionRow as y, ConnectionRowList as z };