@factorialco/f0-react 1.434.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"];
@@ -925,6 +948,24 @@ export declare interface BarChartConfig extends ChartConfigBase {
925
948
  stacked?: boolean;
926
949
  }
927
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
+
928
969
  declare type BaseAction = {
929
970
  label: string;
930
971
  onClick: () => Promise<void> | void;
@@ -1685,6 +1726,87 @@ declare interface CardSecondaryLink extends Pick<F0LinkProps, "href" | "target"
1685
1726
  label: string;
1686
1727
  }
1687
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
+
1688
1810
  declare type CardVisualizationOptions<T, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
1689
1811
  cardProperties: ReadonlyArray<CardPropertyDefinition<T>>;
1690
1812
  title: (record: T) => string;
@@ -1701,13 +1823,13 @@ declare type CardVisualizationOptions<T, _Filters extends FiltersDefinition, _So
1701
1823
  export declare const CategoryBarChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<CategoryBarProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>>;
1702
1824
 
1703
1825
  /** A valid chart color token — one of the 15 chromatic F0 base-color names. */
1704
- declare type ChartColorToken = (typeof chartColorTokens)[number];
1826
+ export declare type ChartColorToken = (typeof chartColorTokens)[number];
1705
1827
 
1706
1828
  /**
1707
1829
  * The 15 chromatic color names from the F0 design token palette.
1708
1830
  * These are the only colors allowed for custom series / data-point colors.
1709
1831
  */
1710
- 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"];
1711
1833
 
1712
1834
  declare interface ChartComputation {
1713
1835
  datasetId: string;
@@ -1720,6 +1842,21 @@ declare interface ChartComputation {
1720
1842
  limit?: number;
1721
1843
  }
1722
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
+
1723
1860
  declare interface ChartConfigBase {
1724
1861
  /** Show the legend below the chart. @default true */
1725
1862
  showLegend?: boolean;
@@ -1733,6 +1870,85 @@ declare interface ChartConfigBase {
1733
1870
  categoryFormatter?: (value: string) => string;
1734
1871
  }
1735
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
+
1736
1952
  declare interface ChatDashboardBarChartConfig extends ChatDashboardChartConfigBase {
1737
1953
  type: "bar";
1738
1954
  orientation?: "vertical" | "horizontal";
@@ -1963,6 +2179,11 @@ declare type ChildrenPaginationInfo = {
1963
2179
 
1964
2180
  declare type ChildrenResponse<R extends RecordType> = NestedResponseWithType<R>;
1965
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
+
1966
2187
  declare type ChipLabel = {
1967
2188
  label: string;
1968
2189
  } & ({
@@ -1976,7 +2197,7 @@ declare type ChipLabel = {
1976
2197
  avatar?: never;
1977
2198
  });
1978
2199
 
1979
- declare type ChipProps = BaseChipProps & ChipVariants & {
2200
+ export declare type ChipProps = BaseChipProps & ChipVariants & {
1980
2201
  variant?: "default" | "selected";
1981
2202
  };
1982
2203
 
@@ -1997,7 +2218,7 @@ declare type ChipVariants = {
1997
2218
  icon?: undefined;
1998
2219
  };
1999
2220
 
2000
- declare const chipVariants: (props?: ({
2221
+ export declare const chipVariants: (props?: ({
2001
2222
  variant?: "default" | "selected" | undefined;
2002
2223
  } & ({
2003
2224
  class?: ClassValue;
@@ -3855,6 +4076,51 @@ declare type ExtractVisualizationSettings<T> = T extends {
3855
4076
  };
3856
4077
  } ? S : never;
3857
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
+
3858
4124
  export declare const F0ActionItem: ({ title, status, inGroup }: F0ActionItemProps) => JSX_2.Element;
3859
4125
 
3860
4126
  /**
@@ -4835,11 +5101,16 @@ declare type F0CustomFieldConfigWithConfig<TValue = unknown, TConfig = unknown>
4835
5101
  fieldType: "custom";
4836
5102
  };
4837
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
+
4838
5109
  /**
4839
5110
  * A single data point in a bar chart series.
4840
5111
  * Can be a simple number or an object with value and optional target.
4841
5112
  */
4842
- declare type F0DataChartBarDataPoint = number | {
5113
+ export declare type F0DataChartBarDataPoint = number | {
4843
5114
  value: number;
4844
5115
  /** When set, renders a gradient fade from the bar top up to the target value */
4845
5116
  target?: number;
@@ -4847,10 +5118,24 @@ declare type F0DataChartBarDataPoint = number | {
4847
5118
  color?: ChartColorToken;
4848
5119
  };
4849
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
+
4850
5135
  /**
4851
5136
  * A series of bars to render in the chart.
4852
5137
  */
4853
- declare interface F0DataChartBarSeries {
5138
+ export declare interface F0DataChartBarSeries {
4854
5139
  /** Display name used in legend and tooltip */
4855
5140
  name: string;
4856
5141
  /** Data points — one per category */
@@ -4859,11 +5144,28 @@ declare interface F0DataChartBarSeries {
4859
5144
  color?: ChartColorToken;
4860
5145
  }
4861
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
+
4862
5164
  /**
4863
5165
  * A single data point in a funnel chart series.
4864
5166
  * Each point has a value and a stage name.
4865
5167
  */
4866
- declare interface F0DataChartFunnelDataPoint {
5168
+ export declare interface F0DataChartFunnelDataPoint {
4867
5169
  /** Numeric value for this funnel stage */
4868
5170
  value: number;
4869
5171
  /** Stage label (e.g. "Applied", "Phone Screen", "Hired") */
@@ -4872,10 +5174,49 @@ declare interface F0DataChartFunnelDataPoint {
4872
5174
  color?: ChartColorToken;
4873
5175
  }
4874
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
+
4875
5216
  /**
4876
5217
  * A single funnel series with named data points.
4877
5218
  */
4878
- declare interface F0DataChartFunnelSeries {
5219
+ export declare interface F0DataChartFunnelSeries {
4879
5220
  /** Display name used in legend and tooltip */
4880
5221
  name: string;
4881
5222
  /** Data points — one per funnel stage */
@@ -4884,18 +5225,90 @@ declare interface F0DataChartFunnelSeries {
4884
5225
  color?: ChartColorToken;
4885
5226
  }
4886
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
+
4887
5284
  /**
4888
5285
  * A single data point in a line chart series.
4889
5286
  * Can be a simple number or an object with a value.
4890
5287
  */
4891
- declare type F0DataChartLineDataPoint = number | {
5288
+ export declare type F0DataChartLineDataPoint = number | {
4892
5289
  value: number;
4893
5290
  };
4894
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
+
4895
5308
  /**
4896
5309
  * A series of data points to render as a line.
4897
5310
  */
4898
- declare interface F0DataChartLineSeries {
5311
+ export declare interface F0DataChartLineSeries {
4899
5312
  /** Display name used in legend and tooltip */
4900
5313
  name: string;
4901
5314
  /** Data points — one per category */
@@ -4911,12 +5324,12 @@ declare interface F0DataChartLineSeries {
4911
5324
  }
4912
5325
 
4913
5326
  /** Line interpolation type */
4914
- declare type F0DataChartLineType = "linear" | "smooth" | "step";
5327
+ export declare type F0DataChartLineType = "linear" | "smooth" | "step";
4915
5328
 
4916
5329
  /**
4917
5330
  * A single data point in a pie chart.
4918
5331
  */
4919
- declare interface F0DataChartPieDataPoint {
5332
+ export declare interface F0DataChartPieDataPoint {
4920
5333
  /** Numeric value for this segment */
4921
5334
  value: number;
4922
5335
  /** Segment label */
@@ -4925,10 +5338,35 @@ declare interface F0DataChartPieDataPoint {
4925
5338
  color?: ChartColorToken;
4926
5339
  }
4927
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
+
4928
5366
  /**
4929
5367
  * A single pie series with named data points.
4930
5368
  */
4931
- declare interface F0DataChartPieSeries {
5369
+ export declare interface F0DataChartPieSeries {
4932
5370
  /** Display name used in tooltip */
4933
5371
  name: string;
4934
5372
  /** Data points — one per pie segment */
@@ -4937,20 +5375,52 @@ declare interface F0DataChartPieSeries {
4937
5375
  color?: ChartColorToken;
4938
5376
  }
4939
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
+
4940
5386
  /**
4941
5387
  * A radar chart indicator (axis/dimension).
4942
5388
  */
4943
- declare interface F0DataChartRadarIndicator {
5389
+ export declare interface F0DataChartRadarIndicator {
4944
5390
  /** Name of the axis/dimension (e.g. "Performance", "Engagement") */
4945
5391
  name: string;
4946
5392
  /** Maximum value for this axis. @default auto-calculated from data */
4947
5393
  max?: number;
4948
5394
  }
4949
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
+
4950
5420
  /**
4951
5421
  * A series of data points for a radar chart.
4952
5422
  */
4953
- declare interface F0DataChartRadarSeries {
5423
+ export declare interface F0DataChartRadarSeries {
4954
5424
  /** Display name used in legend and tooltip (e.g. "Team A", "Team B") */
4955
5425
  name: string;
4956
5426
  /** Values — one per indicator, in the same order */
@@ -7140,6 +7610,26 @@ export declare interface FunnelChartConfig {
7140
7610
  valueFormatter?: (value: number) => string;
7141
7611
  }
7142
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
+
7143
7633
  /**
7144
7634
  * Gap tokens for spacing between flex/grid children.
7145
7635
  * Uses betweenSpacing (rem) for sm–xl, absoluteSpacing (px) for extended sizes.
@@ -7173,6 +7663,14 @@ export declare interface GaugeChartConfig {
7173
7663
  valueFormatter?: (value: number) => string;
7174
7664
  }
7175
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
+
7176
7674
  declare interface GaugeComputation {
7177
7675
  datasetId: string;
7178
7676
  aggregation: AggregationType;
@@ -7407,6 +7905,14 @@ export declare interface HeatmapChartConfig {
7407
7905
  valueFormatter?: (value: number) => string;
7408
7906
  }
7409
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
+
7410
7916
  declare interface HeatmapComputation {
7411
7917
  datasetId: string;
7412
7918
  xAxis: string;
@@ -7833,6 +8339,27 @@ export declare interface LineChartConfig extends ChartConfigBase {
7833
8339
  showDots?: boolean;
7834
8340
  }
7835
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
+
7836
8363
  declare type LinkContextValue = {
7837
8364
  currentPath?: string;
7838
8365
  component?: (props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) => JSX.Element;
@@ -8676,6 +9203,21 @@ export declare interface PieChartConfig {
8676
9203
  valueFormatter?: (value: number) => string;
8677
9204
  }
8678
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
+
8679
9221
  declare interface PieComputation {
8680
9222
  datasetId: string;
8681
9223
  nameColumn: string;
@@ -8989,6 +9531,16 @@ declare type QuestionPropsToOmit = "onAction" | "onChange" | "onAddNewElement";
8989
9531
 
8990
9532
  export declare type QuestionType = "rating" | "select" | "multi-select" | "dropdown-single" | "dropdown-multi" | "text" | "longText" | "numeric" | "link" | "date" | "file" | "checkbox";
8991
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
+
8992
9544
  export declare interface RadarChartConfig {
8993
9545
  type: "radar";
8994
9546
  /** Fill the radar area. @default true */
@@ -9001,6 +9553,26 @@ export declare interface RadarChartConfig {
9001
9553
  valueFormatter?: (value: number) => string;
9002
9554
  }
9003
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
+
9004
9576
  declare interface RadarComputation {
9005
9577
  datasetId: string;
9006
9578
  seriesColumn: string;
@@ -10062,6 +10634,11 @@ declare const textVariants: (props?: ({
10062
10634
  className?: ClassValue;
10063
10635
  })) | undefined) => string;
10064
10636
 
10637
+ declare const THEMES: {
10638
+ readonly light: "";
10639
+ readonly dark: ".dark";
10640
+ };
10641
+
10065
10642
  export declare type TimelineRowStatus = (typeof timelineRowStatuses)[number];
10066
10643
 
10067
10644
  export declare const timelineRowStatuses: readonly ["completed", "in-progress", "not-started"];
@@ -10827,6 +11404,16 @@ declare type ValueDisplayVisualizationType = "table" | "card" | "list" | (string
10827
11404
 
10828
11405
  export declare type Variant = (typeof statuses)[number];
10829
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
+
10830
11417
  export declare const VerticalBarChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<ChartPropsBase<ChartConfig_2> & {
10831
11418
  label?: boolean;
10832
11419
  showRatio?: boolean;
@@ -10874,6 +11461,10 @@ export declare type WelcomeScreenSuggestion = {
10874
11461
  prompt?: string;
10875
11462
  };
10876
11463
 
11464
+ declare interface WiggleOptions {
11465
+ errorHighlight?: boolean;
11466
+ }
11467
+
10877
11468
  export declare const withDataTestId: <T extends default_2.ComponentType<any>>(component: T) => WithDataTestIdReturnType<T>;
10878
11469
 
10879
11470
  export declare type WithDataTestIdProps = {