@factorialco/f0-react 1.438.4 → 1.445.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-DPDtak5l.js → F0AiChat-DGrsThPd.js} +156111 -139541
  2. package/dist/F0AiChat.css +1 -1
  3. package/dist/ai.d.ts +593 -12
  4. package/dist/ai.js +12 -10
  5. package/dist/experimental.d.ts +108 -8
  6. package/dist/experimental.js +3581 -3861
  7. package/dist/f0.css +1 -0
  8. package/dist/f0.d.ts +375 -42
  9. package/dist/f0.js +14479 -10522
  10. package/dist/i18n-provider-defaults.d.ts +21 -5
  11. package/dist/i18n-provider-defaults.js +18 -2
  12. package/dist/index-DVpm5nZf.js +44284 -0
  13. package/dist/index.css +1 -1
  14. package/dist/styles.css +1 -1
  15. package/dist/types-T3lVJQkM.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 +4 -2
  46. package/dist/F0HILActionConfirmation-DShSXZqM.js +0 -1912
  47. package/dist/index-iuTQ3Ph9.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
  */
@@ -629,7 +651,7 @@ declare type AiChatProviderReturnValue = {
629
651
  */
630
652
  fileDragOver: boolean;
631
653
  /* Excluded from this release type: setFileDragOver */
632
- } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "fileAttachments"> & {
654
+ } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "creditWarning" | "fileAttachments"> & {
633
655
  /** The current canvas content, or null when canvas is closed */
634
656
  canvasContent: CanvasContent | null;
635
657
  /** Open the canvas panel with the given content */
@@ -661,6 +683,7 @@ declare interface AiChatState {
661
683
  entityRefs?: EntityRefs;
662
684
  toolHints?: AiChatToolHint[];
663
685
  credits?: AiChatCredits;
686
+ creditWarning?: AiChatCreditWarning;
664
687
  fileAttachments?: AiChatFileAttachmentConfig;
665
688
  placeholders?: string[];
666
689
  setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
@@ -720,6 +743,34 @@ export declare interface AiChatTranslationsProviderProps {
720
743
  translations: AiChatTranslations;
721
744
  }
722
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
+
723
774
  /**
724
775
  * Default AI chat translations — derived from the global defaultTranslations
725
776
  * to avoid manual duplication.
@@ -790,9 +841,17 @@ export declare const aiTranslations: {
790
841
  readonly openButton: "Open";
791
842
  };
792
843
  readonly dataDownload: {
844
+ readonly title: "Download";
793
845
  readonly download: "Download {{format}}";
794
846
  readonly exportDashboard: "Export dashboard as {{format}}";
795
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?";
796
855
  };
797
856
  readonly pong: {
798
857
  readonly title: "Pong";
@@ -1016,6 +1075,15 @@ declare const badgeVariants: (props?: ({
1016
1075
  className?: ClassValue;
1017
1076
  })) | undefined) => string;
1018
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
+
1019
1087
  declare type BalanceTagProps = ComponentProps<typeof F0TagBalance>;
1020
1088
 
1021
1089
  declare type BannerAction = {
@@ -1614,7 +1682,7 @@ declare type CandidateProfile = {
1614
1682
  * Discriminated union for canvas panel content.
1615
1683
  * Add new entity types to this union as they are implemented.
1616
1684
  */
1617
- export declare type CanvasContent = DashboardCanvasContent;
1685
+ export declare type CanvasContent = DashboardCanvasContent | DataDownloadCanvasContent;
1618
1686
 
1619
1687
  /**
1620
1688
  * Base shape shared by all canvas content types.
@@ -1787,6 +1855,10 @@ declare interface CardInternalProps {
1787
1855
  disableOverlayLink?: boolean;
1788
1856
  }
1789
1857
 
1858
+ declare type CardInternalProps_2 = F0AiInsightCardProps & {
1859
+ className?: string;
1860
+ };
1861
+
1790
1862
  declare type CardMetadata = {
1791
1863
  icon: IconType;
1792
1864
  property: Exclude<CardMetadataProperty, {
@@ -2142,12 +2214,21 @@ declare interface ChatDashboardConfig {
2142
2214
  title: string;
2143
2215
  /** Filter definitions — keys become filter IDs */
2144
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>;
2145
2223
  /** Ordered list of dashboard items with computation specs */
2146
2224
  items: ChatDashboardItem[];
2147
2225
  /** Fetch specs for server-side data retrieval, keyed by datasetId */
2148
2226
  fetchSpecs: Record<string, DashboardFetchSpec>;
2149
2227
  }
2150
2228
 
2229
+ /** Granularity options exposed by F0's `OneDateNavigator`. */
2230
+ declare type ChatDashboardDateNavigationGranularity = "day" | "week" | "month" | "quarter" | "halfyear" | "year" | "range";
2231
+
2151
2232
  declare interface ChatDashboardFilterDefinition {
2152
2233
  type: "in";
2153
2234
  label: string;
@@ -2191,8 +2272,33 @@ declare interface ChatDashboardItemBase {
2191
2272
  description?: string;
2192
2273
  /** Source attribution shown as a subtitle (e.g. "Based on 8 feedbacks from 3 evaluators") */
2193
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
+ */
2194
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
+ */
2195
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;
2196
2302
  x?: number;
2197
2303
  y?: number;
2198
2304
  }
@@ -2224,6 +2330,22 @@ declare interface ChatDashboardMetricItem extends ChatDashboardItemBase {
2224
2330
  computation: MetricComputation;
2225
2331
  }
2226
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
+
2227
2349
  declare interface ChatDashboardPieChartConfig {
2228
2350
  type: "pie";
2229
2351
  innerRadius?: number;
@@ -2242,9 +2364,7 @@ export declare const ChatSpinner: ForwardRefExoticComponent<Omit<SVGProps<SVGSVG
2242
2364
 
2243
2365
  declare type ChatTextareaProps = InputProps & {
2244
2366
  submitLabel?: string;
2245
- creditWarning?: "soft";
2246
- onDismissCreditWarning?: () => void;
2247
- onGetCredits?: () => void;
2367
+ creditWarning?: AiChatCreditWarning;
2248
2368
  };
2249
2369
 
2250
2370
  /**
@@ -2572,6 +2692,10 @@ declare const componentTypes: readonly ["layout", "info", "action", "form"];
2572
2692
 
2573
2693
  export declare function computeSectionEndIds(elements: SurveyFormBuilderElement[]): Set<string>;
2574
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
+
2575
2699
  declare type CountryCode = keyof TranslationsType["countries"];
2576
2700
 
2577
2701
  export declare function createAtlaskitDriver(instanceId: symbol): DndDriver;
@@ -2781,10 +2905,36 @@ export declare interface DashboardItemBase {
2781
2905
  title: string;
2782
2906
  /** Optional description below the title */
2783
2907
  description?: string;
2784
- /** 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
+ */
2785
2920
  colSpan?: number;
2786
- /** 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
+ */
2787
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;
2788
2938
  /** Grid column position (0-based). When set, skip auto-packing. */
2789
2939
  x?: number;
2790
2940
  /** Grid row position (0-based). When set, skip auto-packing. */
@@ -2801,11 +2951,16 @@ export declare interface DashboardItemBase {
2801
2951
  * Minimal descriptor of a dashboard item's position and size.
2802
2952
  * Used by `onLayoutChange` so the consumer can reconcile layout
2803
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.
2804
2958
  */
2805
2959
  declare type DashboardItemLayout = {
2806
2960
  id: string;
2807
2961
  colSpan: number;
2808
2962
  rowSpan: number;
2963
+ itemHeight: number;
2809
2964
  x: number;
2810
2965
  y: number;
2811
2966
  };
@@ -2968,6 +3123,46 @@ export declare type DataCollectionStorageHandler<CurrentFiltersState extends Fil
2968
3123
  set: (key: string, storage: DataCollectionStorage<CurrentFiltersState>) => Promise<void>;
2969
3124
  };
2970
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
+
2971
3166
  /**
2972
3167
  * Represents an error that occurred during data fetching
2973
3168
  */
@@ -3553,6 +3748,7 @@ export declare const defaultTranslations: {
3553
3748
  readonly summaries: {
3554
3749
  readonly types: {
3555
3750
  readonly sum: "sum";
3751
+ readonly count: "count";
3556
3752
  };
3557
3753
  };
3558
3754
  readonly export: {
@@ -3705,9 +3901,17 @@ export declare const defaultTranslations: {
3705
3901
  readonly openButton: "Open";
3706
3902
  };
3707
3903
  readonly dataDownload: {
3904
+ readonly title: "Download";
3708
3905
  readonly download: "Download {{format}}";
3709
3906
  readonly exportDashboard: "Export dashboard as {{format}}";
3710
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?";
3711
3915
  };
3712
3916
  readonly pong: {
3713
3917
  readonly title: "Pong";
@@ -3762,6 +3966,13 @@ export declare const defaultTranslations: {
3762
3966
  };
3763
3967
  };
3764
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
+ };
3765
3976
  readonly select: {
3766
3977
  readonly noResults: "No results found";
3767
3978
  readonly loadingMore: "Loading...";
@@ -3997,6 +4208,11 @@ export declare const defaultTranslations: {
3997
4208
  */
3998
4209
  export declare function defineAvailableForm<TParams extends Record<string, unknown> = Record<string, unknown>>(definition: F0AiAvailableFormDefinition<TParams>): F0AiAvailableFormDefinition<TParams>;
3999
4210
 
4211
+ declare interface DeleteBlockNotesTextEditorPageDocumentPatch {
4212
+ type: "delete_block";
4213
+ targetId: string;
4214
+ }
4215
+
4000
4216
  /**
4001
4217
  * Introspect an F0Form schema and return a serializable array of field descriptions.
4002
4218
  * Pure function — usable outside React components.
@@ -4147,7 +4363,7 @@ export declare type DurationUnit = (typeof durationUnits)[number];
4147
4363
  export declare const durationUnits: readonly ["days", "hours", "minutes", "seconds"];
4148
4364
 
4149
4365
  /** The edit mode for a column cell in the editable table. */
4150
- declare type EditableTableCellEditType = "text" | "number" | "date" | "select" | "multiselect" | "display-only" | "disabled";
4366
+ declare type EditableTableCellEditType = "text" | "number" | "money" | "date" | "select" | "multiselect" | "display-only" | "disabled";
4151
4367
 
4152
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>>;
4153
4369
 
@@ -4450,9 +4666,9 @@ export declare const F0AiChat: () => JSX_2.Element | null;
4450
4666
  /**
4451
4667
  * @experimental This is an experimental component use it at your own risk
4452
4668
  */
4453
- 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;
4454
4670
 
4455
- 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;
4456
4672
 
4457
4673
  /**
4458
4674
  * Entry in the AI form registry
@@ -4541,6 +4757,21 @@ export declare function F0AiFormRegistryProvider({ children, availableFormDefini
4541
4757
  */
4542
4758
  export declare const F0AiFullscreenChat: () => JSX_2.Element | null;
4543
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
+
4544
4775
  export declare class F0AiMask {
4545
4776
  readonly element: HTMLElement;
4546
4777
  private canvas;
@@ -4606,7 +4837,7 @@ export declare interface F0AlertProps {
4606
4837
  * @experimental This is an experimental component use it at your own risk
4607
4838
  */
4608
4839
  export declare const F0AnalyticsDashboard: {
4609
- <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;
4610
4841
  displayName: string;
4611
4842
  };
4612
4843
 
@@ -4626,6 +4857,13 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
4626
4857
  * When omitted, no filter bar is rendered.
4627
4858
  */
4628
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;
4629
4867
  /**
4630
4868
  * Preset filter configurations shown as quick-select chips.
4631
4869
  */
@@ -4665,6 +4903,15 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
4665
4903
  */
4666
4904
  exportFilename?: string;
4667
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;
4668
4915
  }
4669
4916
 
4670
4917
  /**
@@ -5808,9 +6055,6 @@ export declare type F0DateFieldConfig = F0BaseConfig & F0DateConfig & {
5808
6055
  */
5809
6056
  declare type F0DateOrDateTimeFieldConfig = F0DateFieldConfig | F0TimeFieldConfig | F0DateTimeFieldConfig;
5810
6057
 
5811
- /**
5812
- * @experimental This is an experimental component use it at your own risk
5813
- */
5814
6058
  export declare const F0DatePicker: WithDataTestIdReturnType_3<typeof F0DatePicker_2>;
5815
6059
 
5816
6060
  declare function F0DatePicker_2({ onChange, value, presets, granularities, minDate, maxDate, open, showIcon, displayFormat, ...inputProps }: F0DatePickerProps): JSX_2.Element;
@@ -8609,6 +8853,18 @@ declare const inputFieldStatus: readonly ["default", "warning", "info", "error"]
8609
8853
 
8610
8854
  declare type InputFieldStatusType = (typeof inputFieldStatus)[number];
8611
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
+
8612
8868
  declare const internalAvatarColors: readonly ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
8613
8869
 
8614
8870
  declare type InternalAvatarProps = React_2.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> & {
@@ -9186,15 +9442,24 @@ export declare interface NextStepsProps {
9186
9442
 
9187
9443
  export declare const NotesTextEditor: ForwardRefExoticComponent<NotesTextEditorProps & RefAttributes<NotesTextEditorHandle>>;
9188
9444
 
9189
- export declare type NotesTextEditorHandle = {
9445
+ export declare interface NotesTextEditorHandle {
9190
9446
  clear: () => void;
9191
9447
  focus: () => void;
9192
9448
  setContent: (content: string) => void;
9449
+ applyPageDocumentPatch: (patch: NotesTextEditorPageDocumentPatch) => NotesTextEditorSnapshot;
9193
9450
  insertAIBlock: () => void;
9194
9451
  insertTranscript: (title: string, users: User[], messages: Message[]) => void;
9195
9452
  pushContent: (content: string) => void;
9196
9453
  insertImage: (file: File) => void;
9197
- };
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
+ }
9198
9463
 
9199
9464
  export declare interface NotesTextEditorProps extends WithDataTestIdProps {
9200
9465
  onChange: (value: {
@@ -9227,6 +9492,17 @@ export declare interface NotesTextEditorSkeletonProps {
9227
9492
  withToolbar?: boolean;
9228
9493
  }
9229
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
+
9230
9506
  declare type NumberCellConfig = {
9231
9507
  min?: number;
9232
9508
  max?: number;
@@ -9234,6 +9510,7 @@ declare type NumberCellConfig = {
9234
9510
  maxDecimals?: number;
9235
9511
  locale?: string;
9236
9512
  units?: string;
9513
+ unitsPosition?: "before" | "after";
9237
9514
  };
9238
9515
 
9239
9516
  /**
@@ -9898,6 +10175,8 @@ declare const privateProps_3: readonly ["forceVerticalMetadata", "disableOverlay
9898
10175
 
9899
10176
  declare const privateProps_4: readonly ["compact"];
9900
10177
 
10178
+ declare const privateProps_5: readonly ["className"];
10179
+
9901
10180
  export declare const ProductBlankslate: WithDataTestIdReturnType_4<ForwardRefExoticComponent<ProductBlankslateProps & RefAttributes<HTMLDivElement>>>;
9902
10181
 
9903
10182
  declare type ProductBlankslateProps = {
@@ -10298,6 +10577,18 @@ declare interface RenderIfBase {
10298
10577
  */
10299
10578
  export declare type RenderIfCondition = CommonRenderIfCondition | TextRenderIfCondition | NumberRenderIfCondition | BooleanRenderIfCondition | SelectRenderIfCondition | DateRenderIfCondition | DateRangeRenderIfCondition;
10300
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
+
10301
10592
  export declare type ResolvedRecordType<R> = R extends RecordType ? R : RecordType;
10302
10593
 
10303
10594
  declare type ResourceHeaderProps = Props_4;
@@ -10723,6 +11014,10 @@ export declare type SortOrder = "asc" | "desc";
10723
11014
  */
10724
11015
  export declare type SpacingToken = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl";
10725
11016
 
11017
+ export declare type SparklineDataPoint = {
11018
+ value: number;
11019
+ };
11020
+
10726
11021
  declare type SrcProps = Pick<ImgHTMLAttributes<HTMLImageElement>, "src" | "srcSet" | "sizes">;
10727
11022
 
10728
11023
  export declare const StandardLayout: WithDataTestIdReturnType_2<ForwardRefExoticComponent<Omit<StandardLayoutProps & HTMLAttributes<HTMLElement> & RefAttributes<HTMLElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>>;
@@ -10769,36 +11064,43 @@ declare type SummaryKey<Definition extends SummariesDefinition> = Definition ext
10769
11064
 
10770
11065
  declare type SummaryType = "sum";
10771
11066
 
10772
- 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;
10773
11068
 
10774
- declare interface SurveyAnsweringFormBaseProps {
10775
- 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;
10776
11078
  mode: SurveyAnsweringFormMode;
10777
- title: string;
10778
- description?: string;
10779
- resourceHeader?: Omit<ResourceHeaderProps, "title" | "description">;
10780
11079
  module: SurveyAnsweringFormModule;
10781
11080
  position?: DialogPosition;
10782
11081
  isOpen: boolean;
10783
11082
  onClose: () => void;
10784
11083
  allowToChangeFullscreen?: boolean;
10785
- defaultValues?: Partial<SurveyAnswers>;
10786
11084
  errorTriggerMode?: F0FormErrorTriggerMode;
10787
- loading?: boolean;
10788
11085
  useUpload?: UseFileUpload;
10789
- datasets?: SurveyDatasets;
10790
- labels?: {
10791
- empty?: {
10792
- title?: string;
10793
- description?: string;
10794
- emoji?: string;
10795
- };
10796
- };
10797
11086
  }
10798
11087
 
10799
- declare type SurveyAnsweringFormDefaultProps = SurveyAnsweringFormBaseProps & {
10800
- preview?: false;
10801
- 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;
10802
11104
  };
10803
11105
 
10804
11106
  export declare type SurveyAnsweringFormMode = "stepped" | "all-questions";
@@ -10809,12 +11111,29 @@ declare type SurveyAnsweringFormModule = {
10809
11111
  href: string;
10810
11112
  };
10811
11113
 
10812
- declare type SurveyAnsweringFormPreviewProps = SurveyAnsweringFormBaseProps & {
11114
+ declare type SurveyAnsweringFormPreviewProps = SurveyAnsweringFormDialogProps & {
10813
11115
  preview: true;
10814
11116
  onSubmit?: never;
10815
11117
  };
10816
11118
 
10817
- 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
+ }
10818
11137
 
10819
11138
  export declare type SurveyAnswers = Record<string, SurveyAnswerValue>;
10820
11139
 
@@ -10899,6 +11218,8 @@ export declare type SurveyFormSubmitResult = {
10899
11218
  errors?: Record<string, string>;
10900
11219
  };
10901
11220
 
11221
+ export declare function SurveySteppedLoadingSkeleton(): JSX_2.Element;
11222
+
10902
11223
  export declare type SurveySubmitAnswers = Record<string, string | number | boolean | string[] | Date | null>;
10903
11224
 
10904
11225
  /**
@@ -11424,6 +11745,16 @@ export declare interface ToolbarProps {
11424
11745
  plainHtmlMode?: boolean;
11425
11746
  }
11426
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
+
11427
11758
  declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
11428
11759
 
11429
11760
  declare type TranslationShape<T> = {
@@ -12143,6 +12474,8 @@ declare const valueDisplayRenderers: {
12143
12474
  readonly folder: (args: FolderCellValue_2) => JSX_2.Element;
12144
12475
  readonly country: (args: CountryCellValue, context: ValueDisplayRendererContext_2) => JSX_2.Element;
12145
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;
12146
12479
  };
12147
12480
 
12148
12481
  declare type ValueDisplayTableAlignment = "left" | "right";
@@ -12308,6 +12641,11 @@ declare module "gridstack" {
12308
12641
  }
12309
12642
 
12310
12643
 
12644
+ declare namespace Calendar {
12645
+ var displayName: string;
12646
+ }
12647
+
12648
+
12311
12649
  declare module "@tiptap/core" {
12312
12650
  interface Commands<ReturnType> {
12313
12651
  aiBlock: {
@@ -12355,8 +12693,3 @@ declare module "@tiptap/core" {
12355
12693
  };
12356
12694
  }
12357
12695
  }
12358
-
12359
-
12360
- declare namespace Calendar {
12361
- var displayName: string;
12362
- }