@factorialco/f0-react 1.358.0 → 1.359.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.
@@ -1,6 +1,6 @@
1
1
  import { jsx as X, jsxs as le } from "react/jsx-runtime";
2
2
  import { useInsertionEffect as Xe, createContext as ke, useContext as $e, useRef as _, useEffect as ne, useState as _e, useCallback as ze, useMemo as Ye } from "react";
3
- import { y as qe, z as We, D as He, G as je, J as Ne, K as Ke, M as Qe, N as Je, Q as Ze, R as et, V as Ce, W as tt, X as rt, Y as nt, Z as it, _ as ot, $ as at, a0 as st, a1 as ie, a2 as ct, a3 as ut, a4 as lt, a5 as ft, a6 as mt, a7 as dt, a8 as fe, a9 as ht } from "./F0AiChat-iFE4c-xR.js";
3
+ import { y as qe, z as We, D as He, G as je, J as Ne, K as Ke, M as Qe, N as Je, Q as Ze, R as et, V as Ce, W as tt, X as rt, Y as nt, Z as it, _ as ot, $ as at, a0 as st, a1 as ie, a2 as ct, a3 as ut, a4 as lt, a5 as ft, a6 as mt, a7 as dt, a8 as fe, a9 as ht } from "./F0AiChat-CifDRPK4.js";
4
4
  import { useTrackVolume as pt } from "@livekit/components-react";
5
5
  function vt(t, e, r) {
6
6
  Xe(() => t.on(e, r), [t, e, r]);
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as e, B as o, C as t, E as n, h as i, F as r, a as l, x as c, i as A, b as u, s as F, t as h, v as C, w as T, c as d, n as m, o as I, p as f, H as g, I as S, k as p, L as x, O as H, q as P, P as b, S as k, T as O, l as v, m as w, U as M, r as E, j as L, d as q, e as B, u as U, g as j, f as z } from "./F0AiChat-iFE4c-xR.js";
1
+ import { A as e, B as o, C as t, E as n, h as i, F as r, a as l, x as c, i as A, b as u, s as F, t as h, v as C, w as T, c as d, n as m, o as I, p as f, H as g, I as S, k as p, L as x, O as H, q as P, P as b, S as k, T as O, l as v, m as w, U as M, r as E, j as L, d as q, e as B, u as U, g as j, f as z } from "./F0AiChat-CifDRPK4.js";
2
2
  import { defaultTranslations as R } from "./i18n-provider-defaults.js";
3
- import { A as y, F as G, c as J, b as K, a as N, o as Q, u as W } from "./F0HILActionConfirmation-XY6nGDHF.js";
3
+ import { A as y, F as G, c as J, b as K, a as N, o as Q, u as W } from "./F0HILActionConfirmation-CqnsoGly.js";
4
4
  export {
5
5
  e as A,
6
6
  y as AiChatTranslationsProvider,
@@ -5370,6 +5370,8 @@ export declare interface RichTextEditorProps {
5370
5370
  plainHtmlMode?: boolean;
5371
5371
  fullScreenMode?: boolean;
5372
5372
  onFullscreenChange?: (fullscreen: boolean) => void;
5373
+ /** Whether the editor is disabled */
5374
+ disabled?: boolean;
5373
5375
  }
5374
5376
 
5375
5377
  declare interface RichTextEditorSkeletonProps {
@@ -1,10 +1,10 @@
1
- import { a5 as Hd, bF as Wp, bG as Up, bH as Gp, bI as Ms, bJ as qp, bK as Ki, D as Kp, bL as Jp, ab as G, V as Vd, J as Yp, bM as Qp, ao as wi, bN as Wd, bO as Xp, bP as Zp, ak as eg, bQ as ka, bR as Wr, bS as tg, a6 as C, a7 as Ct, u as X, bT as ng, bU as rg, bV as ig, bW as sg, bX as og, av as we, bY as lg, bZ as dl, b_ as Ud, aj as Ie, b$ as ag, c0 as Gd, ah as q, c1 as qd, c2 as Kd, ac as nt, c3 as Jd, c4 as ho, c5 as Yd, a8 as j, c6 as Tr, ag as M, c7 as ft, c8 as cg, c9 as dg, ca as lr, aO as Qd, cb as Xd, a_ as Zt, cc as Zd, cd as ul, ce as at, aP as fl, aQ as Un, v as eu, cf as tu, cg as ug, ch as Ca, ci as Fn, cj as hl, ck as Er, cl as ki, cm as fg, cn as nu, co as hg, cp as ml, cq as ar, cr as Ke, cs as mg, ct as pg, cu as Vt, cv as Ps, cw as gg, cx as sr, cy as Sn, cz as bg, cA as ru, cB as vg, cC as xg, cD as yg, cE as wg, ad as Ve, af as Ne, cF as ln, aN as pn, bC as Dr, cG as iu, cH as pl, cI as kg, cJ as Cg, cK as Ng, cL as Sg, cM as Ig, cN as Ag, cO as Tg, cP as Eg, cQ as Dg, cR as gl, cS as _g, cT as su, cU as Lg, cV as Og, cW as Rg, cX as Fg, cY as Mg, cZ as Pg, c_ as zg, be as wt, c$ as ou, d0 as $g, am as oe, a9 as cr, d1 as lu, d2 as au, aW as bl, t as jg, d3 as Bg, d4 as Hg, al as dr, d5 as Vg, d6 as zs, d7 as Wg, d8 as vl, d9 as Wt, aI as cu, da as Na, db as Sa, dc as Ug, dd as Ia, de as du, df as xl, aJ as uu, at as yl, au as wl, aw as kl, aG as Ci, ai as _r, dg as Gg, dh as qg, di as fu, dj as Kg, ax as kt, dk as Jg, dl as hu, dm as mu, dn as Yg, dp as Lr, dq as Cl, dr as Ji, bg as an, ds as mo, aH as ur, dt as Qg, du as Xg, dv as Zg, dw as eb, dx as tb, dy as nb, dz as pu, dA as rb, dB as gu, dC as ib, dD as sb, dE as ob, dF as Aa, dG as bu, dH as po, aB as go, dI as vu, dJ as bo, aV as cn, b9 as Yi, dK as Qi, dL as lb, dM as ab, dN as cb, bB as Xi, aU as xu, bE as db, bD as ub, dO as yu, aD as Tn, dP as Ta, dQ as Ni, dR as fb, dS as hb, bf as mb, ba as wu, a as pb, d as gb, dT as Nl, F as bb, dU as ku, dV as Cu, dW as vb, dX as xb, dY as yb, dZ as wb, d_ as kb, d$ as Nu, e0 as Cb, bb as Su, e1 as Iu, e2 as Nb, e3 as Sb, e4 as Ib, e5 as Ab, e6 as Tb, e7 as Eb, e8 as Db, e9 as _b, bp as Lb, bq as Ob, bx as Zi, bv as Sl, a$ as es, ea as ts, eb as ns, b0 as rs, ec as Il, bw as Au, aC as Rb, br as Si, ed as Tu, ee as Fb, ef as vo, eg as Mb, eh as Ea, ei as Pb, ej as zb, ek as $b, el as jb, em as Bb, en as Hb, eo as Vb, aa as Eu, bm as Wb, bu as Ub, aX as Gb, aY as qb, aZ as Kb, an as ht, ep as Du, eq as Jb, er as Yb, es as Qb, et as Xb, b1 as Zb, eu as e0, ev as Da, ew as _a, ex as La, ey as t0, ez as n0, eA as r0, eB as i0, eC as _u, eD as s0 } from "./F0AiChat-iFE4c-xR.js";
2
- import { eG as RL, eF as FL, eE as ML, eL as PL, eM as zL, eI as $L, eH as jL, eK as BL, bd as HL, eJ as VL } from "./F0AiChat-iFE4c-xR.js";
1
+ import { a5 as Hd, bG as Wp, bH as Up, bI as Gp, bJ as Ms, bK as qp, bL as Ki, D as Kp, bM as Jp, ab as G, V as Vd, J as Yp, bN as Qp, ao as wi, bO as Wd, bP as Xp, bQ as Zp, ak as eg, bR as ka, bS as Wr, bT as tg, a6 as C, a7 as Ct, u as X, bU as ng, bV as rg, bW as ig, bX as sg, bY as og, av as we, bZ as lg, b_ as dl, b$ as Ud, aj as Ie, c0 as ag, c1 as Gd, ah as q, c2 as qd, c3 as Kd, ac as nt, c4 as Jd, c5 as ho, c6 as Yd, a8 as j, c7 as Tr, ag as M, c8 as ft, c9 as cg, ca as dg, cb as lr, aP as Qd, cc as Xd, a$ as Zt, cd as Zd, ce as ul, cf as at, aQ as fl, aR as Un, v as eu, cg as tu, ch as ug, ci as Ca, cj as Fn, ck as hl, cl as Er, cm as ki, cn as fg, co as nu, cp as hg, cq as ml, cr as ar, cs as Ke, ct as mg, cu as pg, cv as Vt, cw as Ps, cx as gg, cy as sr, cz as Sn, cA as bg, cB as ru, cC as vg, cD as xg, cE as yg, cF as wg, ad as Ve, af as Ne, cG as ln, aO as pn, bD as Dr, cH as iu, cI as pl, cJ as kg, cK as Cg, cL as Ng, cM as Sg, cN as Ig, cO as Ag, cP as Tg, cQ as Eg, cR as Dg, cS as gl, cT as _g, cU as su, cV as Lg, cW as Og, cX as Rg, cY as Fg, cZ as Mg, c_ as Pg, c$ as zg, bf as wt, d0 as ou, d1 as $g, am as oe, a9 as cr, d2 as lu, d3 as au, aX as bl, t as jg, d4 as Bg, d5 as Hg, al as dr, d6 as Vg, d7 as zs, d8 as Wg, d9 as vl, da as Wt, aK as cu, db as Na, dc as Sa, dd as Ug, de as Ia, df as du, dg as xl, aH as uu, at as yl, au as wl, aw as kl, aG as Ci, ai as _r, dh as Gg, di as qg, dj as fu, dk as Kg, ax as kt, dl as Jg, dm as hu, dn as mu, dp as Yg, dq as Lr, dr as Cl, ds as Ji, bh as an, dt as mo, aJ as ur, du as Qg, dv as Xg, dw as Zg, dx as eb, dy as tb, dz as nb, dA as pu, dB as rb, dC as gu, dD as ib, dE as sb, dF as ob, dG as Aa, dH as bu, dI as po, aB as go, dJ as vu, dK as bo, aW as cn, ba as Yi, dL as Qi, dM as lb, dN as ab, dO as cb, bC as Xi, aV as xu, bF as db, bE as ub, dP as yu, aD as Tn, dQ as Ta, dR as Ni, dS as fb, dT as hb, bg as mb, bb as wu, a as pb, d as gb, dU as Nl, F as bb, dV as ku, dW as Cu, dX as vb, dY as xb, dZ as yb, d_ as wb, d$ as kb, e0 as Nu, e1 as Cb, bc as Su, e2 as Iu, e3 as Nb, e4 as Sb, e5 as Ib, e6 as Ab, e7 as Tb, e8 as Eb, e9 as Db, ea as _b, bq as Lb, br as Ob, by as Zi, bw as Sl, b0 as es, eb as ts, ec as ns, b1 as rs, ed as Il, bx as Au, aC as Rb, bs as Si, ee as Tu, ef as Fb, eg as vo, eh as Mb, ei as Ea, ej as Pb, ek as zb, el as $b, em as jb, en as Bb, eo as Hb, ep as Vb, aa as Eu, bn as Wb, bv as Ub, aY as Gb, aZ as qb, a_ as Kb, an as ht, eq as Du, er as Jb, es as Yb, et as Qb, eu as Xb, b2 as Zb, ev as e0, ew as Da, ex as _a, ey as La, ez as t0, eA as n0, eB as r0, eC as i0, eD as _u, eE as s0 } from "./F0AiChat-CifDRPK4.js";
2
+ import { eH as RL, eG as FL, eF as ML, eM as PL, eN as zL, eJ as $L, eI as jL, eL as BL, be as HL, eK as VL } from "./F0AiChat-CifDRPK4.js";
3
3
  import { jsx as l, jsxs as g, Fragment as ee } from "react/jsx-runtime";
4
4
  import * as Fe from "react";
5
5
  import Q, { createContext as Pt, forwardRef as J, useRef as W, useEffect as V, useContext as zt, PureComponent as o0, useTransition as l0, useState as F, useLayoutEffect as Gn, useId as Al, useCallback as ne, useMemo as z, useImperativeHandle as Lu, memo as is, Fragment as Mn, isValidElement as Ou, cloneElement as Tl, createElement as Oa, Children as Ru } from "react";
6
- import { f as En, aO as fr, j as Ur, aP as a0, b as $s, aQ as c0, A as d0, d as Gr, i as u0, m as f0, G as h0, g as Ra, aR as m0, l as Fa, aS as p0, p as g0, aT as Fu, aU as Mu, aV as b0, aW as xo, C as v0, aH as x0, ak as Pn, D as Me, aX as mt, aY as Nt, aZ as Ue, a_ as y0, a$ as li, b0 as it, b1 as Pu, b2 as Qe, b3 as El, b4 as ct, b5 as Ma, b6 as w0, b7 as zu, b8 as Be, b9 as Ze, ba as hr, bb as Ii, bc as $u, bd as k0, be as gn, bf as C0, bg as N0, bh as S0, bi as ss, bj as os, bk as Dl, bl as I0, bm as ju, bn as Bu, bo as Hu, bp as A0, bq as Vu, br as Wu, bs as Uu, bt as Gu, bu as qu, bv as Ku, bw as yo, bx as T0, by as E0, bz as D0, bA as _0, t as L0, x as O0, y as R0, F as F0, M as Pa, N as za, O as M0, P as P0, a3 as z0, a4 as $0, bB as j0, bC as B0, a6 as H0, ah as V0, a8 as W0, a9 as U0, bD as G0, aa as q0, ab as K0, ac as J0, ag as Y0, af as Q0, bE as Ju, bF as X0, bG as Z0, bH as ev, aC as _l, at as Ll, bI as Ol, bJ as Yu, as as wo, bK as tv, bL as nv, ar as Qu, a2 as Or, an as rv, bM as iv, bN as sv, bO as ov, aw as Rl, bP as lv, aL as av, bQ as ko, bR as cv, bS as Ai, bT as dv, aM as uv, bU as fv, aK as Xu, aJ as hv, aI as mv, bV as pv, bW as gv, bX as bv, bY as vv, bZ as xv, b_ as yv, b$ as wv, c0 as kv, c1 as Cv, c2 as Nv, c3 as Sv, c4 as Iv, c5 as Av, c6 as Tv, c7 as Ev, aN as Zu, aA as ef, c8 as Dv, R as _v, T as Lv, V as Ov, W as Rv, Z as Fv, U as Mv, c9 as $a, ca as Pv, cb as zv, n as $v } from "./DataCollectionStorageProvider-DRn_azvz.js";
7
- import { ao as UL, cc as GL, ad as qL, ai as KL, aj as JL, cg as YL, cf as QL, cd as XL, ce as ZL, a5 as eO, ae as tO, ax as nO, ay as rO } from "./DataCollectionStorageProvider-DRn_azvz.js";
6
+ import { f as En, aO as fr, j as Ur, aP as a0, b as $s, aQ as c0, A as d0, d as Gr, i as u0, m as f0, G as h0, g as Ra, aR as m0, l as Fa, aS as p0, p as g0, aT as Fu, aU as Mu, aV as b0, aW as xo, C as v0, aH as x0, ak as Pn, D as Me, aX as mt, aY as Nt, aZ as Ue, a_ as y0, a$ as li, b0 as it, b1 as Pu, b2 as Qe, b3 as El, b4 as ct, b5 as Ma, b6 as w0, b7 as zu, b8 as Be, b9 as Ze, ba as hr, bb as Ii, bc as $u, bd as k0, be as gn, bf as C0, bg as N0, bh as S0, bi as ss, bj as os, bk as Dl, bl as I0, bm as ju, bn as Bu, bo as Hu, bp as A0, bq as Vu, br as Wu, bs as Uu, bt as Gu, bu as qu, bv as Ku, bw as yo, bx as T0, by as E0, bz as D0, bA as _0, t as L0, x as O0, y as R0, F as F0, M as Pa, N as za, O as M0, P as P0, a3 as z0, a4 as $0, bB as j0, bC as B0, a6 as H0, ah as V0, a8 as W0, a9 as U0, bD as G0, aa as q0, ab as K0, ac as J0, ag as Y0, af as Q0, bE as Ju, bF as X0, bG as Z0, bH as ev, aC as _l, at as Ll, bI as Ol, bJ as Yu, as as wo, bK as tv, bL as nv, ar as Qu, a2 as Or, an as rv, bM as iv, bN as sv, bO as ov, aw as Rl, bP as lv, aL as av, bQ as ko, bR as cv, bS as Ai, bT as dv, aM as uv, bU as fv, aK as Xu, aJ as hv, aI as mv, bV as pv, bW as gv, bX as bv, bY as vv, bZ as xv, b_ as yv, b$ as wv, c0 as kv, c1 as Cv, c2 as Nv, c3 as Sv, c4 as Iv, c5 as Av, c6 as Tv, c7 as Ev, aN as Zu, aA as ef, c8 as Dv, R as _v, T as Lv, V as Ov, W as Rv, Z as Fv, U as Mv, c9 as $a, ca as Pv, cb as zv, n as $v } from "./DataCollectionStorageProvider-DI1DfAS8.js";
7
+ import { ao as UL, cc as GL, ad as qL, aj as KL, ai as JL, cg as YL, cf as QL, cd as XL, ce as ZL, a5 as eO, ae as tO, ax as nO, ay as rO } from "./DataCollectionStorageProvider-DI1DfAS8.js";
8
8
  import './experimental.css';function tf(t, e) {
9
9
  const n = Hd(e()), r = () => n.set(e());
10
10
  return r(), Wp(() => {
package/dist/f0.d.ts CHANGED
@@ -3387,6 +3387,11 @@ export declare type F0DateFieldConfig = F0BaseConfig & F0DateConfig & {
3387
3387
  fieldType?: "date";
3388
3388
  };
3389
3389
 
3390
+ /**
3391
+ * Union of all date/time/datetime field configs for z.date()
3392
+ */
3393
+ declare type F0DateOrDateTimeFieldConfig = F0DateFieldConfig | F0TimeFieldConfig | F0DateTimeFieldConfig;
3394
+
3390
3395
  /**
3391
3396
  * @experimental This is an experimental component use it at your own risk
3392
3397
  */
@@ -3438,6 +3443,44 @@ export declare type F0DateRangeFieldConfig = F0BaseConfig & F0DateRangeConfig &
3438
3443
  fieldType: "daterange";
3439
3444
  };
3440
3445
 
3446
+ /**
3447
+ * F0 config options specific to datetime fields
3448
+ *
3449
+ * Note: `minDate`, `maxDate`, and `clearable` are derived from the Zod schema:
3450
+ * - `z.date().min(date)` → minDate
3451
+ * - `z.date().max(date)` → maxDate
3452
+ * - `z.date().optional()` or `z.date().nullable()` → clearable
3453
+ */
3454
+ export declare interface F0DateTimeConfig {
3455
+ /** Granularities for the date picker portion */
3456
+ granularities?: DateGranularity[];
3457
+ /** Preset date options to display in the date picker */
3458
+ presets?: DatePreset[];
3459
+ }
3460
+
3461
+ /**
3462
+ * DateTime field with all properties for rendering
3463
+ * Includes properties derived from Zod schema
3464
+ */
3465
+ export declare type F0DateTimeField = F0BaseField & F0DateTimeConfig & {
3466
+ type: "datetime";
3467
+ /** Minimum selectable datetime (derived from z.date().min()) */
3468
+ minDate?: Date;
3469
+ /** Maximum selectable datetime (derived from z.date().max()) */
3470
+ maxDate?: Date;
3471
+ /** Whether the datetime can be cleared (derived from optional/nullable) */
3472
+ clearable?: boolean;
3473
+ /** Conditional rendering based on another field's value */
3474
+ renderIf?: DateFieldRenderIf;
3475
+ };
3476
+
3477
+ /**
3478
+ * Config for datetime fields
3479
+ */
3480
+ export declare type F0DateTimeFieldConfig = F0BaseConfig & F0DateTimeConfig & {
3481
+ fieldType: "datetime";
3482
+ };
3483
+
3441
3484
  /**
3442
3485
  * @experimental This is an experimental component use it at your own risk
3443
3486
  */
@@ -3514,19 +3557,19 @@ export declare function F0EventCatcherProvider({ children, onEvent, enabled, cat
3514
3557
  /**
3515
3558
  * Union of all F0 field types used for rendering
3516
3559
  */
3517
- export declare type F0Field = F0TextField | F0NumberField | F0TextareaField | F0SelectField | F0CheckboxField | F0SwitchField | F0DateField | F0DateRangeField | F0RichTextField | F0CustomField;
3560
+ export declare type F0Field = F0TextField | F0NumberField | F0TextareaField | F0SelectField | F0CheckboxField | F0SwitchField | F0DateField | F0TimeField | F0DateTimeField | F0DateRangeField | F0RichTextField | F0CustomField;
3518
3561
 
3519
3562
  /**
3520
3563
  * Complete F0 field configuration (union of all possible configs)
3521
3564
  * @typeParam T - The value type for select fields (string or number)
3522
3565
  * @typeParam R - Record type for data source (when using source instead of options)
3523
3566
  */
3524
- export declare type F0FieldConfig<T extends string | number = string | number, R extends Record<string, unknown> = Record<string, unknown>> = F0StringConfig<string, undefined, R> | F0NumberFieldConfig<R> | F0BooleanConfig | F0DateFieldConfig | F0ArrayConfig<T, R> | F0ObjectConfig;
3567
+ export declare type F0FieldConfig<T extends string | number = string | number, R extends Record<string, unknown> = Record<string, unknown>> = F0StringConfig<string, undefined, R> | F0NumberFieldConfig<R> | F0BooleanConfig | F0DateFieldConfig | F0TimeFieldConfig | F0DateTimeFieldConfig | F0ArrayConfig<T, R> | F0ObjectConfig;
3525
3568
 
3526
3569
  /**
3527
3570
  * Field types for rendering
3528
3571
  */
3529
- export declare type F0FieldType = "text" | "number" | "textarea" | "select" | "checkbox" | "switch" | "date" | "daterange" | "richtext" | "custom";
3572
+ export declare type F0FieldType = "text" | "number" | "textarea" | "select" | "checkbox" | "switch" | "date" | "time" | "datetime" | "daterange" | "richtext" | "custom";
3530
3573
 
3531
3574
  /**
3532
3575
  * A standalone dual-pane filter picker content component.
@@ -3678,9 +3721,9 @@ export declare function f0FormField<T extends z.ZodNumber, R extends Record<stri
3678
3721
  export declare function f0FormField<T extends z.ZodBoolean>(schema: T, config: F0BooleanConfig): T & F0ZodType<T>;
3679
3722
 
3680
3723
  /**
3681
- * Date field
3724
+ * Date or DateTime field
3682
3725
  */
3683
- export declare function f0FormField<T extends z.ZodDate>(schema: T, config: F0DateFieldConfig): T & F0ZodType<T>;
3726
+ export declare function f0FormField<T extends z.ZodDate>(schema: T, config: F0DateOrDateTimeFieldConfig): T & F0ZodType<T>;
3684
3727
 
3685
3728
  /**
3686
3729
  * Enum field - select
@@ -3791,6 +3834,11 @@ export declare interface F0FormProps<TSchema extends z.ZodObject<ZodRawShape>> {
3791
3834
  * @default "on-blur"
3792
3835
  */
3793
3836
  errorTriggerMode?: F0FormErrorTriggerMode;
3837
+ /**
3838
+ * Styling configuration for form layout and appearance.
3839
+ * Controls section sidebar visibility and box wrapping.
3840
+ */
3841
+ styling?: F0FormStylingConfig;
3794
3842
  }
3795
3843
 
3796
3844
  /**
@@ -3798,6 +3846,17 @@ export declare interface F0FormProps<TSchema extends z.ZodObject<ZodRawShape>> {
3798
3846
  */
3799
3847
  export declare type F0FormSchema<T extends Record<string, ZodTypeAny>> = z.ZodObject<T>;
3800
3848
 
3849
+ /**
3850
+ * Styling configuration for the form layout and appearance
3851
+ */
3852
+ export declare interface F0FormStylingConfig {
3853
+ /**
3854
+ * Shows a sidebar with section navigation (Table of Contents)
3855
+ * @default false
3856
+ */
3857
+ showSectionsSidepanel?: boolean;
3858
+ }
3859
+
3801
3860
  /**
3802
3861
  * Configuration for form submission behavior and appearance
3803
3862
  */
@@ -3937,6 +3996,8 @@ export declare type F0NumberField = F0BaseField & F0NumberConfig & {
3937
3996
  min?: number;
3938
3997
  /** Maximum value (derived from z.number().max()) */
3939
3998
  max?: number;
3999
+ /** Whether the field can be cleared (derived from optional/nullable) */
4000
+ clearable?: boolean;
3940
4001
  /** Conditional rendering based on another field's value */
3941
4002
  renderIf?: NumberFieldRenderIf;
3942
4003
  };
@@ -4044,6 +4105,21 @@ export declare type F0RichTextFieldConfig = F0BaseConfig & F0RichTextConfig & {
4044
4105
  fieldType: "richtext";
4045
4106
  };
4046
4107
 
4108
+ /**
4109
+ * Action button configuration for a section.
4110
+ * Provide either onClick for a button action or href for a link.
4111
+ */
4112
+ export declare interface F0SectionAction {
4113
+ /** Button label */
4114
+ label: string;
4115
+ /** Button icon */
4116
+ icon?: IconType;
4117
+ /** Click handler (use this or href) */
4118
+ onClick?: () => void;
4119
+ /** Link URL (use this or onClick) */
4120
+ href?: string;
4121
+ }
4122
+
4047
4123
  /**
4048
4124
  * Configuration for a form section.
4049
4125
  * Section order is determined by declaration order in the sections object.
@@ -4055,6 +4131,8 @@ export declare interface F0SectionConfig {
4055
4131
  description?: string;
4056
4132
  /** Conditional rendering for the entire section */
4057
4133
  renderIf?: SectionRenderIf;
4134
+ /** Optional action button for the section */
4135
+ action?: F0SectionAction;
4058
4136
  }
4059
4137
 
4060
4138
  /**
@@ -4367,6 +4445,8 @@ export declare type F0TextareaField = F0BaseField & F0TextareaConfig & {
4367
4445
  type: "textarea";
4368
4446
  /** Maximum character length (derived from z.string().max()) */
4369
4447
  maxLength?: number;
4448
+ /** Whether the field can be cleared (derived from optional/nullable) */
4449
+ clearable?: boolean;
4370
4450
  /** Conditional rendering based on another field's value */
4371
4451
  renderIf?: TextareaFieldRenderIf;
4372
4452
  };
@@ -4384,6 +4464,8 @@ export declare interface F0TextConfig {
4384
4464
  */
4385
4465
  export declare type F0TextField = F0BaseField & F0TextConfig & {
4386
4466
  type: "text";
4467
+ /** Whether the field can be cleared (derived from optional/nullable) */
4468
+ clearable?: boolean;
4387
4469
  /** Conditional rendering based on another field's value */
4388
4470
  renderIf?: TextFieldRenderIf;
4389
4471
  };
@@ -4426,6 +4508,38 @@ export declare type F0ThinkingProps = {
4426
4508
  title?: string;
4427
4509
  };
4428
4510
 
4511
+ /**
4512
+ * F0 config options specific to time fields
4513
+ *
4514
+ * Note: `clearable` is derived from the Zod schema:
4515
+ * - `z.string().optional()` or `z.string().nullable()` → clearable
4516
+ */
4517
+ export declare interface F0TimeConfig {
4518
+ }
4519
+
4520
+ /**
4521
+ * Time field with all properties for rendering
4522
+ * Stores time as a Date object, displays as HH:mm format
4523
+ */
4524
+ export declare type F0TimeField = F0BaseField & F0TimeConfig & {
4525
+ type: "time";
4526
+ /** Minimum selectable date/time (derived from z.date().min()) */
4527
+ minDate?: Date;
4528
+ /** Maximum selectable date/time (derived from z.date().max()) */
4529
+ maxDate?: Date;
4530
+ /** Whether the time can be cleared (derived from optional/nullable) */
4531
+ clearable?: boolean;
4532
+ /** Conditional rendering based on another field's value */
4533
+ renderIf?: DateFieldRenderIf;
4534
+ };
4535
+
4536
+ /**
4537
+ * Config for time fields (stores as Date, displays as HH:mm)
4538
+ */
4539
+ declare type F0TimeFieldConfig = F0BaseConfig & F0TimeConfig & {
4540
+ fieldType: "time";
4541
+ };
4542
+
4429
4543
  /**
4430
4544
  * Extended Zod type with F0 metadata
4431
4545
  */
@@ -4439,7 +4553,7 @@ export declare interface F0ZodType<T extends ZodTypeAny = ZodTypeAny> {
4439
4553
  /**
4440
4554
  * Field types for rendering
4441
4555
  */
4442
- export declare type FieldType = "text" | "number" | "textarea" | "select" | "checkbox" | "switch" | "date" | "daterange" | "richtext" | "custom";
4556
+ export declare type FieldType = "text" | "number" | "textarea" | "select" | "checkbox" | "switch" | "date" | "time" | "datetime" | "daterange" | "richtext" | "custom";
4443
4557
 
4444
4558
  export declare type FileAvatarVariant = Extract<AvatarVariant, {
4445
4559
  type: "file";