@factorialco/f0-react 9.0.0 → 9.2.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 (68) hide show
  1. package/dist/{ChatPdfThumbnail-Ch2Pi_N2.js → ChatPdfThumbnail-CAOAs-qh.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-CW24c9tS.js → ChatPostComposerDialog-BuAdTgkM.js} +3 -3
  3. package/dist/{CoachmarkProvider-BXGXfIw-.js → CoachmarkProvider-CQJNVR53.js} +9 -9
  4. package/dist/{DocumentToolbar-Bp9iCtUO.js → DocumentToolbar-BIIQvnf3.js} +2 -2
  5. package/dist/{DocxViewer-CKrXuvnB.js → DocxViewer-DVeatd9-.js} +2 -2
  6. package/dist/{F0AiProcessingOverlay-SFLE4xoa.js → F0AiProcessingOverlay-CHEMsQma.js} +1754 -1458
  7. package/dist/{F0CanvasPanel-D25Wuumh.js → F0CanvasPanel-jtcjSLLr.js} +21117 -21073
  8. package/dist/{F0DocumentViewer-BXlup6dL.js → F0DocumentViewer-Bg7uiU9c.js} +3 -3
  9. package/dist/{F0Map-B9_jeX3R.js → F0Map-DLJ6sRN_.js} +4 -4
  10. package/dist/{F0VideoPlayer-VJSe0ziC.js → F0VideoPlayer-B8kLFnbf.js} +2 -2
  11. package/dist/{SheetViewer-BO9MbbYR.js → SheetViewer-B8BmAg0d.js} +3 -3
  12. package/dist/{TextViewer-B7B947JZ.js → TextViewer-DDtUtmWj.js} +2 -2
  13. package/dist/ai.d.ts +47 -16
  14. package/dist/ai.js +2 -2
  15. package/dist/component-status.d.ts +32 -21
  16. package/dist/component-status.js +94 -85
  17. package/dist/{experimental-Do9KcVJp.js → experimental-W3dMO8CE.js} +9822 -9358
  18. package/dist/experimental.d.ts +96 -49
  19. package/dist/experimental.js +4 -4
  20. package/dist/f0.d.ts +98 -29
  21. package/dist/f0.js +13749 -13474
  22. package/dist/i18n-provider-defaults.d.ts +19 -14
  23. package/dist/i18n-provider-defaults.js +9 -2
  24. package/dist/{index-C66JSsii.js → index-B5dJ814t.js} +1 -1
  25. package/dist/{index-W5BBvrFa.js → index-C8h4kG2n.js} +2 -2
  26. package/dist/index-CW8sa9GP.js +8 -0
  27. package/dist/{index-C95Ox1WO.js → index-D0AH60ev.js} +3 -3
  28. package/dist/index-k8Xsj0d1.js +4 -0
  29. package/dist/{pdfWorker-Bi4FxYtY.js → pdfWorker-BRAGbLi_.js} +2 -2
  30. package/dist/styles.css +1 -1
  31. package/icons/app/CalendarActive.d.ts +4 -0
  32. package/icons/app/CalendarActive.d.ts.map +1 -0
  33. package/icons/app/CalendarActive.js +5 -0
  34. package/icons/app/Directory.d.ts +4 -0
  35. package/icons/app/Directory.d.ts.map +1 -0
  36. package/icons/app/Directory.js +5 -0
  37. package/icons/app/DirectoryFilled.d.ts +4 -0
  38. package/icons/app/DirectoryFilled.d.ts.map +1 -0
  39. package/icons/app/DirectoryFilled.js +5 -0
  40. package/icons/app/FoldersFilled.d.ts +4 -0
  41. package/icons/app/FoldersFilled.d.ts.map +1 -0
  42. package/icons/app/FoldersFilled.js +5 -0
  43. package/icons/app/HeadsetMicrophone.d.ts +4 -0
  44. package/icons/app/HeadsetMicrophone.d.ts.map +1 -0
  45. package/icons/app/HeadsetMicrophone.js +5 -0
  46. package/icons/app/HomeFilled.d.ts +4 -0
  47. package/icons/app/HomeFilled.d.ts.map +1 -0
  48. package/icons/app/HomeFilled.js +5 -0
  49. package/icons/app/HubFilled.d.ts +4 -0
  50. package/icons/app/HubFilled.d.ts.map +1 -0
  51. package/icons/app/HubFilled.js +5 -0
  52. package/icons/app/InboxFilled.d.ts +4 -0
  53. package/icons/app/InboxFilled.d.ts.map +1 -0
  54. package/icons/app/InboxFilled.js +5 -0
  55. package/icons/app/LifeBuoy.d.ts +4 -0
  56. package/icons/app/LifeBuoy.d.ts.map +1 -0
  57. package/icons/app/LifeBuoy.js +5 -0
  58. package/icons/app/Messages.d.ts.map +1 -1
  59. package/icons/app/Messages.js +2 -2
  60. package/icons/app/MessagesFilled.d.ts +4 -0
  61. package/icons/app/MessagesFilled.d.ts.map +1 -0
  62. package/icons/app/MessagesFilled.js +5 -0
  63. package/icons/app/index.d.ts +10 -0
  64. package/icons/app/index.d.ts.map +1 -1
  65. package/icons/app/index.js +10 -0
  66. package/package.json +14 -14
  67. package/dist/index-Bt9_3eC1.js +0 -4
  68. package/dist/index-a7A0EHsJ.js +0 -8
package/dist/f0.d.ts CHANGED
@@ -1612,7 +1612,7 @@ declare type AvatarFileSize = (typeof avatarFileSizes)[number];
1612
1612
 
1613
1613
  declare const avatarFileSizes: readonly ["xs", "sm", "md", "lg"];
1614
1614
 
1615
- declare const avatarIconSizes: readonly ["sm", "md", "lg"];
1615
+ declare const avatarIconSizes: readonly ["xs", "sm", "md", "lg"];
1616
1616
 
1617
1617
  export declare type AvatarListSize = (typeof avatarListSizes)[number];
1618
1618
 
@@ -2090,7 +2090,7 @@ export declare type BoxShadowToken = "none" | "sm" | "md" | "lg" | "xl";
2090
2090
  declare type BoxVariantProps = VariantProps<typeof boxVariants>;
2091
2091
 
2092
2092
  declare const boxVariants: (props?: ({
2093
- zIndex?: "0" | "auto" | "10" | "20" | "50" | "40" | "30" | undefined;
2093
+ zIndex?: "0" | "auto" | "10" | "20" | "40" | "30" | "50" | undefined;
2094
2094
  boxShadow?: "none" | "lg" | "md" | "sm" | "xl" | undefined;
2095
2095
  divider?: "x" | "y" | undefined;
2096
2096
  dividerColor?: "bold" | "selected" | "default" | "info" | "secondary" | "critical" | "warning" | "positive" | "promote" | "critical-bold" | "info-bold" | "warning-bold" | "positive-bold" | "selected-bold" | undefined;
@@ -2103,11 +2103,11 @@ declare const boxVariants: (props?: ({
2103
2103
  borderBottom?: "none" | "default" | "thick" | undefined;
2104
2104
  borderLeft?: "none" | "default" | "thick" | undefined;
2105
2105
  borderRight?: "none" | "default" | "thick" | undefined;
2106
- borderRadius?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "full" | "3xl" | undefined;
2107
- borderRadiusTopLeft?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "full" | "3xl" | undefined;
2108
- borderRadiusTopRight?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "full" | "3xl" | undefined;
2109
- borderRadiusBottomLeft?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "full" | "3xl" | undefined;
2110
- borderRadiusBottomRight?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "full" | "3xl" | undefined;
2106
+ borderRadius?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "3xl" | "full" | undefined;
2107
+ borderRadiusTopLeft?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "3xl" | "full" | undefined;
2108
+ borderRadiusTopRight?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "3xl" | "full" | undefined;
2109
+ borderRadiusBottomLeft?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "3xl" | "full" | undefined;
2110
+ borderRadiusBottomRight?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "2xs" | "3xl" | "full" | undefined;
2111
2111
  borderStyle?: "none" | "dashed" | "dotted" | "double" | "solid" | undefined;
2112
2112
  background?: "bold" | "selected" | "info" | "secondary" | "inverse" | "critical" | "accent" | "warning" | "positive" | "promote" | "critical-bold" | "transparent" | "overlay" | "primary" | "tertiary" | "inverse-secondary" | "accent-bold" | "info-bold" | "warning-bold" | "positive-bold" | "selected-secondary" | "selected-bold" | undefined;
2113
2113
  width?: SizeToken_2 | undefined;
@@ -2124,7 +2124,7 @@ declare const boxVariants: (props?: ({
2124
2124
  gap?: "none" | "lg" | "md" | "sm" | "xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | undefined;
2125
2125
  alignItems?: "center" | "end" | "start" | "baseline" | "stretch" | undefined;
2126
2126
  justifyContent?: "center" | "end" | "start" | "between" | "stretch" | "around" | "evenly" | undefined;
2127
- flexDirection?: "row" | "column" | "column-reverse" | "row-reverse" | undefined;
2127
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined;
2128
2128
  flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined;
2129
2129
  grow?: boolean | undefined;
2130
2130
  shrink?: boolean | undefined;
@@ -4190,7 +4190,10 @@ export declare interface DashboardItemBase {
4190
4190
  id: string;
4191
4191
  /** Widget title displayed in the header */
4192
4192
  title: string;
4193
- /** Optional description below the title */
4193
+ /**
4194
+ * Optional description below the title. For a table, its non-empty lines
4195
+ * also head the Excel download, under the title and above the headers.
4196
+ */
4194
4197
  description?: string;
4195
4198
  /**
4196
4199
  * Optional help copy for what the widget measures, revealed by an ⓘ icon
@@ -6144,6 +6147,11 @@ export declare const defaultTranslations: {
6144
6147
  readonly fromPrevious: "from previous";
6145
6148
  readonly fromStage: "from {{stage}}";
6146
6149
  };
6150
+ readonly aria: {
6151
+ readonly moreValues: "{{count}} more values";
6152
+ readonly moreSeries: "{{count}} more series";
6153
+ readonly gaugeValue: "{{value}}, range {{min}} to {{max}}";
6154
+ };
6147
6155
  };
6148
6156
  readonly progressSeries: {
6149
6157
  readonly noData: "No data";
@@ -7016,6 +7024,16 @@ declare type DropdownInternalProps = {
7016
7024
  children?: default_2.ReactNode;
7017
7025
  align?: "start" | "end" | "center";
7018
7026
  alignOffset?: number;
7027
+ /** Edge the menu opens from. @default "bottom" */
7028
+ side?: "top" | "right" | "bottom" | "left";
7029
+ /** Gap between the trigger and the menu, in px. @default 4 */
7030
+ sideOffset?: number;
7031
+ /**
7032
+ * Floor for the menu's width, in px. The menu is still never narrower than
7033
+ * its trigger. By default it is as wide as its trigger or its longest row,
7034
+ * whichever is wider.
7035
+ */
7036
+ minWidth?: number;
7019
7037
  disableExitAnimation?: boolean;
7020
7038
  open?: boolean;
7021
7039
  onOpenChange?: (open: boolean) => void;
@@ -7056,7 +7074,7 @@ declare type DropdownInternalProps = {
7056
7074
  modal?: boolean;
7057
7075
  } & DataAttributes_2;
7058
7076
 
7059
- export declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch;
7077
+ export declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch | DropdownItemPanel;
7060
7078
 
7061
7079
  declare type DropdownItemLabel = {
7062
7080
  type: "label";
@@ -7074,6 +7092,32 @@ declare type DropdownItemObject = Pick<NavigationItem, "label" | "href"> & Omit<
7074
7092
  * item's `pointer-events: none`.
7075
7093
  */
7076
7094
  disabledTooltip?: string;
7095
+ /**
7096
+ * The one that is already true: the workspace you are in, the sort you are
7097
+ * on. It draws a check at the end of the row. The menu does not enforce
7098
+ * that only one item has it.
7099
+ */
7100
+ checked?: boolean;
7101
+ /** Where the link opens. `"_blank"` gets the row its external arrow. */
7102
+ target?: AnchorHTMLAttributes<HTMLAnchorElement>["target"];
7103
+ /**
7104
+ * Draws the trailing "opens elsewhere" arrow, for a row that opens a window
7105
+ * from `onClick`, or links out without `target="_blank"` (which marks
7106
+ * itself).
7107
+ */
7108
+ external?: boolean;
7109
+ };
7110
+
7111
+ /**
7112
+ * A block the menu shows rather than a row it offers, such as an account card
7113
+ * under the menu's caption. It takes no focus and closes nothing, so it is not
7114
+ * a `DropdownMenuItem`: the arrow keys pass over it. Keep its content static:
7115
+ * the menu keeps keyboard focus on its rows, so a control inside a panel cannot
7116
+ * be reached with the keyboard.
7117
+ */
7118
+ declare type DropdownItemPanel = {
7119
+ type: "panel";
7120
+ content: default_2.ReactNode;
7077
7121
  };
7078
7122
 
7079
7123
  declare type DropdownItemSeparator = {
@@ -10205,7 +10249,13 @@ declare interface F0DataChartBaseProps extends F0DataChartCommonProps, F0DataCha
10205
10249
  showLabels?: boolean;
10206
10250
  /** Format the value axis tick labels (e.g. `(v) => \`${v}M\`` ) */
10207
10251
  valueFormatter?: (value: number) => string;
10208
- /** Format category axis tick labels */
10252
+ /**
10253
+ * Format category axis tick labels. Only the axis uses it: the chart's
10254
+ * screen-reader summary reads `categories` as passed. So pass full names
10255
+ * ("January", "Monday") and shorten them here, e.g.
10256
+ * `(category) => category.slice(0, 3)`, rather than passing abbreviations a
10257
+ * screen reader would read out as "Jan".
10258
+ */
10209
10259
  categoryFormatter?: (value: string) => string;
10210
10260
  /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
10211
10261
  echartsOptions?: Partial<echarts_2.EChartsOption>;
@@ -10215,6 +10265,13 @@ declare interface F0DataChartBaseProps extends F0DataChartCommonProps, F0DataCha
10215
10265
  * Props shared by every `F0DataChart` variant.
10216
10266
  */
10217
10267
  declare interface F0DataChartCommonProps<Point extends F0DataChartPointClick = F0DataChartMarkPointClick> {
10268
+ /**
10269
+ * What the chart is about, e.g. "Headcount by department, Q3". Screen
10270
+ * readers announce it as the chart's name, followed by the summary of its
10271
+ * data that every chart generates on its own. Pass the chart's visible
10272
+ * title when it has one: the data alone can't say what was measured.
10273
+ */
10274
+ ariaLabel?: string;
10218
10275
  /** Customize or opt out of the empty state shown when data is empty. */
10219
10276
  emptyState?: F0DataChartEmptyStateProps;
10220
10277
  /**
@@ -10401,7 +10458,7 @@ declare interface F0DataChartLegendInteractionProps {
10401
10458
  /**
10402
10459
  * Reports the chart's live legend visibility after an interactive toggle.
10403
10460
  * Primarily used by accessible companion surfaces that must expose the same
10404
- * data currently shown on the canvas.
10461
+ * data currently shown in the chart.
10405
10462
  */
10406
10463
  onLegendSelectionChange?: (selected: Record<string, boolean>) => void;
10407
10464
  }
@@ -10712,7 +10769,8 @@ export declare interface F0DataChartReferenceLine {
10712
10769
  *
10713
10770
  * The bare `[x, y]` tuple is the terse form. The object form additionally
10714
10771
  * carries `label` — the point's identity (e.g. an employee or team name),
10715
- * shown as the tooltip header.
10772
+ * shown as the tooltip header — and an optional `avatar` drawn in place of
10773
+ * the dot.
10716
10774
  */
10717
10775
  export declare type F0DataChartScatterDataPoint = [number, number] | {
10718
10776
  /** Horizontal position, plotted on the value X axis */
@@ -10723,6 +10781,13 @@ export declare type F0DataChartScatterDataPoint = [number, number] | {
10723
10781
  label?: string;
10724
10782
  /** Override color for this individual point. Must be an F0 design token name. */
10725
10783
  color?: ChartColorToken;
10784
+ /**
10785
+ * Draw this avatar in place of the dot, e.g. the employee the point
10786
+ * stands for. It sits on a dot of the series color, so a color split
10787
+ * still reads. Rendered at the largest avatar size that fits
10788
+ * `pointSize`, and never below `xs` (20px).
10789
+ */
10790
+ avatar?: AvatarVariant;
10726
10791
  };
10727
10792
 
10728
10793
  /**
@@ -10738,7 +10803,10 @@ export declare interface F0DataChartScatterProps extends F0DataChartCommonProps,
10738
10803
  type: "scatter";
10739
10804
  /** One or more point groups. Multiple series render as a color split. */
10740
10805
  series: F0DataChartScatterSeries[];
10741
- /** Point diameter in pixels. @default 12 */
10806
+ /**
10807
+ * Point diameter in pixels. Points with an `avatar` use the largest avatar
10808
+ * size that fits it, and never go below 20px. @default 12
10809
+ */
10742
10810
  pointSize?: number;
10743
10811
  /**
10744
10812
  * Fit each axis to its data range instead of anchoring it at zero. Turn off
@@ -10792,7 +10860,8 @@ export declare interface F0DataChartScatterProps extends F0DataChartCommonProps,
10792
10860
  showPointLabels?: boolean;
10793
10861
  /**
10794
10862
  * Merge points that land on nearly the same spot into one dot. The merged dot
10795
- * prints no label; hovering it lists every point it holds. @default false
10863
+ * prints no label or avatar; hovering it lists every point it holds.
10864
+ * @default false
10796
10865
  */
10797
10866
  groupNearbyPoints?: boolean;
10798
10867
  /** Render `xAxisName`/`yAxisName` as axis titles, not only in the tooltip. @default false */
@@ -23039,16 +23108,6 @@ declare namespace Calendar {
23039
23108
  }
23040
23109
 
23041
23110
 
23042
- declare module "@tiptap/core" {
23043
- interface Commands<ReturnType> {
23044
- fontSize: {
23045
- setFontSize: (fontSize: string) => ReturnType;
23046
- unsetFontSize: () => ReturnType;
23047
- };
23048
- }
23049
- }
23050
-
23051
-
23052
23111
  declare module "@tiptap/core" {
23053
23112
  interface Commands<ReturnType> {
23054
23113
  aiBlock: {
@@ -23061,10 +23120,9 @@ declare module "@tiptap/core" {
23061
23120
 
23062
23121
  declare module "@tiptap/core" {
23063
23122
  interface Commands<ReturnType> {
23064
- indent: {
23065
- setIndent: (level: number) => ReturnType;
23066
- unsetIndent: () => ReturnType;
23067
- outdent: () => ReturnType;
23123
+ fontSize: {
23124
+ setFontSize: (fontSize: string) => ReturnType;
23125
+ unsetFontSize: () => ReturnType;
23068
23126
  };
23069
23127
  }
23070
23128
  }
@@ -23082,6 +23140,17 @@ declare module "@tiptap/core" {
23082
23140
  }
23083
23141
 
23084
23142
 
23143
+ declare module "@tiptap/core" {
23144
+ interface Commands<ReturnType> {
23145
+ indent: {
23146
+ setIndent: (level: number) => ReturnType;
23147
+ unsetIndent: () => ReturnType;
23148
+ outdent: () => ReturnType;
23149
+ };
23150
+ }
23151
+ }
23152
+
23153
+
23085
23154
  declare module "@tiptap/core" {
23086
23155
  interface Commands<ReturnType> {
23087
23156
  moodTracker: {