@factorialco/f0-react 6.3.3 → 6.4.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.
@@ -2045,7 +2045,7 @@ declare interface ChatDashboardBarChartConfig extends ChatDashboardChartConfigBa
2045
2045
  stacked?: boolean;
2046
2046
  }
2047
2047
 
2048
- declare type ChatDashboardChartConfig = ChatDashboardBarChartConfig | ChatDashboardLineChartConfig | ChatDashboardFunnelChartConfig | ChatDashboardRadarChartConfig | ChatDashboardPieChartConfig | ChatDashboardGaugeChartConfig | ChatDashboardHeatmapChartConfig;
2048
+ declare type ChatDashboardChartConfig = ChatDashboardBarChartConfig | ChatDashboardLineChartConfig | ChatDashboardFunnelChartConfig | ChatDashboardRadarChartConfig | ChatDashboardPieChartConfig | ChatDashboardGaugeChartConfig | ChatDashboardHeatmapChartConfig | ChatDashboardScatterChartConfig;
2049
2049
 
2050
2050
  declare interface ChatDashboardChartConfigBase {
2051
2051
  showLegend?: boolean;
@@ -2057,7 +2057,7 @@ declare interface ChatDashboardChartConfigBase {
2057
2057
  declare interface ChatDashboardChartItem extends ChatDashboardItemBase {
2058
2058
  type: "chart";
2059
2059
  chart: ChatDashboardChartConfig;
2060
- computation: ChartComputation | RadarComputation | PieComputation | GaugeComputation | HeatmapComputation;
2060
+ computation: ChartComputation | RadarComputation | PieComputation | GaugeComputation | HeatmapComputation | ScatterComputation;
2061
2061
  }
2062
2062
 
2063
2063
  declare interface ChatDashboardCollectionItem extends ChatDashboardItemBase {
@@ -2244,6 +2244,23 @@ declare interface ChatDashboardRadarChartConfig extends ChatDashboardChartConfig
2244
2244
  showArea?: boolean;
2245
2245
  }
2246
2246
 
2247
+ declare interface ChatDashboardScatterChartConfig {
2248
+ type: "scatter";
2249
+ pointSize?: number;
2250
+ scaleAxes?: boolean;
2251
+ showGrid?: boolean;
2252
+ /** Only rendered with 2+ series, but still needed so a skeleton can reserve for it. */
2253
+ showLegend?: boolean;
2254
+ /** What the X measure is, e.g. "salary" — labels the x row in the tooltip */
2255
+ xAxisName?: string;
2256
+ /** What the Y measure is, e.g. "tenure" — labels the y row in the tooltip */
2257
+ yAxisName?: string;
2258
+ /** Formats the Y measure */
2259
+ valueFormat?: FormatPreset;
2260
+ /** Formats the X measure, which is a second measure rather than a category */
2261
+ xValueFormat?: FormatPreset;
2262
+ }
2263
+
2247
2264
  export declare type ChatWidgetEmptyStateProps = Props_6;
2248
2265
 
2249
2266
  declare type ChildrenPaginationInfo = {
@@ -9622,6 +9639,21 @@ export declare type RichTextEditorProps = F0RichTextEditorProps;
9622
9639
  /** @deprecated Use F0RichTextEditorSkeletonProps */
9623
9640
  export declare type RichTextEditorSkeletonProps = F0RichTextEditorSkeletonProps;
9624
9641
 
9642
+ /**
9643
+ * Both axes are measures, so there is no aggregation: a scatter plots one
9644
+ * point per row rather than grouping rows into categories. `label` names the
9645
+ * column identifying each point, and `series` the optional column that splits
9646
+ * the points into colour groups.
9647
+ */
9648
+ declare interface ScatterComputation {
9649
+ datasetId: string;
9650
+ xAxis: string;
9651
+ yAxis: string;
9652
+ label?: string;
9653
+ series?: string;
9654
+ limit?: number;
9655
+ }
9656
+
9625
9657
  export declare const ScrollArea: WithDataTestIdReturnType<ForwardRefExoticComponent<Omit<Omit<ScrollAreaProps & RefAttributes<HTMLDivElement>, "ref"> & {
9626
9658
  showBar?: boolean;
9627
9659
  viewportRef?: React.RefObject<HTMLDivElement>;
package/dist/f0.d.ts CHANGED
@@ -2802,7 +2802,7 @@ export declare interface ChatDashboardBarChartConfig extends ChatDashboardChartC
2802
2802
  stacked?: boolean;
2803
2803
  }
2804
2804
 
2805
- export declare type ChatDashboardChartConfig = ChatDashboardBarChartConfig | ChatDashboardLineChartConfig | ChatDashboardFunnelChartConfig | ChatDashboardRadarChartConfig | ChatDashboardPieChartConfig | ChatDashboardGaugeChartConfig | ChatDashboardHeatmapChartConfig;
2805
+ export declare type ChatDashboardChartConfig = ChatDashboardBarChartConfig | ChatDashboardLineChartConfig | ChatDashboardFunnelChartConfig | ChatDashboardRadarChartConfig | ChatDashboardPieChartConfig | ChatDashboardGaugeChartConfig | ChatDashboardHeatmapChartConfig | ChatDashboardScatterChartConfig;
2806
2806
 
2807
2807
  declare interface ChatDashboardChartConfigBase {
2808
2808
  showLegend?: boolean;
@@ -2814,7 +2814,7 @@ declare interface ChatDashboardChartConfigBase {
2814
2814
  export declare interface ChatDashboardChartItem extends ChatDashboardItemBase {
2815
2815
  type: "chart";
2816
2816
  chart: ChatDashboardChartConfig;
2817
- computation: ChartComputation | RadarComputation | PieComputation | GaugeComputation | HeatmapComputation;
2817
+ computation: ChartComputation | RadarComputation | PieComputation | GaugeComputation | HeatmapComputation | ScatterComputation;
2818
2818
  }
2819
2819
 
2820
2820
  export declare interface ChatDashboardCollectionItem extends ChatDashboardItemBase {
@@ -3001,6 +3001,23 @@ export declare interface ChatDashboardRadarChartConfig extends ChatDashboardChar
3001
3001
  showArea?: boolean;
3002
3002
  }
3003
3003
 
3004
+ export declare interface ChatDashboardScatterChartConfig {
3005
+ type: "scatter";
3006
+ pointSize?: number;
3007
+ scaleAxes?: boolean;
3008
+ showGrid?: boolean;
3009
+ /** Only rendered with 2+ series, but still needed so a skeleton can reserve for it. */
3010
+ showLegend?: boolean;
3011
+ /** What the X measure is, e.g. "salary" — labels the x row in the tooltip */
3012
+ xAxisName?: string;
3013
+ /** What the Y measure is, e.g. "tenure" — labels the y row in the tooltip */
3014
+ yAxisName?: string;
3015
+ /** Formats the Y measure */
3016
+ valueFormat?: FormatPreset;
3017
+ /** Formats the X measure, which is a second measure rather than a category */
3018
+ xValueFormat?: FormatPreset;
3019
+ }
3020
+
3004
3021
  export declare const ChatSpinner: ForwardRefExoticComponent<ChatSpinnerProps & RefAttributes<HTMLDivElement>>;
3005
3022
 
3006
3023
  declare interface ChatSpinnerProps {
@@ -3645,7 +3662,7 @@ export declare type DashboardCanvasContent = CanvasContentBase & {
3645
3662
  * Chart display configuration — discriminated on `type`.
3646
3663
  * This object is JSON-serializable (no functions, except optional formatters).
3647
3664
  */
3648
- export declare type DashboardChartConfig = BarChartConfig | LineChartConfig | FunnelChartConfig | PieChartConfig | RadarChartConfig | GaugeChartConfig | HeatmapChartConfig;
3665
+ export declare type DashboardChartConfig = BarChartConfig | LineChartConfig | FunnelChartConfig | PieChartConfig | RadarChartConfig | GaugeChartConfig | HeatmapChartConfig | ScatterChartConfig;
3649
3666
 
3650
3667
  export declare interface DashboardChartData {
3651
3668
  /** Category axis labels. Required for bar/line charts. */
@@ -3663,6 +3680,12 @@ export declare interface DashboardChartData {
3663
3680
  };
3664
3681
  /** Heatmap data points as [xIndex, yIndex, value] tuples. */
3665
3682
  data?: [number, number, number][];
3683
+ /**
3684
+ * Scatter series — x/y pairs, optionally split into color groups. Kept on
3685
+ * its own field rather than reusing `series` or `data` so shape detection
3686
+ * can never confuse it with a bar/line series array or the heatmap grid.
3687
+ */
3688
+ scatterSeries?: F0DataChartScatterSeries[];
3666
3689
  }
3667
3690
 
3668
3691
  export declare interface DashboardChartItem<Filters extends FiltersDefinition = FiltersDefinition> extends DashboardItemBase {
@@ -8751,9 +8774,9 @@ export declare interface F0DataChartPieSeries {
8751
8774
  * Props for the F0DataChart component.
8752
8775
  *
8753
8776
  * A unified chart component that supports bar, line, funnel, pie, radar,
8754
- * gauge, and heatmap chart types via a discriminated `type` prop.
8777
+ * gauge, heatmap, and scatter chart types via a discriminated `type` prop.
8755
8778
  */
8756
- export declare type F0DataChartProps = F0DataChartBarProps | F0DataChartLineProps | F0DataChartFunnelProps | F0DataChartPieProps | F0DataChartRadarProps | F0DataChartGaugeProps | F0DataChartHeatmapProps;
8779
+ export declare type F0DataChartProps = F0DataChartBarProps | F0DataChartLineProps | F0DataChartFunnelProps | F0DataChartPieProps | F0DataChartRadarProps | F0DataChartGaugeProps | F0DataChartHeatmapProps | F0DataChartScatterProps;
8757
8780
 
8758
8781
  /**
8759
8782
  * A radar chart indicator (axis/dimension).
@@ -8808,6 +8831,89 @@ export declare interface F0DataChartRadarSeries {
8808
8831
  color?: ChartColorToken;
8809
8832
  }
8810
8833
 
8834
+ /**
8835
+ * A single point in a scatter series.
8836
+ *
8837
+ * The bare `[x, y]` tuple is the terse form. The object form additionally
8838
+ * carries `label` — the point's identity (e.g. an employee or team name),
8839
+ * shown as the tooltip header.
8840
+ */
8841
+ export declare type F0DataChartScatterDataPoint = [number, number] | {
8842
+ /** Horizontal position, plotted on the value X axis */
8843
+ x: number;
8844
+ /** Vertical position, plotted on the value Y axis */
8845
+ y: number;
8846
+ /** Identity of this point, used as the tooltip header (e.g. "Ana Ruiz") */
8847
+ label?: string;
8848
+ /** Override color for this individual point. Must be an F0 design token name. */
8849
+ color?: ChartColorToken;
8850
+ };
8851
+
8852
+ /**
8853
+ * Scatter chart variant props.
8854
+ *
8855
+ * Plots x/y pairs on two value axes to show the relationship between two
8856
+ * measures. Unlike bar/line there is no category axis — both axes are
8857
+ * continuous — so this interface is separate from `F0DataChartBaseProps`.
8858
+ * Pass multiple `series` to color-split the points by a group dimension.
8859
+ */
8860
+ export declare interface F0DataChartScatterProps extends F0DataChartCommonProps {
8861
+ /** Chart type */
8862
+ type: "scatter";
8863
+ /** One or more point groups. Multiple series render as a color split. */
8864
+ series: F0DataChartScatterSeries[];
8865
+ /** Point diameter in pixels. @default 12 */
8866
+ pointSize?: number;
8867
+ /**
8868
+ * Fit each axis to its data range instead of anchoring it at zero. Turn off
8869
+ * to force both axes through the origin. @default true
8870
+ */
8871
+ scaleAxes?: boolean;
8872
+ /** Show the legend below the chart. Only rendered with 2+ series. @default true */
8873
+ showLegend?: boolean;
8874
+ /** Show the background grid lines on both axes. @default true */
8875
+ showGrid?: boolean;
8876
+ /** Format the Y axis tick labels */
8877
+ valueFormatter?: (value: number) => string;
8878
+ /** Format the X axis tick labels */
8879
+ xValueFormatter?: (value: number) => string;
8880
+ /**
8881
+ * Formatter for the y value shown in the hover tooltip. Defaults to
8882
+ * {@link valueFormatter}, so a unit or a currency on the Y axis reads the same
8883
+ * on hover, then to a plain localized number. Set it when the axis has to
8884
+ * stay compact ("107.5K") but the tooltip should be exact ("107,505").
8885
+ */
8886
+ tooltipValueFormatter?: (value: number) => string;
8887
+ /**
8888
+ * Formatter for the x value shown in the hover tooltip. Same contract as
8889
+ * {@link tooltipValueFormatter}, against {@link xValueFormatter}.
8890
+ */
8891
+ xTooltipValueFormatter?: (value: number) => string;
8892
+ /**
8893
+ * What the X measure is, e.g. "salary". Labels the x row in the tooltip —
8894
+ * a scatter has no headline value, so both coordinates read as rows and
8895
+ * need naming, the same way radar names its indicators.
8896
+ */
8897
+ xAxisName?: string;
8898
+ /** What the Y measure is, e.g. "tenure". Labels the y row in the tooltip. */
8899
+ yAxisName?: string;
8900
+ /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
8901
+ echartsOptions?: Partial<echarts_2.EChartsOption>;
8902
+ }
8903
+
8904
+ /**
8905
+ * A group of points sharing a color and a legend entry. Use one series per
8906
+ * group value to split a scatter by a dimension (e.g. one per department).
8907
+ */
8908
+ export declare interface F0DataChartScatterSeries {
8909
+ /** Display name used in legend and tooltip */
8910
+ name: string;
8911
+ /** Points in this group */
8912
+ data: F0DataChartScatterDataPoint[];
8913
+ /** Override color for this series. Must be an F0 design token name. Falls back to the theme palette. */
8914
+ color?: ChartColorToken;
8915
+ }
8916
+
8811
8917
  /**
8812
8918
  * F0 config options specific to date fields
8813
8919
  *
@@ -16287,6 +16393,53 @@ declare type SampleRatingQuestion = {
16287
16393
  maxLabel?: string;
16288
16394
  };
16289
16395
 
16396
+ export declare interface ScatterChartConfig {
16397
+ type: "scatter";
16398
+ /** Point diameter in pixels. @default 12 */
16399
+ pointSize?: number;
16400
+ /** Fit each axis to its data range instead of anchoring it at zero. @default true */
16401
+ scaleAxes?: boolean;
16402
+ /** Show the legend below the chart. Only rendered with 2+ series. @default true */
16403
+ showLegend?: boolean;
16404
+ /** Show the background grid lines. @default true */
16405
+ showGrid?: boolean;
16406
+ /** Format the Y axis tick labels */
16407
+ valueFormatter?: (value: number) => string;
16408
+ /** Format the X axis tick labels */
16409
+ xValueFormatter?: (value: number) => string;
16410
+ /** Format the y value in the tooltip, which shows full numbers */
16411
+ tooltipValueFormatter?: (value: number) => string;
16412
+ /** Format the x value in the tooltip, which shows full numbers */
16413
+ xTooltipValueFormatter?: (value: number) => string;
16414
+ /** What the X measure is, e.g. "salary" — labels the x row in the tooltip */
16415
+ xAxisName?: string;
16416
+ /** What the Y measure is, e.g. "tenure" — labels the y row in the tooltip */
16417
+ yAxisName?: string;
16418
+ }
16419
+
16420
+ /** Skeleton for scatter chart content area — points with no connecting path. */
16421
+ export declare function ScatterChartSkeleton({ showLegend, }?: ScatterChartSkeletonProps): JSX_2.Element;
16422
+
16423
+ declare interface ScatterChartSkeletonProps {
16424
+ /** Show the legend row below the plot. @default true */
16425
+ showLegend?: boolean;
16426
+ }
16427
+
16428
+ /**
16429
+ * Both axes are measures, so there is no aggregation: a scatter plots one
16430
+ * point per row rather than grouping rows into categories. `label` names the
16431
+ * column identifying each point, and `series` the optional column that splits
16432
+ * the points into colour groups.
16433
+ */
16434
+ export declare interface ScatterComputation {
16435
+ datasetId: string;
16436
+ xAxis: string;
16437
+ yAxis: string;
16438
+ label?: string;
16439
+ series?: string;
16440
+ limit?: number;
16441
+ }
16442
+
16290
16443
  export declare type SearchFilterDefinition = BaseFilterDefinition<"search">;
16291
16444
 
16292
16445
  declare type SearchOptions = {