@factorialco/f0-react 1.438.3 → 1.444.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/{F0AiChat-Cv0j7lo_.js → F0AiChat-RHHqqqMC.js} +142837 -126169
  2. package/dist/F0AiChat.css +1 -1
  3. package/dist/ai.d.ts +597 -7
  4. package/dist/ai.js +12 -10
  5. package/dist/experimental.d.ts +104 -3
  6. package/dist/experimental.js +3581 -3861
  7. package/dist/f0.css +1 -0
  8. package/dist/f0.d.ts +379 -37
  9. package/dist/f0.js +14479 -10522
  10. package/dist/i18n-provider-defaults.d.ts +17 -0
  11. package/dist/i18n-provider-defaults.js +19 -2
  12. package/dist/index-D_fn_du2.js +44284 -0
  13. package/dist/index.css +1 -1
  14. package/dist/styles.css +1 -1
  15. package/dist/types-99qPm9SM.js +2354 -0
  16. package/icons/app/Basket.d.ts +4 -0
  17. package/icons/app/Basket.d.ts.map +1 -0
  18. package/icons/app/Basket.js +5 -0
  19. package/icons/app/Bookmark.d.ts.map +1 -1
  20. package/icons/app/Bookmark.js +1 -1
  21. package/icons/app/BookmarkFilled.d.ts +4 -0
  22. package/icons/app/BookmarkFilled.d.ts.map +1 -0
  23. package/icons/app/BookmarkFilled.js +5 -0
  24. package/icons/app/ChartFunnel.d.ts +4 -0
  25. package/icons/app/ChartFunnel.d.ts.map +1 -0
  26. package/icons/app/ChartFunnel.js +5 -0
  27. package/icons/app/ChartHorizontalBars.d.ts +4 -0
  28. package/icons/app/ChartHorizontalBars.d.ts.map +1 -0
  29. package/icons/app/ChartHorizontalBars.js +5 -0
  30. package/icons/app/ChartLine.d.ts.map +1 -1
  31. package/icons/app/ChartLine.js +2 -2
  32. package/icons/app/ChartPie.d.ts.map +1 -1
  33. package/icons/app/ChartPie.js +2 -2
  34. package/icons/app/ChartVerticalBars.d.ts +4 -0
  35. package/icons/app/ChartVerticalBars.d.ts.map +1 -0
  36. package/icons/app/ChartVerticalBars.js +5 -0
  37. package/icons/app/UserProtected.d.ts +4 -0
  38. package/icons/app/UserProtected.d.ts.map +1 -0
  39. package/icons/app/UserProtected.js +5 -0
  40. package/icons/app/Watch.d.ts.map +1 -1
  41. package/icons/app/Watch.js +1 -1
  42. package/icons/app/index.d.ts +15 -9
  43. package/icons/app/index.d.ts.map +1 -1
  44. package/icons/app/index.js +15 -9
  45. package/package.json +3 -2
  46. package/dist/F0HILActionConfirmation-DDhZML5m.js +0 -1912
  47. package/dist/index-CqiKdYjB.js +0 -63101
package/dist/f0.d.ts CHANGED
@@ -30,6 +30,7 @@ import { ComponentType } from 'react';
30
30
  import { CompoundCellValue } from './types/compound';
31
31
  import { Context } from 'react';
32
32
  import { CopilotKitProps } from '@copilotkit/react-core';
33
+ import { CountCellValue } from './types/count';
33
34
  import { CountryCellValue } from './types/country';
34
35
  import { DashboardProps as DashboardProps_2 } from './Dashboard';
35
36
  import { DateCellValue } from './f0';
@@ -123,6 +124,7 @@ import { SearchFilterOptions } from './SearchFilter/SearchFilter';
123
124
  import { SizeToken as SizeToken_2 } from './types';
124
125
  import { StatusCellValue } from './f0';
125
126
  import { StatusCellValue as StatusCellValue_2 } from './types/status';
127
+ import { SummaryCellValue } from './types/summary';
126
128
  import { SVGProps } from 'react';
127
129
  import * as SwitchPrimitive from '@radix-ui/react-switch';
128
130
  import { TagCellValue } from './f0';
@@ -424,6 +426,21 @@ export declare type AiChatCredits = {
424
426
  planName?: string;
425
427
  };
426
428
 
429
+ /**
430
+ * Credit warning configuration.
431
+ * Groups severity level and action callbacks into a single object.
432
+ *
433
+ * When provided, a warning banner is shown above the chat textarea.
434
+ */
435
+ export declare type AiChatCreditWarning = {
436
+ /** The severity level of the warning. */
437
+ level: "soft";
438
+ /** Called when the user dismisses the credit warning banner. */
439
+ onDismiss?: () => void;
440
+ /** Called when the user clicks the "Get Credits" button. */
441
+ onGetCredits?: () => void;
442
+ };
443
+
427
444
  /**
428
445
  * Disclaimer configuration for the chat input
429
446
  */
@@ -505,6 +522,11 @@ export declare type AiChatProviderProps = {
505
522
  * Groups fetchUsage, upgradePlanUrl, and company/plan display info.
506
523
  */
507
524
  credits?: AiChatCredits;
525
+ /**
526
+ * Credit warning configuration. When provided, shows a warning banner above the chat textarea.
527
+ * Groups severity level and action callbacks.
528
+ */
529
+ creditWarning?: AiChatCreditWarning;
508
530
  /**
509
531
  * File attachment configuration. When provided, enables file uploads in the chat.
510
532
  */
@@ -622,7 +644,14 @@ declare type AiChatProviderReturnValue = {
622
644
  clarifyingQuestion: ClarifyingQuestionState | null;
623
645
  /** Set the current clarifying question (or null to dismiss) */
624
646
  setClarifyingQuestion: React.Dispatch<React.SetStateAction<ClarifyingQuestionState | null>>;
625
- } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "fileAttachments"> & {
647
+ /**
648
+ * Whether files are currently being dragged over the chat window.
649
+ * Set by the ChatWindow drag listeners and read by the DropOverlay
650
+ * to control its visibility.
651
+ */
652
+ fileDragOver: boolean;
653
+ /* Excluded from this release type: setFileDragOver */
654
+ } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "creditWarning" | "fileAttachments"> & {
626
655
  /** The current canvas content, or null when canvas is closed */
627
656
  canvasContent: CanvasContent | null;
628
657
  /** Open the canvas panel with the given content */
@@ -654,6 +683,7 @@ declare interface AiChatState {
654
683
  entityRefs?: EntityRefs;
655
684
  toolHints?: AiChatToolHint[];
656
685
  credits?: AiChatCredits;
686
+ creditWarning?: AiChatCreditWarning;
657
687
  fileAttachments?: AiChatFileAttachmentConfig;
658
688
  placeholders?: string[];
659
689
  setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
@@ -713,6 +743,34 @@ export declare interface AiChatTranslationsProviderProps {
713
743
  translations: AiChatTranslations;
714
744
  }
715
745
 
746
+ export declare type AiInsightCardContent = {
747
+ content: "text";
748
+ } | {
749
+ content: "person";
750
+ avatar: Pick<F0AvatarPersonProps, "firstName" | "lastName" | "src">;
751
+ } | {
752
+ content: "people";
753
+ avatars: Array<Pick<F0AvatarPersonProps, "firstName" | "lastName" | "src">>;
754
+ } | {
755
+ content: "team";
756
+ avatar: Pick<F0AvatarTeamProps, "name" | "src">;
757
+ } | {
758
+ content: "company";
759
+ avatar: Pick<F0AvatarCompanyProps, "name" | "src">;
760
+ } | {
761
+ content: "alert";
762
+ level: Level;
763
+ alertLabel: string;
764
+ } | {
765
+ content: "balance";
766
+ balance: BalanceConfig;
767
+ } | {
768
+ content: "sparkline";
769
+ data: SparklineDataPoint[];
770
+ label: string;
771
+ invertStatus?: boolean;
772
+ };
773
+
716
774
  /**
717
775
  * Default AI chat translations — derived from the global defaultTranslations
718
776
  * to avoid manual duplication.
@@ -783,9 +841,17 @@ export declare const aiTranslations: {
783
841
  readonly openButton: "Open";
784
842
  };
785
843
  readonly dataDownload: {
844
+ readonly title: "Download";
786
845
  readonly download: "Download {{format}}";
787
846
  readonly exportDashboard: "Export dashboard as {{format}}";
788
847
  readonly exporting: "Exporting...";
848
+ readonly rows: "{{amount}} rows";
849
+ };
850
+ readonly dashboardItem: {
851
+ readonly chartType: "Chart type";
852
+ readonly errorTitle: "Error loading data";
853
+ readonly retry: "Retry";
854
+ readonly dataExplanation: "Where does this data come from?";
789
855
  };
790
856
  readonly pong: {
791
857
  readonly title: "Pong";
@@ -807,6 +873,7 @@ export declare const aiTranslations: {
807
873
  };
808
874
  readonly attachFile: "Attach file";
809
875
  readonly removeFile: "Remove";
876
+ readonly dropFilesHere: "Drop your files here";
810
877
  readonly clarifyingQuestion: {
811
878
  readonly submit: "Submit";
812
879
  readonly next: "Next";
@@ -1008,6 +1075,15 @@ declare const badgeVariants: (props?: ({
1008
1075
  className?: ClassValue;
1009
1076
  })) | undefined) => string;
1010
1077
 
1078
+ export declare type BalanceConfig = {
1079
+ amount: RelaxedNumericWithFormatter | Numeric;
1080
+ percentage?: (Omit<RelaxedNumericWithFormatter, "value"> & {
1081
+ value: Omit<Numeric, "units" | "unitsPosition">;
1082
+ }) | Omit<Numeric, "units" | "unitsPosition"> | null;
1083
+ invertStatus?: boolean;
1084
+ hint?: string;
1085
+ };
1086
+
1011
1087
  declare type BalanceTagProps = ComponentProps<typeof F0TagBalance>;
1012
1088
 
1013
1089
  declare type BannerAction = {
@@ -1606,7 +1682,7 @@ declare type CandidateProfile = {
1606
1682
  * Discriminated union for canvas panel content.
1607
1683
  * Add new entity types to this union as they are implemented.
1608
1684
  */
1609
- export declare type CanvasContent = DashboardCanvasContent;
1685
+ export declare type CanvasContent = DashboardCanvasContent | DataDownloadCanvasContent;
1610
1686
 
1611
1687
  /**
1612
1688
  * Base shape shared by all canvas content types.
@@ -1779,6 +1855,10 @@ declare interface CardInternalProps {
1779
1855
  disableOverlayLink?: boolean;
1780
1856
  }
1781
1857
 
1858
+ declare type CardInternalProps_2 = F0AiInsightCardProps & {
1859
+ className?: string;
1860
+ };
1861
+
1782
1862
  declare type CardMetadata = {
1783
1863
  icon: IconType;
1784
1864
  property: Exclude<CardMetadataProperty, {
@@ -2134,12 +2214,21 @@ declare interface ChatDashboardConfig {
2134
2214
  title: string;
2135
2215
  /** Filter definitions — keys become filter IDs */
2136
2216
  filters?: Record<string, ChatDashboardFilterDefinition>;
2217
+ /**
2218
+ * Dashboard-level navigation filters (e.g. date navigator). Keys become
2219
+ * filter IDs. Rendered above the grid by F0AnalyticsDashboard's
2220
+ * `navigationFilters` slot.
2221
+ */
2222
+ navigationFilters?: Record<string, ChatDashboardNavigationFilterDefinition>;
2137
2223
  /** Ordered list of dashboard items with computation specs */
2138
2224
  items: ChatDashboardItem[];
2139
2225
  /** Fetch specs for server-side data retrieval, keyed by datasetId */
2140
2226
  fetchSpecs: Record<string, DashboardFetchSpec>;
2141
2227
  }
2142
2228
 
2229
+ /** Granularity options exposed by F0's `OneDateNavigator`. */
2230
+ declare type ChatDashboardDateNavigationGranularity = "day" | "week" | "month" | "quarter" | "halfyear" | "year" | "range";
2231
+
2143
2232
  declare interface ChatDashboardFilterDefinition {
2144
2233
  type: "in";
2145
2234
  label: string;
@@ -2183,8 +2272,33 @@ declare interface ChatDashboardItemBase {
2183
2272
  description?: string;
2184
2273
  /** Source attribution shown as a subtitle (e.g. "Based on 8 feedbacks from 3 evaluators") */
2185
2274
  sourceDescription?: string;
2275
+ /**
2276
+ * Optional markdown explanation of how this item's data was calculated.
2277
+ * Surfaced via the per-item dropdown's "Where does this data come from?"
2278
+ * entry, which opens a dialog rendering the markdown. Omit to hide the
2279
+ * entry — backwards compatible with persisted dashboards.
2280
+ */
2281
+ explanation?: string;
2282
+ /**
2283
+ * @deprecated Ignored by the renderer — items auto-size to equal-width
2284
+ * slots based on the per-row slot budget. Kept for backwards compatibility
2285
+ * with persisted layouts; safe to leave unset.
2286
+ */
2186
2287
  colSpan?: number;
2288
+ /**
2289
+ * @deprecated Use `itemHeight` (pixels) instead. Kept for backwards
2290
+ * compatibility with persisted layouts: when `itemHeight` is unset, the
2291
+ * grid still reads `rowSpan * 48` as a fallback.
2292
+ */
2187
2293
  rowSpan?: number;
2294
+ /**
2295
+ * Item height in pixels. Takes precedence over `rowSpan` when set. The
2296
+ * row height in the grid is `max(itemHeight)` across all items in the row.
2297
+ * Persisted resizes write a pixel-accurate value here; agent-generated
2298
+ * dashboards should pick from a constrained set of values that match the
2299
+ * data shape (more rows / more categories → taller).
2300
+ */
2301
+ itemHeight?: number;
2188
2302
  x?: number;
2189
2303
  y?: number;
2190
2304
  }
@@ -2216,6 +2330,22 @@ declare interface ChatDashboardMetricItem extends ChatDashboardItemBase {
2216
2330
  computation: MetricComputation;
2217
2331
  }
2218
2332
 
2333
+ /**
2334
+ * Navigation filter definitions emitted by the LLM via `displayDashboard`.
2335
+ * Discriminated on `type`. Today the only supported variant is
2336
+ * `dateNavigation`, which renders F0's date navigator above the dashboard
2337
+ * grid. The `column` and `datasetId` are agent-side metadata used by the
2338
+ * compute SQL builder; they are stripped before reaching F0AnalyticsDashboard.
2339
+ */
2340
+ declare type ChatDashboardNavigationFilterDefinition = {
2341
+ type: "dateNavigation";
2342
+ label: string;
2343
+ column: string;
2344
+ datasetId: string;
2345
+ granularities: ChatDashboardDateNavigationGranularity[];
2346
+ defaultGranularity?: ChatDashboardDateNavigationGranularity;
2347
+ };
2348
+
2219
2349
  declare interface ChatDashboardPieChartConfig {
2220
2350
  type: "pie";
2221
2351
  innerRadius?: number;
@@ -2234,9 +2364,7 @@ export declare const ChatSpinner: ForwardRefExoticComponent<Omit<SVGProps<SVGSVG
2234
2364
 
2235
2365
  declare type ChatTextareaProps = InputProps & {
2236
2366
  submitLabel?: string;
2237
- creditWarning?: "soft";
2238
- onDismissCreditWarning?: () => void;
2239
- onGetCredits?: () => void;
2367
+ creditWarning?: AiChatCreditWarning;
2240
2368
  };
2241
2369
 
2242
2370
  /**
@@ -2564,6 +2692,10 @@ declare const componentTypes: readonly ["layout", "info", "action", "form"];
2564
2692
 
2565
2693
  export declare function computeSectionEndIds(elements: SurveyFormBuilderElement[]): Set<string>;
2566
2694
 
2695
+ export declare type ContentType = (typeof contentTypes)[number];
2696
+
2697
+ export declare const contentTypes: readonly ["text", "person", "people", "team", "company", "alert", "balance", "sparkline"];
2698
+
2567
2699
  declare type CountryCode = keyof TranslationsType["countries"];
2568
2700
 
2569
2701
  export declare function createAtlaskitDriver(instanceId: symbol): DndDriver;
@@ -2773,10 +2905,36 @@ export declare interface DashboardItemBase {
2773
2905
  title: string;
2774
2906
  /** Optional description below the title */
2775
2907
  description?: string;
2776
- /** Number of grid columns this item spans (1–12). */
2908
+ /**
2909
+ * Optional markdown explanation of how this item's data is calculated.
2910
+ * When set, the per-item dropdown menu shows a "Where does this data come
2911
+ * from?" entry that opens a dialog rendering this content as markdown.
2912
+ * Omit to hide the entry entirely (backwards compatible).
2913
+ */
2914
+ explanation?: string;
2915
+ /**
2916
+ * @deprecated Ignored by the renderer — items auto-size to equal-width
2917
+ * slots based on the per-row slot budget. Kept for backwards compatibility
2918
+ * with persisted layouts; safe to leave unset.
2919
+ */
2777
2920
  colSpan?: number;
2778
- /** Number of grid rows this item spans. */
2921
+ /**
2922
+ * @deprecated Use `itemHeight` (pixels) instead. Kept for backwards
2923
+ * compatibility with persisted layouts: when `itemHeight` is unset, the
2924
+ * grid still reads `rowSpan * 48` as a fallback.
2925
+ */
2779
2926
  rowSpan?: number;
2927
+ /**
2928
+ * Item height in pixels. Takes precedence over `rowSpan` when set. The
2929
+ * row height in the grid is `max(itemHeight)` across all items in the row,
2930
+ * so a single tall item makes the whole row tall. When neither
2931
+ * `itemHeight` nor `rowSpan` is provided, the grid falls back to a
2932
+ * type-specific default (chart 336, metric 144, collection 480).
2933
+ *
2934
+ * Should be a multiple of 48 to align with the grid's snap unit, but the
2935
+ * field accepts any positive number for pixel-accurate persisted resizes.
2936
+ */
2937
+ itemHeight?: number;
2780
2938
  /** Grid column position (0-based). When set, skip auto-packing. */
2781
2939
  x?: number;
2782
2940
  /** Grid row position (0-based). When set, skip auto-packing. */
@@ -2793,11 +2951,16 @@ export declare interface DashboardItemBase {
2793
2951
  * Minimal descriptor of a dashboard item's position and size.
2794
2952
  * Used by `onLayoutChange` so the consumer can reconcile layout
2795
2953
  * edits against its own source-of-truth config items.
2954
+ *
2955
+ * Both `rowSpan` (legacy, in 48-unit increments) and `itemHeight`
2956
+ * (canonical, in pixels) are emitted. New consumers should persist
2957
+ * `itemHeight` for pixel-accurate resize round-tripping.
2796
2958
  */
2797
2959
  declare type DashboardItemLayout = {
2798
2960
  id: string;
2799
2961
  colSpan: number;
2800
2962
  rowSpan: number;
2963
+ itemHeight: number;
2801
2964
  x: number;
2802
2965
  y: number;
2803
2966
  };
@@ -2960,6 +3123,46 @@ export declare type DataCollectionStorageHandler<CurrentFiltersState extends Fil
2960
3123
  set: (key: string, storage: DataCollectionStorage<CurrentFiltersState>) => Promise<void>;
2961
3124
  };
2962
3125
 
3126
+ /**
3127
+ * Data download canvas content — renders a full data table with download options.
3128
+ */
3129
+ declare type DataDownloadCanvasContent = CanvasContentBase & {
3130
+ type: "dataDownload";
3131
+ dataset: DataDownloadDataset;
3132
+ filename?: string;
3133
+ markdown?: string;
3134
+ };
3135
+
3136
+ /**
3137
+ * Inline dataset for client-side file generation (Excel / CSV).
3138
+ * Sent by the agent with the raw query results.
3139
+ */
3140
+ declare type DataDownloadDataset = {
3141
+ /**
3142
+ * Column headers in display order.
3143
+ */
3144
+ columns: string[];
3145
+ /**
3146
+ * Array of row objects keyed by column name.
3147
+ */
3148
+ rows: Record<string, unknown>[];
3149
+ /**
3150
+ * Total number of rows returned by the query (before truncation).
3151
+ * Used together with previewCount to render the preview note.
3152
+ */
3153
+ totalCount?: number;
3154
+ /**
3155
+ * Number of rows shown in the markdown preview table.
3156
+ * Used together with totalCount to render the preview note.
3157
+ */
3158
+ previewCount?: number;
3159
+ /**
3160
+ * Map of raw column names to human-readable labels in the user's language.
3161
+ * Used for Excel/CSV headers. Falls back to the raw column name when absent.
3162
+ */
3163
+ columnLabels?: Record<string, string>;
3164
+ };
3165
+
2963
3166
  /**
2964
3167
  * Represents an error that occurred during data fetching
2965
3168
  */
@@ -3545,6 +3748,7 @@ export declare const defaultTranslations: {
3545
3748
  readonly summaries: {
3546
3749
  readonly types: {
3547
3750
  readonly sum: "sum";
3751
+ readonly count: "count";
3548
3752
  };
3549
3753
  };
3550
3754
  readonly export: {
@@ -3697,9 +3901,17 @@ export declare const defaultTranslations: {
3697
3901
  readonly openButton: "Open";
3698
3902
  };
3699
3903
  readonly dataDownload: {
3904
+ readonly title: "Download";
3700
3905
  readonly download: "Download {{format}}";
3701
3906
  readonly exportDashboard: "Export dashboard as {{format}}";
3702
3907
  readonly exporting: "Exporting...";
3908
+ readonly rows: "{{amount}} rows";
3909
+ };
3910
+ readonly dashboardItem: {
3911
+ readonly chartType: "Chart type";
3912
+ readonly errorTitle: "Error loading data";
3913
+ readonly retry: "Retry";
3914
+ readonly dataExplanation: "Where does this data come from?";
3703
3915
  };
3704
3916
  readonly pong: {
3705
3917
  readonly title: "Pong";
@@ -3721,6 +3933,7 @@ export declare const defaultTranslations: {
3721
3933
  };
3722
3934
  readonly attachFile: "Attach file";
3723
3935
  readonly removeFile: "Remove";
3936
+ readonly dropFilesHere: "Drop your files here";
3724
3937
  readonly clarifyingQuestion: {
3725
3938
  readonly submit: "Submit";
3726
3939
  readonly next: "Next";
@@ -3753,6 +3966,13 @@ export declare const defaultTranslations: {
3753
3966
  };
3754
3967
  };
3755
3968
  };
3969
+ readonly dataChart: {
3970
+ readonly heatmapNotSupported: "Heatmap not supported at this size";
3971
+ readonly barChartVertical: "Bar (vertical)";
3972
+ readonly barChartHorizontal: "Bar (horizontal)";
3973
+ readonly lineChart: "Line";
3974
+ readonly funnel: "Funnel";
3975
+ };
3756
3976
  readonly select: {
3757
3977
  readonly noResults: "No results found";
3758
3978
  readonly loadingMore: "Loading...";
@@ -3988,6 +4208,11 @@ export declare const defaultTranslations: {
3988
4208
  */
3989
4209
  export declare function defineAvailableForm<TParams extends Record<string, unknown> = Record<string, unknown>>(definition: F0AiAvailableFormDefinition<TParams>): F0AiAvailableFormDefinition<TParams>;
3990
4210
 
4211
+ declare interface DeleteBlockNotesTextEditorPageDocumentPatch {
4212
+ type: "delete_block";
4213
+ targetId: string;
4214
+ }
4215
+
3991
4216
  /**
3992
4217
  * Introspect an F0Form schema and return a serializable array of field descriptions.
3993
4218
  * Pure function — usable outside React components.
@@ -4138,7 +4363,7 @@ export declare type DurationUnit = (typeof durationUnits)[number];
4138
4363
  export declare const durationUnits: readonly ["days", "hours", "minutes", "seconds"];
4139
4364
 
4140
4365
  /** The edit mode for a column cell in the editable table. */
4141
- declare type EditableTableCellEditType = "text" | "number" | "date" | "select" | "multiselect" | "display-only" | "disabled";
4366
+ declare type EditableTableCellEditType = "text" | "number" | "money" | "date" | "select" | "multiselect" | "display-only" | "disabled";
4142
4367
 
4143
4368
  declare type EditableTableCollectionProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = CollectionProps<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, EditableTableVisualizationOptions<R, Filters, Sortings, Summaries>>;
4144
4369
 
@@ -4441,9 +4666,9 @@ export declare const F0AiChat: () => JSX_2.Element | null;
4441
4666
  /**
4442
4667
  * @experimental This is an experimental component use it at your own risk
4443
4668
  */
4444
- 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;
4669
+ export declare const F0AiChatProvider: ({ enabled, greeting, initialMessage, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, toolHints, credits, creditWarning, fileAttachments, onThumbsUp, onThumbsDown, children, agent, tracking, ...copilotKitProps }: AiChatProviderProps) => JSX_2.Element;
4445
4670
 
4446
- export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, creditWarning, onDismissCreditWarning, onGetCredits, }: ChatTextareaProps) => JSX_2.Element;
4671
+ export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, creditWarning, }: ChatTextareaProps) => JSX_2.Element;
4447
4672
 
4448
4673
  /**
4449
4674
  * Entry in the AI form registry
@@ -4532,6 +4757,21 @@ export declare function F0AiFormRegistryProvider({ children, availableFormDefini
4532
4757
  */
4533
4758
  export declare const F0AiFullscreenChat: () => JSX_2.Element | null;
4534
4759
 
4760
+ export declare const F0AiInsightCard: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0AiInsightCardPublicProps & RefAttributes<HTMLDivElement>> & {
4761
+ Skeleton: () => JSX_2.Element;
4762
+ }>;
4763
+
4764
+ export declare type F0AiInsightCardProps = {
4765
+ description?: string;
4766
+ heading: string;
4767
+ label?: string;
4768
+ selected?: boolean;
4769
+ onClick?: () => void;
4770
+ onAskOne?: () => void;
4771
+ } & AiInsightCardContent;
4772
+
4773
+ declare type F0AiInsightCardPublicProps = Omit<CardInternalProps_2, (typeof privateProps_5)[number]>;
4774
+
4535
4775
  export declare class F0AiMask {
4536
4776
  readonly element: HTMLElement;
4537
4777
  private canvas;
@@ -4597,7 +4837,7 @@ export declare interface F0AlertProps {
4597
4837
  * @experimental This is an experimental component use it at your own risk
4598
4838
  */
4599
4839
  export declare const F0AnalyticsDashboard: {
4600
- <Filters extends FiltersDefinition_2 = FiltersDefinition_2>({ filters, presets, defaultFilters, items, editMode, onLayoutChange, enableExport, exportFilename, onExportReady, }: F0AnalyticsDashboardProps_2<Filters>): JSX_2.Element;
4840
+ <Filters extends FiltersDefinition_2 = FiltersDefinition_2>({ filters, presets, defaultFilters, items, editMode, onLayoutChange, enableExport, exportFilename, onExportReady, resetKey, onTransformChart, navigationFilters, filtersLoading, }: F0AnalyticsDashboardProps_2<Filters>): JSX_2.Element;
4601
4841
  displayName: string;
4602
4842
  };
4603
4843
 
@@ -4617,6 +4857,13 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
4617
4857
  * When omitted, no filter bar is rendered.
4618
4858
  */
4619
4859
  filters?: Filters;
4860
+ /**
4861
+ * When true and `filters` is not yet provided, a skeleton placeholder is
4862
+ * rendered in the filter bar slot. Use this when the consumer already knows
4863
+ * filters will appear but their definitions / options are still loading,
4864
+ * so the UI does not shift once the real filter bar takes its place.
4865
+ */
4866
+ filtersLoading?: boolean;
4620
4867
  /**
4621
4868
  * Preset filter configurations shown as quick-select chips.
4622
4869
  */
@@ -4656,6 +4903,15 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
4656
4903
  */
4657
4904
  exportFilename?: string;
4658
4905
  onExportReady?: (exportFn: (() => Promise<void>) | undefined) => void;
4906
+ /** Incrementing counter that forces the grid to reset to initial layout (used for discard). */
4907
+ resetKey?: number;
4908
+ /** Called when a chart item's type is changed (e.g. bar → line) */
4909
+ onTransformChart?: (itemId: string, newType: string, orientation?: "vertical" | "horizontal") => void;
4910
+ /**
4911
+ * Navigation filter definitions (e.g. date-navigator).
4912
+ * Rendered above the grid alongside the regular filter bar.
4913
+ */
4914
+ navigationFilters?: NavigationFiltersDefinition;
4659
4915
  }
4660
4916
 
4661
4917
  /**
@@ -5799,9 +6055,6 @@ export declare type F0DateFieldConfig = F0BaseConfig & F0DateConfig & {
5799
6055
  */
5800
6056
  declare type F0DateOrDateTimeFieldConfig = F0DateFieldConfig | F0TimeFieldConfig | F0DateTimeFieldConfig;
5801
6057
 
5802
- /**
5803
- * @experimental This is an experimental component use it at your own risk
5804
- */
5805
6058
  export declare const F0DatePicker: WithDataTestIdReturnType_3<typeof F0DatePicker_2>;
5806
6059
 
5807
6060
  declare function F0DatePicker_2({ onChange, value, presets, granularities, minDate, maxDate, open, showIcon, displayFormat, ...inputProps }: F0DatePickerProps): JSX_2.Element;
@@ -8600,6 +8853,18 @@ declare const inputFieldStatus: readonly ["default", "warning", "info", "error"]
8600
8853
 
8601
8854
  declare type InputFieldStatusType = (typeof inputFieldStatus)[number];
8602
8855
 
8856
+ declare interface InsertAfterNotesTextEditorPageDocumentPatch {
8857
+ type: "insert_after";
8858
+ targetId: string;
8859
+ blocks: JSONContent[];
8860
+ }
8861
+
8862
+ declare interface InsertBeforeNotesTextEditorPageDocumentPatch {
8863
+ type: "insert_before";
8864
+ targetId: string;
8865
+ blocks: JSONContent[];
8866
+ }
8867
+
8603
8868
  declare const internalAvatarColors: readonly ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
8604
8869
 
8605
8870
  declare type InternalAvatarProps = React_2.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> & {
@@ -9177,15 +9442,24 @@ export declare interface NextStepsProps {
9177
9442
 
9178
9443
  export declare const NotesTextEditor: ForwardRefExoticComponent<NotesTextEditorProps & RefAttributes<NotesTextEditorHandle>>;
9179
9444
 
9180
- export declare type NotesTextEditorHandle = {
9445
+ export declare interface NotesTextEditorHandle {
9181
9446
  clear: () => void;
9182
9447
  focus: () => void;
9183
9448
  setContent: (content: string) => void;
9449
+ applyPageDocumentPatch: (patch: NotesTextEditorPageDocumentPatch) => NotesTextEditorSnapshot;
9184
9450
  insertAIBlock: () => void;
9185
9451
  insertTranscript: (title: string, users: User[], messages: Message[]) => void;
9186
9452
  pushContent: (content: string) => void;
9187
9453
  insertImage: (file: File) => void;
9188
- };
9454
+ }
9455
+
9456
+ export declare type NotesTextEditorPageDocumentPatch = TopLevelPrependNotesTextEditorPageDocumentPatch | TopLevelAppendNotesTextEditorPageDocumentPatch | InsertBeforeNotesTextEditorPageDocumentPatch | InsertAfterNotesTextEditorPageDocumentPatch | ReplaceBlockNotesTextEditorPageDocumentPatch | ReplaceContentNotesTextEditorPageDocumentPatch | DeleteBlockNotesTextEditorPageDocumentPatch;
9457
+
9458
+ export declare class NotesTextEditorPatchTargetNotFoundError extends Error {
9459
+ readonly code = "target_not_found";
9460
+ readonly targetId: string;
9461
+ constructor(targetId: string);
9462
+ }
9189
9463
 
9190
9464
  export declare interface NotesTextEditorProps extends WithDataTestIdProps {
9191
9465
  onChange: (value: {
@@ -9218,6 +9492,17 @@ export declare interface NotesTextEditorSkeletonProps {
9218
9492
  withToolbar?: boolean;
9219
9493
  }
9220
9494
 
9495
+ export declare interface NotesTextEditorSnapshot {
9496
+ json: JSONContent | null;
9497
+ html: string | null;
9498
+ }
9499
+
9500
+ export declare class NotesTextEditorUnsupportedPatchTypeError extends Error {
9501
+ readonly code = "unsupported_patch_type";
9502
+ readonly patchType: unknown;
9503
+ constructor(patchType: unknown);
9504
+ }
9505
+
9221
9506
  declare type NumberCellConfig = {
9222
9507
  min?: number;
9223
9508
  max?: number;
@@ -9225,6 +9510,7 @@ declare type NumberCellConfig = {
9225
9510
  maxDecimals?: number;
9226
9511
  locale?: string;
9227
9512
  units?: string;
9513
+ unitsPosition?: "before" | "after";
9228
9514
  };
9229
9515
 
9230
9516
  /**
@@ -9889,6 +10175,8 @@ declare const privateProps_3: readonly ["forceVerticalMetadata", "disableOverlay
9889
10175
 
9890
10176
  declare const privateProps_4: readonly ["compact"];
9891
10177
 
10178
+ declare const privateProps_5: readonly ["className"];
10179
+
9892
10180
  export declare const ProductBlankslate: WithDataTestIdReturnType_4<ForwardRefExoticComponent<ProductBlankslateProps & RefAttributes<HTMLDivElement>>>;
9893
10181
 
9894
10182
  declare type ProductBlankslateProps = {
@@ -10289,6 +10577,18 @@ declare interface RenderIfBase {
10289
10577
  */
10290
10578
  export declare type RenderIfCondition = CommonRenderIfCondition | TextRenderIfCondition | NumberRenderIfCondition | BooleanRenderIfCondition | SelectRenderIfCondition | DateRenderIfCondition | DateRangeRenderIfCondition;
10291
10579
 
10580
+ declare interface ReplaceBlockNotesTextEditorPageDocumentPatch {
10581
+ type: "replace_block";
10582
+ targetId: string;
10583
+ block: JSONContent;
10584
+ }
10585
+
10586
+ declare interface ReplaceContentNotesTextEditorPageDocumentPatch {
10587
+ type: "replace_content";
10588
+ targetId: string;
10589
+ content: JSONContent[];
10590
+ }
10591
+
10292
10592
  export declare type ResolvedRecordType<R> = R extends RecordType ? R : RecordType;
10293
10593
 
10294
10594
  declare type ResourceHeaderProps = Props_4;
@@ -10714,6 +11014,10 @@ export declare type SortOrder = "asc" | "desc";
10714
11014
  */
10715
11015
  export declare type SpacingToken = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl";
10716
11016
 
11017
+ export declare type SparklineDataPoint = {
11018
+ value: number;
11019
+ };
11020
+
10717
11021
  declare type SrcProps = Pick<ImgHTMLAttributes<HTMLImageElement>, "src" | "srcSet" | "sizes">;
10718
11022
 
10719
11023
  export declare const StandardLayout: WithDataTestIdReturnType_2<ForwardRefExoticComponent<Omit<StandardLayoutProps & HTMLAttributes<HTMLElement> & RefAttributes<HTMLElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>>;
@@ -10760,36 +11064,43 @@ declare type SummaryKey<Definition extends SummariesDefinition> = Definition ext
10760
11064
 
10761
11065
  declare type SummaryType = "sum";
10762
11066
 
10763
- export declare function SurveyAnsweringForm({ elements, onSubmit: onSubmitProp, mode, title, description, resourceHeader, isOpen, onClose, position: positionProp, module, allowToChangeFullscreen, defaultValues, errorTriggerMode, loading, labels, preview, useUpload, datasets, }: SurveyAnsweringFormProps): JSX_2.Element;
11067
+ export declare function SurveyAllQuestionsLoadingSkeleton(): JSX_2.Element;
10764
11068
 
10765
- declare interface SurveyAnsweringFormBaseProps {
10766
- elements: SurveyFormBuilderElement[];
11069
+ export declare function SurveyAnsweringForm(props: SurveyAnsweringFormProps): JSX_2.Element;
11070
+
11071
+ declare type SurveyAnsweringFormDefaultProps = SurveyAnsweringFormDialogProps & {
11072
+ preview?: false;
11073
+ onSubmit: (answers: SurveySubmitAnswers) => Promise<SurveyFormSubmitResult> | SurveyFormSubmitResult;
11074
+ };
11075
+
11076
+ declare interface SurveyAnsweringFormDialogProps extends SurveyAnsweringFormSharedProps {
11077
+ inline?: false;
10767
11078
  mode: SurveyAnsweringFormMode;
10768
- title: string;
10769
- description?: string;
10770
- resourceHeader?: Omit<ResourceHeaderProps, "title" | "description">;
10771
11079
  module: SurveyAnsweringFormModule;
10772
11080
  position?: DialogPosition;
10773
11081
  isOpen: boolean;
10774
11082
  onClose: () => void;
10775
11083
  allowToChangeFullscreen?: boolean;
10776
- defaultValues?: Partial<SurveyAnswers>;
10777
11084
  errorTriggerMode?: F0FormErrorTriggerMode;
10778
- loading?: boolean;
10779
11085
  useUpload?: UseFileUpload;
10780
- datasets?: SurveyDatasets;
10781
- labels?: {
10782
- empty?: {
10783
- title?: string;
10784
- description?: string;
10785
- emoji?: string;
10786
- };
10787
- };
10788
11086
  }
10789
11087
 
10790
- declare type SurveyAnsweringFormDefaultProps = SurveyAnsweringFormBaseProps & {
10791
- preview?: false;
10792
- onSubmit: (answers: SurveySubmitAnswers) => Promise<SurveyFormSubmitResult> | SurveyFormSubmitResult;
11088
+ /** Inline mode: read-only rendering embedded in the page, no dialog */
11089
+ declare interface SurveyAnsweringFormInlineProps extends SurveyAnsweringFormSharedProps {
11090
+ inline: true;
11091
+ mode?: never;
11092
+ module?: never;
11093
+ position?: never;
11094
+ isOpen?: never;
11095
+ onClose?: never;
11096
+ allowToChangeFullscreen?: never;
11097
+ errorTriggerMode?: never;
11098
+ useUpload?: UseFileUpload;
11099
+ }
11100
+
11101
+ export declare type SurveyAnsweringFormInlineReadonlyProps = SurveyAnsweringFormInlineProps & {
11102
+ preview?: never;
11103
+ onSubmit?: never;
10793
11104
  };
10794
11105
 
10795
11106
  export declare type SurveyAnsweringFormMode = "stepped" | "all-questions";
@@ -10800,12 +11111,29 @@ declare type SurveyAnsweringFormModule = {
10800
11111
  href: string;
10801
11112
  };
10802
11113
 
10803
- declare type SurveyAnsweringFormPreviewProps = SurveyAnsweringFormBaseProps & {
11114
+ declare type SurveyAnsweringFormPreviewProps = SurveyAnsweringFormDialogProps & {
10804
11115
  preview: true;
10805
11116
  onSubmit?: never;
10806
11117
  };
10807
11118
 
10808
- export declare type SurveyAnsweringFormProps = SurveyAnsweringFormDefaultProps | SurveyAnsweringFormPreviewProps;
11119
+ export declare type SurveyAnsweringFormProps = SurveyAnsweringFormDefaultProps | SurveyAnsweringFormPreviewProps | SurveyAnsweringFormInlineReadonlyProps;
11120
+
11121
+ declare interface SurveyAnsweringFormSharedProps {
11122
+ elements: SurveyFormBuilderElement[];
11123
+ title: string;
11124
+ description?: string;
11125
+ resourceHeader?: Omit<ResourceHeaderProps, "title" | "description">;
11126
+ defaultValues?: Partial<SurveyAnswers>;
11127
+ loading?: boolean;
11128
+ datasets?: SurveyDatasets;
11129
+ labels?: {
11130
+ empty?: {
11131
+ title?: string;
11132
+ description?: string;
11133
+ emoji?: string;
11134
+ };
11135
+ };
11136
+ }
10809
11137
 
10810
11138
  export declare type SurveyAnswers = Record<string, SurveyAnswerValue>;
10811
11139
 
@@ -10890,6 +11218,8 @@ export declare type SurveyFormSubmitResult = {
10890
11218
  errors?: Record<string, string>;
10891
11219
  };
10892
11220
 
11221
+ export declare function SurveySteppedLoadingSkeleton(): JSX_2.Element;
11222
+
10893
11223
  export declare type SurveySubmitAnswers = Record<string, string | number | boolean | string[] | Date | null>;
10894
11224
 
10895
11225
  /**
@@ -11415,6 +11745,16 @@ export declare interface ToolbarProps {
11415
11745
  plainHtmlMode?: boolean;
11416
11746
  }
11417
11747
 
11748
+ declare interface TopLevelAppendNotesTextEditorPageDocumentPatch {
11749
+ type: "top_level_append";
11750
+ blocks: JSONContent[];
11751
+ }
11752
+
11753
+ declare interface TopLevelPrependNotesTextEditorPageDocumentPatch {
11754
+ type: "top_level_prepend";
11755
+ blocks: JSONContent[];
11756
+ }
11757
+
11418
11758
  declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
11419
11759
 
11420
11760
  declare type TranslationShape<T> = {
@@ -12134,6 +12474,8 @@ declare const valueDisplayRenderers: {
12134
12474
  readonly folder: (args: FolderCellValue_2) => JSX_2.Element;
12135
12475
  readonly country: (args: CountryCellValue, context: ValueDisplayRendererContext_2) => JSX_2.Element;
12136
12476
  readonly delta: (args: DeltaCellValue) => JSX_2.Element;
12477
+ readonly summary: (args: SummaryCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
12478
+ readonly count: (args: CountCellValue, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
12137
12479
  };
12138
12480
 
12139
12481
  declare type ValueDisplayTableAlignment = "left" | "right";