@factorialco/f0-react 6.91.2 → 6.93.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.
@@ -10657,6 +10657,49 @@ export declare interface HomeSlotParamsMap {
10657
10657
  indicators: IndicatorsListProps;
10658
10658
  }
10659
10659
 
10660
+ export declare type HomeTrackingOptions = {
10661
+ /** A widget's header link, footer action, or "View more" was used. */
10662
+ onWidgetAction?: (event: HomeWidgetActionEvent) => void;
10663
+ /**
10664
+ * A row inside a widget was activated. Fires ALONGSIDE the navigation the
10665
+ * row's `href` performs — it does not replace or gate it, so a middle-click
10666
+ * or a modified click still behaves like the link it is.
10667
+ */
10668
+ onWidgetItemActivate?: (event: HomeWidgetItemActivateEvent) => void;
10669
+ };
10670
+
10671
+ /**
10672
+ * Payload for `tracking.onWidgetAction`. The widget is named by the id the host
10673
+ * gave it, which is the key to everything else the host already knows about it.
10674
+ */
10675
+ export declare type HomeWidgetActionEvent = {
10676
+ widgetId: string;
10677
+ action: HomeWidgetActionKind;
10678
+ };
10679
+
10680
+ /**
10681
+ * TRACKING FOR THE HOME — the same shape the AI kit uses (`AiChatTrackingOptions`):
10682
+ * the host passes callbacks, the components fire them, and nothing about a
10683
+ * widget's data changes to make it measurable.
10684
+ *
10685
+ * This exists because a Home widget is DECLARATIVE. Its rows carry an `href`
10686
+ * and never an `onClick` (that is the one click behavior a `list` slot has, and
10687
+ * a type test holds the line), so a host had no seam to observe an interaction
10688
+ * from — its analytics simply could not see the Home. These callbacks are that
10689
+ * seam, and they leave the row data alone: navigation is still the anchor's.
10690
+ *
10691
+ * BEHAVIOUR ONLY, deliberately. The payloads carry what the reader DID and say
10692
+ * nothing about which column a widget sits in or where in it — that is the
10693
+ * host's own persisted layout, and duplicating it into an analytics event
10694
+ * would make two sources for one fact, the stale one being the event.
10695
+ */
10696
+ /**
10697
+ * WHICH AFFORDANCE was used. A widget has three ways out of it and they mean
10698
+ * different things to whoever reads the numbers: the header's own link, the
10699
+ * footer's call to action, and the "View more" a capped list grows.
10700
+ */
10701
+ export declare type HomeWidgetActionKind = "header-link" | "footer-action" | "view-more";
10702
+
10660
10703
  /**
10661
10704
  * The `Widget` chrome a Home widget may carry beyond its header, passed straight
10662
10705
  * through to the frame.
@@ -10765,6 +10808,19 @@ export declare type HomeWidgetItem = HomeWidgetChrome & {
10765
10808
  loading?: boolean;
10766
10809
  };
10767
10810
 
10811
+ /** Payload for `tracking.onWidgetItemActivate`. */
10812
+ export declare type HomeWidgetItemActivateEvent = {
10813
+ widgetId: string;
10814
+ /** The row's own id, as the slot was given it. */
10815
+ itemId: string | number;
10816
+ /**
10817
+ * 1-based place of the row within its slot, AS DRAWN. Not layout state: it
10818
+ * is where the reader's attention landed in a list ordered by its own data,
10819
+ * which is the one position worth reporting.
10820
+ */
10821
+ itemPosition: number;
10822
+ };
10823
+
10768
10824
  /**
10769
10825
  * A DIRECT ACTION on a widget's collapsed glyph: the one thing the widget can be
10770
10826
  * told to do without being opened — resume a paused timer, clock out, join the
@@ -12121,6 +12177,17 @@ export declare interface NewHomeLayoutProps {
12121
12177
  onClickAddNewWidget?: (side: WidgetContainerSide) => void;
12122
12178
  /** Called with a side and its widget ids in their new order after a drag. */
12123
12179
  onReorderWidgets?: (side: WidgetContainerSide, ids: string[]) => void;
12180
+ /**
12181
+ * ANALYTICS CALLBACKS for what the reader does inside the widgets — the same
12182
+ * shape the AI kit takes (`ai.tracking`).
12183
+ *
12184
+ * A widget is declarative: its rows carry an `href` and never an `onClick`,
12185
+ * so a host had no seam to observe a row from and its analytics could not see
12186
+ * the Home at all. These fire for EVERY widget in the column, so a newly
12187
+ * added one is measured without remembering anything. Nothing here changes
12188
+ * behaviour — a row still navigates through its own anchor.
12189
+ */
12190
+ tracking?: HomeTrackingOptions;
12124
12191
  /** The daytime gradient period for the page surface. */
12125
12192
  period?: HomePeriod;
12126
12193
  /** Fixed px width of the side rail. */
@@ -16534,8 +16601,10 @@ declare module "@tiptap/core" {
16534
16601
 
16535
16602
  declare module "@tiptap/core" {
16536
16603
  interface Commands<ReturnType> {
16537
- transcript: {
16538
- insertTranscript: (data: TranscriptData) => ReturnType;
16604
+ videoEmbed: {
16605
+ setVideoEmbed: (options: {
16606
+ src: string;
16607
+ }) => ReturnType;
16539
16608
  };
16540
16609
  }
16541
16610
  }
@@ -16543,10 +16612,8 @@ declare module "@tiptap/core" {
16543
16612
 
16544
16613
  declare module "@tiptap/core" {
16545
16614
  interface Commands<ReturnType> {
16546
- videoEmbed: {
16547
- setVideoEmbed: (options: {
16548
- src: string;
16549
- }) => ReturnType;
16615
+ transcript: {
16616
+ insertTranscript: (data: TranscriptData) => ReturnType;
16550
16617
  };
16551
16618
  }
16552
16619
  }
@@ -1,6 +1,6 @@
1
- import { v as s, t, A as i, a as o, J as r, av as n, au as l, aw as d, B as S, w as C, y as g, L as m, aC as u, aD as c, aM as b, x as h, C as P, aB as T, aN as p, D as F, z as I, a3 as E, b7 as A, be as B, K as L, b6 as y, E as D, b as k, i as W, ak as _, al as v, ai as O, G as f, ar as R, F as x, j as H, n as M, o as N, k as V, c as w, q as G, r as z, H as U, aQ as j, aR as q, aF as K, aq as Q, aV as X, b4 as J, ax as Y, a6 as Z, aP as $, U as aa, ac as ea, O as sa, bi as ta, V as ia, P as oa, M as ra, N as na, ay as la, R as da, b2 as Sa, b8 as Ca, S as ga, a7 as ma, a8 as ua, _ as ca, $ as ba, a0 as ha, Z as Pa, a1 as Ta, W as pa, a2 as Fa, a4 as Ia, a5 as Ea, a9 as Aa, aa as Ba, bc as La, bb as ya, at as Da, as as ka, aA as Wa, aO as _a, aL as va, az as Oa, ab as fa, aG as Ra, bd as xa, bg as Ha, aE as Ma, aJ as Na, aH as Va, bh as wa, aK as Ga, aI as za, bf as Ua, d as ja, af as qa, ah as Ka, ba as Qa, b9 as Xa, ag as Ja, an as Ya, f as Za, l as $a, p as ae, g as ee, h as se, aY as te, aW as ie, ao as oe, ap as re, aU as ne, b5 as le, aX as de, e as Se, s as Ce, b0 as ge, aT as me, aZ as ue, ad as ce, b3 as be, u as he, aj as Pe, ae as Te, am as pe, aS as Fe, T as Ie, Q as Ee, I as Ae, Y as Be, X as Le, b1 as ye, a$ as De, a_ as ke } from "./experimental-DsSJIAU6.js";
2
- import { dQ as _e, eq as ve, ep as Oe, eD as fe, dn as Re, en as xe, cf as He, c5 as Me, cc as Ne, ei as Ve, b_ as we, b_ as Ge, bT as ze, ej as Ue, ci as je, e4 as qe, ck as Ke, eG as Qe, eo as Xe, ez as Je, eA as Ye, d7 as Ze, eE as $e, k as as, dR as es, cO as ss, em as ts, es as is, er as os, T as rs, h as ns, bU as ls, eB as ds, eH as Ss, eC as Cs, eF as gs, ey as ms, ev as us, ex as cs, et as bs, ek as hs, el as Ps, ee as Ts, ew as ps, eu as Fs } from "./F0CanvasPanel-BYk37H3S.js";
3
- import { ay as Es, az as As, a6 as Bs, a7 as Ls, a4 as ys, ah as Ds, C as ks, a8 as Ws, aK as _s, ad as vs, aJ as Os, ag as fs, a5 as Rs, aw as xs, aM as Hs, aL as Ms, ao as Ns, ai as Vs, ar as ws, aP as Gs, a3 as zs, at as Us, aq as js, al as qs, aR as Ks, am as Qs, au as Xs, av as Js, a9 as Ys, aN as Zs, aO as $s, an as at, ax as et, aG as st, O as tt, aI as it, aa as ot, aT as rt, ac as nt, ae as lt, ar as dt, aQ as St, as as Ct, ap as gt, aS as mt, ab as ut, W as ct, af as bt, a2 as ht, a0 as Pt, a1 as Tt, aC as pt, aD as Ft, aA as It, aH as Et, ak as At, aj as Bt, aE as Lt, m as yt, aB as Dt, aF as kt, D as Wt } from "./CoachmarkProvider-BvHCC6U-.js";
1
+ import { v as s, t, A as i, a as o, J as r, av as n, au as l, aw as d, B as S, w as C, y as g, L as m, aC as u, aD as c, aM as b, x as h, C as P, aB as T, aN as p, D as F, z as I, a3 as E, b7 as A, be as B, K as L, b6 as y, E as D, b as k, i as W, ak as _, al as v, ai as O, G as f, ar as R, F as x, j as H, n as M, o as N, k as V, c as w, q as G, r as z, H as U, aQ as j, aR as q, aF as K, aq as Q, aV as X, b4 as J, ax as Y, a6 as Z, aP as $, U as aa, ac as ea, O as sa, bi as ta, V as ia, P as oa, M as ra, N as na, ay as la, R as da, b2 as Sa, b8 as Ca, S as ga, a7 as ma, a8 as ua, _ as ca, $ as ba, a0 as ha, Z as Pa, a1 as Ta, W as pa, a2 as Fa, a4 as Ia, a5 as Ea, a9 as Aa, aa as Ba, bc as La, bb as ya, at as Da, as as ka, aA as Wa, aO as _a, aL as va, az as Oa, ab as fa, aG as Ra, bd as xa, bg as Ha, aE as Ma, aJ as Na, aH as Va, bh as wa, aK as Ga, aI as za, bf as Ua, d as ja, af as qa, ah as Ka, ba as Qa, b9 as Xa, ag as Ja, an as Ya, f as Za, l as $a, p as ae, g as ee, h as se, aY as te, aW as ie, ao as oe, ap as re, aU as ne, b5 as le, aX as de, e as Se, s as Ce, b0 as ge, aT as me, aZ as ue, ad as ce, b3 as be, u as he, aj as Pe, ae as Te, am as pe, aS as Fe, T as Ie, Q as Ee, I as Ae, Y as Be, X as Le, b1 as ye, a$ as De, a_ as ke } from "./experimental-BiC_8-Mj.js";
2
+ import { dQ as _e, eq as ve, ep as Oe, eD as fe, dn as Re, en as xe, cf as He, c5 as Me, cc as Ne, ei as Ve, b_ as we, b_ as Ge, bT as ze, ej as Ue, ci as je, e4 as qe, ck as Ke, eG as Qe, eo as Xe, ez as Je, eA as Ye, d7 as Ze, eE as $e, k as as, dR as es, cO as ss, em as ts, es as is, er as os, T as rs, h as ns, bU as ls, eB as ds, eH as Ss, eC as Cs, eF as gs, ey as ms, ev as us, ex as cs, et as bs, ek as hs, el as Ps, ee as Ts, ew as ps, eu as Fs } from "./F0CanvasPanel-CfmcbyHH.js";
3
+ import { ay as Es, az as As, a6 as Bs, a7 as Ls, a4 as ys, ah as Ds, C as ks, a8 as Ws, aK as _s, ad as vs, aJ as Os, ag as fs, a5 as Rs, aw as xs, aM as Hs, aL as Ms, ao as Ns, ai as Vs, ar as ws, aP as Gs, a3 as zs, at as Us, aq as js, al as qs, aR as Ks, am as Qs, au as Xs, av as Js, a9 as Ys, aN as Zs, aO as $s, an as at, ax as et, aG as st, O as tt, aI as it, aa as ot, aT as rt, ac as nt, ae as lt, ar as dt, aQ as St, as as Ct, ap as gt, aS as mt, ab as ut, W as ct, af as bt, a2 as ht, a0 as Pt, a1 as Tt, aC as pt, aD as Ft, aA as It, aH as Et, ak as At, aj as Bt, aE as Lt, m as yt, aB as Dt, aF as kt, D as Wt } from "./CoachmarkProvider-DiCvfQiv.js";
4
4
  export {
5
5
  Es as AUTO_PER_PAGE_MAX,
6
6
  As as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
package/dist/f0.d.ts CHANGED
@@ -1419,12 +1419,6 @@ export declare type AutofillTimesheetShift = {
1419
1419
  locationType?: string | null;
1420
1420
  };
1421
1421
 
1422
- /**
1423
- * An item that can be passed in the `availableFormDefinitions` array.
1424
- * Accepts either a plain {@link F0AiAvailableFormDefinition} or the result
1425
- * of calling {@link useF0FormDefinition} (i.e. {@link F0FormDefinitionSingleSchema}
1426
- * or {@link F0FormDefinitionPerSection}).
1427
- */
1428
1422
  export declare type AvailableFormDefinitionItem = F0AiAvailableFormDefinition | F0FormDefinitionSingleSchema<any> | F0FormDefinitionPerSection<any>;
1429
1423
 
1430
1424
  declare const Avatar: React_2.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React_2.RefAttributes<HTMLSpanElement>, "ref"> & {
@@ -2259,6 +2253,9 @@ declare type CanvasCardAction = {
2259
2253
  hideLabel?: boolean;
2260
2254
  };
2261
2255
 
2256
+ /** The card's own control: open/close, or the host's custom action. */
2257
+ declare const CanvasCardAction: ({ action, isActive, }: Pick<F0CanvasCardProps, "action" | "isActive">) => JSX_2.Element | null;
2258
+
2262
2259
  declare type CanvasCardAvatar = {
2263
2260
  type: "module";
2264
2261
  module: ModuleId;
@@ -2270,6 +2267,9 @@ declare type CanvasCardAvatar = {
2270
2267
  icon: IconType;
2271
2268
  };
2272
2269
 
2270
+ /** Whichever avatar the card was given: a module, a file, or an icon. */
2271
+ declare const CanvasCardAvatar: ({ avatar }: Pick<F0CanvasCardProps, "avatar">) => JSX_2.Element | null;
2272
+
2273
2273
  /**
2274
2274
  * Discriminated union for canvas panel content.
2275
2275
  * Add new entity types to this union as they are implemented.
@@ -3201,6 +3201,12 @@ declare interface CheckboxProps extends DataAttributes_2 {
3201
3201
  * The title of the checkbox
3202
3202
  */
3203
3203
  title?: string;
3204
+ /**
3205
+ * A secondary line of text rendered under the title, for context the title
3206
+ * cannot carry on its own. Hidden along with the title when `hideLabel` is
3207
+ * set, and exposed to assistive technology as the checkbox's description.
3208
+ */
3209
+ description?: string;
3204
3210
  /**
3205
3211
  * The id of the checkbox
3206
3212
  */
@@ -8954,7 +8960,7 @@ declare type F0CardSelectField = F0BaseField & {
8954
8960
 
8955
8961
  export declare const F0Checkbox: WithDataTestIdReturnType_3<typeof _F0Checkbox>;
8956
8962
 
8957
- declare function _F0Checkbox({ title, onCheckedChange, id, disabled, indeterminate, checked, value, hideLabel, presentational, stopPropagation, name, required, ...rest }: CheckboxProps): JSX_2.Element;
8963
+ declare function _F0Checkbox({ title, description, onCheckedChange, id, disabled, indeterminate, checked, value, hideLabel, presentational, stopPropagation, name, required, ...rest }: CheckboxProps): JSX_2.Element;
8958
8964
 
8959
8965
  /**
8960
8966
  * F0 config options specific to checkbox fields
@@ -18826,6 +18832,11 @@ declare interface TextProps extends Omit<default_2.HTMLAttributes<HTMLElement>,
18826
18832
  * @default false
18827
18833
  */
18828
18834
  required?: boolean;
18835
+ /**
18836
+ * The id of the control this text labels. Only meaningful together with
18837
+ * `as="label"`; `React.HTMLAttributes` does not carry it.
18838
+ */
18839
+ htmlFor?: string;
18829
18840
  }
18830
18841
 
18831
18842
  declare type TextQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
@@ -20643,8 +20654,10 @@ declare module "@tiptap/core" {
20643
20654
 
20644
20655
  declare module "@tiptap/core" {
20645
20656
  interface Commands<ReturnType> {
20646
- transcript: {
20647
- insertTranscript: (data: TranscriptData) => ReturnType;
20657
+ videoEmbed: {
20658
+ setVideoEmbed: (options: {
20659
+ src: string;
20660
+ }) => ReturnType;
20648
20661
  };
20649
20662
  }
20650
20663
  }
@@ -20652,10 +20665,8 @@ declare module "@tiptap/core" {
20652
20665
 
20653
20666
  declare module "@tiptap/core" {
20654
20667
  interface Commands<ReturnType> {
20655
- videoEmbed: {
20656
- setVideoEmbed: (options: {
20657
- src: string;
20658
- }) => ReturnType;
20668
+ transcript: {
20669
+ insertTranscript: (data: TranscriptData) => ReturnType;
20659
20670
  };
20660
20671
  }
20661
20672
  }