@factorialco/f0-react 4.26.0 → 4.27.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.
@@ -1734,6 +1734,18 @@ declare type CardImageSize = (typeof cardImageSizes)[number];
1734
1734
 
1735
1735
  declare const cardImageSizes: readonly ["xs", "sm", "md", "lg", "xl"];
1736
1736
 
1737
+ declare type CardMetadata = {
1738
+ /** Leading icon. Optional — when omitted the row renders just the value. */
1739
+ icon?: IconType;
1740
+ property: Exclude<CardMetadataProperty, {
1741
+ type: "file";
1742
+ }>;
1743
+ } | {
1744
+ property: Extract<CardMetadataProperty, {
1745
+ type: "file";
1746
+ }>;
1747
+ };
1748
+
1737
1749
  /**
1738
1750
  * Card metadata property renderers.
1739
1751
  * Each metadata item consists of an icon and a property with its data.
@@ -6802,10 +6814,7 @@ declare type KanbanVisualizationOptions<Record extends RecordType, _Filters exte
6802
6814
  title?: (record: Record) => string;
6803
6815
  description?: (record: Record) => string;
6804
6816
  avatar?: (record: Record) => CardAvatarVariant;
6805
- metadata?: (record: Record) => ReadonlyArray<{
6806
- icon: IconType;
6807
- property: CardMetadataProperty;
6808
- }>;
6817
+ metadata?: (record: Record) => ReadonlyArray<CardMetadata>;
6809
6818
  onMove?: KanbanOnMove<Record>;
6810
6819
  onCreate?: KanbanOnCreate;
6811
6820
  };
@@ -2,8 +2,8 @@ import { h as Va, B as Ga, i as Ka, j as qa, k as wn, l as lt, m as tt, n as Ya,
2
2
  import { cD as vm, cC as ym, cP as wm, cz as Nm, cA as Cm, cs as km, ct as Im, ct as Sm, cu as Fm, cS as Tm, cB as Am, cL as Em, cM as Rm, cQ as Dm, cv as Pm, cF as Lm, cE as Om, cw as _m, cx as zm, cN as $m, cT as Bm, cO as Mm, cR as jm, cK as Wm, cH as Hm, cJ as Um, cG as Vm, cy as Gm, cI as Km } from "./F0CanvasPanel-CYITfwlc.js";
3
3
  import { jsx as t, jsxs as d, Fragment as fe } from "react/jsx-runtime";
4
4
  import Te, { forwardRef as de, useRef as z, useTransition as Qi, useState as R, useLayoutEffect as Je, useId as Qt, useContext as Le, createContext as Ie, useEffect as K, useCallback as U, useMemo as J, Fragment as qe, isValidElement as Ji, cloneElement as jr, memo as Wr, Children as Hr } from "react";
5
- import { C as Xi, P as Zi, a as it, M as eo, p as to, b as no, R as Fn, c as Ur, u as ro, d as ao, e as so, f as io, g as oo, O as Vr, h as Gr, S as lo, A as co, B as uo, L as fo, i as mo, V as ho, j as po, k as go, l as bo } from "./useDataCollectionSource-B2Q8eTpY.js";
6
- import { r as Ym, s as Qm, o as Jm, H as Xm, t as Zm, z as eh, a8 as th, G as nh, q as rh, aa as ah, a9 as sh, Q as ih, ad as oh, F as lh, Y as ch, U as dh, J as uh, af as fh, K as mh, Z as hh, _ as ph, v as gh, ab as bh, ac as xh, N as vh, $ as yh, a5 as wh, a7 as Nh, w as Ch, y as kh, D as Ih, W as Sh, ae as Fh, X as Th, T as Ah, ag as Eh, x as Rh, E as Dh, m as Ph, n as Lh, a1 as Oh, a2 as _h, a6 as zh, I as $h, a3 as Bh, a0 as Mh, a4 as jh } from "./useDataCollectionSource-B2Q8eTpY.js";
5
+ import { C as Xi, P as Zi, a as it, M as eo, p as to, b as no, R as Fn, c as Ur, u as ro, d as ao, e as so, f as io, g as oo, O as Vr, h as Gr, S as lo, A as co, B as uo, L as fo, i as mo, V as ho, j as po, k as go, l as bo } from "./useDataCollectionSource-C4LIvKAw.js";
6
+ import { r as Ym, s as Qm, o as Jm, H as Xm, t as Zm, z as eh, a8 as th, G as nh, q as rh, aa as ah, a9 as sh, Q as ih, ad as oh, F as lh, Y as ch, U as dh, J as uh, af as fh, K as mh, Z as hh, _ as ph, v as gh, ab as bh, ac as xh, N as vh, $ as yh, a5 as wh, a7 as Nh, w as Ch, y as kh, D as Ih, W as Sh, ae as Fh, X as Th, T as Ah, ag as Eh, x as Rh, E as Dh, m as Ph, n as Lh, a1 as Oh, a2 as _h, a6 as zh, I as $h, a3 as Bh, a0 as Mh, a4 as jh } from "./useDataCollectionSource-C4LIvKAw.js";
7
7
  const xo = Va("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
@@ -12779,10 +12779,7 @@ declare type KanbanVisualizationOptions<Record extends RecordType, _Filters exte
12779
12779
  title?: (record: Record) => string;
12780
12780
  description?: (record: Record) => string;
12781
12781
  avatar?: (record: Record) => CardAvatarVariant;
12782
- metadata?: (record: Record) => ReadonlyArray<{
12783
- icon: IconType;
12784
- property: CardMetadataProperty;
12785
- }>;
12782
+ metadata?: (record: Record) => ReadonlyArray<CardMetadata>;
12786
12783
  onMove?: KanbanOnMove<Record>;
12787
12784
  onCreate?: KanbanOnCreate;
12788
12785
  };
package/dist/f0.js CHANGED
@@ -6,8 +6,8 @@ import React__default, { forwardRef, useRef, useImperativeHandle, Children, crea
6
6
  import { D as AIButton, E as ForwardRef$1, G as animate, H as ForwardRef$f, I as ForwardRef$j, J as ForwardRef$k, K as ForwardRef$o, L as ForwardRef$t, M as ForwardRef$x, N as ForwardRef$z, O as F0Box, P as ForwardRef$J, Q as ForwardRef$K, R as ForwardRef$L, S as ForwardRef$M, U as ForwardRef$N, F as FormCardValueFormatterProvider } from "./F0AiProcessingOverlay--OAyX7JL.js";
7
7
  import { A as ta, C as ea, t as ia, s as aa, v as na, y as la, l as ra, i as sa, q as oa, z as ca, B as da, p as ua, r as ha, j as ma, e as pa, g as ba, k as Za, T as ya, w as Ma, h as Na, a as ga, n as Wa, m as Ta, o as Ga, b as fa, f as va, x as La, c as Ya, d as Xa, u as Sa } from "./F0AiProcessingOverlay--OAyX7JL.js";
8
8
  import { createPortal, unstable_batchedUpdates } from "react-dom";
9
- import { C as Carousel, F as F0SegmentedControl, ah as isFieldRequired, ai as evaluateRenderIf, aj as buildDynamicSchema, ak as renderFieldInput, al as useF0Form, am as F0Form, G as F0ActionBar, an as F0FormSection, ao as nanoid, ap as dequal, Y as F0TableOfContent, a8 as Dialog$1, aq as FormMessage, Q as F0NumberInput, ar as EmojiPicker, as as data, c as ReorderItem, R as ReorderGroup, u as useDragControls, W as ResourceHeader, O as OneEmptyState, at as UpsellRequestResponseDialog, au as Label$1, av as UpsellingButton, o as BaseBanner, d as useDataCollectionSource, $ as OneDataCollection, aw as extractDisplayValue, ax as navigationFilterTypes, ay as NavigationFilters, az as DialogDescription, aA as PrivacyModeProvider, M as MotionConfig } from "./useDataCollectionSource-B2Q8eTpY.js";
10
- import { r as Va, s as Ia, H as Ra, t as wa, z as za, aR as Da, aQ as Ca, aM as ka, aC as Oa, aB as Fa, aD as ja, aE as Ea, aa as Ua, a9 as Ja, ad as Pa, U as Ka, J as Ha, af as Aa, K as Qa, v as Ba, aS as $a, ab as qa, ac as tn, N as en, w as an, P as nn, y as ln, D as rn, ae as sn, T as on, ag as dn, x as un, E as hn, aU as mn, m as pn, n as bn, aL as Zn, aH as yn, aG as Mn, aT as Nn, a6 as gn, aJ as Wn, aK as Tn, I as Gn, aV as fn, aW as vn, e as Ln, aN as Yn, aO as Xn, aP as Sn, aI as xn, f as Vn, h as In, aF as Rn, aX as wn } from "./useDataCollectionSource-B2Q8eTpY.js";
9
+ import { C as Carousel, F as F0SegmentedControl, ah as isFieldRequired, ai as evaluateRenderIf, aj as buildDynamicSchema, ak as renderFieldInput, al as useF0Form, am as F0Form, G as F0ActionBar, an as F0FormSection, ao as nanoid, ap as dequal, Y as F0TableOfContent, a8 as Dialog$1, aq as FormMessage, Q as F0NumberInput, ar as EmojiPicker, as as data, c as ReorderItem, R as ReorderGroup, u as useDragControls, W as ResourceHeader, O as OneEmptyState, at as UpsellRequestResponseDialog, au as Label$1, av as UpsellingButton, o as BaseBanner, d as useDataCollectionSource, $ as OneDataCollection, aw as extractDisplayValue, ax as navigationFilterTypes, ay as NavigationFilters, az as DialogDescription, aA as PrivacyModeProvider, M as MotionConfig } from "./useDataCollectionSource-C4LIvKAw.js";
10
+ import { r as Va, s as Ia, H as Ra, t as wa, z as za, aR as Da, aQ as Ca, aM as ka, aC as Oa, aB as Fa, aD as ja, aE as Ea, aa as Ua, a9 as Ja, ad as Pa, U as Ka, J as Ha, af as Aa, K as Qa, v as Ba, aS as $a, ab as qa, ac as tn, N as en, w as an, P as nn, y as ln, D as rn, ae as sn, T as on, ag as dn, x as un, E as hn, aU as mn, m as pn, n as bn, aL as Zn, aH as yn, aG as Mn, aT as Nn, a6 as gn, aJ as Wn, aK as Tn, I as Gn, aV as fn, aW as vn, e as Ln, aN as Yn, aO as Xn, aP as Sn, aI as xn, f as Vn, h as In, aF as Rn, aX as wn } from "./useDataCollectionSource-C4LIvKAw.js";
11
11
  import { utils, write as writeSync } from "./xlsx-Bedf3nwD.js";
12
12
  import { defaultTranslations as Dn } from "./i18n-provider-defaults.js";
13
13
  import './f0.css';const CAROUSEL_COLUMNS = {
@@ -2407,7 +2407,7 @@ const DR = ({
2407
2407
  ] })
2408
2408
  }
2409
2409
  ) : /* @__PURE__ */ m(OR, { children: t });
2410
- }, Ege = kt(
2410
+ }, Cge = kt(
2411
2411
  _r("Carousel", DR)
2412
2412
  ), IR = (t, e) => /* @__PURE__ */ R(
2413
2413
  "svg",
@@ -5849,7 +5849,7 @@ const S6 = Gt({
5849
5849
  enable: () => null,
5850
5850
  disable: () => null,
5851
5851
  toggle: () => null
5852
- }), Age = ({ initiallyEnabled: t = !1, children: e }) => {
5852
+ }), Ege = ({ initiallyEnabled: t = !1, children: e }) => {
5853
5853
  const [n, i] = J(t), r = oe(() => {
5854
5854
  i(!0);
5855
5855
  }, []), o = oe(() => i(!1), []), s = oe(() => i((a) => !a), []);
@@ -6943,29 +6943,29 @@ const F$ = (t) => {
6943
6943
  }
6944
6944
  )
6945
6945
  ] });
6946
- }, Tge = kt(
6946
+ }, Age = kt(
6947
6947
  Pi({ name: "AreaChart", type: "info" }, b$)
6948
- ), Nge = kt(
6948
+ ), Tge = kt(
6949
6949
  Pi({ name: "BarChart", type: "info" }, k$)
6950
- ), Oge = kt(
6950
+ ), Nge = kt(
6951
6951
  Pi(
6952
6952
  { name: "CategoryBarChart", type: "info" },
6953
6953
  _$
6954
6954
  )
6955
- ), Mge = kt(
6955
+ ), Oge = kt(
6956
6956
  Pi({ name: "LineChart", type: "info" }, T$)
6957
- ), Dge = kt(
6957
+ ), Mge = kt(
6958
6958
  Pi({ name: "PieChart", type: "info" }, O$)
6959
- ), Ige = kt(
6959
+ ), Dge = kt(
6960
6960
  Pi(
6961
6961
  { name: "VerticalBarChart", type: "info" },
6962
6962
  z$
6963
6963
  )
6964
- ), Pge = kt(
6964
+ ), Ige = kt(
6965
6965
  Pi({ name: "ProgressBarChart", type: "info" }, D$)
6966
- ), Rge = kt(
6966
+ ), Pge = kt(
6967
6967
  Pi({ name: "ComboChart", type: "info" }, E$)
6968
- ), Lge = kt(
6968
+ ), Rge = kt(
6969
6969
  Pi({ name: "RadarChart", type: "info" }, R$)
6970
6970
  ), j$ = {
6971
6971
  duration: 0.5,
@@ -7039,7 +7039,7 @@ const q$ = (t) => Array.isArray(t) ? t.every((e) => U$(e)) ? t : [
7039
7039
  {
7040
7040
  items: t
7041
7041
  }
7042
- ] : [t], Fge = [
7042
+ ] : [t], Lge = [
7043
7043
  "idle",
7044
7044
  "loading",
7045
7045
  "success",
@@ -7548,7 +7548,7 @@ function tz(t) {
7548
7548
  }
7549
7549
  const T6 = kt(
7550
7550
  tz
7551
- ), $ge = ["sm", "md", "lg"], zge = ["compact", "expanded"], ub = Ke(({ className: t, ...e }, n) => /* @__PURE__ */ m(
7551
+ ), Fge = ["sm", "md", "lg"], $ge = ["compact", "expanded"], ub = Ke(({ className: t, ...e }, n) => /* @__PURE__ */ m(
7552
7552
  ZC,
7553
7553
  {
7554
7554
  ref: n,
@@ -7689,7 +7689,7 @@ function rz({
7689
7689
  }
7690
7690
  ) }) }) });
7691
7691
  }
7692
- const Bge = kt(rz);
7692
+ const zge = kt(rz);
7693
7693
  function oz(t) {
7694
7694
  if (d7(t)) {
7695
7695
  let i = !1, r = null;
@@ -7735,7 +7735,7 @@ const Fy = (t) => {
7735
7735
  }
7736
7736
  return JSON.stringify(t) ?? "undefined";
7737
7737
  }, sz = 50;
7738
- function jge({
7738
+ function Bge({
7739
7739
  dataAdapter: t,
7740
7740
  id: e,
7741
7741
  filters: n,
@@ -7826,7 +7826,7 @@ function az({
7826
7826
  };
7827
7827
  }
7828
7828
  const lz = (t, e) => "id" in t && (typeof t.id == "string" || typeof t.id == "number" || typeof t.id == "symbol") ? t.id : e ?? JSON.stringify(t);
7829
- function Hge(t) {
7829
+ function jge(t) {
7830
7830
  const {
7831
7831
  dataSource: e,
7832
7832
  data: n,
@@ -8024,7 +8024,7 @@ function Hge(t) {
8024
8024
  previousItemUrl: ie
8025
8025
  };
8026
8026
  }
8027
- const Vge = QC, Wge = f7, cz = (t, e, n) => {
8027
+ const Hge = QC, Vge = f7, cz = (t, e, n) => {
8028
8028
  const i = Xt[n];
8029
8029
  return i ? i.add(t, e) : { from: /* @__PURE__ */ new Date(), to: /* @__PURE__ */ new Date() };
8030
8030
  };
@@ -8387,7 +8387,7 @@ function hz({
8387
8387
  }
8388
8388
  );
8389
8389
  }
8390
- const Uge = {
8390
+ const Wge = {
8391
8391
  today: {
8392
8392
  label: "Today",
8393
8393
  granularity: "day",
@@ -8845,7 +8845,7 @@ const xz = kt(
8845
8845
  }
8846
8846
  );
8847
8847
  bm.displayName = "F0NumberInput";
8848
- const qge = bm, D6 = Ke(
8848
+ const Uge = bm, D6 = Ke(
8849
8849
  ({
8850
8850
  className: t,
8851
8851
  label: e,
@@ -8922,7 +8922,7 @@ const I6 = Pi(
8922
8922
  type: "form"
8923
8923
  },
8924
8924
  D6
8925
- ), Kge = I6, Gge = sm;
8925
+ ), qge = I6, Kge = sm;
8926
8926
  var Ef = (t) => t.type === "checkbox", Ds = (t) => t instanceof Date, Pn = (t) => t == null;
8927
8927
  const P6 = (t) => typeof t == "object";
8928
8928
  var Kt = (t) => !Pn(t) && !Array.isArray(t) && P6(t) && !Ds(t), R6 = (t) => Kt(t) && t.target ? Ef(t.target) ? t.target.checked : t.target.value : t, Sz = (t) => t.substring(0, t.search(/\.\d+(\.|$)/)) || t, L6 = (t, e) => t.has(Sz(e)), Cz = (t) => {
@@ -41727,7 +41727,7 @@ const ZQ = ({
41727
41727
  }, fN = _r(
41728
41728
  "F0RichTextEditor",
41729
41729
  yf(kee, xee)
41730
- ), Qge = fN;
41730
+ ), Zge = fN;
41731
41731
  function _ee({
41732
41732
  field: t,
41733
41733
  formField: e,
@@ -42843,7 +42843,7 @@ function pN(t, e) {
42843
42843
  return s;
42844
42844
  }, [t, e]);
42845
42845
  }
42846
- function e1e(t, e) {
42846
+ function Qge(t, e) {
42847
42847
  const n = cm(t), i = hN(n), r = [], o = {};
42848
42848
  for (const l of i) {
42849
42849
  const c = l.config.section;
@@ -52290,7 +52290,7 @@ const Hre = (t, e) => {
52290
52290
  ), Jre = _r(
52291
52291
  "F0NotesTextEditor",
52292
52292
  yf(Xre, SO)
52293
- ), n1e = Jre, i1e = SO, CO = Ke(
52293
+ ), t1e = Jre, n1e = SO, CO = Ke(
52294
52294
  ({ header: t, actions: e, open: n, onClose: i }, r) => {
52295
52295
  const [o, s] = J(!1), a = oe(() => {
52296
52296
  s(!0);
@@ -52341,7 +52341,7 @@ const Hre = (t, e) => {
52341
52341
  }
52342
52342
  );
52343
52343
  CO.displayName = "Dialog";
52344
- const r1e = kt(
52344
+ const i1e = kt(
52345
52345
  Pi(
52346
52346
  { name: "Dialog", type: "info" },
52347
52347
  _r("Dialog", CO)
@@ -52375,7 +52375,7 @@ const r1e = kt(
52375
52375
  showBottomBorder: d,
52376
52376
  onClose: f
52377
52377
  }
52378
- ), o1e = _r(
52378
+ ), r1e = _r(
52379
52379
  "ResourceHeader",
52380
52380
  Zre
52381
52381
  ), Qre = Ke(
@@ -67123,9 +67123,7 @@ function xC(t) {
67123
67123
  )
67124
67124
  ] });
67125
67125
  }
67126
- const wme = (t) => t.map(
67127
- ({ icon: e, property: n }) => n.type === "file" ? { property: n } : { icon: e, property: n }
67128
- ), kme = (t) => !!(t && t.type === "infinite-scroll"), xme = ({
67126
+ const wme = (t) => !!(t && t.type === "infinite-scroll"), kme = ({
67129
67127
  lanes: t,
67130
67128
  title: e,
67131
67129
  description: n,
@@ -67202,7 +67200,7 @@ const wme = (t) => t.map(
67202
67200
  l?.(A, T);
67203
67201
  }), E = te(
67204
67202
  () => y.map((A) => {
67205
- const T = u[A.id], M = T?.paginationInfo?.total, I = kme(T?.paginationInfo) && T?.paginationInfo?.hasMore;
67203
+ const T = u[A.id], M = T?.paginationInfo?.total, I = wme(T?.paginationInfo) && T?.paginationInfo?.hasMore;
67206
67204
  return {
67207
67205
  id: A.id,
67208
67206
  title: A.title,
@@ -67243,7 +67241,7 @@ const wme = (t) => t.map(
67243
67241
  description: n ? n(A) : void 0,
67244
67242
  avatar: i ? i(A) : void 0,
67245
67243
  draggable: o !== void 0,
67246
- metadata: r ? wme(r(A)) : void 0,
67244
+ metadata: r ? [...r(A)] : void 0,
67247
67245
  compact: !0,
67248
67246
  forceVerticalMetadata: !0,
67249
67247
  selectable: a.selectable !== void 0,
@@ -67297,7 +67295,7 @@ const wme = (t) => t.map(
67297
67295
  S,
67298
67296
  o ? /* @__PURE__ */ m(dE, { driver: lE(p), children: /* @__PURE__ */ m(xC, { ...D }) }) : /* @__PURE__ */ m(xC, { ...D })
67299
67297
  ] });
67300
- }, _me = ({ title: t, avatar: e, description: n }) => /* @__PURE__ */ R("article", { className: "flex w-[calc(100%-72px)] min-w-40 flex-col items-start gap-3 md:w-full md:flex-row md:items-center md:gap-2", children: [
67298
+ }, xme = ({ title: t, avatar: e, description: n }) => /* @__PURE__ */ R("article", { className: "flex w-[calc(100%-72px)] min-w-40 flex-col items-start gap-3 md:w-full md:flex-row md:items-center md:gap-2", children: [
67301
67299
  e && /* @__PURE__ */ m(rm, { avatar: e, size: "md" }),
67302
67300
  /* @__PURE__ */ R("div", { className: "flex flex-1 flex-col gap-0.5", children: [
67303
67301
  /* @__PURE__ */ m("header", { children: /* @__PURE__ */ m("h3", { children: /* @__PURE__ */ m(eo, { className: "text-base font-medium text-f1-foreground", children: t }) }) }),
@@ -67306,7 +67304,7 @@ const wme = (t) => t.map(
67306
67304
  r < n.length - 1 && /* @__PURE__ */ m("span", { className: "hidden md:inline", children: " · " })
67307
67305
  ] }, r)) }) })
67308
67306
  ] })
67309
- ] }), Sme = ({
67307
+ ] }), _me = ({
67310
67308
  source: t,
67311
67309
  item: e,
67312
67310
  selectedItems: n,
@@ -67360,7 +67358,7 @@ const wme = (t) => t.map(
67360
67358
  }
67361
67359
  ),
67362
67360
  /* @__PURE__ */ m(
67363
- _me,
67361
+ xme,
67364
67362
  {
67365
67363
  title: h.title,
67366
67364
  avatar: h.avatar,
@@ -67434,7 +67432,7 @@ const wme = (t) => t.map(
67434
67432
  s && "rounded-b-none"
67435
67433
  ),
67436
67434
  children: e.map((a, l) => /* @__PURE__ */ m(
67437
- Sme,
67435
+ _me,
67438
67436
  {
67439
67437
  source: t,
67440
67438
  item: a,
@@ -67496,7 +67494,7 @@ const wme = (t) => t.map(
67496
67494
  `skeleton-item-${s}`
67497
67495
  ))
67498
67496
  }
67499
- ), Cme = ({
67497
+ ), Sme = ({
67500
67498
  fields: t,
67501
67499
  itemDefinition: e,
67502
67500
  source: n,
@@ -67701,7 +67699,7 @@ const wme = (t) => t.map(
67701
67699
  default: {}
67702
67700
  },
67703
67701
  render: (t) => /* @__PURE__ */ m(
67704
- Cme,
67702
+ Sme,
67705
67703
  {
67706
67704
  ...t
67707
67705
  }
@@ -67727,7 +67725,7 @@ const wme = (t) => t.map(
67727
67725
  default: {}
67728
67726
  },
67729
67727
  render: (t) => /* @__PURE__ */ m(
67730
- xme,
67728
+ kme,
67731
67729
  {
67732
67730
  ...t
67733
67731
  }
@@ -67748,7 +67746,7 @@ const wme = (t) => t.map(
67748
67746
  }
67749
67747
  )
67750
67748
  }
67751
- }, Eme = () => {
67749
+ }, Cme = () => {
67752
67750
  const t = {};
67753
67751
  for (const [e, n] of Object.entries(es))
67754
67752
  n.settings.default && (t[e] = { ...n.settings.default });
@@ -67769,11 +67767,11 @@ const wme = (t) => t.map(
67769
67767
  "useTableSettings must be used within a TableSettingsProvider"
67770
67768
  );
67771
67769
  return t;
67772
- }, Ame = ({
67770
+ }, Eme = ({
67773
67771
  children: t
67774
67772
  }) => {
67775
67773
  const [e, n] = J({
67776
- visualization: Eme()
67774
+ visualization: Cme()
67777
67775
  }), i = (r, o) => {
67778
67776
  n(typeof o == "function" ? (s) => ({
67779
67777
  ...s,
@@ -67811,9 +67809,9 @@ function cf(t) {
67811
67809
  if (Array.isArray(t))
67812
67810
  return t.map((n) => cf(n)).filter(Boolean).join("; ");
67813
67811
  const e = t;
67814
- return "type" in e && "value" in e && typeof e.type == "string" ? Tme(e.type, e.value) : "firstName" in e && "lastName" in e ? `${e.firstName} ${e.lastName}`.trim() : "label" in e && typeof e.label == "string" ? e.label : "text" in e && (typeof e.text == "string" || typeof e.text == "number") ? String(e.text) : "name" in e && typeof e.name == "string" ? e.name : "";
67812
+ return "type" in e && "value" in e && typeof e.type == "string" ? Ame(e.type, e.value) : "firstName" in e && "lastName" in e ? `${e.firstName} ${e.lastName}`.trim() : "label" in e && typeof e.label == "string" ? e.label : "text" in e && (typeof e.text == "string" || typeof e.text == "number") ? String(e.text) : "name" in e && typeof e.name == "string" ? e.name : "";
67815
67813
  }
67816
- function Tme(t, e) {
67814
+ function Ame(t, e) {
67817
67815
  if (e == null)
67818
67816
  return "";
67819
67817
  const n = e;
@@ -67867,10 +67865,10 @@ function Tme(t, e) {
67867
67865
  return cf(e);
67868
67866
  }
67869
67867
  }
67870
- function Nme(t, e) {
67868
+ function Tme(t, e) {
67871
67869
  return e ? e.split(".").reduce((n, i) => n && typeof n == "object" && i in n ? n[i] : "", t) : t;
67872
67870
  }
67873
- function Ome(t, e, n) {
67871
+ function Nme(t, e, n) {
67874
67872
  if (!t)
67875
67873
  return [];
67876
67874
  if (t.type === "table" || t.type === "editableTable") {
@@ -67900,13 +67898,13 @@ function Ome(t, e, n) {
67900
67898
  }
67901
67899
  return [];
67902
67900
  }
67903
- function Mme(t, e) {
67901
+ function Ome(t, e) {
67904
67902
  return t.map(
67905
67903
  (n) => e.map((i) => {
67906
67904
  if (i.render)
67907
67905
  return i.render(n);
67908
67906
  if (i.field) {
67909
- const r = Nme(
67907
+ const r = Tme(
67910
67908
  n,
67911
67909
  i.field
67912
67910
  );
@@ -67916,14 +67914,14 @@ function Mme(t, e) {
67916
67914
  })
67917
67915
  );
67918
67916
  }
67919
- function Dme(t) {
67917
+ function Mme(t) {
67920
67918
  const e = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace(/[:-]/g, "");
67921
67919
  return `${t.replace(/[^a-zA-Z0-9-_]/g, "_")}_${e}.csv`;
67922
67920
  }
67923
- function Ime(t, e, n) {
67921
+ function Dme(t, e, n) {
67924
67922
  if (!t || t.length === 0)
67925
67923
  throw new Error("No data available for export");
67926
- let i = Ome(
67924
+ let i = Nme(
67927
67925
  e,
67928
67926
  n?.hiddenColumnIds,
67929
67927
  n?.columnOrder
@@ -67935,7 +67933,7 @@ function Ime(t, e, n) {
67935
67933
  field: a
67936
67934
  }));
67937
67935
  }
67938
- const r = Mme(t, i), o = n?.includeHeaders !== !1 ? i.map((s) => s.label) : [];
67936
+ const r = Ome(t, i), o = n?.includeHeaders !== !1 ? i.map((s) => s.label) : [];
67939
67937
  return [
67940
67938
  ...o.length > 0 ? [o.map((s) => CC(s)).join(",")] : [],
67941
67939
  ...r.map(
@@ -67944,15 +67942,15 @@ function Ime(t, e, n) {
67944
67942
  ].join(`
67945
67943
  `);
67946
67944
  }
67947
- function Pme(t, e) {
67945
+ function Ime(t, e) {
67948
67946
  const n = new Blob(["\uFEFF" + t], {
67949
67947
  type: "text/csv;charset=utf-8"
67950
67948
  }), i = document.createElement("a"), r = URL.createObjectURL(n);
67951
67949
  i.href = r, i.download = e, document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(r);
67952
67950
  }
67953
- async function Rme(t, e, n) {
67954
- const i = Ime(t, e, n), r = Dme(n?.filename || "data_collection");
67955
- Pme(i, r);
67951
+ async function Pme(t, e, n) {
67952
+ const i = Dme(t, e, n), r = Mme(n?.filename || "data_collection");
67953
+ Ime(i, r);
67956
67954
  }
67957
67955
  const Ra = 1e4, EC = 100;
67958
67956
  async function Fu(t) {
@@ -67976,7 +67974,7 @@ async function Fu(t) {
67976
67974
  }
67977
67975
  return t;
67978
67976
  }
67979
- async function Lme(t) {
67977
+ async function Rme(t) {
67980
67978
  const { dataAdapter: e } = t, n = [
67981
67979
  ...t.currentSortings ? [
67982
67980
  {
@@ -68041,7 +68039,7 @@ async function Lme(t) {
68041
68039
  })
68042
68040
  )).records ?? []).slice(0, Ra);
68043
68041
  }
68044
- function Fme({
68042
+ function Lme({
68045
68043
  source: t,
68046
68044
  currentVisualization: e,
68047
68045
  filename: n,
@@ -68051,8 +68049,8 @@ function Fme({
68051
68049
  if (i) {
68052
68050
  o(!0);
68053
68051
  try {
68054
- const c = await Lme(t), d = e?.type ?? "table", f = a.visualization[d], u = f?.hidden ? new Set(f.hidden) : void 0, h = f?.order;
68055
- await Rme(c, e, {
68052
+ const c = await Rme(t), d = e?.type ?? "table", f = a.visualization[d], u = f?.hidden ? new Set(f.hidden) : void 0, h = f?.order;
68053
+ await Pme(c, e, {
68056
68054
  filename: n || "data_collection_export",
68057
68055
  hiddenColumnIds: u,
68058
68056
  columnOrder: h
@@ -68082,13 +68080,13 @@ const o8 = "dc_", In = {
68082
68080
  page: "dc_page",
68083
68081
  /** Selected view id (omitted when no view is selected). */
68084
68082
  preset: "dc_view"
68085
- }, Hl = "..", A0 = "*", s8 = "none", a8 = "-", Hk = 25, l8 = (t) => `${o8}${t}`, c8 = (t) => t instanceof URLSearchParams ? t : typeof t == "string" ? new URLSearchParams(t) : typeof window < "u" ? new URLSearchParams(window.location.search) : new URLSearchParams(), $me = (t) => {
68083
+ }, Hl = "..", A0 = "*", s8 = "none", a8 = "-", Hk = 25, l8 = (t) => `${o8}${t}`, c8 = (t) => t instanceof URLSearchParams ? t : typeof t == "string" ? new URLSearchParams(t) : typeof window < "u" ? new URLSearchParams(window.location.search) : new URLSearchParams(), Fme = (t) => {
68086
68084
  new Set(
68087
68085
  [...t.keys()].filter(
68088
68086
  (n) => n.startsWith(o8)
68089
68087
  )
68090
68088
  ).forEach((n) => t.delete(n));
68091
- }, zme = (t) => {
68089
+ }, $me = (t) => {
68092
68090
  const e = t.trim();
68093
68091
  if (e === "" || e === s8 || e === "null")
68094
68092
  return null;
@@ -68098,7 +68096,7 @@ const o8 = "dc_", In = {
68098
68096
  return r ? { field: r, order: i } : null;
68099
68097
  }
68100
68098
  return { field: e, order: "asc" };
68101
- }, Bme = (t) => t ? `${String(t.field)}${a8}${t.order}` : s8, py = (t) => t.toISOString().slice(0, 10), d8 = (t) => {
68099
+ }, zme = (t) => t ? `${String(t.field)}${a8}${t.order}` : s8, py = (t) => t.toISOString().slice(0, 10), d8 = (t) => {
68102
68100
  if (t == null) return [];
68103
68101
  if (Array.isArray(t))
68104
68102
  return t.filter((e) => e != null).map(String);
@@ -68132,7 +68130,7 @@ const o8 = "dc_", In = {
68132
68130
  // No marker → inclusive (closed). `*` marker → exclusive (open).
68133
68131
  closed: !e
68134
68132
  };
68135
- }, jme = (t) => {
68133
+ }, Bme = (t) => {
68136
68134
  if (t.includes(Hl)) {
68137
68135
  const [n, i] = t.split(Hl);
68138
68136
  return {
@@ -68143,28 +68141,28 @@ const o8 = "dc_", In = {
68143
68141
  }
68144
68142
  const e = Number(t);
68145
68143
  return { mode: "single", value: Number.isNaN(e) ? void 0 : e };
68146
- }, Hme = (t) => {
68144
+ }, jme = (t) => {
68147
68145
  if (t.includes(Hl)) {
68148
68146
  const [e, n] = t.split(Hl);
68149
68147
  return e ? n ? { from: new Date(e), to: new Date(n) } : { from: new Date(e) } : void 0;
68150
68148
  }
68151
68149
  return t ? new Date(t) : void 0;
68152
- }, Vme = (t, e) => {
68150
+ }, Hme = (t, e) => {
68153
68151
  switch (t) {
68154
68152
  case "in":
68155
68153
  return e;
68156
68154
  case "search":
68157
68155
  return e[0];
68158
68156
  case "number":
68159
- return jme(e[0] ?? "");
68157
+ return Bme(e[0] ?? "");
68160
68158
  case "date":
68161
- return Hme(e[0] ?? "");
68159
+ return jme(e[0] ?? "");
68162
68160
  default:
68163
68161
  return e.length > 1 ? e : e[0];
68164
68162
  }
68165
- }, Wme = (t, e) => {
68163
+ }, Vme = (t, e) => {
68166
68164
  const n = c8(t), i = {};
68167
- if (n.has(In.search) && (i.search = n.get(In.search) ?? void 0), n.has(In.sortings) && (i.sortings = zme(
68165
+ if (n.has(In.search) && (i.search = n.get(In.search) ?? void 0), n.has(In.sortings) && (i.sortings = $me(
68168
68166
  n.get(In.sortings) ?? ""
68169
68167
  )), n.has(In.visualization)) {
68170
68168
  const r = n.get(In.visualization);
@@ -68183,7 +68181,7 @@ const o8 = "dc_", In = {
68183
68181
  let o = !1;
68184
68182
  for (const [s, a] of Object.entries(e)) {
68185
68183
  const l = l8(s);
68186
- n.has(l) && (r[s] = Vme(
68184
+ n.has(l) && (r[s] = Hme(
68187
68185
  a.type,
68188
68186
  n.getAll(l)
68189
68187
  ), o = !0);
@@ -68191,11 +68189,11 @@ const o8 = "dc_", In = {
68191
68189
  o && (i.filters = r);
68192
68190
  }
68193
68191
  return i;
68194
- }, TC = /* @__PURE__ */ new Set(), Ume = (t, e) => {
68192
+ }, TC = /* @__PURE__ */ new Set(), Wme = (t, e) => {
68195
68193
  TC.has(t) || (TC.add(t), console.warn(
68196
68194
  `[OneDataCollection] Filter "${t}" has ${e} selected values, over the URL limit of ${Hk}; it will not be reflected in the URL (still applied in-memory and persisted via storage).`
68197
68195
  ));
68198
- }, qme = (t) => {
68196
+ }, Ume = (t) => {
68199
68197
  const e = d8(t).length;
68200
68198
  return e > 0 && e <= Hk;
68201
68199
  }, f8 = (t, e) => {
@@ -68203,26 +68201,26 @@ const o8 = "dc_", In = {
68203
68201
  for (const [n, i] of Object.entries(e.filters)) {
68204
68202
  const r = d8(i);
68205
68203
  if (r.length > Hk) {
68206
- Ume(n, r.length);
68204
+ Wme(n, r.length);
68207
68205
  continue;
68208
68206
  }
68209
68207
  r.forEach((o) => t.append(l8(n), o));
68210
68208
  }
68211
68209
  e.search && t.set(In.search, e.search), e.sortings && t.set(
68212
68210
  In.sortings,
68213
- Bme(e.sortings)
68211
+ zme(e.sortings)
68214
68212
  ), e.visualization && t.set(In.visualization, e.visualization), e.page && e.page > 1 && t.set(In.page, String(e.page)), e.preset && t.set(In.preset, e.preset);
68215
- }, Kme = (t) => !!t.search || !!t.sortings || !!t.visualization || t.page !== void 0 && t.page > 1 || !!t.preset || !!t.filters && Object.values(t.filters).some(qme), s1e = (t = {}) => {
68213
+ }, qme = (t) => !!t.search || !!t.sortings || !!t.visualization || t.page !== void 0 && t.page > 1 || !!t.preset || !!t.filters && Object.values(t.filters).some(Ume), o1e = (t = {}) => {
68216
68214
  const e = new URLSearchParams();
68217
68215
  return f8(e, t), e;
68218
- }, Gme = (t, e) => {
68216
+ }, Kme = (t, e) => {
68219
68217
  const n = new URLSearchParams(c8(t));
68220
- return $me(n), Kme(e) && f8(n, e), n;
68221
- }, Yme = (t, e) => {
68218
+ return Fme(n), qme(e) && f8(n, e), n;
68219
+ }, Gme = (t, e) => {
68222
68220
  if (typeof window > "u") return null;
68223
- const i = Gme(window.location.search, t).toString(), r = i ? `${window.location.pathname}?${i}` : window.location.pathname, o = e?.history ?? "replace";
68221
+ const i = Kme(window.location.search, t).toString(), r = i ? `${window.location.pathname}?${i}` : window.location.pathname, o = e?.history ?? "replace";
68224
68222
  return o === "push" ? window.history.pushState(null, "", r) : o === "replace" && window.history.replaceState(null, "", r), i;
68225
- }, a1e = (t, e) => {
68223
+ }, s1e = (t, e) => {
68226
68224
  try {
68227
68225
  localStorage.setItem(
68228
68226
  tP(t),
@@ -68230,7 +68228,7 @@ const o8 = "dc_", In = {
68230
68228
  );
68231
68229
  } catch {
68232
68230
  }
68233
- }, Xme = ({
68231
+ }, Yme = ({
68234
68232
  disabled: t,
68235
68233
  storageReady: e,
68236
68234
  filtersDefinition: n,
@@ -68249,7 +68247,7 @@ const o8 = "dc_", In = {
68249
68247
  const p = !t, g = a.length > 1, [y, v] = J(!1);
68250
68248
  de(() => {
68251
68249
  if (!p || !e || y) return;
68252
- const w = Wme(
68250
+ const w = Vme(
68253
68251
  typeof window < "u" ? window.location.search : "",
68254
68252
  n
68255
68253
  );
@@ -68259,7 +68257,7 @@ const o8 = "dc_", In = {
68259
68257
  }
68260
68258
  w.preset !== void 0 && h(w.preset), v(!0);
68261
68259
  }, [p, e]), ib(() => {
68262
- !p || !y || Yme({
68260
+ !p || !y || Gme({
68263
68261
  filters: i,
68264
68262
  search: r,
68265
68263
  sortings: o,
@@ -68285,18 +68283,18 @@ const o8 = "dc_", In = {
68285
68283
  return i ? i.filter : {};
68286
68284
  }
68287
68285
  return {};
68288
- }, Jme = (t, e, n) => {
68286
+ }, Xme = (t, e, n) => {
68289
68287
  const i = e[t];
68290
68288
  return i?.filters ? new Set(Object.keys(i.filters)) : n ? new Set(Object.keys(n)) : null;
68291
- }, Zme = (t, e, n, i) => {
68289
+ }, Jme = (t, e, n, i) => {
68292
68290
  if (!T0(e)) return {};
68293
- const r = Jme(t, n, i);
68291
+ const r = Xme(t, n, i);
68294
68292
  if (!r) return e;
68295
68293
  const o = {};
68296
68294
  for (const [s, a] of Object.entries(e))
68297
68295
  r.has(s) && (o[s] = a);
68298
68296
  return o;
68299
- }, Qme = ({
68297
+ }, Zme = ({
68300
68298
  sourceFilters: t,
68301
68299
  sourcePresets: e,
68302
68300
  sourceCurrentFilters: n,
@@ -68428,7 +68426,7 @@ const o8 = "dc_", In = {
68428
68426
  const N = y.current, O = v.current, P = T0(E) ? E : {}, D = {};
68429
68427
  for (const [A, T] of Object.entries(P)) {
68430
68428
  const M = T0(T) ? T : {}, I = Number(A);
68431
- Number.isInteger(I) && I >= 0 && I < N.length ? D[A] = Zme(
68429
+ Number.isInteger(I) && I >= 0 && I < N.length ? D[A] = Jme(
68432
68430
  I,
68433
68431
  M,
68434
68432
  N,
@@ -68460,7 +68458,7 @@ const o8 = "dc_", In = {
68460
68458
  setAllVisualizationFilters: S,
68461
68459
  hasPerVisualizationFilters: !0
68462
68460
  };
68463
- }, ege = ({
68461
+ }, Qme = ({
68464
68462
  visualization: t,
68465
68463
  source: e,
68466
68464
  onSelectItems: n,
@@ -68493,7 +68491,7 @@ const o8 = "dc_", In = {
68493
68491
  return {
68494
68492
  visualization: t
68495
68493
  };
68496
- }, tge = (t, e) => {
68494
+ }, ege = (t, e) => {
68497
68495
  if (!e || !(e in es))
68498
68496
  return !0;
68499
68497
  const n = e, i = t.visualization[n], r = es[n]?.settings.default;
@@ -68506,15 +68504,15 @@ function OC(t, e) {
68506
68504
  for (; i.has(`${n} ${r}`); ) r++;
68507
68505
  return `${n} ${r}`;
68508
68506
  }
68509
- const N0 = "dc_shared_view", nge = (t) => {
68507
+ const N0 = "dc_shared_view", tge = (t) => {
68510
68508
  const e = new TextEncoder().encode(t);
68511
68509
  let n = "";
68512
68510
  for (const i of e) n += String.fromCharCode(i);
68513
68511
  return btoa(n).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
68514
- }, ige = (t) => {
68512
+ }, nge = (t) => {
68515
68513
  const e = t.replace(/-/g, "+").replace(/_/g, "/"), n = atob(e), i = Uint8Array.from(n, (r) => r.charCodeAt(0));
68516
68514
  return new TextDecoder().decode(i);
68517
- }, rge = (t) => {
68515
+ }, ige = (t) => {
68518
68516
  const e = {
68519
68517
  label: t.label,
68520
68518
  description: t.description,
@@ -68524,20 +68522,20 @@ const N0 = "dc_shared_view", nge = (t) => {
68524
68522
  visualization: t.visualization,
68525
68523
  settings: t.settings
68526
68524
  };
68527
- return nge(JSON.stringify(e));
68528
- }, oge = (t) => {
68525
+ return tge(JSON.stringify(e));
68526
+ }, rge = (t) => {
68529
68527
  if (!t) return null;
68530
68528
  try {
68531
- const e = JSON.parse(ige(t));
68529
+ const e = JSON.parse(nge(t));
68532
68530
  return typeof e == "object" && e !== null && typeof e.label == "string" ? e : null;
68533
68531
  } catch {
68534
68532
  return null;
68535
68533
  }
68536
- }, sge = (t) => {
68534
+ }, oge = (t) => {
68537
68535
  if (typeof window > "u") return null;
68538
68536
  const { origin: e, pathname: n } = window.location;
68539
- return `${e}${n}?${N0}=${rge(t)}`;
68540
- }, $u = "__no-sorting__", age = ({
68537
+ return `${e}${n}?${N0}=${ige(t)}`;
68538
+ }, $u = "__no-sorting__", sge = ({
68541
68539
  currentSortings: t,
68542
68540
  sortings: e,
68543
68541
  onChange: n
@@ -68590,21 +68588,21 @@ const N0 = "dc_shared_view", nge = (t) => {
68590
68588
  }
68591
68589
  ) })
68592
68590
  ] }) });
68593
- }, lge = (t) => {
68591
+ }, age = (t) => {
68594
68592
  if (t === "custom")
68595
68593
  return null;
68596
68594
  const e = es[t];
68597
68595
  if (!e)
68598
68596
  throw new Error(`Visualization type ${t} not found`);
68599
68597
  return e;
68600
- }, u8 = (t) => lge(t.type)?.settings.renderer ?? null, cge = (t) => {
68598
+ }, u8 = (t) => age(t.type)?.settings.renderer ?? null, lge = (t) => {
68601
68599
  if (t.type === "custom")
68602
68600
  return !1;
68603
68601
  const e = u8(t);
68604
68602
  return e ? e(
68605
68603
  t.options
68606
68604
  ) !== null : !1;
68607
- }, dge = ({
68605
+ }, cge = ({
68608
68606
  visualization: t
68609
68607
  }) => {
68610
68608
  if (t.type === "custom")
@@ -68613,7 +68611,7 @@ const N0 = "dc_shared_view", nge = (t) => {
68613
68611
  return e ? e(
68614
68612
  t.options
68615
68613
  ) : null;
68616
- }, fge = ({
68614
+ }, dge = ({
68617
68615
  visualizations: t,
68618
68616
  currentVisualization: e,
68619
68617
  grouping: n,
@@ -68633,7 +68631,7 @@ const N0 = "dc_shared_view", nge = (t) => {
68633
68631
  [e, t?.[e]]
68634
68632
  ), k = te(
68635
68633
  () => /* @__PURE__ */ m(
68636
- dge,
68634
+ cge,
68637
68635
  {
68638
68636
  visualization: w
68639
68637
  },
@@ -68641,7 +68639,7 @@ const N0 = "dc_shared_view", nge = (t) => {
68641
68639
  ),
68642
68640
  [w]
68643
68641
  ), b = te(
68644
- () => cge(w),
68642
+ () => lge(w),
68645
68643
  [w]
68646
68644
  ), x = te(
68647
68645
  () => {
@@ -68659,7 +68657,7 @@ const N0 = "dc_shared_view", nge = (t) => {
68659
68657
  if (JSON.stringify(s) !== JSON.stringify(a))
68660
68658
  return !0;
68661
68659
  const E = t[e]?.type;
68662
- return !tge(
68660
+ return !ege(
68663
68661
  _.settings,
68664
68662
  E
68665
68663
  );
@@ -68706,7 +68704,7 @@ const N0 = "dc_shared_view", nge = (t) => {
68706
68704
  "grouping"
68707
68705
  ) }),
68708
68706
  v && /* @__PURE__ */ m("div", { className: "p-3", children: /* @__PURE__ */ m(
68709
- age,
68707
+ sge,
68710
68708
  {
68711
68709
  currentSortings: s,
68712
68710
  onChange: l,
@@ -68739,13 +68737,13 @@ const N0 = "dc_shared_view", nge = (t) => {
68739
68737
  }
68740
68738
  )
68741
68739
  ] }) });
68742
- }, uge = 16;
68743
- function hge(t, e, n) {
68740
+ }, fge = 16;
68741
+ function uge(t, e, n) {
68744
68742
  const [i, r] = J(!1), o = U(!1), s = U(0), a = oe(() => {
68745
68743
  const l = t.current, c = e.current;
68746
68744
  if (!l || !c) return;
68747
68745
  o.current || (s.current = c.scrollWidth);
68748
- const d = getComputedStyle(l), f = parseFloat(d.paddingLeft) + parseFloat(d.paddingRight), u = n?.current?.offsetWidth ?? 0, h = l.clientWidth - f - (u > 0 ? u + uge : 0), p = s.current > h;
68746
+ const d = getComputedStyle(l), f = parseFloat(d.paddingLeft) + parseFloat(d.paddingRight), u = n?.current?.offsetWidth ?? 0, h = l.clientWidth - f - (u > 0 ? u + fge : 0), p = s.current > h;
68749
68747
  p !== o.current && (o.current = p, r(p));
68750
68748
  }, [t, e, n]);
68751
68749
  return nx({
@@ -68756,19 +68754,19 @@ function hge(t, e, n) {
68756
68754
  onResize: a
68757
68755
  }), i;
68758
68756
  }
68759
- const pge = () => {
68757
+ const hge = () => {
68760
68758
  const t = ze();
68761
68759
  return (e) => e.type === "custom" ? { icon: e.icon, label: e.label } : {
68762
68760
  icon: es[e.type].icon,
68763
68761
  label: t.collections.visualizations[e.type]
68764
68762
  };
68765
- }, mge = ({
68763
+ }, pge = ({
68766
68764
  visualizations: t,
68767
68765
  currentVisualization: e,
68768
68766
  onVisualizationChange: n,
68769
68767
  hideLabels: i
68770
68768
  }) => {
68771
- const r = ze(), o = pge();
68769
+ const r = ze(), o = hge();
68772
68770
  if (!t || t.length <= 1)
68773
68771
  return null;
68774
68772
  const s = t.map((a, l) => {
@@ -68785,7 +68783,7 @@ const pge = () => {
68785
68783
  ariaLabel: r.collections.visualizations.viewSelectorLabel
68786
68784
  }
68787
68785
  );
68788
- }, gge = 1500, yge = 2e3, vge = ({
68786
+ }, mge = 1500, gge = 2e3, yge = ({
68789
68787
  source: t,
68790
68788
  visualizations: e,
68791
68789
  onSelectItems: n,
@@ -68837,7 +68835,7 @@ const pge = () => {
68837
68835
  ), [ne, Z] = J([]), [V, ie] = J(null), [re] = J(() => {
68838
68836
  if (typeof window > "u") return null;
68839
68837
  const ge = new URLSearchParams(window.location.search);
68840
- return oge(ge.get(N0));
68838
+ return rge(ge.get(N0));
68841
68839
  }), ae = boe(
68842
68840
  t.searchPreview,
68843
68841
  t.debouncedCurrentSearch
@@ -68849,7 +68847,7 @@ const pge = () => {
68849
68847
  allVisualizationFilters: ve,
68850
68848
  setAllVisualizationFilters: Ee,
68851
68849
  hasPerVisualizationFilters: j
68852
- } = Qme({
68850
+ } = Zme({
68853
68851
  sourceFilters: g,
68854
68852
  sourcePresets: w,
68855
68853
  sourceCurrentFilters: y,
@@ -68882,7 +68880,7 @@ const pge = () => {
68882
68880
  ), Ve = te(
68883
68881
  () => uoe(A),
68884
68882
  [A]
68885
- ), We = h && typeof h == "object" ? h.filename : d ? `${d}_export` : void 0, rt = Fme({
68883
+ ), We = h && typeof h == "object" ? h.filename : d ? `${d}_export` : void 0, rt = Lme({
68886
68884
  source: W,
68887
68885
  currentVisualization: e[z],
68888
68886
  filename: We,
@@ -68930,7 +68928,7 @@ const pge = () => {
68930
68928
  (ge) => !("type" in ge && ge.type === "separator")
68931
68929
  )
68932
68930
  };
68933
- }, [we, De]), [ut, Pt] = J(!1), [ii, rn] = J(0), [Mn, fn] = J(!1), [Qt, Pe] = J("idle"), [Re, Je] = J(!1), yt = U(null), un = U(null), ds = U(null), fs = U(null), us = U(null), hs = hge(
68931
+ }, [we, De]), [ut, Pt] = J(!1), [ii, rn] = J(0), [Mn, fn] = J(!1), [Qt, Pe] = J("idle"), [Re, Je] = J(!1), yt = U(null), un = U(null), ds = U(null), fs = U(null), us = U(null), hs = uge(
68934
68932
  ds,
68935
68933
  fs,
68936
68934
  us
@@ -68944,7 +68942,7 @@ const pge = () => {
68944
68942
  (ge, Ne = !0) => {
68945
68943
  un.current && clearTimeout(un.current), un.current = setTimeout(() => {
68946
68944
  Ne && Pt(!1), ge(), un.current = null;
68947
- }, gge);
68945
+ }, mge);
68948
68946
  },
68949
68947
  // setShowActionBar is a stable setState ref — safe to omit from deps.
68950
68948
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -69207,7 +69205,7 @@ const pge = () => {
69207
69205
  (ge) => {
69208
69206
  const Ne = ne.find((ri) => ri.id === ge);
69209
69207
  if (!Ne) return;
69210
- const nt = sge({
69208
+ const nt = oge({
69211
69209
  label: Ne.label,
69212
69210
  description: Ne.description,
69213
69211
  filter: Ne.filter,
@@ -69225,7 +69223,7 @@ const pge = () => {
69225
69223
  if (!_g) return;
69226
69224
  const ge = setTimeout(
69227
69225
  () => Vk(!1),
69228
- yge
69226
+ gge
69229
69227
  );
69230
69228
  return () => clearTimeout(ge);
69231
69229
  }, [_g]), de(() => {
@@ -69290,7 +69288,7 @@ const pge = () => {
69290
69288
  );
69291
69289
  de(() => {
69292
69290
  Yf && or === null && kg(ct);
69293
- }, [Yf, or, ct]), Xme({
69291
+ }, [Yf, or, ct]), Yme({
69294
69292
  disabled: !!f,
69295
69293
  storageReady: Yf,
69296
69294
  filtersDefinition: g,
@@ -69428,7 +69426,7 @@ const pge = () => {
69428
69426
  }
69429
69427
  ),
69430
69428
  e && e.length > 1 && /* @__PURE__ */ m(
69431
- mge,
69429
+ pge,
69432
69430
  {
69433
69431
  visualizations: e,
69434
69432
  currentVisualization: z,
@@ -69437,7 +69435,7 @@ const pge = () => {
69437
69435
  }
69438
69436
  ),
69439
69437
  Cg && /* @__PURE__ */ m(
69440
- fge,
69438
+ dge,
69441
69439
  {
69442
69440
  visualizations: e,
69443
69441
  currentVisualization: z,
@@ -69485,7 +69483,7 @@ const pge = () => {
69485
69483
  l && "h-full min-h-0 flex-1"
69486
69484
  ),
69487
69485
  children: /* @__PURE__ */ m(
69488
- ege,
69486
+ Qme,
69489
69487
  {
69490
69488
  visualization: e[z],
69491
69489
  source: W,
@@ -69562,7 +69560,7 @@ const pge = () => {
69562
69560
  ]
69563
69561
  }
69564
69562
  );
69565
- }, bge = (t) => /* @__PURE__ */ m(Ame, { children: /* @__PURE__ */ m(vge, { ...t }) }), wge = kt(bge), l1e = wge, c1e = (t, e = []) => {
69563
+ }, vge = (t) => /* @__PURE__ */ m(Eme, { children: /* @__PURE__ */ m(yge, { ...t }) }), bge = kt(vge), a1e = bge, l1e = (t, e = []) => {
69566
69564
  const n = ze(), {
69567
69565
  navigationFilters: i,
69568
69566
  summaries: r,
@@ -69595,52 +69593,52 @@ const pge = () => {
69595
69593
  };
69596
69594
  };
69597
69595
  export {
69598
- l1e as $,
69596
+ a1e as $,
69599
69597
  b$ as A,
69600
69598
  k$ as B,
69601
- Ege as C,
69602
- Lge as D,
69603
- Fge as E,
69599
+ Cge as C,
69600
+ Rge as D,
69601
+ Lge as E,
69604
69602
  G$ as F,
69605
69603
  Eh as G,
69606
69604
  T6 as H,
69607
- Wge as I,
69608
- Vge as J,
69609
- Gge as K,
69605
+ Vge as I,
69606
+ Hge as J,
69607
+ Kge as K,
69610
69608
  T$ as L,
69611
69609
  mR as M,
69612
- qge as N,
69610
+ Uge as N,
69613
69611
  fte as O,
69614
- Bge as P,
69612
+ zge as P,
69615
69613
  bm as Q,
69616
69614
  CR as R,
69617
69615
  ite as S,
69618
- Kge as T,
69616
+ qge as T,
69619
69617
  I6 as U,
69620
69618
  z$ as V,
69621
- o1e as W,
69619
+ r1e as W,
69622
69620
  EE as X,
69623
69621
  gE as Y,
69624
69622
  Qc as Z,
69625
69623
  Ec as _,
69626
69624
  gY as a,
69627
- Fme as a0,
69628
- Rme as a1,
69629
- Ime as a2,
69625
+ Lme as a0,
69626
+ Pme as a1,
69627
+ Dme as a2,
69630
69628
  ng as a3,
69631
69629
  pk as a4,
69632
69630
  noe as a5,
69633
- Uge as a6,
69631
+ Wge as a6,
69634
69632
  Aoe as a7,
69635
- r1e as a8,
69633
+ i1e as a8,
69636
69634
  SO as a9,
69637
- Age as aA,
69635
+ Ege as aA,
69638
69636
  vm as aB,
69639
69637
  mb as aC,
69640
69638
  xz as aD,
69641
69639
  nte as aE,
69642
69640
  pN as aF,
69643
- e1e as aG,
69641
+ Qge as aG,
69644
69642
  Js as aH,
69645
69643
  qB as aI,
69646
69644
  oz as aJ,
@@ -69653,16 +69651,16 @@ export {
69653
69651
  o8 as aQ,
69654
69652
  In as aR,
69655
69653
  Hk as aS,
69656
- Wme as aT,
69657
- s1e as aU,
69658
- Gme as aV,
69659
- Yme as aW,
69660
- a1e as aX,
69654
+ Vme as aT,
69655
+ o1e as aU,
69656
+ Kme as aV,
69657
+ Gme as aW,
69658
+ s1e as aX,
69661
69659
  Jre as aa,
69662
- n1e as ab,
69663
- i1e as ac,
69660
+ t1e as ab,
69661
+ n1e as ac,
69664
69662
  fN as ad,
69665
- Qge as ae,
69663
+ Zge as ae,
69666
69664
  bi as af,
69667
69665
  cN as ag,
69668
69666
  uN as ah,
@@ -69686,27 +69684,27 @@ export {
69686
69684
  ub as az,
69687
69685
  a4 as b,
69688
69686
  NR as c,
69689
- c1e as d,
69690
- Hge as e,
69691
- jge as f,
69687
+ l1e as d,
69688
+ jge as e,
69689
+ Bge as f,
69692
69690
  lz as g,
69693
69691
  g$ as h,
69694
69692
  O$ as i,
69695
69693
  _$ as j,
69696
69694
  c$ as k,
69697
69695
  oo as l,
69698
- $ge as m,
69699
- zge as n,
69696
+ Fge as m,
69697
+ $ge as n,
69700
69698
  eoe as o,
69701
69699
  l4 as p,
69702
69700
  eN as q,
69703
- Tge as r,
69704
- Nge as s,
69705
- Oge as t,
69701
+ Age as r,
69702
+ Tge as s,
69703
+ Nge as t,
69706
69704
  xR as u,
69707
- Mge as v,
69708
- Dge as w,
69709
- Ige as x,
69710
- Pge as y,
69711
- Rge as z
69705
+ Oge as v,
69706
+ Mge as w,
69707
+ Dge as x,
69708
+ Ige as y,
69709
+ Pge as z
69712
69710
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factorialco/f0-react",
3
- "version": "4.26.0",
3
+ "version": "4.27.0",
4
4
  "private": false,
5
5
  "files": [
6
6
  "assets",