@factorialco/f0-react 1.430.0 → 1.432.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,7 +1,7 @@
1
1
  import { defaultTranslations as ke } from "./i18n-provider-defaults.js";
2
2
  import { jsx as q, jsxs as le } from "react/jsx-runtime";
3
3
  import { useInsertionEffect as Xe, createContext as Ye, useContext as $e, useRef as B, useEffect as ie, useState as Ue, useCallback as qe, useMemo as He } from "react";
4
- import { r as Ke, l as je, m as Qe, n as Je, o as Me, p as Ze, q as et, s as tt, t as rt, v as nt, w as Ne, x as ot, V as it, y as st, z as at, A as ct, S as ut, H as lt, B as se, D as ft, E as dt, G as ht, J as mt, K as pt, L as vt, M as fe, N as gt } from "./F0AiChat-CYLHTsL4.js";
4
+ import { r as Ke, l as je, m as Qe, n as Je, o as Me, p as Ze, q as et, s as tt, t as rt, v as nt, w as Ne, x as ot, V as it, y as st, z as at, A as ct, S as ut, H as lt, B as se, D as ft, E as dt, G as ht, J as mt, K as pt, L as vt, M as fe, N as gt } from "./F0AiChat-DRUcCTJI.js";
5
5
  import { useTrackVolume as wt } from "@livekit/components-react";
6
6
  function Tt(t, e, r) {
7
7
  Xe(() => t.on(e, r), [t, e, r]);
package/dist/ai.d.ts CHANGED
@@ -964,6 +964,10 @@ export declare const defaultTranslations: {
964
964
  readonly sum: "sum";
965
965
  };
966
966
  };
967
+ readonly export: {
968
+ readonly label: "Export to CSV";
969
+ readonly description: "Download all data as a CSV file";
970
+ };
967
971
  };
968
972
  readonly shortcut: "Shortcut";
969
973
  readonly date: {
@@ -1180,6 +1184,7 @@ export declare const defaultTranslations: {
1180
1184
  readonly surveyFormBuilder: {
1181
1185
  readonly actions: {
1182
1186
  readonly actions: "Actions";
1187
+ readonly addQuestion: "Add question";
1183
1188
  readonly duplicateQuestion: "Duplicate question";
1184
1189
  readonly deleteQuestion: "Delete question";
1185
1190
  readonly duplicateSection: "Duplicate section";
@@ -1232,6 +1237,9 @@ export declare const defaultTranslations: {
1232
1237
  readonly questionDescriptionPlaceholder: "Describe the question in a few words";
1233
1238
  readonly sectionDescriptionPlaceholder: "Describe the section in a few words";
1234
1239
  readonly required: "Required";
1240
+ readonly allowMultiSelection: "Allow multi-selection";
1241
+ readonly singleSelection: "Single selection";
1242
+ readonly multiSelection: "Multi selection";
1235
1243
  readonly questionType: "Question type";
1236
1244
  readonly questionOptions: "Question options";
1237
1245
  readonly actions: "Actions";
@@ -1793,6 +1801,11 @@ declare module "gridstack" {
1793
1801
  }
1794
1802
 
1795
1803
 
1804
+ declare namespace Calendar {
1805
+ var displayName: string;
1806
+ }
1807
+
1808
+
1796
1809
  declare module "@tiptap/core" {
1797
1810
  interface Commands<ReturnType> {
1798
1811
  aiBlock: {
@@ -1840,8 +1853,3 @@ declare module "@tiptap/core" {
1840
1853
  };
1841
1854
  }
1842
1855
  }
1843
-
1844
-
1845
- declare namespace Calendar {
1846
- var displayName: string;
1847
- }
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { i as t, h as i, F as e, a as n, C as o, b as r, j as A, k as c, I as u, g as F, c as h, d as C, u as l, f as I, e as f } from "./F0AiChat-CYLHTsL4.js";
1
+ import { i as t, h as i, F as e, a as n, C as o, b as r, j as A, k as c, I as u, g as F, c as h, d as C, u as l, f as I, e as f } from "./F0AiChat-DRUcCTJI.js";
2
2
  import { defaultTranslations as d } from "./i18n-provider-defaults.js";
3
- import { A as p, F as S, c as g, d as v, b as x, a as k, o as O, u as P } from "./F0HILActionConfirmation-Sz9WaIy5.js";
3
+ import { A as p, F as S, c as g, d as v, b as x, a as k, o as O, u as P } from "./F0HILActionConfirmation-ot92kVFT.js";
4
4
  export {
5
5
  p as AiChatTranslationsProvider,
6
6
  t as ChatSpinner,
@@ -850,6 +850,12 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
850
850
  * @returns Array of records, promise of records, or observable of records
851
851
  */
852
852
  fetchData: (options: Options) => FetchReturn | Promise<FetchReturn> | Observable<PromiseState<FetchReturn>>;
853
+ /**
854
+ * Optional standalone fetch for CSV export that does NOT affect UI state.
855
+ * When provided, the export action uses this instead of fetchData to avoid
856
+ * side-effects on reactive adapters (e.g. Apollo watchQuery).
857
+ */
858
+ exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
853
859
  };
854
860
 
855
861
  /**
@@ -1806,6 +1812,15 @@ declare type CreditsUsage = {
1806
1812
  total: number;
1807
1813
  };
1808
1814
 
1815
+ export declare interface CSVExportOptions {
1816
+ filename?: string;
1817
+ includeHeaders?: boolean;
1818
+ /** Column IDs to exclude from export (respects column visibility settings) */
1819
+ hiddenColumnIds?: Set<string>;
1820
+ /** Column ID order to apply (respects column reordering settings) */
1821
+ columnOrder?: string[];
1822
+ }
1823
+
1809
1824
  /**
1810
1825
  * Extracts the current filters type from filter options.
1811
1826
  * Creates a type mapping filter keys to their respective value types.
@@ -2522,6 +2537,10 @@ declare const defaultTranslations: {
2522
2537
  readonly sum: "sum";
2523
2538
  };
2524
2539
  };
2540
+ readonly export: {
2541
+ readonly label: "Export to CSV";
2542
+ readonly description: "Download all data as a CSV file";
2543
+ };
2525
2544
  };
2526
2545
  readonly shortcut: "Shortcut";
2527
2546
  readonly date: {
@@ -2738,6 +2757,7 @@ declare const defaultTranslations: {
2738
2757
  readonly surveyFormBuilder: {
2739
2758
  readonly actions: {
2740
2759
  readonly actions: "Actions";
2760
+ readonly addQuestion: "Add question";
2741
2761
  readonly duplicateQuestion: "Duplicate question";
2742
2762
  readonly deleteQuestion: "Delete question";
2743
2763
  readonly duplicateSection: "Duplicate section";
@@ -2790,6 +2810,9 @@ declare const defaultTranslations: {
2790
2810
  readonly questionDescriptionPlaceholder: "Describe the question in a few words";
2791
2811
  readonly sectionDescriptionPlaceholder: "Describe the section in a few words";
2792
2812
  readonly required: "Required";
2813
+ readonly allowMultiSelection: "Allow multi-selection";
2814
+ readonly singleSelection: "Single selection";
2815
+ readonly multiSelection: "Multi selection";
2793
2816
  readonly questionType: "Question type";
2794
2817
  readonly questionOptions: "Question options";
2795
2818
  readonly actions: "Actions";
@@ -2979,6 +3002,8 @@ declare type DialogProps = {
2979
3002
  */
2980
3003
  declare type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
2981
3004
 
3005
+ export declare function downloadAsCSV<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>>(data: R[], visualization: Visualization<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping> | undefined, options?: CSVExportOptions): Promise<void>;
3006
+
2982
3007
  /**
2983
3008
  * @experimental This is an experimental component use it at your own risk
2984
3009
  */
@@ -3956,6 +3981,8 @@ declare interface FrameContextType {
3956
3981
  setForceFloat: (force: boolean) => void;
3957
3982
  }
3958
3983
 
3984
+ export declare function generateCSVContent<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>>(data: R[], visualization: Visualization<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping> | undefined, options?: CSVExportOptions): string;
3985
+
3959
3986
  export declare const getGranularityDefinition: (granularityKey: GranularityDefinitionKey) => GranularityDefinition;
3960
3987
 
3961
3988
  /**
@@ -5127,6 +5154,14 @@ declare type OneDataCollectionProps<R extends RecordType, Filters extends Filter
5127
5154
  * @deprecated removes the horizontal padding from the data collection
5128
5155
  */
5129
5156
  tmpFullWidth?: boolean;
5157
+ /** Enable CSV export action in the collection actions menu.
5158
+ * - `true` enables export with default settings
5159
+ * - An object allows customizing the export filename
5160
+ * - `false` or `undefined` disables the export action (default)
5161
+ */
5162
+ csvExport?: boolean | {
5163
+ filename?: string;
5164
+ };
5130
5165
  };
5131
5166
 
5132
5167
  export declare const OneDateNavigator: typeof _OneDateNavigator;
@@ -5413,6 +5448,12 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
5413
5448
  * @returns Paginated response with records and pagination info
5414
5449
  */
5415
5450
  fetchData: (options: Options) => FetchReturn | Promise<FetchReturn> | Observable<PromiseState<FetchReturn>>;
5451
+ /**
5452
+ * Optional standalone fetch for CSV export that does NOT affect UI state.
5453
+ * When provided, the export action uses this instead of fetchData to avoid
5454
+ * side-effects on reactive adapters (e.g. Apollo watchQuery).
5455
+ */
5456
+ exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
5416
5457
  };
5417
5458
 
5418
5459
  export declare type PaginatedFetchOptions<Filters extends FiltersDefinition> = BaseFetchOptions<Filters> & {
@@ -6824,6 +6865,18 @@ declare interface UseDataReturn<R extends RecordType> {
6824
6865
  mergedFilters: FiltersState<FiltersDefinition>;
6825
6866
  }
6826
6867
 
6868
+ export declare function useExportAction<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>>({ source, currentVisualization, filename, enabled, }: UseExportActionProps<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>): SecondaryActionItem;
6869
+
6870
+ declare interface UseExportActionProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> {
6871
+ source: DataCollectionSource<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>;
6872
+ currentVisualization: Visualization<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping> | undefined;
6873
+ filename?: string;
6874
+ /** When false the hook returns a disabled no-op export action for
6875
+ * collections that don't use export. Due to the Rules of Hooks, internal
6876
+ * state, callbacks, and i18n are still initialized. Defaults to `true`. */
6877
+ enabled?: boolean;
6878
+ }
6879
+
6827
6880
  export declare const useInfiniteScrollPagination: (paginationInfo: PaginationInfo | null, isLoading: boolean, isLoadingMore: boolean, loadMore: () => void) => {
6828
6881
  loadingIndicatorRef: RefObject<HTMLTableCellElement>;
6829
6882
  };
@@ -7235,6 +7288,11 @@ declare module "gridstack" {
7235
7288
  }
7236
7289
 
7237
7290
 
7291
+ declare namespace Calendar {
7292
+ var displayName: string;
7293
+ }
7294
+
7295
+
7238
7296
  declare module "@tiptap/core" {
7239
7297
  interface Commands<ReturnType> {
7240
7298
  aiBlock: {
@@ -7282,8 +7340,3 @@ declare module "@tiptap/core" {
7282
7340
  };
7283
7341
  }
7284
7342
  }
7285
-
7286
-
7287
- declare namespace Calendar {
7288
- var displayName: string;
7289
- }
@@ -1,10 +1,10 @@
1
- import { cI as Sf, a7 as _r, b7 as Nf, a6 as If, cJ as Af, cK as _f, a1 as Ef, cL as Eo, cM as er, cN as Tf, cO as Ls, cP as Ui, cQ as Er, K as k, R as Z, L as it, u as ge, cR as Df, cS as Rf, cT as Lf, cU as Of, cV as Mf, ak as Oe, cW as Ff, a0 as jt, cX as Pf, b8 as zf, _ as H, bg as $f, bh as Bf, U as Ht, cY as ka, bt as jf, bi as Hf, M as B, cZ as Os, Z as E, c_ as st, c$ as Vf, d0 as Wf, bo as Uf, ay as Gf, bm as Kf, aH as Vt, d1 as Ca, d2 as qf, d3 as Tt, a_ as Sn, aA as Ms, aB as un, k as Sa, a4 as gt, d4 as Na, d5 as Yf, d6 as To, d7 as rn, d8 as Fs, d9 as Hn, da as Tr, db as Jf, dc as Ia, dd as Xf, de as Ps, df as Nn, dg as Le, dh as Zf, di as Qf, dj as Ct, dk as yi, dl as eh, dm as kn, dn as qt, dp as th, P as de, dq as nh, dr as rh, ds as ih, dt as sh, du as oh, W as Je, Y as ue, dv as zs, aW as Vn, cF as Qr, dw as Aa, dx as $s, dy as lh, dz as ah, dA as ch, dB as dh, dC as uh, dD as fh, dE as hh, dF as ph, dG as mh, bb as gh, dH as bh, b9 as wh, dI as xh, dJ as yh, dK as vh, dL as kh, dM as Ch, dN as Sh, dO as Nh, dP as Ih, c3 as rt, dQ as _a, dR as Ah, a3 as V, N as Ea, dS as Ta, dT as _h, b2 as Bs, a8 as Do, a9 as Ro, as as Eh, dU as Th, dV as Dh, am as fn, dW as Rh, dX as Lh, dY as Oh, dZ as Mh, aR as ei, d_ as Da, d$ as Ra, c5 as La, e0 as Fh, aK as Dr, e1 as Ph, e2 as zh, e3 as $h, e4 as Bh, e5 as jh, ai as Hh, aj as Vh, al as Wh, e6 as Oa, e7 as Uh, e8 as Gh, ax as Rr, e9 as Jt, ea as Kh, eb as Ma, ec as js, ed as qh, ee as Yh, ef as Fa, eg as Gi, c0 as Ki, eh as Pa, ei as Jh, ej as Xh, cE as ti, bE as za, cH as Zh, cG as Qh, ek as ep, bF as sn, el as tp, aO as tr, em as Lo, en as qi, eo as np, bn as rp, ep as ip, b_ as $a, c4 as sp, cg as Ba, ce as Hs, ae as op, ch as lp, c1 as Vs, av as ja, a as ap, c as cp, bW as dp, eq as Ha, er as up, es as fp, F as hp, et as Va, eu as Wa, ev as pp, bx as Oo, ew as mp, ex as gp, bY as bp, bv as Ua, by as wp, ey as xp, ez as yp, eA as vp, eB as kp, bZ as Ga, $ as Cp, Q as ot, bK as Ws, eC as Us, eD as Gs, eE as Ka, bL as Ks, eF as qa, eG as Sp, eH as Np, eI as Ip, eJ as Ap, eK as _p, bM as Ep, eL as Tp, b$ as Dp, eM as Rp, eN as Mo, eO as Fo, eP as Po, b0 as Lp, eQ as Op, eR as Mp, bd as Fp, eS as Ya, bD as Pp, eT as zp, eU as $p } from "./F0AiChat-CYLHTsL4.js";
2
- import { eY as fA, eX as hA, eV as pA, aE as mA, eW as gA, aJ as bA, f4 as wA, f5 as xA, f7 as yA, fb as vA, fc as kA, aL as CA, e_ as SA, eZ as NA, f6 as IA, f3 as AA, f0 as _A, f2 as EA, e$ as TA, c2 as DA, f1 as RA, f8 as LA, f9 as OA, fa as MA } from "./F0AiChat-CYLHTsL4.js";
1
+ import { cI as Sf, a7 as _r, b7 as Nf, a6 as If, cJ as Af, cK as _f, a1 as Ef, cL as Eo, cM as er, cN as Tf, cO as Ls, cP as Ui, cQ as Er, K as k, R as Z, L as it, u as ge, cR as Df, cS as Rf, cT as Lf, cU as Of, cV as Mf, ak as Oe, cW as Ff, a0 as jt, cX as Pf, b8 as zf, _ as H, be as $f, bf as Bf, U as Ht, cY as ka, bn as jf, bh as Hf, M as B, cZ as Os, Z as E, c_ as st, c$ as Vf, d0 as Wf, bi as Uf, ay as Gf, bk as Kf, aH as Vt, d1 as Ca, d2 as qf, d3 as Tt, a_ as Sn, aA as Ms, aB as un, k as Sa, a4 as gt, d4 as Na, d5 as Yf, d6 as To, d7 as rn, d8 as Fs, d9 as Hn, da as Tr, db as Jf, dc as Ia, dd as Xf, de as Ps, df as Nn, dg as Le, dh as Zf, di as Qf, dj as Ct, dk as yi, dl as eh, dm as kn, dn as qt, dp as th, P as de, dq as nh, dr as rh, ds as ih, dt as sh, du as oh, W as Je, Y as ue, dv as zs, aW as Vn, cF as Qr, dw as Aa, dx as $s, dy as lh, dz as ah, dA as ch, dB as dh, dC as uh, dD as fh, dE as hh, dF as ph, dG as mh, bb as gh, dH as bh, b9 as wh, dI as xh, dJ as yh, dK as vh, dL as kh, dM as Ch, dN as Sh, dO as Nh, dP as Ih, c3 as rt, dQ as _a, dR as Ah, a3 as V, N as Ea, dS as Ta, dT as _h, b2 as Bs, a8 as Do, a9 as Ro, as as Eh, dU as Th, dV as Dh, am as fn, dW as Rh, dX as Lh, dY as Oh, dZ as Mh, aR as ei, d_ as Da, d$ as Ra, c5 as La, e0 as Fh, aK as Dr, e1 as Ph, e2 as zh, e3 as $h, e4 as Bh, e5 as jh, ai as Hh, aj as Vh, al as Wh, e6 as Oa, e7 as Uh, e8 as Gh, ax as Rr, e9 as Jt, ea as Kh, eb as Ma, ec as js, ed as qh, ee as Yh, ef as Fa, eg as Gi, c0 as Ki, eh as Pa, ei as Jh, ej as Xh, cE as ti, bE as za, cH as Zh, cG as Qh, ek as ep, bF as sn, el as tp, aO as tr, em as Lo, en as qi, eo as np, bs as rp, ep as ip, b_ as $a, c4 as sp, cg as Ba, ce as Hs, ae as op, ch as lp, c1 as Vs, av as ja, a as ap, c as cp, bW as dp, eq as Ha, er as up, es as fp, F as hp, et as Va, eu as Wa, ev as pp, bx as Oo, ew as mp, ex as gp, bY as bp, bv as Ua, by as wp, ey as xp, ez as yp, eA as vp, eB as kp, bZ as Ga, $ as Cp, Q as ot, bK as Ws, eC as Us, eD as Gs, eE as Ka, bL as Ks, eF as qa, eG as Sp, eH as Np, eI as Ip, eJ as Ap, eK as _p, bM as Ep, eL as Tp, b$ as Dp, eM as Rp, eN as Mo, eO as Fo, eP as Po, b0 as Lp, eQ as Op, eR as Mp, bd as Fp, eS as Ya, bD as Pp, eT as zp, eU as $p } from "./F0AiChat-DRUcCTJI.js";
2
+ import { eY as fA, eX as hA, eV as pA, aE as mA, eW as gA, aJ as bA, f4 as wA, f5 as xA, f7 as yA, fe as vA, ff as kA, aL as CA, e_ as SA, eZ as NA, f6 as IA, f9 as AA, fa as _A, f3 as EA, f0 as TA, f2 as DA, e$ as RA, c2 as LA, f1 as OA, fb as MA, fc as FA, f8 as PA, fd as zA } from "./F0AiChat-DRUcCTJI.js";
3
3
  import { jsx as c, jsxs as g, Fragment as re } from "react/jsx-runtime";
4
4
  import * as pe from "react";
5
5
  import z, { PureComponent as Bp, forwardRef as F, useRef as q, useTransition as jp, useState as L, useLayoutEffect as Ja, useContext as qs, createContext as Ys, useCallback as X, useMemo as te, useEffect as U, useId as Xa, useImperativeHandle as Za, memo as Qa, Fragment as Hp, isValidElement as Vp, cloneElement as ec, Children as tc } from "react";
6
- import { f as Xt, ac as In, e as nr, ad as Wp, L as vi, ae as Up, A as Gp, i as rr, k as Kp, G as qp, g as zo, af as Yp, j as $o, n as Jp, ag as nc, ah as rc, ai as Xp, C as Zp, aa as Qp, aj as He, ak as lt, al as Te, am as em, an as gr, ao as Ge, ap as ic, aq as Fe, ar as Js, as as Be, at as Bo, au as tm, av as sc, aw as Ae, ax as ze, ay as An, az as Lr, aA as oc, aB as nm, aC as Wt, aD as rm, aE as im, aF as sm, aG as Wn, aH as Un, aI as Xs, aJ as om, aK as lc, aL as ac, aM as cc, aN as lm, aO as dc, aP as uc, aQ as fc, aR as hc, aS as pc, aT as mc, a3 as jo, aU as am, aV as Ho, aW as cm, aX as dm, aY as um, w as fm, x as hm, z as pm, J as mm, K as gm, s as bm, aZ as gc, a_ as wm, a$ as xm, b0 as ym, b1 as bc, a7 as Yi, b2 as vm, b3 as km, b4 as Cm, b5 as Sm, b6 as Nm, b7 as Im, b8 as Am, $ as _m, b9 as Em, ba as Tm, bb as Dm, bc as Rm, ab as wc, M as Lm, N as Om, P as Mm, Q as Fm, V as Pm, O as zm, bd as Vo, be as $m, bf as Bm, l as jm } from "./index-Djg3dqg4.js";
7
- import { a5 as PA, W as zA, a0 as $A, R as BA, _ as jA, bk as HA, bj as VA, bh as WA, bi as UA, a4 as GA, T as KA, Z as qA, U as YA, bg as JA, a8 as XA, a9 as ZA } from "./index-Djg3dqg4.js";
6
+ import { f as Xt, ac as In, e as nr, ad as Wp, L as vi, ae as Up, A as Gp, i as rr, k as Kp, G as qp, g as zo, af as Yp, j as $o, n as Jp, ag as nc, ah as rc, ai as Xp, C as Zp, aa as Qp, aj as He, ak as lt, al as Te, am as em, an as gr, ao as Ge, ap as ic, aq as Fe, ar as Js, as as Be, at as Bo, au as tm, av as sc, aw as Ae, ax as ze, ay as An, az as Lr, aA as oc, aB as nm, aC as Wt, aD as rm, aE as im, aF as sm, aG as Wn, aH as Un, aI as Xs, aJ as om, aK as lc, aL as ac, aM as cc, aN as lm, aO as dc, aP as uc, aQ as fc, aR as hc, aS as pc, aT as mc, a3 as jo, aU as am, aV as Ho, aW as cm, aX as dm, aY as um, w as fm, x as hm, z as pm, J as mm, K as gm, s as bm, aZ as gc, a_ as wm, a$ as xm, b0 as ym, b1 as bc, a7 as Yi, b2 as vm, b3 as km, b4 as Cm, b5 as Sm, b6 as Nm, b7 as Im, b8 as Am, $ as _m, b9 as Em, ba as Tm, bb as Dm, bc as Rm, ab as wc, M as Lm, N as Om, P as Mm, Q as Fm, V as Pm, O as zm, bd as Vo, be as $m, bf as Bm, l as jm } from "./index-CCcCCEfU.js";
7
+ import { a5 as BA, W as jA, a0 as HA, R as VA, _ as WA, bk as UA, bj as GA, bh as KA, bi as qA, a4 as YA, T as JA, Z as XA, U as ZA, bg as QA, a8 as e_, a9 as t_ } from "./index-CCcCCEfU.js";
8
8
  import './experimental.css';const Hm = Sf("Search", [
9
9
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
10
10
  ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
@@ -22364,7 +22364,7 @@ export {
22364
22364
  pp as Badge,
22365
22365
  HI as BarChartWidget,
22366
22366
  Vx as BaseActivityItemList,
22367
- PA as BaseBanner,
22367
+ BA as BaseBanner,
22368
22368
  Yx as BaseCelebration,
22369
22369
  sy as BaseCommunityPost,
22370
22370
  fA as BaseTabs,
@@ -22372,7 +22372,7 @@ export {
22372
22372
  xg as Breadcrumbs,
22373
22373
  fs as CalendarEvent,
22374
22374
  qI as CalendarEventList,
22375
- zA as CardSelectableContainer,
22375
+ jA as CardSelectableContainer,
22376
22376
  Zp as Carousel,
22377
22377
  tA as CategoryBarSection,
22378
22378
  yI as Celebration,
@@ -22387,23 +22387,23 @@ export {
22387
22387
  II as DaytimePage,
22388
22388
  Iy as DetailsItem,
22389
22389
  CI as DetailsItemsList,
22390
- $A as Dialog,
22390
+ HA as Dialog,
22391
22391
  gt as Dropdown,
22392
22392
  wI as EntitySelect,
22393
- BA as F0ActionBar,
22393
+ VA as F0ActionBar,
22394
22394
  ud as F0AiBanner,
22395
22395
  za as F0AvatarModule,
22396
22396
  mI as F0Callout,
22397
- jA as F0TableOfContent,
22397
+ WA as F0TableOfContent,
22398
22398
  bI as F0VersionHistory,
22399
22399
  pA as F1SearchBox,
22400
- HA as FILE_TYPES,
22401
- VA as FileItem,
22400
+ UA as FILE_TYPES,
22401
+ GA as FileItem,
22402
22402
  vI as HighlightBanner,
22403
22403
  JI as IndicatorsList,
22404
22404
  mA as Input,
22405
- WA as Item,
22406
- UA as ItemSectionHeader,
22405
+ KA as Item,
22406
+ qA as ItemSectionHeader,
22407
22407
  VI as LineChartWidget,
22408
22408
  DI as Menu,
22409
22409
  gA as MobileDropdown,
@@ -22425,12 +22425,12 @@ export {
22425
22425
  WI as PieChartWidget,
22426
22426
  HS as PrivateBox,
22427
22427
  gI as RadarChart,
22428
- GA as ResourceHeader,
22428
+ YA as ResourceHeader,
22429
22429
  cd as RichTextDisplay,
22430
- KA as RichTextEditor,
22430
+ JA as RichTextEditor,
22431
22431
  cA as ScrollArea,
22432
22432
  RI as SearchBar,
22433
- qA as SectionHeader,
22433
+ XA as SectionHeader,
22434
22434
  Dr as Select,
22435
22435
  kp as Shortcut,
22436
22436
  LI as Sidebar,
@@ -22444,7 +22444,7 @@ export {
22444
22444
  SA as Tabs,
22445
22445
  NA as TabsSkeleton,
22446
22446
  rA as TasksList,
22447
- YA as Textarea,
22447
+ ZA as Textarea,
22448
22448
  Fd as ToggleGroup,
22449
22449
  Pd as ToggleGroupItem,
22450
22450
  Tt as Tooltip,
@@ -22463,18 +22463,21 @@ export {
22463
22463
  Rs as WidgetSimpleListItem,
22464
22464
  sA as WidgetStrip,
22465
22465
  rx as _RadarChart,
22466
- JA as actionBarStatuses,
22467
- AA as getGranularityDefinition,
22468
- _A as getGranularityDefinitions,
22469
- EA as getGranularitySimpleDefinition,
22470
- TA as granularityDefinitions,
22471
- DA as modules,
22472
- XA as predefinedPresets,
22473
- RA as rangeSeparator,
22474
- ZA as selectSizes,
22466
+ QA as actionBarStatuses,
22467
+ AA as downloadAsCSV,
22468
+ _A as generateCSVContent,
22469
+ EA as getGranularityDefinition,
22470
+ TA as getGranularityDefinitions,
22471
+ DA as getGranularitySimpleDefinition,
22472
+ RA as granularityDefinitions,
22473
+ LA as modules,
22474
+ e_ as predefinedPresets,
22475
+ OA as rangeSeparator,
22476
+ t_ as selectSizes,
22475
22477
  ni as useAiPromotionChat,
22476
- LA as useDataCollectionData,
22477
- OA as useDataCollectionSource,
22478
- MA as useInfiniteScrollPagination,
22478
+ MA as useDataCollectionData,
22479
+ FA as useDataCollectionSource,
22480
+ PA as useExportAction,
22481
+ zA as useInfiniteScrollPagination,
22479
22482
  hn as useSidebar
22480
22483
  };
package/dist/f0.d.ts CHANGED
@@ -1003,6 +1003,12 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
1003
1003
  * @returns Array of records, promise of records, or observable of records
1004
1004
  */
1005
1005
  fetchData: (options: Options) => FetchReturn | Promise<FetchReturn> | Observable<PromiseState<FetchReturn>>;
1006
+ /**
1007
+ * Optional standalone fetch for CSV export that does NOT affect UI state.
1008
+ * When provided, the export action uses this instead of fetchData to avoid
1009
+ * side-effects on reactive adapters (e.g. Apollo watchQuery).
1010
+ */
1011
+ exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
1006
1012
  };
1007
1013
 
1008
1014
  /**
@@ -3076,6 +3082,10 @@ export declare const defaultTranslations: {
3076
3082
  readonly sum: "sum";
3077
3083
  };
3078
3084
  };
3085
+ readonly export: {
3086
+ readonly label: "Export to CSV";
3087
+ readonly description: "Download all data as a CSV file";
3088
+ };
3079
3089
  };
3080
3090
  readonly shortcut: "Shortcut";
3081
3091
  readonly date: {
@@ -3292,6 +3302,7 @@ export declare const defaultTranslations: {
3292
3302
  readonly surveyFormBuilder: {
3293
3303
  readonly actions: {
3294
3304
  readonly actions: "Actions";
3305
+ readonly addQuestion: "Add question";
3295
3306
  readonly duplicateQuestion: "Duplicate question";
3296
3307
  readonly deleteQuestion: "Delete question";
3297
3308
  readonly duplicateSection: "Duplicate section";
@@ -3344,6 +3355,9 @@ export declare const defaultTranslations: {
3344
3355
  readonly questionDescriptionPlaceholder: "Describe the question in a few words";
3345
3356
  readonly sectionDescriptionPlaceholder: "Describe the section in a few words";
3346
3357
  readonly required: "Required";
3358
+ readonly allowMultiSelection: "Allow multi-selection";
3359
+ readonly singleSelection: "Single selection";
3360
+ readonly multiSelection: "Multi selection";
3347
3361
  readonly questionType: "Question type";
3348
3362
  readonly questionOptions: "Question options";
3349
3363
  readonly actions: "Actions";
@@ -3588,9 +3602,17 @@ declare type DropdownItemSeparator = {
3588
3602
  type: "separator";
3589
3603
  };
3590
3604
 
3605
+ declare type DropdownMultiQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
3606
+ type: "dropdown-multi";
3607
+ datasetKey: string;
3608
+ value?: string[] | null;
3609
+ showSearchBox?: boolean;
3610
+ searchBoxPlaceholder?: string;
3611
+ };
3612
+
3591
3613
  declare type DropdownSingleQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
3592
3614
  type: "dropdown-single";
3593
- options: SelectQuestionOption[];
3615
+ datasetKey: string;
3594
3616
  value?: string | null;
3595
3617
  showSearchBox?: boolean;
3596
3618
  searchBoxPlaceholder?: string;
@@ -6218,6 +6240,8 @@ declare interface F0SelectConfigBase {
6218
6240
  showSearchBox?: boolean;
6219
6241
  /** Placeholder for the search box */
6220
6242
  searchBoxPlaceholder?: string;
6243
+ /** Icon displayed on the left side of the select input */
6244
+ icon?: IconType;
6221
6245
  }
6222
6246
 
6223
6247
  /**
@@ -8325,6 +8349,7 @@ declare type NumericWithFormatter = {
8325
8349
  export declare type OnAddNewElementParams = {
8326
8350
  type: ElementType;
8327
8351
  afterId?: string;
8352
+ datasetKey?: string;
8328
8353
  };
8329
8354
 
8330
8355
  declare type OnBulkActionCallback<Record extends RecordType, Filters extends FiltersDefinition> = (...args: [
@@ -8353,7 +8378,13 @@ declare type OnChangeQuestionParams = BaseQuestionOnChangeParams & ({
8353
8378
  } | {
8354
8379
  type: "dropdown-single";
8355
8380
  value?: string | null;
8356
- options?: SelectQuestionOption[];
8381
+ datasetKey?: string;
8382
+ showSearchBox?: boolean;
8383
+ searchBoxPlaceholder?: string;
8384
+ } | {
8385
+ type: "dropdown-multi";
8386
+ value?: string[] | null;
8387
+ datasetKey?: string;
8357
8388
  showSearchBox?: boolean;
8358
8389
  searchBoxPlaceholder?: string;
8359
8390
  } | {
@@ -8487,6 +8518,12 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
8487
8518
  * @returns Paginated response with records and pagination info
8488
8519
  */
8489
8520
  fetchData: (options: Options) => FetchReturn | Promise<FetchReturn> | Observable<PromiseState<FetchReturn>>;
8521
+ /**
8522
+ * Optional standalone fetch for CSV export that does NOT affect UI state.
8523
+ * When provided, the export action uses this instead of fetchData to avoid
8524
+ * side-effects on reactive adapters (e.g. Apollo watchQuery).
8525
+ */
8526
+ exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
8490
8527
  };
8491
8528
 
8492
8529
  export declare type PaginatedFetchOptions<Filters extends FiltersDefinition> = BaseFetchOptions<Filters> & {
@@ -8871,6 +8908,8 @@ export declare type QuestionElement = Omit<TextQuestionProps, QuestionPropsToOmi
8871
8908
  type: "select" | "multi-select";
8872
8909
  }, QuestionPropsToOmit> | Omit<DropdownSingleQuestionProps & {
8873
8910
  type: "dropdown-single";
8911
+ }, QuestionPropsToOmit> | Omit<DropdownMultiQuestionProps & {
8912
+ type: "dropdown-multi";
8874
8913
  }, QuestionPropsToOmit> | Omit<NumericQuestionProps & {
8875
8914
  type: "numeric";
8876
8915
  }, QuestionPropsToOmit> | Omit<LinkQuestionProps & {
@@ -8885,7 +8924,7 @@ export declare type QuestionElement = Omit<TextQuestionProps, QuestionPropsToOmi
8885
8924
 
8886
8925
  declare type QuestionPropsToOmit = "onAction" | "onChange" | "onAddNewElement";
8887
8926
 
8888
- export declare type QuestionType = "rating" | "select" | "multi-select" | "dropdown-single" | "text" | "longText" | "numeric" | "link" | "date" | "file" | "checkbox";
8927
+ export declare type QuestionType = "rating" | "select" | "multi-select" | "dropdown-single" | "dropdown-multi" | "text" | "longText" | "numeric" | "link" | "date" | "file" | "checkbox";
8889
8928
 
8890
8929
  export declare interface RadarChartConfig {
8891
8930
  type: "radar";
@@ -9405,7 +9444,7 @@ declare type SummaryKey<Definition extends SummariesDefinition> = Definition ext
9405
9444
 
9406
9445
  declare type SummaryType = "sum";
9407
9446
 
9408
- export declare function SurveyAnsweringForm({ elements, onSubmit: onSubmitProp, mode, title, description, resourceHeader, isOpen, onClose, position: positionProp, module, allowToChangeFullscreen, defaultValues, errorTriggerMode, loading, labels, preview, useUpload, }: SurveyAnsweringFormProps): JSX_2.Element;
9447
+ export declare function SurveyAnsweringForm({ elements, onSubmit: onSubmitProp, mode, title, description, resourceHeader, isOpen, onClose, position: positionProp, module, allowToChangeFullscreen, defaultValues, errorTriggerMode, loading, labels, preview, useUpload, datasets, }: SurveyAnsweringFormProps): JSX_2.Element;
9409
9448
 
9410
9449
  declare interface SurveyAnsweringFormBaseProps {
9411
9450
  elements: SurveyFormBuilderElement[];
@@ -9422,6 +9461,7 @@ declare interface SurveyAnsweringFormBaseProps {
9422
9461
  errorTriggerMode?: F0FormErrorTriggerMode;
9423
9462
  loading?: boolean;
9424
9463
  useUpload?: UseFileUpload;
9464
+ datasets?: SurveyDatasets;
9425
9465
  labels?: {
9426
9466
  empty?: {
9427
9467
  title?: string;
@@ -9468,6 +9508,9 @@ export declare type SurveyAnswerValue = {
9468
9508
  } | {
9469
9509
  type: "dropdown-single";
9470
9510
  value: string | null;
9511
+ } | {
9512
+ type: "dropdown-multi";
9513
+ value: string[] | null;
9471
9514
  } | {
9472
9515
  type: "numeric";
9473
9516
  value: number | null;
@@ -9485,7 +9528,17 @@ export declare type SurveyAnswerValue = {
9485
9528
  value: boolean | null;
9486
9529
  };
9487
9530
 
9488
- export declare const SurveyFormBuilder: WithDataTestIdReturnType_7<({ elements: elementsProp, disabled, onChange, disallowOptionalQuestions, allowedQuestionTypes, applyingChanges, useUpload, }: SurveyFormBuilderProps) => JSX_2.Element>;
9531
+ export declare type SurveyDataset = {
9532
+ title: string;
9533
+ icon?: IconType;
9534
+ placeholder?: string;
9535
+ dataSource: DataSourceDefinition;
9536
+ mapOptions: (item: RecordType) => F0SelectItemProps<string, RecordType>;
9537
+ };
9538
+
9539
+ export declare type SurveyDatasets = Record<string, SurveyDataset>;
9540
+
9541
+ export declare const SurveyFormBuilder: WithDataTestIdReturnType_7<({ elements: elementsProp, disabled, onChange, disallowOptionalQuestions, allowedQuestionTypes, applyingChanges, useUpload, datasets, }: SurveyFormBuilderProps) => JSX_2.Element>;
9489
9542
 
9490
9543
  export declare type SurveyFormBuilderCallbacks = {
9491
9544
  onQuestionChange?: (params: OnChangeQuestionParams) => void;
@@ -9510,6 +9563,7 @@ export declare type SurveyFormBuilderProps = {
9510
9563
  allowedQuestionTypes?: QuestionType[];
9511
9564
  applyingChanges?: boolean;
9512
9565
  useUpload?: UseFileUpload;
9566
+ datasets?: SurveyDatasets;
9513
9567
  };
9514
9568
 
9515
9569
  export declare type SurveyFormSubmitResult = {
@@ -10844,6 +10898,11 @@ declare module "gridstack" {
10844
10898
  }
10845
10899
 
10846
10900
 
10901
+ declare namespace Calendar {
10902
+ var displayName: string;
10903
+ }
10904
+
10905
+
10847
10906
  declare module "@tiptap/core" {
10848
10907
  interface Commands<ReturnType> {
10849
10908
  aiBlock: {
@@ -10891,8 +10950,3 @@ declare module "@tiptap/core" {
10891
10950
  };
10892
10951
  }
10893
10952
  }
10894
-
10895
-
10896
- declare namespace Calendar {
10897
- var displayName: string;
10898
- }