@factorialco/f0-react 9.6.0 → 9.7.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 (31) hide show
  1. package/dist/{ChatPdfThumbnail-BJNuH3Kk.js → ChatPdfThumbnail-yraFe2ng.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-DXeFY7WG.js → ChatPostComposerDialog-BblH-Tcx.js} +3 -3
  3. package/dist/{CoachmarkProvider-BqGMYwuU.js → CoachmarkProvider--PuyIWtf.js} +14979 -14671
  4. package/dist/{DocumentToolbar-BASAjrEM.js → DocumentToolbar-DYdZp2dy.js} +2 -2
  5. package/dist/{DocxViewer-Cm764lTQ.js → DocxViewer-CYCgMBas.js} +2 -2
  6. package/dist/{F0AiProcessingOverlay-i0Yoa_vU.js → F0AiProcessingOverlay-BGBmeXP8.js} +833 -852
  7. package/dist/{F0CanvasPanel-9FFNyLel.js → F0CanvasPanel-ItEQhrkL.js} +11296 -11277
  8. package/dist/{F0DocumentViewer-X9uTRuKM.js → F0DocumentViewer-D_NRhkaf.js} +3 -3
  9. package/dist/{F0Map-BKZv02zL.js → F0Map-xGynCAG0.js} +4 -4
  10. package/dist/{F0VideoPlayer-BjcAExI-.js → F0VideoPlayer-BXv9qSDV.js} +2 -2
  11. package/dist/{SheetViewer-DhhRBQv1.js → SheetViewer-CWJ7YC8p.js} +3 -3
  12. package/dist/{TextViewer-CFpaJf1P.js → TextViewer-ed5C0tNK.js} +2 -2
  13. package/dist/ai.d.ts +18 -18
  14. package/dist/ai.js +2 -2
  15. package/dist/component-status.d.ts +18 -18
  16. package/dist/component-status.js +1 -1
  17. package/dist/{experimental-CHXAROSJ.js → experimental-0__hxgY-.js} +2091 -2080
  18. package/dist/experimental.d.ts +172 -18
  19. package/dist/experimental.js +266 -265
  20. package/dist/f0.d.ts +30 -30
  21. package/dist/f0.js +9724 -10031
  22. package/dist/i18n-provider-defaults.d.ts +18 -18
  23. package/dist/{index-D4KyAsr3.js → index-B7p223Ae.js} +2 -2
  24. package/dist/index-C87L5a9L.js +8 -0
  25. package/dist/index-DeRPe3lA.js +4 -0
  26. package/dist/{index-BwVOsDhQ.js → index-PFXXhVLQ.js} +3 -3
  27. package/dist/{index-B0pkWkPs.js → index-cGDWPhTc.js} +1 -1
  28. package/dist/{pdfWorker-Dku13BrA.js → pdfWorker-DcgOJiCp.js} +2 -2
  29. package/package.json +1 -1
  30. package/dist/index-D0UOb_at.js +0 -8
  31. package/dist/index-blRNr67I.js +0 -4
@@ -12744,6 +12744,156 @@ export declare type F0TextInputProps = F0TextInputBaseProps & {
12744
12744
  onDismiss?: never;
12745
12745
  };
12746
12746
 
12747
+ /**
12748
+ * A sequence of steps, each an `F0TimelineRow`, joined by its connector. It
12749
+ * owns what a list of rows has to agree on — which one is last — so a host
12750
+ * passes the steps and nothing else.
12751
+ *
12752
+ * @experimental This is an experimental component use it at your own risk
12753
+ */
12754
+ export declare const F0Timeline: WithDataTestIdReturnType_6<ForwardRefExoticComponent<F0TimelineProps & RefAttributes<HTMLOListElement>>>;
12755
+
12756
+ /** One step of a timeline: an `F0TimelineRow`'s props, with an id to key it. */
12757
+ export declare type F0TimelineItem = DistributiveOmit<F0TimelineRowProps, "isLast"> & {
12758
+ id: string;
12759
+ };
12760
+
12761
+ export declare interface F0TimelineProps {
12762
+ /** The steps, top to bottom. The last one draws no connector below it. */
12763
+ items: F0TimelineItem[];
12764
+ }
12765
+
12766
+ declare interface F0TimelineRowAction {
12767
+ /** Button label */
12768
+ label: string;
12769
+ /** Optional icon for the button */
12770
+ icon?: IconType;
12771
+ /** Click handler */
12772
+ onClick: () => void;
12773
+ /** Whether the button is disabled */
12774
+ disabled?: boolean;
12775
+ /** Whether the button is in a loading state */
12776
+ loading?: boolean;
12777
+ }
12778
+
12779
+ declare interface F0TimelineRowBaseProps {
12780
+ /** The current status of this timeline entry */
12781
+ status: TimelineRowStatus;
12782
+ /** The title of the timeline entry (e.g., "Tasks") */
12783
+ title: string;
12784
+ /** Whether this is the last row in the timeline (hides the bottom connector line) */
12785
+ isLast?: boolean;
12786
+ /** Hide the status indicator column (used for subtasks inside multitask rows) */
12787
+ hideStatus?: boolean;
12788
+ }
12789
+
12790
+ /** Item types that can be rendered inside a multitask row */
12791
+ declare type F0TimelineRowMultitaskItemProps = F0TimelineRowTaskProps | F0TimelineRowNestedtaskProps;
12792
+
12793
+ /** Props for a multitask (collapsible group) timeline row */
12794
+ declare interface F0TimelineRowMultitaskProps extends F0TimelineRowBaseProps {
12795
+ /** Number of grouped tasks */
12796
+ taskCount: number;
12797
+ /** Number of completed tasks in the group (shows a progress pill) */
12798
+ completedCount?: number;
12799
+ /** Whether the multitask row is expanded (controlled) */
12800
+ expanded: boolean;
12801
+ /** Callback when multitask row expand/collapse is toggled */
12802
+ onExpandToggle: () => void;
12803
+ /** The subtask items to render when expanded. Can be single tasks or nestedtask groups */
12804
+ items: F0TimelineRowMultitaskItemProps[];
12805
+ }
12806
+
12807
+ /**
12808
+ * Shared shape for nestedtask rows. The collapsible behaviour is layered on
12809
+ * top via a discriminated union (`F0TimelineRowNestedtaskProps`) so callers
12810
+ * either provide both `expanded` and `onExpandToggle` (collapsible) or
12811
+ * neither (non-collapsible).
12812
+ */
12813
+ declare interface F0TimelineRowNestedtaskBaseProps extends F0TimelineRowBaseProps {
12814
+ /** The icon representing the task type */
12815
+ icon: IconType;
12816
+ /** Description text (e.g., "Estimated on 18/07/2025") */
12817
+ description?: string;
12818
+ /**
12819
+ * Number of nested items (displayed in the progress pill alongside
12820
+ * `completedCount`). Omit when the row body conveys progress on its own
12821
+ * (e.g. an embedded info card or table) and a pill would be redundant.
12822
+ */
12823
+ taskCount?: number;
12824
+ /** Number of completed items (displayed in the progress pill) */
12825
+ completedCount?: number;
12826
+ /** Metadata items displayed below the header (e.g., assignees, file chips). Always visible regardless of expand/collapse */
12827
+ metadata?: (MetadataItem | undefined | boolean)[];
12828
+ /** The nested task items to render when expanded. Ignored when `content` is provided. */
12829
+ items?: F0TimelineRowTaskProps[];
12830
+ /**
12831
+ * Custom content to render in the expanded body of the row. When provided,
12832
+ * `items` is ignored and this React node is rendered instead. Use this to
12833
+ * embed richer UI (callout cards, tables, custom panels) inside a nested
12834
+ * timeline row.
12835
+ */
12836
+ content?: React.ReactNode;
12837
+ /** Primary action button (displayed on the right after a divider) */
12838
+ primaryAction?: F0TimelineRowAction;
12839
+ /** Secondary action buttons (displayed on the left) */
12840
+ secondaryActions?: F0TimelineRowAction[];
12841
+ /** Overflow menu items (displayed as a dropdown via ellipsis button) */
12842
+ otherActions?: F0TimelineRowOtherAction[];
12843
+ }
12844
+
12845
+ /**
12846
+ * Props for a nestedtask timeline row.
12847
+ * Renders a task-style header (custom icon, title, description, chevron toggle)
12848
+ * with collapsible nested items and optional group-level metadata (assignees, file chips, etc.).
12849
+ * Unlike multitask, the header looks like a regular task row with expand/collapse capability.
12850
+ *
12851
+ * Discriminated by `collapsible`:
12852
+ * - default / `collapsible: true` — both `expanded` and `onExpandToggle` are required.
12853
+ * - `collapsible: false` — the row is always expanded, the header has no toggle affordance,
12854
+ * and `expanded`/`onExpandToggle` are not accepted.
12855
+ */
12856
+ declare type F0TimelineRowNestedtaskProps = (F0TimelineRowNestedtaskBaseProps & {
12857
+ /**
12858
+ * Whether the header chevron toggles the body.
12859
+ * @default true
12860
+ */
12861
+ collapsible?: true;
12862
+ /** Whether the row is expanded (controlled) */
12863
+ expanded: boolean;
12864
+ /** Callback when expand/collapse is toggled */
12865
+ onExpandToggle: () => void;
12866
+ }) | (F0TimelineRowNestedtaskBaseProps & {
12867
+ /**
12868
+ * When false, the row is always expanded and the header has no toggle
12869
+ * affordance — useful when the body controls its own expansion
12870
+ * (e.g. a collapsible callout card).
12871
+ */
12872
+ collapsible: false;
12873
+ expanded?: never;
12874
+ onExpandToggle?: never;
12875
+ });
12876
+
12877
+ declare type F0TimelineRowOtherAction = DropdownItem;
12878
+
12879
+ declare type F0TimelineRowProps = F0TimelineRowTaskProps | F0TimelineRowMultitaskProps | F0TimelineRowNestedtaskProps;
12880
+
12881
+ /** Props for a single-task timeline row */
12882
+ declare interface F0TimelineRowTaskProps extends F0TimelineRowBaseProps {
12883
+ /** The icon representing the task type (defaults to Marker) */
12884
+ icon?: IconType;
12885
+ /** Description text (e.g., "Completed on 20/2025") */
12886
+ description?: string;
12887
+ /** Metadata items to display (assignees, tags, dates, etc.) using the same pattern as F0ResourceHeader */
12888
+ metadata?: (MetadataItem | undefined | boolean)[];
12889
+ /** Primary action button (displayed on the right after a divider) */
12890
+ primaryAction?: F0TimelineRowAction;
12891
+ /** Secondary action buttons (displayed on the left) */
12892
+ secondaryActions?: F0TimelineRowAction[];
12893
+ /** Overflow menu items (displayed as a dropdown via ellipsis button) */
12894
+ otherActions?: F0TimelineRowOtherAction[];
12895
+ }
12896
+
12747
12897
  /**
12748
12898
  * Loose message shape used inside f0. Mirrors the CopilotKit `Message`
12749
12899
  * shape so adapters (factorial, mock runtime) can map back and forth
@@ -19394,6 +19544,10 @@ export declare const tileAspectRatio: (tile: F0MeetingTile, fallback: number) =>
19394
19544
 
19395
19545
  export declare const tileKey: (participantId: string, kind: string) => string;
19396
19546
 
19547
+ declare type TimelineRowStatus = (typeof timelineRowStatuses)[number];
19548
+
19549
+ declare const timelineRowStatuses: readonly ["completed", "in-progress", "not-started"];
19550
+
19397
19551
  /** A button rendered in the footer at the bottom of the table of contents */
19398
19552
  export declare type TOCAction = {
19399
19553
  label: string;
@@ -21258,9 +21412,8 @@ declare namespace Calendar {
21258
21412
 
21259
21413
  declare module "@tiptap/core" {
21260
21414
  interface Commands<ReturnType> {
21261
- aiBlock: {
21262
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
21263
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
21415
+ transcript: {
21416
+ insertTranscript: (data: TranscriptData) => ReturnType;
21264
21417
  };
21265
21418
  }
21266
21419
  }
@@ -21268,11 +21421,10 @@ declare module "@tiptap/core" {
21268
21421
 
21269
21422
  declare module "@tiptap/core" {
21270
21423
  interface Commands<ReturnType> {
21271
- enhanceHighlight: {
21272
- setEnhanceHighlight: (from: number, to: number, options?: {
21273
- placeholder?: string;
21424
+ videoEmbed: {
21425
+ setVideoEmbed: (options: {
21426
+ src: string;
21274
21427
  }) => ReturnType;
21275
- clearEnhanceHighlight: () => ReturnType;
21276
21428
  };
21277
21429
  }
21278
21430
  }
@@ -21291,9 +21443,9 @@ declare module "@tiptap/core" {
21291
21443
 
21292
21444
  declare module "@tiptap/core" {
21293
21445
  interface Commands<ReturnType> {
21294
- fontSize: {
21295
- setFontSize: (fontSize: string) => ReturnType;
21296
- unsetFontSize: () => ReturnType;
21446
+ aiBlock: {
21447
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
21448
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
21297
21449
  };
21298
21450
  }
21299
21451
  }
@@ -21301,8 +21453,11 @@ declare module "@tiptap/core" {
21301
21453
 
21302
21454
  declare module "@tiptap/core" {
21303
21455
  interface Commands<ReturnType> {
21304
- moodTracker: {
21305
- insertMoodTracker: (data: MoodTrackerData) => ReturnType;
21456
+ enhanceHighlight: {
21457
+ setEnhanceHighlight: (from: number, to: number, options?: {
21458
+ placeholder?: string;
21459
+ }) => ReturnType;
21460
+ clearEnhanceHighlight: () => ReturnType;
21306
21461
  };
21307
21462
  }
21308
21463
  }
@@ -21310,10 +21465,9 @@ declare module "@tiptap/core" {
21310
21465
 
21311
21466
  declare module "@tiptap/core" {
21312
21467
  interface Commands<ReturnType> {
21313
- videoEmbed: {
21314
- setVideoEmbed: (options: {
21315
- src: string;
21316
- }) => ReturnType;
21468
+ fontSize: {
21469
+ setFontSize: (fontSize: string) => ReturnType;
21470
+ unsetFontSize: () => ReturnType;
21317
21471
  };
21318
21472
  }
21319
21473
  }
@@ -21321,8 +21475,8 @@ declare module "@tiptap/core" {
21321
21475
 
21322
21476
  declare module "@tiptap/core" {
21323
21477
  interface Commands<ReturnType> {
21324
- transcript: {
21325
- insertTranscript: (data: TranscriptData) => ReturnType;
21478
+ moodTracker: {
21479
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
21326
21480
  };
21327
21481
  }
21328
21482
  }