@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/ai.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  import { AgentState } from '@livekit/components-react';
2
2
  import { AIMessage } from '@copilotkit/shared';
3
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
4
  import { ClassValue } from 'cva';
4
5
  import { ComponentProps } from 'react';
5
6
  import { CopilotKitProps } from '@copilotkit/react-core';
7
+ import { f1Colors } from '@factorialco/f0-core';
6
8
  import { ForwardRefExoticComponent } from 'react';
7
9
  import { InputProps } from '@copilotkit/react-ui';
8
10
  import { JSX as JSX_2 } from 'react';
9
11
  import { LocalAudioTrack } from 'livekit-client';
10
12
  import { Message } from '@copilotkit/shared';
13
+ import * as React_2 from 'react';
14
+ import { ReactElement } from 'react';
11
15
  import { ReactNode } from 'react';
12
16
  import { RefAttributes } from 'react';
13
17
  import { RemoteAudioTrack } from 'livekit-client';
@@ -15,6 +19,7 @@ import { SVGProps } from 'react';
15
19
  import * as SwitchPrimitive from '@radix-ui/react-switch';
16
20
  import { TrackReferenceOrPlaceholder } from '@livekit/components-react';
17
21
  import { VariantProps } from 'cva';
22
+ import { WithDataTestIdReturnType } from '../../../lib/data-testid';
18
23
 
19
24
  export declare type ActionItemStatus = (typeof actionItemStatuses)[number];
20
25
 
@@ -43,6 +48,21 @@ export declare type AiChatCredits = {
43
48
  planName?: string;
44
49
  };
45
50
 
51
+ /**
52
+ * Credit warning configuration.
53
+ * Groups severity level and action callbacks into a single object.
54
+ *
55
+ * When provided, a warning banner is shown above the chat textarea.
56
+ */
57
+ export declare type AiChatCreditWarning = {
58
+ /** The severity level of the warning. */
59
+ level: "soft";
60
+ /** Called when the user dismisses the credit warning banner. */
61
+ onDismiss?: () => void;
62
+ /** Called when the user clicks the "Get Credits" button. */
63
+ onGetCredits?: () => void;
64
+ };
65
+
46
66
  /**
47
67
  * Disclaimer configuration for the chat input
48
68
  */
@@ -124,6 +144,11 @@ export declare type AiChatProviderProps = {
124
144
  * Groups fetchUsage, upgradePlanUrl, and company/plan display info.
125
145
  */
126
146
  credits?: AiChatCredits;
147
+ /**
148
+ * Credit warning configuration. When provided, shows a warning banner above the chat textarea.
149
+ * Groups severity level and action callbacks.
150
+ */
151
+ creditWarning?: AiChatCreditWarning;
127
152
  /**
128
153
  * File attachment configuration. When provided, enables file uploads in the chat.
129
154
  */
@@ -241,7 +266,14 @@ declare type AiChatProviderReturnValue = {
241
266
  clarifyingQuestion: ClarifyingQuestionState | null;
242
267
  /** Set the current clarifying question (or null to dismiss) */
243
268
  setClarifyingQuestion: React.Dispatch<React.SetStateAction<ClarifyingQuestionState | null>>;
244
- } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "fileAttachments"> & {
269
+ /**
270
+ * Whether files are currently being dragged over the chat window.
271
+ * Set by the ChatWindow drag listeners and read by the DropOverlay
272
+ * to control its visibility.
273
+ */
274
+ fileDragOver: boolean;
275
+ /* Excluded from this release type: setFileDragOver */
276
+ } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "creditWarning" | "fileAttachments"> & {
245
277
  /** The current canvas content, or null when canvas is closed */
246
278
  canvasContent: CanvasContent | null;
247
279
  /** Open the canvas panel with the given content */
@@ -273,6 +305,7 @@ declare interface AiChatState {
273
305
  entityRefs?: EntityRefs;
274
306
  toolHints?: AiChatToolHint[];
275
307
  credits?: AiChatCredits;
308
+ creditWarning?: AiChatCreditWarning;
276
309
  fileAttachments?: AiChatFileAttachmentConfig;
277
310
  placeholders?: string[];
278
311
  setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
@@ -332,6 +365,34 @@ export declare interface AiChatTranslationsProviderProps {
332
365
  translations: AiChatTranslations;
333
366
  }
334
367
 
368
+ export declare type AiInsightCardContent = {
369
+ content: "text";
370
+ } | {
371
+ content: "person";
372
+ avatar: Pick<F0AvatarPersonProps, "firstName" | "lastName" | "src">;
373
+ } | {
374
+ content: "people";
375
+ avatars: Array<Pick<F0AvatarPersonProps, "firstName" | "lastName" | "src">>;
376
+ } | {
377
+ content: "team";
378
+ avatar: Pick<F0AvatarTeamProps, "name" | "src">;
379
+ } | {
380
+ content: "company";
381
+ avatar: Pick<F0AvatarCompanyProps, "name" | "src">;
382
+ } | {
383
+ content: "alert";
384
+ level: Level;
385
+ alertLabel: string;
386
+ } | {
387
+ content: "balance";
388
+ balance: BalanceConfig;
389
+ } | {
390
+ content: "sparkline";
391
+ data: SparklineDataPoint[];
392
+ label: string;
393
+ invertStatus?: boolean;
394
+ };
395
+
335
396
  /**
336
397
  * Default AI chat translations — derived from the global defaultTranslations
337
398
  * to avoid manual duplication.
@@ -402,9 +463,17 @@ export declare const aiTranslations: {
402
463
  readonly openButton: "Open";
403
464
  };
404
465
  readonly dataDownload: {
466
+ readonly title: "Download";
405
467
  readonly download: "Download {{format}}";
406
468
  readonly exportDashboard: "Export dashboard as {{format}}";
407
469
  readonly exporting: "Exporting...";
470
+ readonly rows: "{{amount}} rows";
471
+ };
472
+ readonly dashboardItem: {
473
+ readonly chartType: "Chart type";
474
+ readonly errorTitle: "Error loading data";
475
+ readonly retry: "Retry";
476
+ readonly dataExplanation: "Where does this data come from?";
408
477
  };
409
478
  readonly pong: {
410
479
  readonly title: "Pong";
@@ -426,6 +495,7 @@ export declare const aiTranslations: {
426
495
  };
427
496
  readonly attachFile: "Attach file";
428
497
  readonly removeFile: "Remove";
498
+ readonly dropFilesHere: "Drop your files here";
429
499
  readonly clarifyingQuestion: {
430
500
  readonly submit: "Submit";
431
501
  readonly next: "Next";
@@ -460,6 +530,88 @@ export declare const aiTranslations: {
460
530
  };
461
531
  };
462
532
 
533
+ declare type AvatarBadge = ({
534
+ type: "module";
535
+ module: ModuleId;
536
+ } | {
537
+ type: Exclude<BadgeProps["type"], undefined>;
538
+ icon: BadgeProps["icon"];
539
+ }) & {
540
+ tooltip?: string;
541
+ };
542
+
543
+ declare type AvatarSize = (typeof avatarSizes)[number];
544
+
545
+ declare const avatarSizes: readonly ["xs", "sm", "md", "lg", "xl", "2xl"];
546
+
547
+ declare interface BadgeProps extends VariantProps<typeof badgeVariants> {
548
+ icon: IconType;
549
+ type?: VariantProps<typeof badgeVariants>["type"];
550
+ size?: keyof typeof iconSizes;
551
+ }
552
+
553
+ declare const badgeVariants: (props?: ({
554
+ type?: "critical" | "warning" | "positive" | "neutral" | "highlight" | undefined;
555
+ size?: "lg" | "md" | "sm" | "xs" | undefined;
556
+ } & ({
557
+ class?: ClassValue;
558
+ className?: never;
559
+ } | {
560
+ class?: never;
561
+ className?: ClassValue;
562
+ })) | undefined) => string;
563
+
564
+ export declare type BalanceConfig = {
565
+ amount: RelaxedNumericWithFormatter | Numeric;
566
+ percentage?: (Omit<RelaxedNumericWithFormatter, "value"> & {
567
+ value: Omit<Numeric, "units" | "unitsPosition">;
568
+ }) | Omit<Numeric, "units" | "unitsPosition"> | null;
569
+ invertStatus?: boolean;
570
+ hint?: string;
571
+ };
572
+
573
+ declare type BaseAvatarProps = {
574
+ /**
575
+ * The type of the avatar.
576
+ */
577
+ type: InternalAvatarProps["type"];
578
+ /**
579
+ * The name of the avatar.
580
+ */
581
+ name: string | string[];
582
+ /**
583
+ * The source of the avatar's image.
584
+ */
585
+ src?: string;
586
+ /**
587
+ * This is a workaround until we implement the ability to deal with images
588
+ */
589
+ flag?: ReactElement;
590
+ /**
591
+ * Optional icon to display on the avatar. Will override the name or image if provided.
592
+ */
593
+ icon?: {
594
+ icon: IconType;
595
+ color?: F0IconProps["color"];
596
+ };
597
+ /**
598
+ * The color of the avatar.
599
+ * @default "random"
600
+ */
601
+ color?: InternalAvatarProps["color"] | "random";
602
+ /**
603
+ * The badge to display on the avatar. Can be a module badge or a custom badge.
604
+ */
605
+ badge?: AvatarBadge;
606
+ } & Partial<Pick<InternalAvatarProps, "aria-label" | "aria-labelledby">> & ({
607
+ size: AvatarSize;
608
+ } | {
609
+ /**
610
+ * @deprecated Use AvatarSize instead (xs, sm, md, lg, xl, 2xl)
611
+ */
612
+ size: InternalAvatarProps["size"];
613
+ });
614
+
463
615
  /**
464
616
  * Profile data for a candidate entity (ATS applicant), resolved asynchronously
465
617
  * and displayed in the entity reference hover card.
@@ -476,7 +628,7 @@ declare type CandidateProfile = {
476
628
  * Discriminated union for canvas panel content.
477
629
  * Add new entity types to this union as they are implemented.
478
630
  */
479
- export declare type CanvasContent = DashboardCanvasContent;
631
+ export declare type CanvasContent = DashboardCanvasContent | DataDownloadCanvasContent;
480
632
 
481
633
  /**
482
634
  * Base shape shared by all canvas content types.
@@ -523,6 +675,10 @@ export declare type CanvasEntityDefinition<T extends CanvasContentBase = CanvasC
523
675
  }) => ReactNode;
524
676
  };
525
677
 
678
+ declare type CardInternalProps = F0AiInsightCardProps & {
679
+ className?: string;
680
+ };
681
+
526
682
  declare interface ChartComputation {
527
683
  datasetId: string;
528
684
  xAxis: string;
@@ -580,12 +736,21 @@ declare interface ChatDashboardConfig {
580
736
  title: string;
581
737
  /** Filter definitions — keys become filter IDs */
582
738
  filters?: Record<string, ChatDashboardFilterDefinition>;
739
+ /**
740
+ * Dashboard-level navigation filters (e.g. date navigator). Keys become
741
+ * filter IDs. Rendered above the grid by F0AnalyticsDashboard's
742
+ * `navigationFilters` slot.
743
+ */
744
+ navigationFilters?: Record<string, ChatDashboardNavigationFilterDefinition>;
583
745
  /** Ordered list of dashboard items with computation specs */
584
746
  items: ChatDashboardItem[];
585
747
  /** Fetch specs for server-side data retrieval, keyed by datasetId */
586
748
  fetchSpecs: Record<string, DashboardFetchSpec>;
587
749
  }
588
750
 
751
+ /** Granularity options exposed by F0's `OneDateNavigator`. */
752
+ declare type ChatDashboardDateNavigationGranularity = "day" | "week" | "month" | "quarter" | "halfyear" | "year" | "range";
753
+
589
754
  declare interface ChatDashboardFilterDefinition {
590
755
  type: "in";
591
756
  label: string;
@@ -629,8 +794,33 @@ declare interface ChatDashboardItemBase {
629
794
  description?: string;
630
795
  /** Source attribution shown as a subtitle (e.g. "Based on 8 feedbacks from 3 evaluators") */
631
796
  sourceDescription?: string;
797
+ /**
798
+ * Optional markdown explanation of how this item's data was calculated.
799
+ * Surfaced via the per-item dropdown's "Where does this data come from?"
800
+ * entry, which opens a dialog rendering the markdown. Omit to hide the
801
+ * entry — backwards compatible with persisted dashboards.
802
+ */
803
+ explanation?: string;
804
+ /**
805
+ * @deprecated Ignored by the renderer — items auto-size to equal-width
806
+ * slots based on the per-row slot budget. Kept for backwards compatibility
807
+ * with persisted layouts; safe to leave unset.
808
+ */
632
809
  colSpan?: number;
810
+ /**
811
+ * @deprecated Use `itemHeight` (pixels) instead. Kept for backwards
812
+ * compatibility with persisted layouts: when `itemHeight` is unset, the
813
+ * grid still reads `rowSpan * 48` as a fallback.
814
+ */
633
815
  rowSpan?: number;
816
+ /**
817
+ * Item height in pixels. Takes precedence over `rowSpan` when set. The
818
+ * row height in the grid is `max(itemHeight)` across all items in the row.
819
+ * Persisted resizes write a pixel-accurate value here; agent-generated
820
+ * dashboards should pick from a constrained set of values that match the
821
+ * data shape (more rows / more categories → taller).
822
+ */
823
+ itemHeight?: number;
634
824
  x?: number;
635
825
  y?: number;
636
826
  }
@@ -662,6 +852,22 @@ declare interface ChatDashboardMetricItem extends ChatDashboardItemBase {
662
852
  computation: MetricComputation;
663
853
  }
664
854
 
855
+ /**
856
+ * Navigation filter definitions emitted by the LLM via `displayDashboard`.
857
+ * Discriminated on `type`. Today the only supported variant is
858
+ * `dateNavigation`, which renders F0's date navigator above the dashboard
859
+ * grid. The `column` and `datasetId` are agent-side metadata used by the
860
+ * compute SQL builder; they are stripped before reaching F0AnalyticsDashboard.
861
+ */
862
+ declare type ChatDashboardNavigationFilterDefinition = {
863
+ type: "dateNavigation";
864
+ label: string;
865
+ column: string;
866
+ datasetId: string;
867
+ granularities: ChatDashboardDateNavigationGranularity[];
868
+ defaultGranularity?: ChatDashboardDateNavigationGranularity;
869
+ };
870
+
665
871
  declare interface ChatDashboardPieChartConfig {
666
872
  type: "pie";
667
873
  innerRadius?: number;
@@ -680,9 +886,7 @@ export declare const ChatSpinner: ForwardRefExoticComponent<Omit<SVGProps<SVGSVG
680
886
 
681
887
  declare type ChatTextareaProps = InputProps & {
682
888
  submitLabel?: string;
683
- creditWarning?: "soft";
684
- onDismissCreditWarning?: () => void;
685
- onGetCredits?: () => void;
889
+ creditWarning?: AiChatCreditWarning;
686
890
  };
687
891
 
688
892
  /**
@@ -767,6 +971,10 @@ declare interface CollectionComputation {
767
971
  limit?: number;
768
972
  }
769
973
 
974
+ export declare type ContentType = (typeof contentTypes)[number];
975
+
976
+ export declare const contentTypes: readonly ["text", "person", "people", "team", "company", "alert", "balance", "sparkline"];
977
+
770
978
  /**
771
979
  * Credits usage data returned by the host app
772
980
  */
@@ -802,6 +1010,46 @@ declare interface DashboardFetchSpec {
802
1010
  columnLabels?: Record<string, string>;
803
1011
  }
804
1012
 
1013
+ /**
1014
+ * Data download canvas content — renders a full data table with download options.
1015
+ */
1016
+ declare type DataDownloadCanvasContent = CanvasContentBase & {
1017
+ type: "dataDownload";
1018
+ dataset: DataDownloadDataset;
1019
+ filename?: string;
1020
+ markdown?: string;
1021
+ };
1022
+
1023
+ /**
1024
+ * Inline dataset for client-side file generation (Excel / CSV).
1025
+ * Sent by the agent with the raw query results.
1026
+ */
1027
+ declare type DataDownloadDataset = {
1028
+ /**
1029
+ * Column headers in display order.
1030
+ */
1031
+ columns: string[];
1032
+ /**
1033
+ * Array of row objects keyed by column name.
1034
+ */
1035
+ rows: Record<string, unknown>[];
1036
+ /**
1037
+ * Total number of rows returned by the query (before truncation).
1038
+ * Used together with previewCount to render the preview note.
1039
+ */
1040
+ totalCount?: number;
1041
+ /**
1042
+ * Number of rows shown in the markdown preview table.
1043
+ * Used together with totalCount to render the preview note.
1044
+ */
1045
+ previewCount?: number;
1046
+ /**
1047
+ * Map of raw column names to human-readable labels in the user's language.
1048
+ * Used for Excel/CSV headers. Falls back to the raw column name when absent.
1049
+ */
1050
+ columnLabels?: Record<string, string>;
1051
+ };
1052
+
805
1053
  export declare const defaultTranslations: {
806
1054
  readonly countries: {
807
1055
  ad: string;
@@ -1075,6 +1323,7 @@ export declare const defaultTranslations: {
1075
1323
  readonly summaries: {
1076
1324
  readonly types: {
1077
1325
  readonly sum: "sum";
1326
+ readonly count: "count";
1078
1327
  };
1079
1328
  };
1080
1329
  readonly export: {
@@ -1227,9 +1476,17 @@ export declare const defaultTranslations: {
1227
1476
  readonly openButton: "Open";
1228
1477
  };
1229
1478
  readonly dataDownload: {
1479
+ readonly title: "Download";
1230
1480
  readonly download: "Download {{format}}";
1231
1481
  readonly exportDashboard: "Export dashboard as {{format}}";
1232
1482
  readonly exporting: "Exporting...";
1483
+ readonly rows: "{{amount}} rows";
1484
+ };
1485
+ readonly dashboardItem: {
1486
+ readonly chartType: "Chart type";
1487
+ readonly errorTitle: "Error loading data";
1488
+ readonly retry: "Retry";
1489
+ readonly dataExplanation: "Where does this data come from?";
1233
1490
  };
1234
1491
  readonly pong: {
1235
1492
  readonly title: "Pong";
@@ -1251,6 +1508,7 @@ export declare const defaultTranslations: {
1251
1508
  };
1252
1509
  readonly attachFile: "Attach file";
1253
1510
  readonly removeFile: "Remove";
1511
+ readonly dropFilesHere: "Drop your files here";
1254
1512
  readonly clarifyingQuestion: {
1255
1513
  readonly submit: "Submit";
1256
1514
  readonly next: "Next";
@@ -1283,6 +1541,13 @@ export declare const defaultTranslations: {
1283
1541
  };
1284
1542
  };
1285
1543
  };
1544
+ readonly dataChart: {
1545
+ readonly heatmapNotSupported: "Heatmap not supported at this size";
1546
+ readonly barChartVertical: "Bar (vertical)";
1547
+ readonly barChartHorizontal: "Bar (horizontal)";
1548
+ readonly lineChart: "Line";
1549
+ readonly funnel: "Funnel";
1550
+ };
1286
1551
  readonly select: {
1287
1552
  readonly noResults: "No results found";
1288
1553
  readonly loadingMore: "Loading...";
@@ -1566,15 +1831,30 @@ export declare const F0AiChat: () => JSX_2.Element | null;
1566
1831
  /**
1567
1832
  * @experimental This is an experimental component use it at your own risk
1568
1833
  */
1569
- 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;
1834
+ 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;
1570
1835
 
1571
- export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, creditWarning, onDismissCreditWarning, onGetCredits, }: ChatTextareaProps) => JSX_2.Element;
1836
+ export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, creditWarning, }: ChatTextareaProps) => JSX_2.Element;
1572
1837
 
1573
1838
  /**
1574
1839
  * @experimental This is an experimental component use it at your own risk
1575
1840
  */
1576
1841
  export declare const F0AiFullscreenChat: () => JSX_2.Element | null;
1577
1842
 
1843
+ export declare const F0AiInsightCard: WithDataTestIdReturnType<ForwardRefExoticComponent<F0AiInsightCardPublicProps & RefAttributes<HTMLDivElement>> & {
1844
+ Skeleton: () => JSX_2.Element;
1845
+ }>;
1846
+
1847
+ export declare type F0AiInsightCardProps = {
1848
+ description?: string;
1849
+ heading: string;
1850
+ label?: string;
1851
+ selected?: boolean;
1852
+ onClick?: () => void;
1853
+ onAskOne?: () => void;
1854
+ } & AiInsightCardContent;
1855
+
1856
+ declare type F0AiInsightCardPublicProps = Omit<CardInternalProps, (typeof privateProps)[number]>;
1857
+
1578
1858
  export declare class F0AiMask {
1579
1859
  readonly element: HTMLElement;
1580
1860
  private canvas;
@@ -1626,6 +1906,59 @@ declare const F0AuraVoiceAnimationVariants: (props?: ({
1626
1906
  className?: ClassValue;
1627
1907
  })) | undefined) => string;
1628
1908
 
1909
+ declare type F0AvatarCompanyProps = {
1910
+ name: string;
1911
+ src?: string;
1912
+ size?: BaseAvatarProps["size"];
1913
+ badge?: AvatarBadge;
1914
+ } & Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">;
1915
+
1916
+ declare type F0AvatarPersonProps = {
1917
+ /**
1918
+ * The first name of the person.
1919
+ */
1920
+ firstName: string;
1921
+ /**
1922
+ * The last name of the person.
1923
+ */
1924
+ lastName: string;
1925
+ /**
1926
+ * The source of the person's image.
1927
+ */
1928
+ src?: string;
1929
+ /**
1930
+ * The size of the avatar.
1931
+ */
1932
+ size?: BaseAvatarProps["size"];
1933
+ /**
1934
+ * The badge to display on the avatar. Can be a module badge or a custom badge.
1935
+ */
1936
+ badge?: AvatarBadge;
1937
+ /**
1938
+ * Whether the person is deactivated. If true, the avatar will display an icon instead of the person's name or picture.
1939
+ */
1940
+ deactivated?: boolean;
1941
+ } & Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">;
1942
+
1943
+ declare type F0AvatarTeamProps = {
1944
+ /**
1945
+ * The name of the team.
1946
+ */
1947
+ name: string;
1948
+ /**
1949
+ * The source of the team's image.
1950
+ */
1951
+ src?: string;
1952
+ /**
1953
+ * The size of the avatar.
1954
+ */
1955
+ size?: BaseAvatarProps["size"];
1956
+ /**
1957
+ * The badge to display on the avatar. Can be a module badge or a custom badge.
1958
+ */
1959
+ badge?: AvatarBadge;
1960
+ } & Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">;
1961
+
1629
1962
  export declare const F0HILActionConfirmation: ({ text, confirmationText, onConfirm, cancelText, onCancel, }: F0HILActionConfirmationProps) => JSX_2.Element;
1630
1963
 
1631
1964
  /**
@@ -1654,6 +1987,13 @@ export declare type F0HILActionConfirmationProps = {
1654
1987
  onCancel: () => void;
1655
1988
  };
1656
1989
 
1990
+ declare interface F0IconProps extends SVGProps<SVGSVGElement>, VariantProps<typeof iconVariants> {
1991
+ icon: IconType;
1992
+ size?: "lg" | "md" | "sm" | "xs";
1993
+ state?: "normal" | "animate";
1994
+ color?: "default" | "currentColor" | `#${string}` | Lowercase<NestedKeyOf<typeof f1Colors.icon>>;
1995
+ }
1996
+
1657
1997
  export declare const F0OneIcon: ForwardRefExoticComponent<Omit<F0OneIconProps, "ref"> & RefAttributes<SVGSVGElement>>;
1658
1998
 
1659
1999
  /**
@@ -1743,10 +2083,39 @@ export declare interface I18nProviderProps {
1743
2083
  translations: TranslationsType;
1744
2084
  }
1745
2085
 
2086
+ declare const iconSizes: {
2087
+ readonly xs: "xs";
2088
+ readonly sm: "xs";
2089
+ readonly md: "sm";
2090
+ readonly lg: "md";
2091
+ };
2092
+
1746
2093
  declare type IconType = ForwardRefExoticComponent<SVGProps<SVGSVGElement> & RefAttributes<SVGSVGElement> & {
1747
2094
  animate?: "normal" | "animate";
1748
2095
  }>;
1749
2096
 
2097
+ declare const iconVariants: (props?: ({
2098
+ size?: "lg" | "md" | "sm" | "xs" | undefined;
2099
+ } & ({
2100
+ class?: ClassValue;
2101
+ className?: never;
2102
+ } | {
2103
+ class?: never;
2104
+ className?: ClassValue;
2105
+ })) | undefined) => string;
2106
+
2107
+ declare const internalAvatarColors: readonly ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
2108
+
2109
+ declare type InternalAvatarProps = React_2.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> & {
2110
+ size?: (typeof internalAvatarSizes)[number];
2111
+ type?: (typeof internalAvatarTypes)[number];
2112
+ color?: (typeof internalAvatarColors)[number];
2113
+ };
2114
+
2115
+ declare const internalAvatarSizes: readonly ["xsmall", "small", "medium", "large", "xlarge", "xxlarge"];
2116
+
2117
+ declare const internalAvatarTypes: readonly ["base", "rounded"];
2118
+
1750
2119
  /**
1751
2120
  * Profile data for a job posting entity (ATS opening), resolved asynchronously
1752
2121
  * and displayed in the entity reference hover card.
@@ -1760,6 +2129,10 @@ declare type JobPostingProfile = {
1760
2129
 
1761
2130
  declare type Join<T extends string[], D extends string> = T extends [] ? never : T extends [infer F] ? F : T extends [infer F, ...infer R] ? F extends string ? `${F}${D}${Join<Extract<R, string[]>, D>}` : never : string;
1762
2131
 
2132
+ declare type Level = (typeof levels)[number];
2133
+
2134
+ declare const levels: readonly ["info", "warning", "critical", "positive"];
2135
+
1763
2136
  export declare type MaskOptions = {
1764
2137
  /**
1765
2138
  * The width of the Mask element.
@@ -1822,6 +2195,209 @@ declare interface MetricComputation {
1822
2195
  column?: string;
1823
2196
  }
1824
2197
 
2198
+ declare type ModuleId = keyof typeof modules;
2199
+
2200
+ declare const modules: {
2201
+ readonly "ai-reports": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2202
+ readonly ai_ticketing: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2203
+ readonly analytics: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2204
+ readonly ats: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2205
+ readonly benefits: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2206
+ readonly billing: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2207
+ readonly calendar: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2208
+ readonly cards: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2209
+ readonly "clock-in": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2210
+ readonly communities: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2211
+ readonly company_attendance: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2212
+ readonly company_documents: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2213
+ readonly company_projects: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2214
+ readonly company_trainings: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2215
+ readonly compensations: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2216
+ readonly complaints: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2217
+ readonly device_catalog: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2218
+ readonly discover: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2219
+ readonly documents: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2220
+ readonly employee_attendance: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2221
+ readonly employees: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2222
+ readonly engagement: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2223
+ readonly engagement_insights: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2224
+ readonly my_surveys: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2225
+ readonly "finance-accounting": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2226
+ readonly "finance-sales": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2227
+ readonly "finance-spending": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2228
+ readonly "finance-treasury": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2229
+ readonly "finance-workspace": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2230
+ readonly goals: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2231
+ readonly get_started: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2232
+ readonly home: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2233
+ readonly hub: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2234
+ readonly it_management: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2235
+ readonly kudos: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2236
+ readonly lms: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2237
+ readonly meetings: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2238
+ readonly my_benefits: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2239
+ readonly my_documents: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2240
+ readonly my_projects: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2241
+ readonly my_spending: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2242
+ readonly my_trainings: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2243
+ readonly "new-trainings": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2244
+ readonly notifications: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2245
+ readonly inbox: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2246
+ readonly overviews: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2247
+ readonly pages: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2248
+ readonly payroll_bundle: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2249
+ readonly performance_v2: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2250
+ readonly performance: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2251
+ readonly playground: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2252
+ readonly processes: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2253
+ readonly profile: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2254
+ readonly project_management: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2255
+ readonly reports: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2256
+ readonly salary_advance: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2257
+ readonly settings: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2258
+ readonly personal_settings: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2259
+ readonly shift_management: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2260
+ readonly shifts: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2261
+ readonly social: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2262
+ readonly software: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2263
+ readonly space_control: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2264
+ readonly talent_analytics: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2265
+ readonly tasks: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2266
+ readonly "time-tracking": ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2267
+ readonly timeoff: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2268
+ readonly workflows: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
2269
+ };
2270
+
2271
+ /**
2272
+ * Utility type to extract all possible paths from nested object.
2273
+ * Generates hyphenated paths from nested object structure
2274
+ * Only includes parent key if it has a DEFAULT property
2275
+ */
2276
+ declare type NestedKeyOf<T> = {
2277
+ [K in keyof T & string]: T[K] extends object ? K extends "DEFAULT" ? never : T[K] extends {
2278
+ DEFAULT: string;
2279
+ } ? `${K}` | `${K}-${NestedKeyOf<T[K]>}` : `${K}-${NestedKeyOf<T[K]>}` : K extends "DEFAULT" ? never : `${K}`;
2280
+ }[keyof T & string];
2281
+
2282
+ declare type Numeric = NumericValue | number | undefined | null;
2283
+
2284
+ /**
2285
+ * Formats a numeric value according to the provided options.
2286
+ *
2287
+ * @param value - The numeric value to format.
2288
+ * @param options - The formatting options.
2289
+ * @returns The formatted value as a string.
2290
+ */
2291
+ declare type NumericFormatter = (value: Numeric, options?: NumericFormatterOptions) => string;
2292
+
2293
+ /**
2294
+ * Configuration options for the numeric formatter.
2295
+ */
2296
+ declare type NumericFormatterOptions = {
2297
+ /**
2298
+ * Locale string for number formatting (e.g., "en-US", "es-ES", "de-DE").
2299
+ * Determines the decimal separator and other locale-specific formatting rules.
2300
+ *
2301
+ * @default "en-US"
2302
+ */
2303
+ locale?: string;
2304
+ /**
2305
+ * Maximum number of decimal places to display.
2306
+ * The formatter will round the number to this precision.
2307
+ *
2308
+ * @default 2
2309
+ */
2310
+ decimalPlaces?: number;
2311
+ /**
2312
+ * Whether to hide the units from the formatted value.
2313
+ *
2314
+ * @default false
2315
+ */
2316
+ hideUnits?: boolean;
2317
+ /**
2318
+ * Whether to space the units from the formatted value.
2319
+ *
2320
+ * @default false
2321
+ */
2322
+ unitsSpaced?: boolean;
2323
+ /**
2324
+ * Whether to use compact notation for the formatted value.
2325
+ *
2326
+ * @default false
2327
+ */
2328
+ compact?: boolean;
2329
+ /**
2330
+ * Placeholder text to return when value is undefined or null.
2331
+ */
2332
+ emptyPlaceholder?: string;
2333
+ /**
2334
+ * Whether to use grouping for the formatted value.
2335
+ *
2336
+ * @default true
2337
+ */
2338
+ useGrouping?: boolean;
2339
+ };
2340
+
2341
+ /**
2342
+ * Represents a numeric value that can be formatted with optional units.
2343
+ *
2344
+ * The value can be provided in two formats:
2345
+ * - `value`: Direct numeric value (e.g., 123.45)
2346
+ * - `value_x100`: Value stored as integer multiplied by 100 (e.g., 12345 represents 123.45)
2347
+ *
2348
+ * @example
2349
+ * ```ts
2350
+ * // Direct value
2351
+ * const directValue: NumericValue = { value: 123.45, units: "€" }
2352
+ *
2353
+ * // Value stored as x100 (useful for avoiding floating point precision issues)
2354
+ * const x100Value: NumericValue = { value_x100: 12345, units: "€" }
2355
+ * ```
2356
+ */
2357
+ declare type NumericValue = {
2358
+ /**
2359
+ * Optional unit string to append or prepend to the formatted number.
2360
+ * Common examples: "€", "$", "kg", "%", etc.
2361
+ */
2362
+ units?: string;
2363
+ /**
2364
+ * Position of the units relative to the number.
2365
+ * - "prepend": Units appear before the number (e.g., "$123.45")
2366
+ * - "append": Units appear after the number (e.g., "123.45€")
2367
+ *
2368
+ * @default "append"
2369
+ */
2370
+ unitsPosition?: "prepend" | "append";
2371
+ } & ({
2372
+ /**
2373
+ * Direct numeric value to format.
2374
+ */
2375
+ value: number | undefined;
2376
+ } | {
2377
+ /**
2378
+ * Numeric value stored as an integer multiplied by 100.
2379
+ * This format is useful for avoiding floating-point precision issues.
2380
+ * The formatter will automatically divide by 100 before formatting.
2381
+ *
2382
+ * @example
2383
+ * value_x100: 12345 represents 123.45
2384
+ */
2385
+ value_x100: number | undefined;
2386
+ });
2387
+
2388
+ /**
2389
+ * A numeric value that can be formatted with an optional formatter and options.
2390
+ *
2391
+ * @param value - The numeric value to format.
2392
+ * @param formatter - The formatter to use.
2393
+ * @param formatterOptions - The formatting options.
2394
+ */
2395
+ declare type NumericWithFormatter = {
2396
+ numericValue: NumericValue;
2397
+ formatter?: NumericFormatter;
2398
+ formatterOptions?: NumericFormatterOptions;
2399
+ };
2400
+
1825
2401
  export declare type OneIconSize = (typeof oneIconSizes)[number];
1826
2402
 
1827
2403
  export declare const oneIconSizes: readonly ["xs", "sm", "md", "lg"];
@@ -1852,6 +2428,8 @@ declare interface PieComputation {
1852
2428
  limit?: number;
1853
2429
  }
1854
2430
 
2431
+ declare const privateProps: readonly ["className"];
2432
+
1855
2433
  declare interface RadarComputation {
1856
2434
  datasetId: string;
1857
2435
  seriesColumn: string;
@@ -1865,6 +2443,18 @@ declare interface RadarComputation {
1865
2443
  sortOrder?: "asc" | "desc";
1866
2444
  }
1867
2445
 
2446
+ /**
2447
+ * A numeric value that can be formatted with an optional formatter and options.
2448
+ * This is a relaxed version of NumericWithFormatter that allows the numeric value to be a Numeric.
2449
+ */
2450
+ declare type RelaxedNumericWithFormatter = Omit<NumericWithFormatter, "numericValue"> & {
2451
+ numericValue: Numeric;
2452
+ };
2453
+
2454
+ export declare type SparklineDataPoint = {
2455
+ value: number;
2456
+ };
2457
+
1868
2458
  declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
1869
2459
 
1870
2460
  declare type TranslationShape<T> = {