@factorialco/f0-react 2.36.0 → 2.37.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
@@ -4223,9 +4223,9 @@ declare namespace Calendar {
4223
4223
 
4224
4224
  declare module "@tiptap/core" {
4225
4225
  interface Commands<ReturnType> {
4226
- enhanceHighlight: {
4227
- setEnhanceHighlight: (from: number, to: number) => ReturnType;
4228
- clearEnhanceHighlight: () => ReturnType;
4226
+ aiBlock: {
4227
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
4228
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
4229
4229
  };
4230
4230
  }
4231
4231
  }
@@ -4233,9 +4233,9 @@ declare module "@tiptap/core" {
4233
4233
 
4234
4234
  declare module "@tiptap/core" {
4235
4235
  interface Commands<ReturnType> {
4236
- aiBlock: {
4237
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
4238
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
4236
+ enhanceHighlight: {
4237
+ setEnhanceHighlight: (from: number, to: number) => ReturnType;
4238
+ clearEnhanceHighlight: () => ReturnType;
4239
4239
  };
4240
4240
  }
4241
4241
  }
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-CzqKtOrT.js";
1
+ import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-BErabj-B.js";
2
2
  import { defaultTranslations as m } from "./i18n-provider-defaults.js";
3
- import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-CyCXSXX9.js";
3
+ import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-DBzFU3JU.js";
4
4
  export {
5
5
  c as AiChatTranslationsProvider,
6
6
  I as ChatSpinner,
@@ -2624,6 +2624,20 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
2624
2624
  /** Current state of applied sortings */
2625
2625
  currentSortings?: SortingsState<Sortings>;
2626
2626
  /*******************************************************/
2627
+ /***** PAGINATION ***************************************************/
2628
+ /**
2629
+ * Initial page to fetch (1-indexed) for page-based pagination. Applied on the
2630
+ * first load only; the page resets to 1 whenever filters/search/sortings
2631
+ * change (as it always has). Useful for restoring a page from the URL.
2632
+ */
2633
+ currentPage?: number;
2634
+ /**
2635
+ * Called whenever the pagination info changes — e.g. the user navigates to a
2636
+ * different page. Lets a consumer observe the current page (to persist it in
2637
+ * the URL, analytics, etc.) without owning the pagination state.
2638
+ */
2639
+ onPaginationChange?: (paginationInfo: PaginationInfo | null) => void;
2640
+ /*******************************************************/
2627
2641
  /** Data adapter responsible for fetching and managing data */
2628
2642
  dataAdapter: DataAdapter<R, Filters>;
2629
2643
  /** Selectable items value under the checkbox column (undefined if not selectable) */
@@ -6387,6 +6401,13 @@ declare type OneDataCollectionProps<R extends RecordType, Filters extends Filter
6387
6401
  */
6388
6402
  features?: DataCollectionStorageFeaturesDefinition;
6389
6403
  };
6404
+ /**
6405
+ * By default, when an `id` is set, the data collection reads its
6406
+ * filters/search/sortings from the URL query params on mount and reflects any
6407
+ * later changes back into them (see `dataCollectionUrlParams`). Set this to
6408
+ * `true` to opt out of that URL syncing.
6409
+ */
6410
+ disableUrlParams?: boolean;
6390
6411
  /**
6391
6412
  * @deprecated removes the horizontal padding from the data collection
6392
6413
  */
@@ -8690,9 +8711,9 @@ declare namespace Calendar {
8690
8711
 
8691
8712
  declare module "@tiptap/core" {
8692
8713
  interface Commands<ReturnType> {
8693
- enhanceHighlight: {
8694
- setEnhanceHighlight: (from: number, to: number) => ReturnType;
8695
- clearEnhanceHighlight: () => ReturnType;
8714
+ aiBlock: {
8715
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
8716
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
8696
8717
  };
8697
8718
  }
8698
8719
  }
@@ -8700,9 +8721,9 @@ declare module "@tiptap/core" {
8700
8721
 
8701
8722
  declare module "@tiptap/core" {
8702
8723
  interface Commands<ReturnType> {
8703
- aiBlock: {
8704
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
8705
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
8724
+ enhanceHighlight: {
8725
+ setEnhanceHighlight: (from: number, to: number) => ReturnType;
8726
+ clearEnhanceHighlight: () => ReturnType;
8706
8727
  };
8707
8728
  }
8708
8729
  }
@@ -1,9 +1,9 @@
1
- import { g as da, B as ua, h as fa, i as ma, j as At, k as De, l as ha, m as p, n as X, o as be, u as ie, T as pa, p as ba, q as ga, R as xa, r as va, s as re, t as wa, v as pt, w as rt, x as Re, A as _e, y as ya, z as Na, C as M, E as Ca, G as ka, H as ve, J as sn, K as Sa, L as Ia, M as W, N as on, S as O, O as we, Q as Fa, U as Aa, V as La, W as Ea, X as _a, Y as ke, Z as cn, _ as Oa, $ as ge, a0 as $e, a1 as Da, a2 as bt, d as dn, a3 as Ce, a4 as Ta, a5 as un, a6 as ne, a7 as K, a8 as fn, a9 as mn, aa as za, ab as hn, ac as me, ad as ee, ae as Pa, af as Ba, ag as Ra, ah as $a, ai as pe, aj as Ge, ak as Wa, al as Ma, am as ja, an as Va, ao as He, ap as pn, aq as Ga, ar as Ha, as as Ua, at as We, au as Ka, av as qa, aw as Ya, ax as Za, ay as Xa, az as Ja, aA as Qa, aB as er, aC as tr, aD as nr, aE as lt, aF as it, aG as bn, aH as ar, aI as rr, aJ as lr, aK as ir, aL as Ue, aM as gt, aN as gn, aO as sr, aP as xn, aQ as or, aR as cr, aS as dr, aT as Ee, aU as ur, aV as Te, aW as Lt, aX as st, aY as fr, aZ as mr, a as hr, b as pr, a_ as vn, a$ as br, f as gr, F as xr, b0 as wn, b1 as vr, b2 as yn, b3 as wr, b4 as yr, b5 as Nr, b6 as Cr, b7 as kr, b8 as Sr, b9 as Ir, ba as Fr, bb as Ar, bc as Nn, bd as ue, be as xt, bf as vt, bg as wt, bh as Cn, bi as yt, bj as kn, bk as Sn, bl as Lr, bm as Er, bn as _r, bo as Or, bp as Dr, bq as Tr, br as zr, bs as Pr, bt as Br, bu as Rr, bv as Et, bw as _t, bx as Ot, by as $r, bz as Wr, bA as Mr, bB as jr, bC as In, bD as Vr, bE as Gr } from "./F0CanvasPanel-CzqKtOrT.js";
2
- import { bQ as Lc, bP as Ec, c0 as _c, bM as Oc, bN as Dc, bF as Tc, bG as zc, bH as Pc, c1 as Bc, bO as Rc, bY as $c, bZ as Wc, bI as Mc, bS as jc, bR as Vc, bJ as Gc, bK as Hc, b_ as Uc, c2 as Kc, b$ as qc, bX as Yc, bU as Zc, bW as Xc, bT as Jc, bL as Qc, bV as ed } from "./F0CanvasPanel-CzqKtOrT.js";
1
+ import { g as da, B as ua, h as fa, i as ma, j as At, k as De, l as ha, m as p, n as X, o as be, u as ie, T as pa, p as ba, q as ga, R as xa, r as va, s as re, t as wa, v as pt, w as rt, x as Re, A as _e, y as ya, z as Na, C as M, E as Ca, G as ka, H as ve, J as sn, K as Sa, L as Ia, M as W, N as on, S as O, O as we, Q as Fa, U as Aa, V as La, W as Ea, X as _a, Y as ke, Z as cn, _ as Oa, $ as ge, a0 as $e, a1 as Da, a2 as bt, d as dn, a3 as Ce, a4 as Ta, a5 as un, a6 as ne, a7 as K, a8 as fn, a9 as mn, aa as za, ab as hn, ac as me, ad as ee, ae as Pa, af as Ba, ag as Ra, ah as $a, ai as pe, aj as Ge, ak as Wa, al as Ma, am as ja, an as Va, ao as He, ap as pn, aq as Ga, ar as Ha, as as Ua, at as We, au as Ka, av as qa, aw as Ya, ax as Za, ay as Xa, az as Ja, aA as Qa, aB as er, aC as tr, aD as nr, aE as lt, aF as it, aG as bn, aH as ar, aI as rr, aJ as lr, aK as ir, aL as Ue, aM as gt, aN as gn, aO as sr, aP as xn, aQ as or, aR as cr, aS as dr, aT as Ee, aU as ur, aV as Te, aW as Lt, aX as st, aY as fr, aZ as mr, a as hr, b as pr, a_ as vn, a$ as br, f as gr, F as xr, b0 as wn, b1 as vr, b2 as yn, b3 as wr, b4 as yr, b5 as Nr, b6 as Cr, b7 as kr, b8 as Sr, b9 as Ir, ba as Fr, bb as Ar, bc as Nn, bd as ue, be as xt, bf as vt, bg as wt, bh as Cn, bi as yt, bj as kn, bk as Sn, bl as Lr, bm as Er, bn as _r, bo as Or, bp as Dr, bq as Tr, br as zr, bs as Pr, bt as Br, bu as Rr, bv as Et, bw as _t, bx as Ot, by as $r, bz as Wr, bA as Mr, bB as jr, bC as In, bD as Vr, bE as Gr } from "./F0CanvasPanel-BErabj-B.js";
2
+ import { bQ as Lc, bP as Ec, c0 as _c, bM as Oc, bN as Dc, bF as Tc, bG as zc, bH as Pc, c1 as Bc, bO as Rc, bY as $c, bZ as Wc, bI as Mc, bS as jc, bR as Vc, bJ as Gc, bK as Hc, b_ as Uc, c2 as Kc, b$ as qc, bX as Yc, bU as Zc, bW as Xc, bT as Jc, bL as Qc, bV as ed } from "./F0CanvasPanel-BErabj-B.js";
3
3
  import { jsx as e, jsxs as o, Fragment as U } from "react/jsx-runtime";
4
4
  import se, { forwardRef as j, useRef as G, useTransition as Hr, useState as _, useLayoutEffect as Fn, useId as ot, useContext as Ke, createContext as Nt, useEffect as $, useCallback as Q, useMemo as q, Fragment as Ur, isValidElement as Kr, cloneElement as An, Children as Ln } from "react";
5
- import { C as qr, P as Yr, g as En, c as Zr, a as _n, F as ct, f as Xr, M as Jr, b as Qr, R as Dt, d as On, u as el, e as Dn, S as tl, A as nl, B as al, L as rl, h as ll, V as il, i as sl, j as Tt, k as ol, l as cl, O as dl } from "./useDataCollectionSource-Bp6MCLzM.js";
6
- import { r as nd, s as ad, p as rd, H as ld, t as id, z as sd, a9 as od, G as cd, q as dd, Q as ud, o as fd, Y as md, U as hd, J as pd, af as bd, K as gd, Z as xd, _ as vd, v as wd, ab as yd, ac as Nd, aa as Cd, ad as kd, N as Sd, $ as Id, a6 as Fd, a8 as Ad, w as Ld, y as Ed, D as _d, W as Od, ae as Dd, X as Td, T as zd, x as Pd, E as Bd, m as Rd, n as $d, a1 as Wd, a2 as Md, a7 as jd, I as Vd, a3 as Gd, a4 as Hd, a0 as Ud, a5 as Kd } from "./useDataCollectionSource-Bp6MCLzM.js";
5
+ import { C as qr, P as Yr, g as En, c as Zr, a as _n, F as ct, f as Xr, M as Jr, b as Qr, R as Dt, d as On, u as el, e as Dn, S as tl, A as nl, B as al, L as rl, h as ll, V as il, i as sl, j as Tt, k as ol, l as cl, O as dl } from "./useDataCollectionSource-O4gVVcoQ.js";
6
+ import { r as nd, s as ad, p as rd, H as ld, t as id, z as sd, a9 as od, G as cd, q as dd, Q as ud, o as fd, Y as md, U as hd, J as pd, af as bd, K as gd, Z as xd, _ as vd, v as wd, ab as yd, ac as Nd, aa as Cd, ad as kd, N as Sd, $ as Id, a6 as Fd, a8 as Ad, w as Ld, y as Ed, D as _d, W as Od, ae as Dd, X as Td, T as zd, x as Pd, E as Bd, m as Rd, n as $d, a1 as Wd, a2 as Md, a7 as jd, I as Vd, a3 as Gd, a4 as Hd, a0 as Ud, a5 as Kd } from "./useDataCollectionSource-O4gVVcoQ.js";
7
7
  const ul = da("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
@@ -1634,6 +1634,12 @@ declare const boxVariants: (props?: ({
1634
1634
  /** Supported breakpoints */
1635
1635
  export declare type Breakpoint = "sm" | "md" | "lg" | "xl";
1636
1636
 
1637
+ /**
1638
+ * Builds a fresh `URLSearchParams` encoding a data collection `id` and state,
1639
+ * symmetric with {@link parseDataCollectionUrlParams}. Always sets `dc_id`.
1640
+ */
1641
+ export declare const buildDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(id: string, state?: DataCollectionUrlState<CurrentFiltersState>) => URLSearchParams;
1642
+
1637
1643
  export declare const buildTranslations: (translations: TranslationsType) => TranslationsType;
1638
1644
 
1639
1645
  /**
@@ -3499,6 +3505,29 @@ export declare type Data<R extends RecordType> = {
3499
3505
  groups: GroupRecord<R>[];
3500
3506
  };
3501
3507
 
3508
+ /**
3509
+ * Every data collection URL param shares this prefix, so each filter is its own
3510
+ * readable param — e.g. `?dc_id=people/v1&dc_department=Sales&dc_search=ada`
3511
+ * instead of a single JSON blob.
3512
+ */
3513
+ export declare const DATA_COLLECTION_URL_PARAM_PREFIX = "dc_";
3514
+
3515
+ /**
3516
+ * The reserved (non-filter) param names. Individual filters are encoded as
3517
+ * `dc_<filterKey>`; these three names are written last (via `set`) so that on
3518
+ * the rare clash where a filter key is exactly `id`, `search` or `sort`, the
3519
+ * reserved param wins.
3520
+ */
3521
+ export declare const DATA_COLLECTION_URL_PARAMS: {
3522
+ readonly id: "dc_id";
3523
+ readonly search: "dc_search";
3524
+ readonly sortings: "dc_sort";
3525
+ /** Active visualization type/key, e.g. `table` (omitted for the default one). */
3526
+ readonly visualization: "dc_view";
3527
+ /** Current page (1-indexed; omitted for the first page). */
3528
+ readonly page: "dc_page";
3529
+ };
3530
+
3502
3531
  /**
3503
3532
  * Combined type for all possible data adapter configurations
3504
3533
  * @template R - The type of records in the collection
@@ -3632,6 +3661,27 @@ export declare type DataCollectionStorageHandler<CurrentFiltersState extends Fil
3632
3661
  set: (key: string, storage: DataCollectionStorage<CurrentFiltersState>) => Promise<void>;
3633
3662
  };
3634
3663
 
3664
+ /** How {@link syncDataCollectionUrlParams} should update the browser history. */
3665
+ export declare type DataCollectionUrlHistoryMode = "replace" | "push" | "none";
3666
+
3667
+ export declare type DataCollectionUrlParams<CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>> = {
3668
+ id: string;
3669
+ state: DataCollectionUrlState<CurrentFiltersState>;
3670
+ };
3671
+
3672
+ /** The subset of a data collection's state we read from / write to the URL. */
3673
+ export declare type DataCollectionUrlState<CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>> = Pick<DataCollectionStorage<CurrentFiltersState>, "filters" | "search" | "sortings"> & {
3674
+ /**
3675
+ * Active visualization, addressed by its **type/key** (e.g. `"table"`,
3676
+ * `"kanban"`) rather than a positional index — readable and stable across
3677
+ * reordering. Mapping to/from the index is the caller's job (the data
3678
+ * collection knows the visualization list).
3679
+ */
3680
+ visualization?: string;
3681
+ /** Current page (1-indexed). Not part of persisted storage — URL only. */
3682
+ page?: number;
3683
+ };
3684
+
3635
3685
  /**
3636
3686
  * Data download canvas content — renders a full data table with download options.
3637
3687
  */
@@ -3776,6 +3826,20 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
3776
3826
  /** Current state of applied sortings */
3777
3827
  currentSortings?: SortingsState<Sortings>;
3778
3828
  /*******************************************************/
3829
+ /***** PAGINATION ***************************************************/
3830
+ /**
3831
+ * Initial page to fetch (1-indexed) for page-based pagination. Applied on the
3832
+ * first load only; the page resets to 1 whenever filters/search/sortings
3833
+ * change (as it always has). Useful for restoring a page from the URL.
3834
+ */
3835
+ currentPage?: number;
3836
+ /**
3837
+ * Called whenever the pagination info changes — e.g. the user navigates to a
3838
+ * different page. Lets a consumer observe the current page (to persist it in
3839
+ * the URL, analytics, etc.) without owning the pagination state.
3840
+ */
3841
+ onPaginationChange?: (paginationInfo: PaginationInfo | null) => void;
3842
+ /*******************************************************/
3779
3843
  /** Data adapter responsible for fetching and managing data */
3780
3844
  dataAdapter: DataAdapter<R, Filters>;
3781
3845
  /** Selectable items value under the checkbox column (undefined if not selectable) */
@@ -11411,6 +11475,18 @@ export declare type MaskOptions = {
11411
11475
 
11412
11476
  declare const MAX_EXPANDED_ACTIONS = 2;
11413
11477
 
11478
+ /**
11479
+ * Maximum number of values a single filter may contribute to the URL.
11480
+ *
11481
+ * A multi-select (`in`) filter materializes one URL param per selected value,
11482
+ * so "select all" over a large or paginated data source would otherwise dump
11483
+ * hundreds of ids into the query string (bloated, and beyond browser/server URL
11484
+ * length limits). Past this cap the filter is left out of the URL — it is still
11485
+ * applied in-memory and persisted via storage, just not shareable through the
11486
+ * URL. Deliberately conservative; tune if a use case needs more.
11487
+ */
11488
+ export declare const MAX_URL_FILTER_VALUES = 25;
11489
+
11414
11490
  export declare type MentionedUser = {
11415
11491
  id: string | number;
11416
11492
  label: string;
@@ -12390,6 +12466,17 @@ export declare type PaginationInfo = Omit<PageBasedPaginatedResponse<unknown>, "
12390
12466
  */
12391
12467
  export declare type PaginationType = "pages" | "infinite-scroll" | "no-pagination";
12392
12468
 
12469
+ /**
12470
+ * Parses the data collection identifier and state out of URL query params.
12471
+ *
12472
+ * @param input - A query string, a `URLSearchParams`, or omitted to read from
12473
+ * `window.location.search`.
12474
+ * @param filtersDefinition - Needed to decode the `dc_<filterKey>` params back
12475
+ * into correctly-typed filter values. Omit to skip filters.
12476
+ * @returns `{ id, state }`, or `null` when no `dc_id` is present.
12477
+ */
12478
+ export declare const parseDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(input?: string | URLSearchParams, filtersDefinition?: FiltersDefinition) => DataCollectionUrlParams<CurrentFiltersState> | null;
12479
+
12393
12480
  declare type PathsToStringProps<T> = T extends string ? [] : {
12394
12481
  [K in Extract<keyof T, string>]: [K, ...PathsToStringProps<T[K]>];
12395
12482
  }[Extract<keyof T, string>];
@@ -13458,6 +13545,14 @@ export declare const selectSizes: readonly ["sm", "md"];
13458
13545
  */
13459
13546
  declare type SelectValueType = string | number;
13460
13547
 
13548
+ /**
13549
+ * Writes a data collection's current filters/search/sortings onto an existing
13550
+ * query string, preserving any unrelated params. Every `dc_`-prefixed param is
13551
+ * rebuilt from `state`, so cleared filters drop out and an entirely empty state
13552
+ * leaves the URL free of `dc_` params (rather than a bare `?dc_id=<id>`).
13553
+ */
13554
+ export declare const setDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(current: string | URLSearchParams | undefined, id: string, state: DataCollectionUrlState<CurrentFiltersState>) => URLSearchParams;
13555
+
13461
13556
  declare type SetFormCardValueFormatter = <T = unknown>(entry: FormCardValueFormatterEntry<T>) => void;
13462
13557
 
13463
13558
  /**
@@ -13750,6 +13845,18 @@ export declare type SurveySubmitAnswers = Record<string, string | number | boole
13750
13845
  */
13751
13846
  declare type SwitchFieldRenderIf = BooleanRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
13752
13847
 
13848
+ /**
13849
+ * Reflects a data collection's current filters/search/sortings into the URL.
13850
+ *
13851
+ * Pairs with {@link parseDataCollectionUrlParams} (which reads the other way).
13852
+ * `OneDataCollection` wires this up by default when an `id` is set.
13853
+ *
13854
+ * @returns The resulting query string (no leading `?`), or `null` under SSR.
13855
+ */
13856
+ export declare const syncDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(id: string, state: DataCollectionUrlState<CurrentFiltersState>, options?: {
13857
+ history?: DataCollectionUrlHistoryMode;
13858
+ }) => string | null;
13859
+
13753
13860
  declare type TableCollectionProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = CollectionProps<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, TableVisualizationOptions<R, Filters, Sortings, Summaries>>;
13754
13861
 
13755
13862
  declare type TableColumnDefinition<R extends RecordType, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = WithOptionalSorting<R, Sortings> & Pick<ComponentProps<typeof TableHead>, "hidden" | "info" | "infoIcon" | "sticky" | "width" | "minWidth"> & {
@@ -15360,6 +15467,15 @@ declare interface WithTooltipDescription {
15360
15467
  description?: string;
15361
15468
  }
15362
15469
 
15470
+ /**
15471
+ * Synchronously persists a OneDataCollection's state to localStorage, mirroring
15472
+ * `readDataCollectionStorage`. Uses the same `datacollection-` prefixed key as
15473
+ * `dataCollectionLocalStorageHandler` so the component hydrates from it.
15474
+ *
15475
+ * @param id - The OneDataCollection `id`, WITHOUT the `datacollection-` prefix.
15476
+ */
15477
+ export declare const writeDataCollectionStorage: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(id: string, storage: DataCollectionStorage<CurrentFiltersState>) => void;
15478
+
15363
15479
  /** z-index values */
15364
15480
  export declare type ZIndexToken = "auto" | "0" | "10" | "20" | "30" | "40" | "50";
15365
15481
 
@@ -15416,9 +15532,9 @@ declare namespace Calendar {
15416
15532
 
15417
15533
  declare module "@tiptap/core" {
15418
15534
  interface Commands<ReturnType> {
15419
- enhanceHighlight: {
15420
- setEnhanceHighlight: (from: number, to: number) => ReturnType;
15421
- clearEnhanceHighlight: () => ReturnType;
15535
+ aiBlock: {
15536
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
15537
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
15422
15538
  };
15423
15539
  }
15424
15540
  }
@@ -15426,9 +15542,9 @@ declare module "@tiptap/core" {
15426
15542
 
15427
15543
  declare module "@tiptap/core" {
15428
15544
  interface Commands<ReturnType> {
15429
- aiBlock: {
15430
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
15431
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
15545
+ enhanceHighlight: {
15546
+ setEnhanceHighlight: (from: number, to: number) => ReturnType;
15547
+ clearEnhanceHighlight: () => ReturnType;
15432
15548
  };
15433
15549
  }
15434
15550
  }