@factorialco/f0-react 1.433.0 → 1.435.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/f0.d.ts CHANGED
@@ -39,6 +39,7 @@ import { default as default_2 } from 'react';
39
39
  import { DeltaCellValue } from './types/delta';
40
40
  import { DotTagCellValue } from './f0';
41
41
  import { DotTagCellValue as DotTagCellValue_2 } from './types/dotTag';
42
+ import type * as echarts_2 from 'echarts';
42
43
  import { F0AnalyticsDashboardProps as F0AnalyticsDashboardProps_2 } from './types';
43
44
  import { F0AvatarCompanyProps as F0AvatarCompanyProps_2 } from './types';
44
45
  import { F0AvatarDateProps } from './F0AvatarDate';
@@ -47,6 +48,7 @@ import { F0AvatarIconProps as F0AvatarIconProps_2 } from './F0AvatarIcon';
47
48
  import { F0AvatarListProps as F0AvatarListProps_2 } from './types';
48
49
  import { F0AvatarPersonProps as F0AvatarPersonProps_2 } from './types';
49
50
  import { F0AvatarTeamProps as F0AvatarTeamProps_2 } from './F0AvatarTeam';
51
+ import { F0DataChartProps as F0DataChartProps_2 } from './types';
50
52
  import { F0DialogInternalProps } from './internal-types';
51
53
  import { F0DurationInputProps as F0DurationInputProps_2 } from './types';
52
54
  import { F0FormDefinitionPerSection as F0FormDefinitionPerSection_2 } from './f0';
@@ -110,6 +112,7 @@ import { Props as Props_2 } from './types';
110
112
  import * as React_2 from 'react';
111
113
  import { ReactElement } from 'react';
112
114
  import { ReactNode } from 'react';
115
+ import * as RechartsPrimitive from 'recharts';
113
116
  import { RefAttributes } from 'react';
114
117
  import { RefObject } from 'react';
115
118
  import { RemoteAudioTrack } from 'livekit-client';
@@ -163,6 +166,17 @@ declare type Action_3 = {
163
166
  loading?: boolean;
164
167
  };
165
168
 
169
+ export declare type ActionBarGroup = {
170
+ label?: string;
171
+ items: ActionBarItem[];
172
+ };
173
+
174
+ export declare type ActionBarItem = ActionType_2;
175
+
176
+ export declare type ActionBarStatus = (typeof actionBarStatuses)[number];
177
+
178
+ export declare const actionBarStatuses: readonly ["idle", "loading", "success", "error"];
179
+
166
180
  declare type ActionBaseProps = ActionCommonProps & DataAttributes;
167
181
 
168
182
  declare type ActionButtonProps = ActionBaseProps & {
@@ -294,6 +308,15 @@ declare const actionSizes: readonly ["sm", "md", "lg"];
294
308
 
295
309
  export declare type ActionType = "duplicate" | "delete";
296
310
 
311
+ declare type ActionType_2 = {
312
+ label: string;
313
+ icon?: IconType;
314
+ onClick?: () => void;
315
+ disabled?: boolean;
316
+ critical?: boolean;
317
+ description?: string;
318
+ };
319
+
297
320
  declare type ActionVariant = (typeof actionVariants)[number];
298
321
 
299
322
  declare const actionVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai", "link", "unstyled", "mention"];
@@ -332,6 +355,16 @@ declare type AiChatDisclaimer = {
332
355
  linkText?: string;
333
356
  };
334
357
 
358
+ export declare type AiChatFileAttachmentConfig = {
359
+ onUploadFiles: (files: File[]) => Promise<UploadedFile[]>;
360
+ allowedMimeTypes?: string | string[];
361
+ /**
362
+ * Maximum number of files that can be attached at once.
363
+ * Omit or pass undefined for no limit.
364
+ */
365
+ maxFiles?: number;
366
+ };
367
+
335
368
  /**
336
369
  * Interaction mode for the AI chat
337
370
  */
@@ -394,6 +427,10 @@ export declare type AiChatProviderProps = {
394
427
  * Groups fetchUsage, upgradePlanUrl, and company/plan display info.
395
428
  */
396
429
  credits?: AiChatCredits;
430
+ /**
431
+ * File attachment configuration. When provided, enables file uploads in the chat.
432
+ */
433
+ fileAttachments?: AiChatFileAttachmentConfig;
397
434
  onThumbsUp?: (message: AIMessage, { threadId, feedback }: {
398
435
  threadId: string;
399
436
  feedback: string;
@@ -503,7 +540,7 @@ declare type AiChatProviderReturnValue = {
503
540
  inProgress: boolean;
504
541
  /** Set the in-progress state (synced from CopilotKit's isLoading) */
505
542
  setInProgress: (value: boolean) => void;
506
- } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits"> & {
543
+ } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "fileAttachments"> & {
507
544
  /** The current canvas content, or null when canvas is closed */
508
545
  canvasContent: CanvasContent | null;
509
546
  /** Open the canvas panel with the given content */
@@ -535,6 +572,7 @@ declare interface AiChatState {
535
572
  entityRefs?: EntityRefs;
536
573
  toolHints?: AiChatToolHint[];
537
574
  credits?: AiChatCredits;
575
+ fileAttachments?: AiChatFileAttachmentConfig;
538
576
  placeholders?: string[];
539
577
  setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
540
578
  onThumbsUp?: (message: AIMessage, { threadId, feedback }: {
@@ -570,9 +608,6 @@ export declare type AiChatToolHint = {
570
608
  prompt: string;
571
609
  };
572
610
 
573
- /**
574
- * Tracking options for the AI chat
575
- */
576
611
  declare type AiChatTrackingOptions = {
577
612
  onVisibility?: () => void;
578
613
  onClose?: () => void;
@@ -688,6 +723,8 @@ export declare const aiTranslations: {
688
723
  readonly actionLabel: "Get credits";
689
724
  };
690
725
  };
726
+ readonly attachFile: "Attach file";
727
+ readonly removeFile: "Remove";
691
728
  readonly growth: {
692
729
  readonly demoCard: {
693
730
  readonly title: "See {{moduleName}} in action";
@@ -911,6 +948,24 @@ export declare interface BarChartConfig extends ChartConfigBase {
911
948
  stacked?: boolean;
912
949
  }
913
950
 
951
+ /**
952
+ * Skeleton for bar chart content area.
953
+ *
954
+ * - `orientation: "vertical"` (default): vertical bars with varying heights.
955
+ * - `orientation: "horizontal"`: horizontal bars extending left-to-right.
956
+ * - `stacked: true`: each bar has 2–3 stacked segments.
957
+ */
958
+ export declare function BarChartSkeleton({ orientation, stacked, showLegend, }?: BarChartSkeletonProps): JSX_2.Element;
959
+
960
+ declare interface BarChartSkeletonProps {
961
+ /** Bar orientation. @default "vertical" */
962
+ orientation?: "vertical" | "horizontal";
963
+ /** Show stacked bar segments. @default false */
964
+ stacked?: boolean;
965
+ /** Show legend below chart. @default true */
966
+ showLegend?: boolean;
967
+ }
968
+
914
969
  declare type BaseAction = {
915
970
  label: string;
916
971
  onClick: () => Promise<void> | void;
@@ -1671,6 +1726,87 @@ declare interface CardSecondaryLink extends Pick<F0LinkProps, "href" | "target"
1671
1726
  label: string;
1672
1727
  }
1673
1728
 
1729
+ declare type CardSelectableAvatarVariant = AvatarVariant | {
1730
+ type: "emoji";
1731
+ emoji: string;
1732
+ } | {
1733
+ type: "file";
1734
+ file: File;
1735
+ } | {
1736
+ type: "icon";
1737
+ icon: IconType;
1738
+ };
1739
+
1740
+ export declare const CardSelectableContainer: CardSelectableContainerGeneric;
1741
+
1742
+ declare type CardSelectableContainerGeneric = <T extends CardSelectableValue>(props: CardSelectableContainerProps<T> & WithDataTestIdProps) => ReactElement | null;
1743
+
1744
+ export declare type CardSelectableContainerProps<T extends CardSelectableValue> = CardSelectableSingleProps<T> | CardSelectableMultipleProps<T>;
1745
+
1746
+ export declare interface CardSelectableItem<T extends CardSelectableValue> {
1747
+ /** Unique value for this option */
1748
+ value: T;
1749
+ /** Main title of the card */
1750
+ title: string;
1751
+ /** Description text below the title */
1752
+ description?: string;
1753
+ /** Avatar to display on the left */
1754
+ avatar?: CardSelectableAvatarVariant;
1755
+ /** Whether this item is disabled */
1756
+ disabled?: boolean;
1757
+ /** Whether this item is required (shows asterisk indicator) */
1758
+ required?: boolean;
1759
+ /** Link displayed below the description, typically pointing to external documentation */
1760
+ moreInfoLink?: {
1761
+ href: string;
1762
+ label?: string;
1763
+ };
1764
+ }
1765
+
1766
+ export declare interface CardSelectableMultipleProps<T extends CardSelectableValue> {
1767
+ /** List of selectable items */
1768
+ items: CardSelectableItem<T>[];
1769
+ /** Multiple selection mode */
1770
+ multiple: true;
1771
+ /** Currently selected values */
1772
+ value?: T[];
1773
+ /** Callback when selection changes */
1774
+ onChange?: (value: T[]) => void;
1775
+ /** Whether the entire selector is disabled */
1776
+ disabled?: boolean;
1777
+ /** Label for the group (used for accessibility) */
1778
+ label?: string;
1779
+ /** Layout direction (default: vertical) */
1780
+ layout?: "vertical" | "horizontal";
1781
+ /** When true, shows a toggle/switch indicator instead of checkbox */
1782
+ isToggle?: boolean;
1783
+ /** When true, items are grouped in a single bordered container with dividers */
1784
+ grouped?: boolean;
1785
+ }
1786
+
1787
+ export declare interface CardSelectableSingleProps<T extends CardSelectableValue> {
1788
+ /** List of selectable items */
1789
+ items: CardSelectableItem<T>[];
1790
+ /** Single selection mode (default) */
1791
+ multiple?: false;
1792
+ /** Currently selected value */
1793
+ value?: T;
1794
+ /** Callback when selection changes (receives undefined when isToggle and toggling off) */
1795
+ onChange?: (value: T | undefined) => void;
1796
+ /** Whether the entire selector is disabled */
1797
+ disabled?: boolean;
1798
+ /** Label for the group (used for accessibility) */
1799
+ label?: string;
1800
+ /** Layout direction (default: vertical) */
1801
+ layout?: "vertical" | "horizontal";
1802
+ /** When true, shows a toggle/switch indicator instead of radio and allows toggling off */
1803
+ isToggle?: boolean;
1804
+ /** When true, items are grouped in a single bordered container with dividers */
1805
+ grouped?: boolean;
1806
+ }
1807
+
1808
+ export declare type CardSelectableValue = string | number;
1809
+
1674
1810
  declare type CardVisualizationOptions<T, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
1675
1811
  cardProperties: ReadonlyArray<CardPropertyDefinition<T>>;
1676
1812
  title: (record: T) => string;
@@ -1687,13 +1823,13 @@ declare type CardVisualizationOptions<T, _Filters extends FiltersDefinition, _So
1687
1823
  export declare const CategoryBarChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<CategoryBarProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>>;
1688
1824
 
1689
1825
  /** A valid chart color token — one of the 15 chromatic F0 base-color names. */
1690
- declare type ChartColorToken = (typeof chartColorTokens)[number];
1826
+ export declare type ChartColorToken = (typeof chartColorTokens)[number];
1691
1827
 
1692
1828
  /**
1693
1829
  * The 15 chromatic color names from the F0 design token palette.
1694
1830
  * These are the only colors allowed for custom series / data-point colors.
1695
1831
  */
1696
- declare const chartColorTokens: readonly ["lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel", "radical", "viridian", "orange", "red", "grass", "malibu", "yellow", "purple"];
1832
+ export declare const chartColorTokens: readonly ["lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel", "radical", "viridian", "orange", "red", "grass", "malibu", "yellow", "purple"];
1697
1833
 
1698
1834
  declare interface ChartComputation {
1699
1835
  datasetId: string;
@@ -1706,6 +1842,21 @@ declare interface ChartComputation {
1706
1842
  limit?: number;
1707
1843
  }
1708
1844
 
1845
+ declare type ChartConfig_3 = Record<string, ChartConfig_4[keyof ChartConfig_4]>;
1846
+
1847
+ declare type ChartConfig_4 = {
1848
+ [k in string]: {
1849
+ label?: React_2.ReactNode;
1850
+ icon?: React_2.ComponentType;
1851
+ } & ({
1852
+ color?: string;
1853
+ theme?: never;
1854
+ } | {
1855
+ color?: never;
1856
+ theme: Record<keyof typeof THEMES, string>;
1857
+ });
1858
+ };
1859
+
1709
1860
  declare interface ChartConfigBase {
1710
1861
  /** Show the legend below the chart. @default true */
1711
1862
  showLegend?: boolean;
@@ -1719,6 +1870,85 @@ declare interface ChartConfigBase {
1719
1870
  categoryFormatter?: (value: string) => string;
1720
1871
  }
1721
1872
 
1873
+ declare const ChartContainer: React_2.ForwardRefExoticComponent<Omit<ChartContainerComponentProps, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
1874
+
1875
+ declare interface ChartContainerComponentProps extends React_2.ComponentProps<"div">, VariantProps<typeof variants> {
1876
+ config: ChartConfig_4;
1877
+ children: React_2.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
1878
+ }
1879
+
1880
+ declare type ChartItem<K extends ChartConfig_3> = {
1881
+ label: string;
1882
+ values: {
1883
+ [key in keyof K]: number;
1884
+ };
1885
+ };
1886
+
1887
+ /**
1888
+ * Complete chart theme — everything a chart type needs to render correctly.
1889
+ *
1890
+ * Resolved at runtime from CSS custom properties so that it automatically
1891
+ * adapts to light / dark mode. Every chart type hook receives this object
1892
+ * and passes it through to the shared option builders.
1893
+ */
1894
+ export declare interface ChartTheme {
1895
+ /** Current mode — useful for conditional logic in chart-type hooks */
1896
+ mode: "light" | "dark";
1897
+ /** Semantic colors */
1898
+ colors: ChartThemeColors;
1899
+ /** Default series color palette (hex strings) */
1900
+ palette: string[];
1901
+ /** Tooltip visual config */
1902
+ tooltip: ChartThemeTooltip;
1903
+ /** Axis pointer visual config */
1904
+ axisPointer: ChartThemeAxisPointer;
1905
+ /** Base text style applied to the entire ECharts instance */
1906
+ textStyle: ChartThemeTextStyle;
1907
+ }
1908
+
1909
+ /** Axis pointer visual configuration */
1910
+ declare interface ChartThemeAxisPointer {
1911
+ color: string;
1912
+ type: "dashed" | "solid";
1913
+ }
1914
+
1915
+ /** Semantic colors used by every chart type */
1916
+ declare interface ChartThemeColors {
1917
+ /** Primary text — tooltip body, strong labels. Resolves from --neutral-80 */
1918
+ foreground: string;
1919
+ /** Secondary text — legend labels. Resolves from --neutral-50 */
1920
+ foregroundSecondary: string;
1921
+ /** Tertiary text — axis tick labels. Resolves from --neutral-40 */
1922
+ foregroundTertiary: string;
1923
+ /** Grid / split lines, category axis line. Resolves from --neutral-10 */
1924
+ borderSecondary: string;
1925
+ /** Axis pointer line, subtle dividers. Resolves from --neutral-30 */
1926
+ border: string;
1927
+ /** Tooltip background color (CSS rgba string) */
1928
+ tooltipBackground: string;
1929
+ /** Chart container background — used when chart needs to know its own bg */
1930
+ background: string;
1931
+ }
1932
+
1933
+ /** Typography configuration */
1934
+ declare interface ChartThemeTextStyle {
1935
+ fontFamily: string;
1936
+ fontSize: number;
1937
+ fontWeight: number;
1938
+ }
1939
+
1940
+ /** Tooltip visual configuration */
1941
+ declare interface ChartThemeTooltip {
1942
+ padding: number[];
1943
+ borderWidth: number;
1944
+ borderRadius: number;
1945
+ transitionDuration: number;
1946
+ /** CSS box-shadow applied via extraCssText */
1947
+ boxShadow: string;
1948
+ /** Full CSS background string (may include rgba + filters) */
1949
+ background: string;
1950
+ }
1951
+
1722
1952
  declare interface ChatDashboardBarChartConfig extends ChatDashboardChartConfigBase {
1723
1953
  type: "bar";
1724
1954
  orientation?: "vertical" | "horizontal";
@@ -1949,6 +2179,11 @@ declare type ChildrenPaginationInfo = {
1949
2179
 
1950
2180
  declare type ChildrenResponse<R extends RecordType> = NestedResponseWithType<R>;
1951
2181
 
2182
+ /**
2183
+ * @experimental This is an experimental component use it at your own risk
2184
+ */
2185
+ export declare const Chip: ({ deactivated, label, variant, onClick, onClose, avatar, icon, }: ChipProps) => JSX_2.Element;
2186
+
1952
2187
  declare type ChipLabel = {
1953
2188
  label: string;
1954
2189
  } & ({
@@ -1962,7 +2197,7 @@ declare type ChipLabel = {
1962
2197
  avatar?: never;
1963
2198
  });
1964
2199
 
1965
- declare type ChipProps = BaseChipProps & ChipVariants & {
2200
+ export declare type ChipProps = BaseChipProps & ChipVariants & {
1966
2201
  variant?: "default" | "selected";
1967
2202
  };
1968
2203
 
@@ -1983,7 +2218,7 @@ declare type ChipVariants = {
1983
2218
  icon?: undefined;
1984
2219
  };
1985
2220
 
1986
- declare const chipVariants: (props?: ({
2221
+ export declare const chipVariants: (props?: ({
1987
2222
  variant?: "default" | "selected" | undefined;
1988
2223
  } & ({
1989
2224
  class?: ClassValue;
@@ -3265,6 +3500,8 @@ export declare const defaultTranslations: {
3265
3500
  readonly actionLabel: "Get credits";
3266
3501
  };
3267
3502
  };
3503
+ readonly attachFile: "Attach file";
3504
+ readonly removeFile: "Remove";
3268
3505
  readonly growth: {
3269
3506
  readonly demoCard: {
3270
3507
  readonly title: "See {{moduleName}} in action";
@@ -3839,6 +4076,51 @@ declare type ExtractVisualizationSettings<T> = T extends {
3839
4076
  };
3840
4077
  } ? S : never;
3841
4078
 
4079
+ export declare const F0ActionBar: WithDataTestIdReturnType_3<ForwardRefExoticComponent<F0ActionBarProps & RefAttributes<F0ActionBarRef>>>;
4080
+
4081
+ declare interface F0ActionBarProps {
4082
+ /**
4083
+ * Whether the action bar is open
4084
+ */
4085
+ isOpen: boolean;
4086
+ /**
4087
+ * The primary action
4088
+ */
4089
+ primaryActions?: ActionBarItem[] | ActionBarGroup[] | ActionBarGroup;
4090
+ /**
4091
+ * The secondary actions
4092
+ */
4093
+ secondaryActions?: ActionBarItem[];
4094
+ /**
4095
+ * The label of the action bar
4096
+ */
4097
+ label?: string;
4098
+ /**
4099
+ * Visual variant of the action bar
4100
+ * - "dark": Dark background with light text (default)
4101
+ * - "light": Light background with dark text
4102
+ * @default "dark"
4103
+ */
4104
+ variant?: "dark" | "light";
4105
+ /**
4106
+ * Custom content to render on the left side (e.g., error navigation)
4107
+ */
4108
+ leftContent?: React.ReactNode;
4109
+ /**
4110
+ * The current status of the action bar.
4111
+ * - "idle": Default state, shows an alert icon (pending changes)
4112
+ * - "loading": Shows a spinner and disables all actions
4113
+ * - "success": Shows a checkmark icon and disables all actions
4114
+ * - "error": Shows an error icon with persistent error styling
4115
+ * @default "idle"
4116
+ */
4117
+ status?: ActionBarStatus;
4118
+ }
4119
+
4120
+ export declare interface F0ActionBarRef {
4121
+ wiggle: (options?: WiggleOptions) => void;
4122
+ }
4123
+
3842
4124
  export declare const F0ActionItem: ({ title, status, inGroup }: F0ActionItemProps) => JSX_2.Element;
3843
4125
 
3844
4126
  /**
@@ -3902,7 +4184,7 @@ export declare const F0AiChat: () => JSX_2.Element | null;
3902
4184
  /**
3903
4185
  * @experimental This is an experimental component use it at your own risk
3904
4186
  */
3905
- export declare const F0AiChatProvider: ({ enabled, greeting, initialMessage, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, toolHints, credits, onThumbsUp, onThumbsDown, children, agent, tracking, ...copilotKitProps }: AiChatProviderProps) => JSX_2.Element;
4187
+ export declare const F0AiChatProvider: ({ enabled, greeting, initialMessage, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, toolHints, credits, fileAttachments, onThumbsUp, onThumbsDown, children, agent, tracking, ...copilotKitProps }: AiChatProviderProps) => JSX_2.Element;
3906
4188
 
3907
4189
  export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, creditWarning, onDismissCreditWarning, onGetCredits, }: ChatTextareaProps) => JSX_2.Element;
3908
4190
 
@@ -4216,13 +4498,14 @@ declare type F0AvatarFlagProps = {
4216
4498
  } & Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">;
4217
4499
 
4218
4500
  export declare const F0AvatarIcon: WithDataTestIdReturnType_4< {
4219
- ({ icon, size, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: F0AvatarIconProps_2): JSX_2.Element;
4501
+ ({ icon, size, state, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: F0AvatarIconProps_2): JSX_2.Element;
4220
4502
  displayName: string;
4221
4503
  }>;
4222
4504
 
4223
4505
  export declare type F0AvatarIconProps = {
4224
4506
  icon: IconType;
4225
4507
  size?: (typeof avatarIconSizes)[number];
4508
+ state?: F0IconProps["state"];
4226
4509
  } & Partial<Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">>;
4227
4510
 
4228
4511
  export declare const F0AvatarList: WithDataTestIdReturnType_4< {
@@ -4818,11 +5101,16 @@ declare type F0CustomFieldConfigWithConfig<TValue = unknown, TConfig = unknown>
4818
5101
  fieldType: "custom";
4819
5102
  };
4820
5103
 
5104
+ /**
5105
+ * @experimental This is an experimental component use it at your own risk
5106
+ */
5107
+ export declare const F0DataChart: (props: F0DataChartProps_2) => JSX_2.Element;
5108
+
4821
5109
  /**
4822
5110
  * A single data point in a bar chart series.
4823
5111
  * Can be a simple number or an object with value and optional target.
4824
5112
  */
4825
- declare type F0DataChartBarDataPoint = number | {
5113
+ export declare type F0DataChartBarDataPoint = number | {
4826
5114
  value: number;
4827
5115
  /** When set, renders a gradient fade from the bar top up to the target value */
4828
5116
  target?: number;
@@ -4830,10 +5118,24 @@ declare type F0DataChartBarDataPoint = number | {
4830
5118
  color?: ChartColorToken;
4831
5119
  };
4832
5120
 
5121
+ /**
5122
+ * Bar chart variant props.
5123
+ */
5124
+ export declare interface F0DataChartBarProps extends F0DataChartBaseProps {
5125
+ /** Chart type */
5126
+ type: "bar";
5127
+ /** One or more data series to render as bars */
5128
+ series: F0DataChartBarSeries[];
5129
+ /** Bar orientation. @default "vertical" */
5130
+ orientation?: "vertical" | "horizontal";
5131
+ /** Stack all series into a single bar per category. @default false */
5132
+ stacked?: boolean;
5133
+ }
5134
+
4833
5135
  /**
4834
5136
  * A series of bars to render in the chart.
4835
5137
  */
4836
- declare interface F0DataChartBarSeries {
5138
+ export declare interface F0DataChartBarSeries {
4837
5139
  /** Display name used in legend and tooltip */
4838
5140
  name: string;
4839
5141
  /** Data points — one per category */
@@ -4842,11 +5144,28 @@ declare interface F0DataChartBarSeries {
4842
5144
  color?: ChartColorToken;
4843
5145
  }
4844
5146
 
5147
+ declare interface F0DataChartBaseProps {
5148
+ /** Labels for the category axis (one per data point) */
5149
+ categories: string[];
5150
+ /** Show the legend below the chart. @default true */
5151
+ showLegend?: boolean;
5152
+ /** Show the background grid lines. @default true */
5153
+ showGrid?: boolean;
5154
+ /** Show value labels on each data point. @default false */
5155
+ showLabels?: boolean;
5156
+ /** Format the value axis tick labels (e.g. `(v) => \`${v}M\`` ) */
5157
+ valueFormatter?: (value: number) => string;
5158
+ /** Format category axis tick labels */
5159
+ categoryFormatter?: (value: string) => string;
5160
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5161
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5162
+ }
5163
+
4845
5164
  /**
4846
5165
  * A single data point in a funnel chart series.
4847
5166
  * Each point has a value and a stage name.
4848
5167
  */
4849
- declare interface F0DataChartFunnelDataPoint {
5168
+ export declare interface F0DataChartFunnelDataPoint {
4850
5169
  /** Numeric value for this funnel stage */
4851
5170
  value: number;
4852
5171
  /** Stage label (e.g. "Applied", "Phone Screen", "Hired") */
@@ -4855,10 +5174,49 @@ declare interface F0DataChartFunnelDataPoint {
4855
5174
  color?: ChartColorToken;
4856
5175
  }
4857
5176
 
5177
+ /**
5178
+ * Funnel chart variant props.
5179
+ *
5180
+ * Funnels do NOT use category/value axes — stage names come from the data
5181
+ * points themselves. This interface is separate from `F0DataChartBaseProps`.
5182
+ */
5183
+ export declare interface F0DataChartFunnelProps {
5184
+ /** Chart type */
5185
+ type: "funnel";
5186
+ /** The funnel series to render */
5187
+ series: F0DataChartFunnelSeries;
5188
+ /** Sort direction of funnel stages. @default "descending" */
5189
+ sort?: "descending" | "ascending" | "none";
5190
+ /** Gap between funnel stages in pixels. @default 0 */
5191
+ gap?: number;
5192
+ /** Funnel orientation. @default "horizontal" */
5193
+ orient?: "horizontal" | "vertical";
5194
+ /** Show the legend below the chart. @default false */
5195
+ showLegend?: boolean;
5196
+ /** Show value labels on each stage. @default true */
5197
+ showLabels?: boolean;
5198
+ /**
5199
+ * Show conversion percentages in labels.
5200
+ * Each stage displays its value as a percentage of the first stage.
5201
+ * The tooltip also shows step-over-step conversion.
5202
+ * @default false
5203
+ */
5204
+ showConversion?: boolean;
5205
+ /** Format the value displayed in labels and tooltip */
5206
+ valueFormatter?: (value: number) => string;
5207
+ /**
5208
+ * Map stage colors to their values using a gradient scale (light→dark).
5209
+ * When enabled, higher values get a more intense color. @default true
5210
+ */
5211
+ colorScale?: boolean;
5212
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5213
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5214
+ }
5215
+
4858
5216
  /**
4859
5217
  * A single funnel series with named data points.
4860
5218
  */
4861
- declare interface F0DataChartFunnelSeries {
5219
+ export declare interface F0DataChartFunnelSeries {
4862
5220
  /** Display name used in legend and tooltip */
4863
5221
  name: string;
4864
5222
  /** Data points — one per funnel stage */
@@ -4867,18 +5225,90 @@ declare interface F0DataChartFunnelSeries {
4867
5225
  color?: ChartColorToken;
4868
5226
  }
4869
5227
 
5228
+ /**
5229
+ * Gauge/KPI chart variant props.
5230
+ *
5231
+ * A single-value gauge indicator — no axes, no legend.
5232
+ */
5233
+ export declare interface F0DataChartGaugeProps {
5234
+ /** Chart type */
5235
+ type: "gauge";
5236
+ /** Current value */
5237
+ value: number;
5238
+ /** Minimum value. @default 0 */
5239
+ min?: number;
5240
+ /** Maximum value. @default 100 */
5241
+ max?: number;
5242
+ /** Label shown below the value */
5243
+ name?: string;
5244
+ /** Override color. Must be an F0 design token name. */
5245
+ color?: ChartColorToken;
5246
+ /** Show the numeric value in the center. @default true */
5247
+ showValue?: boolean;
5248
+ /** Format the value displayed */
5249
+ valueFormatter?: (value: number) => string;
5250
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5251
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5252
+ }
5253
+
5254
+ /**
5255
+ * Heatmap chart variant props.
5256
+ *
5257
+ * Renders a grid where each cell's color intensity represents a numeric value.
5258
+ * Uses two category axes (x for columns, y for rows) and a visualMap for
5259
+ * value→color mapping.
5260
+ */
5261
+ export declare interface F0DataChartHeatmapProps {
5262
+ /** Chart type */
5263
+ type: "heatmap";
5264
+ /** Column labels (x-axis) */
5265
+ xCategories: string[];
5266
+ /** Row labels (y-axis) */
5267
+ yCategories: string[];
5268
+ /** Data as [xIndex, yIndex, value] tuples */
5269
+ data: [number, number, number][];
5270
+ /** Minimum value for color scale. @default auto from data */
5271
+ min?: number;
5272
+ /** Maximum value for color scale. @default auto from data */
5273
+ max?: number;
5274
+ /** Show value labels inside cells. @default false */
5275
+ showLabels?: boolean;
5276
+ /** Show the visual map (color scale legend). @default false */
5277
+ showVisualMap?: boolean;
5278
+ /** Format values in labels and tooltip */
5279
+ valueFormatter?: (value: number) => string;
5280
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5281
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5282
+ }
5283
+
4870
5284
  /**
4871
5285
  * A single data point in a line chart series.
4872
5286
  * Can be a simple number or an object with a value.
4873
5287
  */
4874
- declare type F0DataChartLineDataPoint = number | {
5288
+ export declare type F0DataChartLineDataPoint = number | {
4875
5289
  value: number;
4876
5290
  };
4877
5291
 
5292
+ /**
5293
+ * Line chart variant props.
5294
+ */
5295
+ export declare interface F0DataChartLineProps extends F0DataChartBaseProps {
5296
+ /** Chart type */
5297
+ type: "line";
5298
+ /** One or more data series to render as lines */
5299
+ series: F0DataChartLineSeries[];
5300
+ /** Line interpolation type. @default "linear" */
5301
+ lineType?: F0DataChartLineType;
5302
+ /** Show gradient area fill below lines. @default true */
5303
+ showArea?: boolean;
5304
+ /** Show data point dots on the lines. @default false */
5305
+ showDots?: boolean;
5306
+ }
5307
+
4878
5308
  /**
4879
5309
  * A series of data points to render as a line.
4880
5310
  */
4881
- declare interface F0DataChartLineSeries {
5311
+ export declare interface F0DataChartLineSeries {
4882
5312
  /** Display name used in legend and tooltip */
4883
5313
  name: string;
4884
5314
  /** Data points — one per category */
@@ -4894,12 +5324,12 @@ declare interface F0DataChartLineSeries {
4894
5324
  }
4895
5325
 
4896
5326
  /** Line interpolation type */
4897
- declare type F0DataChartLineType = "linear" | "smooth" | "step";
5327
+ export declare type F0DataChartLineType = "linear" | "smooth" | "step";
4898
5328
 
4899
5329
  /**
4900
5330
  * A single data point in a pie chart.
4901
5331
  */
4902
- declare interface F0DataChartPieDataPoint {
5332
+ export declare interface F0DataChartPieDataPoint {
4903
5333
  /** Numeric value for this segment */
4904
5334
  value: number;
4905
5335
  /** Segment label */
@@ -4908,10 +5338,35 @@ declare interface F0DataChartPieDataPoint {
4908
5338
  color?: ChartColorToken;
4909
5339
  }
4910
5340
 
5341
+ /**
5342
+ * Pie/donut chart variant props.
5343
+ *
5344
+ * Pies do NOT use category/value axes — segment names come from the data
5345
+ * points themselves. This interface is separate from `F0DataChartBaseProps`.
5346
+ */
5347
+ export declare interface F0DataChartPieProps {
5348
+ /** Chart type */
5349
+ type: "pie";
5350
+ /** The pie series to render */
5351
+ series: F0DataChartPieSeries;
5352
+ /** Inner radius percentage. 0 = pie, >0 = donut. @default 0 */
5353
+ innerRadius?: number;
5354
+ /** Show the legend below the chart. @default true */
5355
+ showLegend?: boolean;
5356
+ /** Show value labels on each segment. @default true */
5357
+ showLabels?: boolean;
5358
+ /** Show percentage in labels. @default false */
5359
+ showPercentage?: boolean;
5360
+ /** Format the value displayed in labels and tooltip */
5361
+ valueFormatter?: (value: number) => string;
5362
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5363
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5364
+ }
5365
+
4911
5366
  /**
4912
5367
  * A single pie series with named data points.
4913
5368
  */
4914
- declare interface F0DataChartPieSeries {
5369
+ export declare interface F0DataChartPieSeries {
4915
5370
  /** Display name used in tooltip */
4916
5371
  name: string;
4917
5372
  /** Data points — one per pie segment */
@@ -4920,20 +5375,52 @@ declare interface F0DataChartPieSeries {
4920
5375
  color?: ChartColorToken;
4921
5376
  }
4922
5377
 
5378
+ /**
5379
+ * Props for the F0DataChart component.
5380
+ *
5381
+ * A unified chart component that supports bar, line, funnel, pie, radar,
5382
+ * gauge, and heatmap chart types via a discriminated `type` prop.
5383
+ */
5384
+ export declare type F0DataChartProps = F0DataChartBarProps | F0DataChartLineProps | F0DataChartFunnelProps | F0DataChartPieProps | F0DataChartRadarProps | F0DataChartGaugeProps | F0DataChartHeatmapProps;
5385
+
4923
5386
  /**
4924
5387
  * A radar chart indicator (axis/dimension).
4925
5388
  */
4926
- declare interface F0DataChartRadarIndicator {
5389
+ export declare interface F0DataChartRadarIndicator {
4927
5390
  /** Name of the axis/dimension (e.g. "Performance", "Engagement") */
4928
5391
  name: string;
4929
5392
  /** Maximum value for this axis. @default auto-calculated from data */
4930
5393
  max?: number;
4931
5394
  }
4932
5395
 
5396
+ /**
5397
+ * Radar chart variant props.
5398
+ *
5399
+ * Radar charts use a polar coordinate system — no cartesian axes.
5400
+ */
5401
+ export declare interface F0DataChartRadarProps {
5402
+ /** Chart type */
5403
+ type: "radar";
5404
+ /** Axes of the radar — defines the dimensions to compare */
5405
+ indicators: F0DataChartRadarIndicator[];
5406
+ /** Series to compare (one or more) */
5407
+ series: F0DataChartRadarSeries[];
5408
+ /** Fill the area of each series with semi-transparent color. @default true */
5409
+ showArea?: boolean;
5410
+ /** Show the legend below the chart. @default true */
5411
+ showLegend?: boolean;
5412
+ /** Show value labels on each vertex. @default false */
5413
+ showLabels?: boolean;
5414
+ /** Format values in labels and tooltip */
5415
+ valueFormatter?: (value: number) => string;
5416
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
5417
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
5418
+ }
5419
+
4933
5420
  /**
4934
5421
  * A series of data points for a radar chart.
4935
5422
  */
4936
- declare interface F0DataChartRadarSeries {
5423
+ export declare interface F0DataChartRadarSeries {
4937
5424
  /** Display name used in legend and tooltip (e.g. "Team A", "Team B") */
4938
5425
  name: string;
4939
5426
  /** Values — one per indicator, in the same order */
@@ -7123,6 +7610,26 @@ export declare interface FunnelChartConfig {
7123
7610
  valueFormatter?: (value: number) => string;
7124
7611
  }
7125
7612
 
7613
+ /**
7614
+ * Skeleton for funnel chart content area.
7615
+ *
7616
+ * - `orient: "horizontal"` (default): left-to-right trapezoids with
7617
+ * decreasing heights, centered vertically.
7618
+ * - `orient: "vertical"`: top-to-bottom trapezoids with decreasing widths,
7619
+ * centered horizontally.
7620
+ * - `sort: "ascending"`: reverses stage order (smallest first).
7621
+ */
7622
+ export declare function FunnelChartSkeleton({ orient, sort, showLegend, }?: FunnelChartSkeletonProps): JSX_2.Element;
7623
+
7624
+ declare interface FunnelChartSkeletonProps {
7625
+ /** Funnel orientation. @default "horizontal" */
7626
+ orient?: "horizontal" | "vertical";
7627
+ /** Sort direction. @default "descending" */
7628
+ sort?: "descending" | "ascending" | "none";
7629
+ /** Show legend below chart. @default true */
7630
+ showLegend?: boolean;
7631
+ }
7632
+
7126
7633
  /**
7127
7634
  * Gap tokens for spacing between flex/grid children.
7128
7635
  * Uses betweenSpacing (rem) for sm–xl, absoluteSpacing (px) for extended sizes.
@@ -7156,6 +7663,14 @@ export declare interface GaugeChartConfig {
7156
7663
  valueFormatter?: (value: number) => string;
7157
7664
  }
7158
7665
 
7666
+ /**
7667
+ * Skeleton for gauge chart content area.
7668
+ *
7669
+ * Renders a 270° arc with rounded caps and a large value placeholder,
7670
+ * matching the real gauge component style (width 18, roundCap, centered value).
7671
+ */
7672
+ export declare function GaugeChartSkeleton(): JSX_2.Element;
7673
+
7159
7674
  declare interface GaugeComputation {
7160
7675
  datasetId: string;
7161
7676
  aggregation: AggregationType;
@@ -7390,6 +7905,14 @@ export declare interface HeatmapChartConfig {
7390
7905
  valueFormatter?: (value: number) => string;
7391
7906
  }
7392
7907
 
7908
+ /**
7909
+ * Skeleton for heatmap chart content area.
7910
+ *
7911
+ * Renders a 5×4 grid of rectangles with varied opacities to simulate
7912
+ * heatmap data, plus placeholder axis labels.
7913
+ */
7914
+ export declare function HeatmapChartSkeleton(): JSX_2.Element;
7915
+
7393
7916
  declare interface HeatmapComputation {
7394
7917
  datasetId: string;
7395
7918
  xAxis: string;
@@ -7816,6 +8339,27 @@ export declare interface LineChartConfig extends ChartConfigBase {
7816
8339
  showDots?: boolean;
7817
8340
  }
7818
8341
 
8342
+ /**
8343
+ * Skeleton for line chart content area.
8344
+ *
8345
+ * - `lineType`: controls the SVG path shape (smooth curves, straight lines, or steps).
8346
+ * - `showArea: true` (default): gradient fill below the line.
8347
+ * - `showArea: false`: line only, no fill.
8348
+ * - `showDots: true`: SVG circles at each data point.
8349
+ */
8350
+ export declare function LineChartSkeleton({ lineType, showArea, showDots, showLegend, }?: LineChartSkeletonProps): JSX_2.Element;
8351
+
8352
+ declare interface LineChartSkeletonProps {
8353
+ /** Line interpolation type. @default "linear" */
8354
+ lineType?: "linear" | "smooth" | "step";
8355
+ /** Show gradient area fill below line. @default true */
8356
+ showArea?: boolean;
8357
+ /** Show data point dots on the line. @default false */
8358
+ showDots?: boolean;
8359
+ /** Show legend below chart. @default true */
8360
+ showLegend?: boolean;
8361
+ }
8362
+
7819
8363
  declare type LinkContextValue = {
7820
8364
  currentPath?: string;
7821
8365
  component?: (props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) => JSX.Element;
@@ -8659,6 +9203,21 @@ export declare interface PieChartConfig {
8659
9203
  valueFormatter?: (value: number) => string;
8660
9204
  }
8661
9205
 
9206
+ /**
9207
+ * Skeleton for pie/donut chart content area.
9208
+ *
9209
+ * - `innerRadius: 0` (default): solid pie circle.
9210
+ * - `innerRadius > 0`: donut with a hollow center.
9211
+ */
9212
+ export declare function PieChartSkeleton({ showLegend, innerRadius, }?: PieChartSkeletonProps): JSX_2.Element;
9213
+
9214
+ declare interface PieChartSkeletonProps {
9215
+ /** Show legend below chart. @default true */
9216
+ showLegend?: boolean;
9217
+ /** Inner radius percentage. 0 = pie, >0 = donut. @default 0 */
9218
+ innerRadius?: number;
9219
+ }
9220
+
8662
9221
  declare interface PieComputation {
8663
9222
  datasetId: string;
8664
9223
  nameColumn: string;
@@ -8972,6 +9531,16 @@ declare type QuestionPropsToOmit = "onAction" | "onChange" | "onAddNewElement";
8972
9531
 
8973
9532
  export declare type QuestionType = "rating" | "select" | "multi-select" | "dropdown-single" | "dropdown-multi" | "text" | "longText" | "numeric" | "link" | "date" | "file" | "checkbox";
8974
9533
 
9534
+ export declare const RadarChart: <K extends ChartConfig_3>(props: RadarChartProps<K> & {
9535
+ dataTestId?: string;
9536
+ } & {
9537
+ ref?: ForwardedRef<HTMLDivElement>;
9538
+ }) => ReactElement | null;
9539
+
9540
+ export declare const _RadarChart: <K extends ChartConfig_3>({ data, dataConfig, scaleMin, scaleMax, aspect, dataTestId, }: RadarChartProps<K> & {
9541
+ dataTestId?: string;
9542
+ }, ref: ForwardedRef<HTMLDivElement>) => JSX_2.Element;
9543
+
8975
9544
  export declare interface RadarChartConfig {
8976
9545
  type: "radar";
8977
9546
  /** Fill the radar area. @default true */
@@ -8984,6 +9553,26 @@ export declare interface RadarChartConfig {
8984
9553
  valueFormatter?: (value: number) => string;
8985
9554
  }
8986
9555
 
9556
+ export declare type RadarChartProps<K extends ChartConfig_3> = {
9557
+ dataConfig: K;
9558
+ data: ChartItem<K>[];
9559
+ scaleMin?: number;
9560
+ scaleMax?: number;
9561
+ aspect?: ComponentProps<typeof ChartContainer>["aspect"];
9562
+ };
9563
+
9564
+ /**
9565
+ * Skeleton for radar chart content area.
9566
+ *
9567
+ * Renders a hexagonal shape with concentric rings and radial lines.
9568
+ */
9569
+ export declare function RadarChartSkeleton({ showLegend, }?: RadarChartSkeletonProps): JSX_2.Element;
9570
+
9571
+ declare interface RadarChartSkeletonProps {
9572
+ /** Show legend below chart. @default true */
9573
+ showLegend?: boolean;
9574
+ }
9575
+
8987
9576
  declare interface RadarComputation {
8988
9577
  datasetId: string;
8989
9578
  seriesColumn: string;
@@ -10045,6 +10634,11 @@ declare const textVariants: (props?: ({
10045
10634
  className?: ClassValue;
10046
10635
  })) | undefined) => string;
10047
10636
 
10637
+ declare const THEMES: {
10638
+ readonly light: "";
10639
+ readonly dark: ".dark";
10640
+ };
10641
+
10048
10642
  export declare type TimelineRowStatus = (typeof timelineRowStatuses)[number];
10049
10643
 
10050
10644
  export declare const timelineRowStatuses: readonly ["completed", "in-progress", "not-started"];
@@ -10131,6 +10725,15 @@ export declare interface TwoColumnLayoutProps {
10131
10725
  */
10132
10726
  export declare function unwrapZodSchema(schema: ZodTypeAny): ZodTypeAny;
10133
10727
 
10728
+ /**
10729
+ * Tracking options for the AI chat
10730
+ */
10731
+ export declare type UploadedFile = {
10732
+ url: string;
10733
+ filename: string;
10734
+ mimetype: string;
10735
+ };
10736
+
10134
10737
  declare type UpsellAction = BaseAction & {
10135
10738
  type: "upsell";
10136
10739
  variant: "promote" | "outlinePromote";
@@ -10801,6 +11404,16 @@ declare type ValueDisplayVisualizationType = "table" | "card" | "list" | (string
10801
11404
 
10802
11405
  export declare type Variant = (typeof statuses)[number];
10803
11406
 
11407
+ declare const variants: (props?: ({
11408
+ aspect?: "small" | "square" | "wide" | undefined;
11409
+ } & ({
11410
+ class?: ClassValue;
11411
+ className?: never;
11412
+ } | {
11413
+ class?: never;
11414
+ className?: ClassValue;
11415
+ })) | undefined) => string;
11416
+
10804
11417
  export declare const VerticalBarChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<ChartPropsBase<ChartConfig_2> & {
10805
11418
  label?: boolean;
10806
11419
  showRatio?: boolean;
@@ -10848,6 +11461,10 @@ export declare type WelcomeScreenSuggestion = {
10848
11461
  prompt?: string;
10849
11462
  };
10850
11463
 
11464
+ declare interface WiggleOptions {
11465
+ errorHighlight?: boolean;
11466
+ }
11467
+
10851
11468
  export declare const withDataTestId: <T extends default_2.ComponentType<any>>(component: T) => WithDataTestIdReturnType<T>;
10852
11469
 
10853
11470
  export declare type WithDataTestIdProps = {