@factorialco/f0-react 2.23.0 → 2.25.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.
package/dist/ai.d.ts CHANGED
@@ -2180,7 +2180,9 @@ declare type DetailsItemContent = (ComponentProps<typeof DataList.Item> & {
2180
2180
  }[TagType_2] | {
2181
2181
  type: "avatar-list";
2182
2182
  avatarList: F0AvatarListProps;
2183
- };
2183
+ } | (ComponentProps<typeof FileItem> & {
2184
+ type: "file";
2185
+ });
2184
2186
 
2185
2187
  /**
2186
2188
  * Remove a property from a union of objects.
@@ -2785,6 +2787,15 @@ declare type F0AvatarIconProps = {
2785
2787
  state?: F0IconProps["state"];
2786
2788
  } & Partial<Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">>;
2787
2789
 
2790
+ /**
2791
+ * Optional extras every avatar entry may carry regardless of `type`.
2792
+ * `tooltipDescription` is rendered as the tooltip's secondary line via the
2793
+ * underlying `Tooltip` `description` slot (use it for emails, roles, etc.).
2794
+ */
2795
+ declare type F0AvatarListExtras = {
2796
+ tooltipDescription?: string;
2797
+ };
2798
+
2788
2799
  declare type F0AvatarListProps = {
2789
2800
  /**
2790
2801
  * The size of the avatars in the list.
@@ -2812,23 +2823,32 @@ declare type F0AvatarListProps = {
2812
2823
  * @default "compact"
2813
2824
  */
2814
2825
  layout?: "fill" | "compact";
2826
+ /**
2827
+ * Controls the scroll behavior of the `+N` overflow popover that lists
2828
+ * collapsed avatars (including their `tooltipDescription` entries).
2829
+ * - `"vertical"` (default): caps the popover height and scrolls vertically.
2830
+ * - `"none"`: lets the popover grow to fit all entries.
2831
+ * @default "vertical"
2832
+ */
2833
+ tooltipScroll?: "vertical" | "none";
2815
2834
  } & F0AvatarListPropsAvatars;
2816
2835
 
2817
2836
  declare type F0AvatarListPropsAvatars = {
2818
2837
  type: "person";
2819
- avatars: (Omit<PersonAvatarVariant, "type"> & Record<string, unknown>)[];
2838
+ avatars: (Omit<PersonAvatarVariant, "type"> & // Allow to have more properties in the avatar variant
2839
+ F0AvatarListExtras & Record<string, unknown>)[];
2820
2840
  } | {
2821
2841
  type: "team";
2822
- avatars: (Omit<TeamAvatarVariant, "type"> & Record<string, unknown>)[];
2842
+ avatars: (Omit<TeamAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
2823
2843
  } | {
2824
2844
  type: "company";
2825
- avatars: (Omit<CompanyAvatarVariant, "type"> & Record<string, unknown>)[];
2845
+ avatars: (Omit<CompanyAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
2826
2846
  } | {
2827
2847
  type: "flag";
2828
- avatars: (Omit<FlagAvatarVariant, "type"> & Record<string, unknown>)[];
2848
+ avatars: (Omit<FlagAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
2829
2849
  } | {
2830
2850
  type: "file";
2831
- avatars: (Omit<FileAvatarVariant, "type"> & Record<string, unknown>)[];
2851
+ avatars: (Omit<FileAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
2832
2852
  };
2833
2853
 
2834
2854
  declare type F0AvatarPersonProps = {
@@ -3165,6 +3185,13 @@ export declare type FeedbackConfig = {
3165
3185
  }) => void;
3166
3186
  };
3167
3187
 
3188
+ declare type FileAction = {
3189
+ icon?: IconType;
3190
+ label: string;
3191
+ onClick: () => void;
3192
+ critical?: boolean;
3193
+ };
3194
+
3168
3195
  declare type FileAvatarVariant = Extract<AvatarVariant, {
3169
3196
  type: "file";
3170
3197
  }>;
@@ -3174,6 +3201,27 @@ declare type FileDef = {
3174
3201
  type: string;
3175
3202
  };
3176
3203
 
3204
+ declare const FileItem: WithDataTestIdReturnType<ForwardRefExoticComponent<FileItemProps & RefAttributes<HTMLDivElement>>>;
3205
+
3206
+ declare interface FileItemProps extends React.HTMLAttributes<HTMLDivElement> {
3207
+ file: File | FileDef;
3208
+ actions?: FileAction[];
3209
+ disabled?: boolean;
3210
+ size?: FileItemSize;
3211
+ }
3212
+
3213
+ declare type FileItemSize = NonNullable<VariantProps<typeof fileItemVariants>["size"]>;
3214
+
3215
+ declare const fileItemVariants: (props?: ({
3216
+ size?: "lg" | "md" | undefined;
3217
+ } & ({
3218
+ class?: ClassValue;
3219
+ className?: never;
3220
+ } | {
3221
+ class?: never;
3222
+ className?: ClassValue;
3223
+ })) | undefined) => string;
3224
+
3177
3225
  declare type FlagAvatarVariant = Extract<AvatarVariant, {
3178
3226
  type: "flag";
3179
3227
  }>;
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D as e, F as r, a as t, e as i, f as o, c as n, d as F, I as C, P as A, b as l, u } from "./F0CanvasPanel-CSOSmTuX.js";
1
+ import { D as e, F as r, a as t, e as i, f as o, c as n, d as F, I as C, P as A, b as l, u } from "./F0CanvasPanel-DAJcyyFM.js";
2
2
  import { defaultTranslations as m } from "./i18n-provider-defaults.js";
3
- import { A as c, C as I, h as P, s as v, t as f, w as p, m as T, j as g, q as y, x as S, p as x, r as H, k as V, e as b, g as M, l as O, F as k, i as w, a as D, n as j, o as q, b as z, f as B, v as E, c as L, d as G, u as J } from "./useChatHistory-CUWc-i-8.js";
3
+ import { A as c, C as I, h as P, s as v, t as f, w as p, m as T, j as g, q as y, x as S, p as x, r as H, k as V, e as b, g as M, l as O, F as k, i as w, a as D, n as j, o as q, b as z, f as B, v as E, c as L, d as G, u as J } from "./useChatHistory-D1pjDBvO.js";
4
4
  export {
5
5
  c as AiChatTranslationsProvider,
6
6
  I as ChatSpinner,
@@ -2645,6 +2645,13 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
2645
2645
  item: R;
2646
2646
  pagination?: ChildrenPaginationInfo;
2647
2647
  }) => number | undefined;
2648
+ /**
2649
+ * Item ids that start expanded on first render. Rows matched here have
2650
+ * their children fetched eagerly. Only rows whose `item.id` is in this
2651
+ * list are auto-expanded — nested descendants are not, unless their own id
2652
+ * is also included. Defaults to none.
2653
+ */
2654
+ defaultExpandedIds?: Array<string | number>;
2648
2655
  };
2649
2656
 
2650
2657
  declare type DateCellConfig = {
@@ -3602,7 +3609,9 @@ export declare type DetailsItemContent = (ComponentProps<typeof DataList.Item> &
3602
3609
  }[TagType_2] | {
3603
3610
  type: "avatar-list";
3604
3611
  avatarList: F0AvatarListProps;
3605
- };
3612
+ } | (ComponentProps<typeof FileItem> & {
3613
+ type: "file";
3614
+ });
3606
3615
 
3607
3616
  /**
3608
3617
  * @experimental This is an experimental component use it at your own risk
@@ -4123,6 +4132,15 @@ declare type F0AvatarIconProps = {
4123
4132
  state?: F0IconProps["state"];
4124
4133
  } & Partial<Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">>;
4125
4134
 
4135
+ /**
4136
+ * Optional extras every avatar entry may carry regardless of `type`.
4137
+ * `tooltipDescription` is rendered as the tooltip's secondary line via the
4138
+ * underlying `Tooltip` `description` slot (use it for emails, roles, etc.).
4139
+ */
4140
+ declare type F0AvatarListExtras = {
4141
+ tooltipDescription?: string;
4142
+ };
4143
+
4126
4144
  declare type F0AvatarListProps = {
4127
4145
  /**
4128
4146
  * The size of the avatars in the list.
@@ -4150,23 +4168,32 @@ declare type F0AvatarListProps = {
4150
4168
  * @default "compact"
4151
4169
  */
4152
4170
  layout?: "fill" | "compact";
4171
+ /**
4172
+ * Controls the scroll behavior of the `+N` overflow popover that lists
4173
+ * collapsed avatars (including their `tooltipDescription` entries).
4174
+ * - `"vertical"` (default): caps the popover height and scrolls vertically.
4175
+ * - `"none"`: lets the popover grow to fit all entries.
4176
+ * @default "vertical"
4177
+ */
4178
+ tooltipScroll?: "vertical" | "none";
4153
4179
  } & F0AvatarListPropsAvatars;
4154
4180
 
4155
4181
  declare type F0AvatarListPropsAvatars = {
4156
4182
  type: "person";
4157
- avatars: (Omit<PersonAvatarVariant, "type"> & Record<string, unknown>)[];
4183
+ avatars: (Omit<PersonAvatarVariant, "type"> & // Allow to have more properties in the avatar variant
4184
+ F0AvatarListExtras & Record<string, unknown>)[];
4158
4185
  } | {
4159
4186
  type: "team";
4160
- avatars: (Omit<TeamAvatarVariant, "type"> & Record<string, unknown>)[];
4187
+ avatars: (Omit<TeamAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
4161
4188
  } | {
4162
4189
  type: "company";
4163
- avatars: (Omit<CompanyAvatarVariant, "type"> & Record<string, unknown>)[];
4190
+ avatars: (Omit<CompanyAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
4164
4191
  } | {
4165
4192
  type: "flag";
4166
- avatars: (Omit<FlagAvatarVariant, "type"> & Record<string, unknown>)[];
4193
+ avatars: (Omit<FlagAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
4167
4194
  } | {
4168
4195
  type: "file";
4169
- avatars: (Omit<FileAvatarVariant, "type"> & Record<string, unknown>)[];
4196
+ avatars: (Omit<FileAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
4170
4197
  };
4171
4198
 
4172
4199
  export declare const F0AvatarModule: WithDataTestIdReturnType_5<typeof F0AvatarModule_2>;
@@ -5588,6 +5615,7 @@ declare type MetadataItemValue = {
5588
5615
  variant: StatusVariant;
5589
5616
  } | ({
5590
5617
  type: "list";
5618
+ max?: number;
5591
5619
  } & ({
5592
5620
  variant: "person";
5593
5621
  avatars: (PersonAvatarVariant | (PersonAvatarVariant & Record<string, unknown>))[];
@@ -1,9 +1,9 @@
1
- import { g as ua, B as fa, h as ma, i as ha, j as At, k as De, l as ga, m as g, n as X, o as pe, u as se, T as pa, p as ba, q as xa, R as va, r as wa, s as ne, t as ya, v as gt, w as rt, x as Re, A as _e, y as Na, z as Ca, C as W, E as ka, G as Sa, H as ve, J as sn, K as Ia, L as Fa, M, N as on, S as O, O as we, Q as Aa, U as La, V as Ea, W as _a, X as Oa, Y as ke, Z as cn, _ as Da, $ as be, a0 as $e, a1 as Ta, a2 as pt, d as dn, a3 as Ce, a4 as za, a5 as un, a6 as ae, a7 as H, a8 as fn, a9 as Pa, aa as Ba, ab as Ra, ac as mn, ad as $a, ae as hn, af as me, ag as ee, ah as Wa, ai as Ma, aj as ja, ak as Va, al as ge, am as Ge, an as Ga, ao as Ha, ap as Ua, aq as Ka, ar as He, as as gn, at as qa, au as Ya, av as Za, aw as We, ax as Xa, ay as Ja, az as Qa, aA as er, aB as tr, aC as nr, aD as ar, aE as rr, aF as lr, aG as sr, aH as lt, aI as st, aJ as pn, aK as ir, aL as or, aM as cr, aN as dr, aO as Ue, aP as bt, aQ as bn, aR as ur, aS as xn, aT as fr, aU as mr, aV as hr, aW as Ee, aX as gr, aY as Lt, aZ as it, a_ as pr, a$ as br, a as xr, b as vr, b0 as vn, b1 as wr, f as yr, F as Nr, b2 as wn, b3 as Cr, b4 as yn, b5 as kr, b6 as Sr, b7 as Ir, b8 as Fr, b9 as Ar, ba as Lr, bb as Er, bc as _r, bd as Or, be as Nn, bf as ue, bg as Cn, bh as kn, bi as Dr, bj as Tr, bk as zr, bl as Pr, bm as Br, bn as Rr, bo as $r, bp as Et, bq as _t, br as Ot, bs as Wr, bt as Mr, bu as jr, bv as Vr, bw as Sn, bx as Gr, by as Hr } from "./F0CanvasPanel-CSOSmTuX.js";
2
- import { bK as Tc, bJ as zc, bW as Pc, bG as Bc, bH as Rc, bz as $c, bA as Wc, bX as Mc, bB as jc, bI as Vc, bS as Gc, bT as Hc, bC as Uc, bM as Kc, bL as qc, bD as Yc, bE as Zc, bU as Xc, bY as Jc, bV as Qc, bR as ed, bO as td, bQ as nd, bN as ad, bF as rd, bP as ld } from "./F0CanvasPanel-CSOSmTuX.js";
1
+ import { g as ua, B as fa, h as ma, i as ha, j as At, k as De, l as ga, m as g, n as X, o as pe, u as se, T as pa, p as ba, q as xa, R as va, r as wa, s as ne, t as ya, v as gt, w as rt, x as Re, A as _e, y as Na, z as Ca, C as W, E as ka, G as Sa, H as ve, J as sn, K as Ia, L as Fa, M, N as on, S as O, O as we, Q as Aa, U as La, V as Ea, W as _a, X as Oa, Y as ke, Z as cn, _ as Da, $ as be, a0 as $e, a1 as Ta, a2 as pt, d as dn, a3 as Ce, a4 as za, a5 as un, a6 as ae, a7 as H, a8 as fn, a9 as Pa, aa as Ba, ab as Ra, ac as mn, ad as $a, ae as hn, af as me, ag as ee, ah as Wa, ai as Ma, aj as ja, ak as Va, al as ge, am as Ge, an as Ga, ao as Ha, ap as Ua, aq as Ka, ar as He, as as gn, at as qa, au as Ya, av as Za, aw as We, ax as Xa, ay as Ja, az as Qa, aA as er, aB as tr, aC as nr, aD as ar, aE as rr, aF as lr, aG as sr, aH as lt, aI as st, aJ as pn, aK as ir, aL as or, aM as cr, aN as dr, aO as Ue, aP as bt, aQ as bn, aR as ur, aS as xn, aT as fr, aU as mr, aV as hr, aW as Ee, aX as gr, aY as Lt, aZ as it, a_ as pr, a$ as br, a as xr, b as vr, b0 as vn, b1 as wr, f as yr, F as Nr, b2 as wn, b3 as Cr, b4 as yn, b5 as kr, b6 as Sr, b7 as Ir, b8 as Fr, b9 as Ar, ba as Lr, bb as Er, bc as _r, bd as Or, be as Nn, bf as ue, bg as Cn, bh as kn, bi as Dr, bj as Tr, bk as zr, bl as Pr, bm as Br, bn as Rr, bo as $r, bp as Et, bq as _t, br as Ot, bs as Wr, bt as Mr, bu as jr, bv as Vr, bw as Sn, bx as Gr, by as Hr } from "./F0CanvasPanel-DAJcyyFM.js";
2
+ import { bK as Tc, bJ as zc, bW as Pc, bG as Bc, bH as Rc, bz as $c, bA as Wc, bX as Mc, bB as jc, bI as Vc, bS as Gc, bT as Hc, bC as Uc, bM as Kc, bL as qc, bD as Yc, bE as Zc, bU as Xc, bY as Jc, bV as Qc, bR as ed, bO as td, bQ as nd, bN as ad, bF as rd, bP as ld } from "./F0CanvasPanel-DAJcyyFM.js";
3
3
  import { jsx as e, jsxs as o, Fragment as K } from "react/jsx-runtime";
4
4
  import ie, { forwardRef as j, useRef as G, useTransition as Ur, useState as _, useLayoutEffect as In, useId as ot, useContext as Ke, createContext as xt, useEffect as $, useCallback as Q, useMemo as q, Fragment as Kr, isValidElement as qr, cloneElement as Fn, Children as An } from "react";
5
- import { C as Yr, P as Zr, g as Ln, c as Xr, a as En, F as ct, f as Jr, b as Te, M as Qr, d as el, R as Dt, e as _n, u as tl, h as On, i as vt, j as wt, k as yt, l as Dn, m as Nt, n as nl, o as al, S as rl, p as ll, A as sl, B as il, L as ol, q as cl, V as dl, r as ul, s as Tt, t as fl, v as ml, O as hl } from "./useDataCollectionSource-DnYC5D7b.js";
6
- import { D as id, E as od, y as cd, W as dd, G as ud, N as fd, ad as md, U as hd, z as gd, a0 as pd, aj as bd, a1 as xd, a2 as vd, H as wd, af as yd, ag as Nd, ae as Cd, ah as kd, Y as Sd, a3 as Id, aa as Fd, ac as Ad, I as Ld, K as Ed, Q as _d, _ as Od, ai as Dd, $ as Td, Z as zd, J as Pd, T as Bd, w as Rd, x as $d, a5 as Wd, a6 as Md, ab as jd, X as Vd, a7 as Gd, a8 as Hd, a4 as Ud, a9 as Kd } from "./useDataCollectionSource-DnYC5D7b.js";
5
+ import { C as Yr, P as Zr, g as Ln, c as Xr, a as En, F as ct, f as Jr, b as Te, M as Qr, d as el, R as Dt, e as _n, u as tl, h as On, i as vt, j as wt, k as yt, l as Dn, m as Nt, n as nl, o as al, S as rl, p as ll, A as sl, B as il, L as ol, q as cl, V as dl, r as ul, s as Tt, t as fl, v as ml, O as hl } from "./useDataCollectionSource-CjRrXJC3.js";
6
+ import { D as id, E as od, y as cd, W as dd, G as ud, N as fd, ad as md, U as hd, z as gd, a0 as pd, aj as bd, a1 as xd, a2 as vd, H as wd, af as yd, ag as Nd, ae as Cd, ah as kd, Y as Sd, a3 as Id, aa as Fd, ac as Ad, I as Ld, K as Ed, Q as _d, _ as Od, ai as Dd, $ as Td, Z as zd, J as Pd, T as Bd, w as Rd, x as $d, a5 as Wd, a6 as Md, ab as jd, X as Vd, a7 as Gd, a8 as Hd, a4 as Ud, a9 as Kd } from "./useDataCollectionSource-CjRrXJC3.js";
7
7
  const gl = ua("Search", [
8
8
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
9
9
  ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
package/dist/f0.d.ts CHANGED
@@ -3735,6 +3735,13 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
3735
3735
  item: R;
3736
3736
  pagination?: ChildrenPaginationInfo;
3737
3737
  }) => number | undefined;
3738
+ /**
3739
+ * Item ids that start expanded on first render. Rows matched here have
3740
+ * their children fetched eagerly. Only rows whose `item.id` is in this
3741
+ * list are auto-expanded — nested descendants are not, unless their own id
3742
+ * is also included. Defaults to none.
3743
+ */
3744
+ defaultExpandedIds?: Array<string | number>;
3738
3745
  };
3739
3746
 
3740
3747
  /**
@@ -4789,7 +4796,9 @@ declare type DetailsItemContent = (ComponentProps<typeof DataList.Item> & {
4789
4796
  }[TagType] | {
4790
4797
  type: "avatar-list";
4791
4798
  avatarList: F0AvatarListProps;
4792
- };
4799
+ } | (ComponentProps<typeof FileItem> & {
4800
+ type: "file";
4801
+ });
4793
4802
 
4794
4803
  export declare type DialogPosition = (typeof dialogPositions)[number];
4795
4804
 
@@ -6092,10 +6101,19 @@ export declare type F0AvatarIconProps = {
6092
6101
  } & Partial<Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">>;
6093
6102
 
6094
6103
  export declare const F0AvatarList: WithDataTestIdReturnType_4< {
6095
- ({ avatars, size, type, noTooltip, remainingCount: initialRemainingCount, max, }: F0AvatarListProps_2): JSX_2.Element;
6104
+ ({ avatars, size, type, noTooltip, remainingCount: initialRemainingCount, max, tooltipScroll, }: F0AvatarListProps_2): JSX_2.Element;
6096
6105
  displayName: string;
6097
6106
  }>;
6098
6107
 
6108
+ /**
6109
+ * Optional extras every avatar entry may carry regardless of `type`.
6110
+ * `tooltipDescription` is rendered as the tooltip's secondary line via the
6111
+ * underlying `Tooltip` `description` slot (use it for emails, roles, etc.).
6112
+ */
6113
+ declare type F0AvatarListExtras = {
6114
+ tooltipDescription?: string;
6115
+ };
6116
+
6099
6117
  export declare type F0AvatarListProps = {
6100
6118
  /**
6101
6119
  * The size of the avatars in the list.
@@ -6123,23 +6141,32 @@ export declare type F0AvatarListProps = {
6123
6141
  * @default "compact"
6124
6142
  */
6125
6143
  layout?: "fill" | "compact";
6144
+ /**
6145
+ * Controls the scroll behavior of the `+N` overflow popover that lists
6146
+ * collapsed avatars (including their `tooltipDescription` entries).
6147
+ * - `"vertical"` (default): caps the popover height and scrolls vertically.
6148
+ * - `"none"`: lets the popover grow to fit all entries.
6149
+ * @default "vertical"
6150
+ */
6151
+ tooltipScroll?: "vertical" | "none";
6126
6152
  } & F0AvatarListPropsAvatars;
6127
6153
 
6128
6154
  declare type F0AvatarListPropsAvatars = {
6129
6155
  type: "person";
6130
- avatars: (Omit<PersonAvatarVariant, "type"> & Record<string, unknown>)[];
6156
+ avatars: (Omit<PersonAvatarVariant, "type"> & // Allow to have more properties in the avatar variant
6157
+ F0AvatarListExtras & Record<string, unknown>)[];
6131
6158
  } | {
6132
6159
  type: "team";
6133
- avatars: (Omit<TeamAvatarVariant, "type"> & Record<string, unknown>)[];
6160
+ avatars: (Omit<TeamAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
6134
6161
  } | {
6135
6162
  type: "company";
6136
- avatars: (Omit<CompanyAvatarVariant, "type"> & Record<string, unknown>)[];
6163
+ avatars: (Omit<CompanyAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
6137
6164
  } | {
6138
6165
  type: "flag";
6139
- avatars: (Omit<FlagAvatarVariant, "type"> & Record<string, unknown>)[];
6166
+ avatars: (Omit<FlagAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
6140
6167
  } | {
6141
6168
  type: "file";
6142
- avatars: (Omit<FileAvatarVariant, "type"> & Record<string, unknown>)[];
6169
+ avatars: (Omit<FileAvatarVariant, "type"> & F0AvatarListExtras & Record<string, unknown>)[];
6143
6170
  };
6144
6171
 
6145
6172
  export declare const F0AvatarModule: WithDataTestIdReturnType_4<typeof F0AvatarModule_2>;
@@ -9564,28 +9591,35 @@ export declare interface F0TimelineRowMultitaskProps extends F0TimelineRowBasePr
9564
9591
  }
9565
9592
 
9566
9593
  /**
9567
- * Props for a nestedtask timeline row.
9568
- * Renders a task-style header (custom icon, title, description, chevron toggle)
9569
- * with collapsible nested items and optional group-level metadata (assignees, file chips, etc.).
9570
- * Unlike multitask, the header looks like a regular task row with expand/collapse capability.
9594
+ * Shared shape for nestedtask rows. The collapsible behaviour is layered on
9595
+ * top via a discriminated union (`F0TimelineRowNestedtaskProps`) so callers
9596
+ * either provide both `expanded` and `onExpandToggle` (collapsible) or
9597
+ * neither (non-collapsible).
9571
9598
  */
9572
- export declare interface F0TimelineRowNestedtaskProps extends F0TimelineRowBaseProps {
9599
+ declare interface F0TimelineRowNestedtaskBaseProps extends F0TimelineRowBaseProps {
9573
9600
  /** The icon representing the task type */
9574
9601
  icon: IconType;
9575
9602
  /** Description text (e.g., "Estimated on 18/07/2025") */
9576
9603
  description?: string;
9577
- /** Number of nested items (displayed in the progress pill) */
9578
- taskCount: number;
9604
+ /**
9605
+ * Number of nested items (displayed in the progress pill alongside
9606
+ * `completedCount`). Omit when the row body conveys progress on its own
9607
+ * (e.g. an embedded info card or table) and a pill would be redundant.
9608
+ */
9609
+ taskCount?: number;
9579
9610
  /** Number of completed items (displayed in the progress pill) */
9580
9611
  completedCount?: number;
9581
- /** Whether the row is expanded (controlled) */
9582
- expanded: boolean;
9583
- /** Callback when expand/collapse is toggled */
9584
- onExpandToggle: () => void;
9585
9612
  /** Metadata items displayed below the header (e.g., assignees, file chips). Always visible regardless of expand/collapse */
9586
9613
  metadata?: (MetadataItem | undefined | boolean)[];
9587
- /** The nested task items to render when expanded */
9588
- items: F0TimelineRowTaskProps[];
9614
+ /** The nested task items to render when expanded. Ignored when `content` is provided. */
9615
+ items?: F0TimelineRowTaskProps[];
9616
+ /**
9617
+ * Custom content to render in the expanded body of the row. When provided,
9618
+ * `items` is ignored and this React node is rendered instead. Use this to
9619
+ * embed richer UI (callout cards, tables, custom panels) inside a nested
9620
+ * timeline row.
9621
+ */
9622
+ content?: React.ReactNode;
9589
9623
  /** Primary action button (displayed on the right after a divider) */
9590
9624
  primaryAction?: F0TimelineRowAction;
9591
9625
  /** Secondary action buttons (displayed on the left) */
@@ -9594,6 +9628,38 @@ export declare interface F0TimelineRowNestedtaskProps extends F0TimelineRowBaseP
9594
9628
  otherActions?: F0TimelineRowOtherAction[];
9595
9629
  }
9596
9630
 
9631
+ /**
9632
+ * Props for a nestedtask timeline row.
9633
+ * Renders a task-style header (custom icon, title, description, chevron toggle)
9634
+ * with collapsible nested items and optional group-level metadata (assignees, file chips, etc.).
9635
+ * Unlike multitask, the header looks like a regular task row with expand/collapse capability.
9636
+ *
9637
+ * Discriminated by `collapsible`:
9638
+ * - default / `collapsible: true` — both `expanded` and `onExpandToggle` are required.
9639
+ * - `collapsible: false` — the row is always expanded, the header has no toggle affordance,
9640
+ * and `expanded`/`onExpandToggle` are not accepted.
9641
+ */
9642
+ export declare type F0TimelineRowNestedtaskProps = (F0TimelineRowNestedtaskBaseProps & {
9643
+ /**
9644
+ * Whether the header chevron toggles the body.
9645
+ * @default true
9646
+ */
9647
+ collapsible?: true;
9648
+ /** Whether the row is expanded (controlled) */
9649
+ expanded: boolean;
9650
+ /** Callback when expand/collapse is toggled */
9651
+ onExpandToggle: () => void;
9652
+ }) | (F0TimelineRowNestedtaskBaseProps & {
9653
+ /**
9654
+ * When false, the row is always expanded and the header has no toggle
9655
+ * affordance — useful when the body controls its own expansion
9656
+ * (e.g. a collapsible callout card).
9657
+ */
9658
+ collapsible: false;
9659
+ expanded?: never;
9660
+ onExpandToggle?: never;
9661
+ });
9662
+
9597
9663
  export declare type F0TimelineRowOtherAction = DropdownItem;
9598
9664
 
9599
9665
  export declare type F0TimelineRowProps = F0TimelineRowTaskProps | F0TimelineRowMultitaskProps | F0TimelineRowNestedtaskProps;
@@ -11200,6 +11266,7 @@ declare type MetadataItemValue = {
11200
11266
  variant: StatusVariant;
11201
11267
  } | ({
11202
11268
  type: "list";
11269
+ max?: number;
11203
11270
  } & ({
11204
11271
  variant: "person";
11205
11272
  avatars: (PersonAvatarVariant | (PersonAvatarVariant & Record<string, unknown>))[];