@factorialco/f0-react 1.438.4 → 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-DPDtak5l.js → F0AiChat-RHHqqqMC.js} +155298 -138847
  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-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-DShSXZqM.js +0 -1912
  47. package/dist/index-iuTQ3Ph9.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
  */
@@ -248,7 +273,7 @@ declare type AiChatProviderReturnValue = {
248
273
  */
249
274
  fileDragOver: boolean;
250
275
  /* Excluded from this release type: setFileDragOver */
251
- } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "fileAttachments"> & {
276
+ } & Pick<AiChatState, "greeting" | "agent" | "disclaimer" | "resizable" | "entityRefs" | "toolHints" | "credits" | "creditWarning" | "fileAttachments"> & {
252
277
  /** The current canvas content, or null when canvas is closed */
253
278
  canvasContent: CanvasContent | null;
254
279
  /** Open the canvas panel with the given content */
@@ -280,6 +305,7 @@ declare interface AiChatState {
280
305
  entityRefs?: EntityRefs;
281
306
  toolHints?: AiChatToolHint[];
282
307
  credits?: AiChatCredits;
308
+ creditWarning?: AiChatCreditWarning;
283
309
  fileAttachments?: AiChatFileAttachmentConfig;
284
310
  placeholders?: string[];
285
311
  setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
@@ -339,6 +365,34 @@ export declare interface AiChatTranslationsProviderProps {
339
365
  translations: AiChatTranslations;
340
366
  }
341
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
+
342
396
  /**
343
397
  * Default AI chat translations — derived from the global defaultTranslations
344
398
  * to avoid manual duplication.
@@ -409,9 +463,17 @@ export declare const aiTranslations: {
409
463
  readonly openButton: "Open";
410
464
  };
411
465
  readonly dataDownload: {
466
+ readonly title: "Download";
412
467
  readonly download: "Download {{format}}";
413
468
  readonly exportDashboard: "Export dashboard as {{format}}";
414
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?";
415
477
  };
416
478
  readonly pong: {
417
479
  readonly title: "Pong";
@@ -468,6 +530,88 @@ export declare const aiTranslations: {
468
530
  };
469
531
  };
470
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
+
471
615
  /**
472
616
  * Profile data for a candidate entity (ATS applicant), resolved asynchronously
473
617
  * and displayed in the entity reference hover card.
@@ -484,7 +628,7 @@ declare type CandidateProfile = {
484
628
  * Discriminated union for canvas panel content.
485
629
  * Add new entity types to this union as they are implemented.
486
630
  */
487
- export declare type CanvasContent = DashboardCanvasContent;
631
+ export declare type CanvasContent = DashboardCanvasContent | DataDownloadCanvasContent;
488
632
 
489
633
  /**
490
634
  * Base shape shared by all canvas content types.
@@ -531,6 +675,10 @@ export declare type CanvasEntityDefinition<T extends CanvasContentBase = CanvasC
531
675
  }) => ReactNode;
532
676
  };
533
677
 
678
+ declare type CardInternalProps = F0AiInsightCardProps & {
679
+ className?: string;
680
+ };
681
+
534
682
  declare interface ChartComputation {
535
683
  datasetId: string;
536
684
  xAxis: string;
@@ -588,12 +736,21 @@ declare interface ChatDashboardConfig {
588
736
  title: string;
589
737
  /** Filter definitions — keys become filter IDs */
590
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>;
591
745
  /** Ordered list of dashboard items with computation specs */
592
746
  items: ChatDashboardItem[];
593
747
  /** Fetch specs for server-side data retrieval, keyed by datasetId */
594
748
  fetchSpecs: Record<string, DashboardFetchSpec>;
595
749
  }
596
750
 
751
+ /** Granularity options exposed by F0's `OneDateNavigator`. */
752
+ declare type ChatDashboardDateNavigationGranularity = "day" | "week" | "month" | "quarter" | "halfyear" | "year" | "range";
753
+
597
754
  declare interface ChatDashboardFilterDefinition {
598
755
  type: "in";
599
756
  label: string;
@@ -637,8 +794,33 @@ declare interface ChatDashboardItemBase {
637
794
  description?: string;
638
795
  /** Source attribution shown as a subtitle (e.g. "Based on 8 feedbacks from 3 evaluators") */
639
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
+ */
640
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
+ */
641
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;
642
824
  x?: number;
643
825
  y?: number;
644
826
  }
@@ -670,6 +852,22 @@ declare interface ChatDashboardMetricItem extends ChatDashboardItemBase {
670
852
  computation: MetricComputation;
671
853
  }
672
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
+
673
871
  declare interface ChatDashboardPieChartConfig {
674
872
  type: "pie";
675
873
  innerRadius?: number;
@@ -688,9 +886,7 @@ export declare const ChatSpinner: ForwardRefExoticComponent<Omit<SVGProps<SVGSVG
688
886
 
689
887
  declare type ChatTextareaProps = InputProps & {
690
888
  submitLabel?: string;
691
- creditWarning?: "soft";
692
- onDismissCreditWarning?: () => void;
693
- onGetCredits?: () => void;
889
+ creditWarning?: AiChatCreditWarning;
694
890
  };
695
891
 
696
892
  /**
@@ -775,6 +971,10 @@ declare interface CollectionComputation {
775
971
  limit?: number;
776
972
  }
777
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
+
778
978
  /**
779
979
  * Credits usage data returned by the host app
780
980
  */
@@ -810,6 +1010,46 @@ declare interface DashboardFetchSpec {
810
1010
  columnLabels?: Record<string, string>;
811
1011
  }
812
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
+
813
1053
  export declare const defaultTranslations: {
814
1054
  readonly countries: {
815
1055
  ad: string;
@@ -1083,6 +1323,7 @@ export declare const defaultTranslations: {
1083
1323
  readonly summaries: {
1084
1324
  readonly types: {
1085
1325
  readonly sum: "sum";
1326
+ readonly count: "count";
1086
1327
  };
1087
1328
  };
1088
1329
  readonly export: {
@@ -1235,9 +1476,17 @@ export declare const defaultTranslations: {
1235
1476
  readonly openButton: "Open";
1236
1477
  };
1237
1478
  readonly dataDownload: {
1479
+ readonly title: "Download";
1238
1480
  readonly download: "Download {{format}}";
1239
1481
  readonly exportDashboard: "Export dashboard as {{format}}";
1240
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?";
1241
1490
  };
1242
1491
  readonly pong: {
1243
1492
  readonly title: "Pong";
@@ -1292,6 +1541,13 @@ export declare const defaultTranslations: {
1292
1541
  };
1293
1542
  };
1294
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
+ };
1295
1551
  readonly select: {
1296
1552
  readonly noResults: "No results found";
1297
1553
  readonly loadingMore: "Loading...";
@@ -1575,15 +1831,30 @@ export declare const F0AiChat: () => JSX_2.Element | null;
1575
1831
  /**
1576
1832
  * @experimental This is an experimental component use it at your own risk
1577
1833
  */
1578
- 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;
1579
1835
 
1580
- 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;
1581
1837
 
1582
1838
  /**
1583
1839
  * @experimental This is an experimental component use it at your own risk
1584
1840
  */
1585
1841
  export declare const F0AiFullscreenChat: () => JSX_2.Element | null;
1586
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
+
1587
1858
  export declare class F0AiMask {
1588
1859
  readonly element: HTMLElement;
1589
1860
  private canvas;
@@ -1635,6 +1906,59 @@ declare const F0AuraVoiceAnimationVariants: (props?: ({
1635
1906
  className?: ClassValue;
1636
1907
  })) | undefined) => string;
1637
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
+
1638
1962
  export declare const F0HILActionConfirmation: ({ text, confirmationText, onConfirm, cancelText, onCancel, }: F0HILActionConfirmationProps) => JSX_2.Element;
1639
1963
 
1640
1964
  /**
@@ -1663,6 +1987,13 @@ export declare type F0HILActionConfirmationProps = {
1663
1987
  onCancel: () => void;
1664
1988
  };
1665
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
+
1666
1997
  export declare const F0OneIcon: ForwardRefExoticComponent<Omit<F0OneIconProps, "ref"> & RefAttributes<SVGSVGElement>>;
1667
1998
 
1668
1999
  /**
@@ -1752,10 +2083,39 @@ export declare interface I18nProviderProps {
1752
2083
  translations: TranslationsType;
1753
2084
  }
1754
2085
 
2086
+ declare const iconSizes: {
2087
+ readonly xs: "xs";
2088
+ readonly sm: "xs";
2089
+ readonly md: "sm";
2090
+ readonly lg: "md";
2091
+ };
2092
+
1755
2093
  declare type IconType = ForwardRefExoticComponent<SVGProps<SVGSVGElement> & RefAttributes<SVGSVGElement> & {
1756
2094
  animate?: "normal" | "animate";
1757
2095
  }>;
1758
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
+
1759
2119
  /**
1760
2120
  * Profile data for a job posting entity (ATS opening), resolved asynchronously
1761
2121
  * and displayed in the entity reference hover card.
@@ -1769,6 +2129,10 @@ declare type JobPostingProfile = {
1769
2129
 
1770
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;
1771
2131
 
2132
+ declare type Level = (typeof levels)[number];
2133
+
2134
+ declare const levels: readonly ["info", "warning", "critical", "positive"];
2135
+
1772
2136
  export declare type MaskOptions = {
1773
2137
  /**
1774
2138
  * The width of the Mask element.
@@ -1831,6 +2195,209 @@ declare interface MetricComputation {
1831
2195
  column?: string;
1832
2196
  }
1833
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
+
1834
2401
  export declare type OneIconSize = (typeof oneIconSizes)[number];
1835
2402
 
1836
2403
  export declare const oneIconSizes: readonly ["xs", "sm", "md", "lg"];
@@ -1861,6 +2428,8 @@ declare interface PieComputation {
1861
2428
  limit?: number;
1862
2429
  }
1863
2430
 
2431
+ declare const privateProps: readonly ["className"];
2432
+
1864
2433
  declare interface RadarComputation {
1865
2434
  datasetId: string;
1866
2435
  seriesColumn: string;
@@ -1874,6 +2443,18 @@ declare interface RadarComputation {
1874
2443
  sortOrder?: "asc" | "desc";
1875
2444
  }
1876
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
+
1877
2458
  declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
1878
2459
 
1879
2460
  declare type TranslationShape<T> = {
@@ -1978,6 +2559,11 @@ declare module "gridstack" {
1978
2559
  }
1979
2560
 
1980
2561
 
2562
+ declare namespace Calendar {
2563
+ var displayName: string;
2564
+ }
2565
+
2566
+
1981
2567
  declare module "@tiptap/core" {
1982
2568
  interface Commands<ReturnType> {
1983
2569
  aiBlock: {
@@ -2025,8 +2611,3 @@ declare module "@tiptap/core" {
2025
2611
  };
2026
2612
  }
2027
2613
  }
2028
-
2029
-
2030
- declare namespace Calendar {
2031
- var displayName: string;
2032
- }