@realtek/core-theme 0.0.138 → 0.0.140

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-lib/index.js CHANGED
@@ -5095,7 +5095,7 @@ async function Yl({ limit: e = 10, offset: t = 0, search: n = "", module: r = ""
5095
5095
  return n && s.append("search", n), r && s.append("module", r), i && s.append("keyword", i), a && s.append("tags", a), o != null && o !== "" && s.append("active", String(o)), Gl(`/lms-flows?${s.toString()}`);
5096
5096
  }
5097
5097
  async function Xl(e, t = 10, n = 0, r = {}) {
5098
- let { scope: i = "", sort: a = "", sortDir: o = "", filters: s = [] } = r;
5098
+ let { scope: i = "", sort: a = "", sortDir: o = "", search: s = "", filters: c = [] } = r;
5099
5099
  if (e === jl) {
5100
5100
  let e = await Jl({
5101
5101
  limit: t,
@@ -5130,33 +5130,33 @@ async function Xl(e, t = 10, n = 0, r = {}) {
5130
5130
  }]
5131
5131
  };
5132
5132
  }
5133
- let c = new URLSearchParams({
5133
+ let l = new URLSearchParams({
5134
5134
  module: e,
5135
5135
  limit: String(t),
5136
5136
  offset: String(n)
5137
- }), l = String(i ?? "").trim();
5138
- a && c.set("sort", a), o && c.set("sortDir", o);
5139
- let u = nu(s.filter((e) => e?.field));
5140
- u.length && c.set("filters", JSON.stringify(u));
5141
- let d = await Hl(b, `/module-data-list?${c.toString()}`), f = Zl(d), p = f.some((e) => eu(e)), m = f.some((e) => tu(e));
5142
- if (p || m) try {
5143
- let { transformDiceResponseToInternalFormat: e } = await Promise.resolve().then(() => ui), r = e(d, d), i = r?.data?.data ?? [];
5137
+ }), u = String(i ?? "").trim();
5138
+ u && l.set("scope", u), a && l.set("sort", a), o && l.set("sortDir", o), String(s ?? "").trim() && l.set("search", String(s).trim());
5139
+ let d = nu(c.filter((e) => e?.field));
5140
+ d.length && l.set("filters", JSON.stringify(d));
5141
+ let f = await Hl(b, `/module-data-list?${l.toString()}`), p = Zl(f), m = p.some((e) => eu(e)), h = p.some((e) => tu(e));
5142
+ if (m || h) try {
5143
+ let { transformDiceResponseToInternalFormat: e } = await Promise.resolve().then(() => ui), r = e(f, f), i = r?.data?.data ?? [];
5144
5144
  return {
5145
5145
  items: i,
5146
- total: $l(d, l) || $l(r, l) || i.length,
5146
+ total: $l(f, u) || $l(r, u) || i.length,
5147
5147
  limit: t,
5148
5148
  offset: n,
5149
- tabs: r?.data?.tabs ?? d?.tabs ?? d?.data?.tabs ?? [],
5150
- fields: r?.data?.fields ?? d?.fields ?? d?.data?.fields ?? [],
5151
- tabField: r?.data?.tabField ?? d?.tabField ?? d?.data?.tabField ?? "",
5152
- actionRules: r?.data?.actionRules ?? d?.data?.actionRules ?? [],
5153
- actions: r?.data?.actions ?? d?.data?.actions ?? [],
5154
- columnActions: r?.data?.columnActions ?? d?.data?.columnActions ?? []
5149
+ tabs: r?.data?.tabs ?? f?.tabs ?? f?.data?.tabs ?? [],
5150
+ fields: r?.data?.fields ?? f?.fields ?? f?.data?.fields ?? [],
5151
+ tabField: r?.data?.tabField ?? f?.tabField ?? f?.data?.tabField ?? "",
5152
+ actionRules: r?.data?.actionRules ?? f?.data?.actionRules ?? [],
5153
+ actions: r?.data?.actions ?? f?.data?.actions ?? [],
5154
+ columnActions: r?.data?.columnActions ?? f?.data?.columnActions ?? []
5155
5155
  };
5156
5156
  } catch (e) {
5157
5157
  console.error("[getModuleDataList] Dice transformation failed:", e);
5158
5158
  }
5159
- return d;
5159
+ return f;
5160
5160
  }
5161
5161
  function Zl(e) {
5162
5162
  let t = e?.data ?? e, n = Array.isArray(t) ? t : t?.rows ?? t?.records ?? t?.items ?? t?.list ?? t?.data ?? e?.items ?? e?.records ?? [];
@@ -7563,13 +7563,13 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7563
7563
  U,
7564
7564
  Ze,
7565
7565
  m
7566
- ]), Ut = Ht?.field ?? Ht?.fieldName ?? Ht?.filterField ?? Ht?.dataIndex ?? tt, Wt = $f(U) ? "" : U, Gt = !Wt && !$f(U) && Zf(Ut).length > 0, Kt = K.trim().length >= 3, qt = Ce.some((e) => e.field), Jt = mp({
7566
+ ]), Ut = Ht?.field ?? Ht?.fieldName ?? Ht?.filterField ?? Ht?.dataIndex ?? tt, Wt = $f(U) ? "" : U, Gt = !Wt && !$f(U) && Zf(Ut).length > 0, Kt = K.trim().length >= 3, qt = Kt ? K.trim() : "", Jt = Ce.some((e) => e.field), Xt = mp({
7567
7567
  moduleName: e,
7568
7568
  activeTabScope: Wt,
7569
7569
  pageSize: Me.pageSize,
7570
7570
  sort: Pe.sort,
7571
7571
  sortDir: Pe.sortDir
7572
- }), Xt = Me.current === 1 && ft?.key === Jt;
7572
+ }), Zt = Me.current === 1 && ft?.key === Xt;
7573
7573
  D(() => {
7574
7574
  if (gt) return;
7575
7575
  if (!jt) {
@@ -7577,16 +7577,17 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7577
7577
  return;
7578
7578
  }
7579
7579
  let t = !1, n = Kt && Je > Me.pageSize, r = n ? Je : Me.pageSize, i = n ? 0 : (Me.current - 1) * Me.pageSize;
7580
- return ct(!(!Kt && !qt && Me.current === 1 && Xt)), dt(null), ce(e, r, i, {
7580
+ return ct(!(!Kt && !Jt && Me.current === 1 && Zt)), dt(null), ce(e, r, i, {
7581
7581
  scope: Wt,
7582
7582
  sort: Pe.sort,
7583
7583
  sortDir: Pe.sortDir,
7584
+ search: qt,
7584
7585
  filters: Ce
7585
7586
  }).then((n) => {
7586
7587
  if (t) return;
7587
7588
  let { rows: r, total: i, tabs: a, fields: o, tabField: s, actions: c, actionRules: l } = le(n, e);
7588
- qe(r), Ye(i), Qe(a), et(o), nt(s), it(c), ot(l), !Kt && !qt && Me.current === 1 && pt({
7589
- key: Jt,
7589
+ qe(r), Ye(i), Qe(a), et(o), nt(s), it(c), ot(l), !Kt && !Jt && Me.current === 1 && pt({
7590
+ key: Xt,
7590
7591
  rows: r,
7591
7592
  total: i,
7592
7593
  tabs: a,
@@ -7603,14 +7604,15 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7603
7604
  t = !0;
7604
7605
  };
7605
7606
  }, [
7607
+ qt,
7606
7608
  Wt,
7607
7609
  Ce,
7608
- Jt,
7610
+ Xt,
7609
7611
  ce,
7610
- qt,
7612
+ Jt,
7611
7613
  Kt,
7612
7614
  jt,
7613
- Xt,
7615
+ Zt,
7614
7616
  e,
7615
7617
  Je,
7616
7618
  Me.current,
@@ -7620,7 +7622,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7620
7622
  Pe.sort,
7621
7623
  Pe.sortDir
7622
7624
  ]);
7623
- let Zt = O(() => {
7625
+ let Qt = O(() => {
7624
7626
  let e = gt && Array.isArray(g) && g.length, t = !gt && Array.isArray($e) && $e.length, n = !zt && Array.isArray(Lt) && Lt.length, r = e ? g : t ? $e : n ? Lt : [], i = new Map($e.map((e) => [of(e), e]).filter(([e]) => e));
7625
7627
  return If(r.map((e) => {
7626
7628
  let t = of(e), n = i.get(t) ?? {};
@@ -7637,65 +7639,65 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7637
7639
  g,
7638
7640
  gt,
7639
7641
  $e
7640
- ]), Qt = O(() => Zt.filter((e) => typeof e.isVisible == "boolean" ? e.isVisible : typeof e.isVisible == "string" ? e.isVisible.toLowerCase() === "true" : !0).map((e) => ({
7642
+ ]), $t = O(() => Qt.filter((e) => typeof e.isVisible == "boolean" ? e.isVisible : typeof e.isVisible == "string" ? e.isVisible.toLowerCase() === "true" : !0).map((e) => ({
7641
7643
  key: e.key,
7642
7644
  label: e.label
7643
- })), [Zt]), $t = Qt.map((e) => e.key), en = Ie.filter((e) => $t.includes(e)), tn = en.length ? en : Qt.slice(0, 6).map((e) => e.key), nn = Math.min(6, Qt.length), rn = tn.length > 6, an = O(() => Zt.filter((e) => !e.cardHidden && (e.tableHidden || tn.includes(e.key))), [Zt, tn]), on = O(() => {
7644
- let e = ve.toLowerCase(), t = vt, n = Gt ? t.filter((e) => ep(e, U, Ht, Zt, Ut)) : t;
7645
- return !e || e.length < 3 ? n : n.filter((t) => Zt.some((n) => String(mf(t, n.key)).toLowerCase().includes(e)));
7645
+ })), [Qt]), en = $t.map((e) => e.key), tn = Ie.filter((e) => en.includes(e)), nn = tn.length ? tn : $t.slice(0, 6).map((e) => e.key), rn = Math.min(6, $t.length), an = nn.length > 6, on = O(() => Qt.filter((e) => !e.cardHidden && (e.tableHidden || nn.includes(e.key))), [Qt, nn]), sn = O(() => {
7646
+ let e = ve.toLowerCase(), t = vt, n = Gt ? t.filter((e) => ep(e, U, Ht, Qt, Ut)) : t;
7647
+ return !e || e.length < 3 ? n : n.filter((t) => Qt.some((n) => String(mf(t, n.key)).toLowerCase().includes(e) || Hf(n).some((n) => String(mf(t, n)).toLowerCase().includes(e))));
7646
7648
  }, [
7647
7649
  U,
7648
7650
  Ht,
7649
7651
  Ut,
7650
7652
  Gt,
7651
7653
  vt,
7652
- Zt,
7654
+ Qt,
7653
7655
  ve
7654
- ]), sn = O(() => {
7655
- if (!Kt) return on;
7656
+ ]), cn = O(() => {
7657
+ if (!Kt) return sn;
7656
7658
  let e = (Me.current - 1) * Me.pageSize;
7657
- return on.slice(e, e + Me.pageSize);
7659
+ return sn.slice(e, e + Me.pageSize);
7658
7660
  }, [
7659
- on,
7661
+ sn,
7660
7662
  Kt,
7661
7663
  Me.current,
7662
7664
  Me.pageSize
7663
- ]), cn = Kt ? on.length : yt, ln = K.trim().length >= 3, fn = String(on.length).padStart(2, "0"), mn = yt > 0 || vt.length > 0, hn = jt ? lt ? "Invalid module name or data could not be loaded." : zt ? "Field configuration failed to load." : "No data found." : "Please provide a module name to view data.", gn = O(() => {
7665
+ ]), ln = Kt ? sn.length : yt, fn = K.trim().length >= 3, mn = String(sn.length).padStart(2, "0"), hn = yt > 0 || vt.length > 0, gn = jt ? lt ? "Invalid module name or data could not be loaded." : zt ? "Field configuration failed to load." : "No data found." : "Please provide a module name to view data.", _n = O(() => {
7664
7666
  let t = Array.isArray(m) ? m : [];
7665
7667
  return t.length ? t : Ze.length ? Ze : [{
7666
7668
  key: "all",
7667
7669
  title: e ?? "List",
7668
- count: cn
7670
+ count: ln
7669
7671
  }];
7670
7672
  }, [
7671
7673
  e,
7672
7674
  Ze,
7673
- cn,
7675
+ ln,
7674
7676
  m
7675
7677
  ]);
7676
7678
  D(() => {
7677
- if (gn.length && !gn.some((e) => String(e?.key ?? e?.value ?? e?.id) === U)) {
7678
- let e = gn[0]?.key ?? gn[0]?.value ?? gn[0]?.id;
7679
+ if (_n.length && !_n.some((e) => String(e?.key ?? e?.value ?? e?.id) === U)) {
7680
+ let e = _n[0]?.key ?? _n[0]?.value ?? _n[0]?.id;
7679
7681
  e && W(String(e));
7680
7682
  }
7681
- }, [U, gn]), D(() => {
7682
- if (!gt || !B || !gn.length) return;
7683
- let e = gn.find((e, t) => Zf(Qf(e, t)) === Zf(B)), t = e ? String(Qf(e)) : "";
7683
+ }, [U, _n]), D(() => {
7684
+ if (!gt || !B || !_n.length) return;
7685
+ let e = _n.find((e, t) => Zf(Qf(e, t)) === Zf(B)), t = e ? String(Qf(e)) : "";
7684
7686
  t && t !== U && W(t);
7685
7687
  }, [
7686
7688
  U,
7687
7689
  gt,
7688
- gn,
7690
+ _n,
7689
7691
  B
7690
7692
  ]);
7691
- let _n = (t) => {
7693
+ let vn = (t) => {
7692
7694
  ue("/popup/preview", { state: {
7693
7695
  background: H,
7694
7696
  moduleName: e,
7695
7697
  record: t,
7696
- fields: Zt
7698
+ fields: Qt
7697
7699
  } });
7698
- }, vn = (t, n) => {
7700
+ }, yn = (t, n) => {
7699
7701
  let r = Cf(t, n), i = r.startsWith("/") ? r : `/${r}`, a = n?._id ?? n?.id;
7700
7702
  ue(i, { state: {
7701
7703
  background: H,
@@ -7705,7 +7707,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7705
7707
  popupContext: {},
7706
7708
  popupAction: {}
7707
7709
  } });
7708
- }, yn = O(() => [{
7710
+ }, bn = O(() => [{
7709
7711
  dataIndex: "icons",
7710
7712
  key: "icons",
7711
7713
  visibilityKey: "jobsGroup",
@@ -7718,7 +7720,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7718
7720
  type: "button",
7719
7721
  className: "job-row-eye-button",
7720
7722
  "aria-label": "Preview job",
7721
- onClick: () => _n(t),
7723
+ onClick: () => vn(t),
7722
7724
  children: /* @__PURE__ */ Z("img", {
7723
7725
  src: tf,
7724
7726
  alt: "",
@@ -7729,21 +7731,21 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7729
7731
  children: /* @__PURE__ */ Z(_t, { className: "job-row-linkedin-icon" })
7730
7732
  })]
7731
7733
  })
7732
- }, ...Zt.filter((e) => tn.includes(e.key)).map((e, t) => {
7734
+ }, ...Qt.filter((e) => nn.includes(e.key)).map((e, t) => {
7733
7735
  let n = Pe.sort === e.key ? Pe.sortDir : "";
7734
7736
  return {
7735
7737
  title: pp({
7736
7738
  label: e.label,
7737
7739
  sortDir: n,
7738
- sortable: mn,
7740
+ sortable: hn,
7739
7741
  onSort: () => Bt(e.key)
7740
7742
  }),
7741
7743
  dataIndex: e.key,
7742
7744
  key: e.key,
7743
7745
  fixed: t === 0 ? "left" : void 0,
7744
7746
  ellipsis: { showTitle: !1 },
7745
- width: t === 0 ? 220 : rn ? 180 : Math.max(140, Math.floor(900 / Math.max(tn.length || 1, 1))),
7746
- render: (t, n) => Xf(e, n, K, vn, {
7747
+ width: t === 0 ? 220 : an ? 180 : Math.max(140, Math.floor(900 / Math.max(nn.length || 1, 1))),
7748
+ render: (t, n) => Xf(e, n, K, yn, {
7747
7749
  canAdd: fe,
7748
7750
  canEdit: pe,
7749
7751
  canDelete: me
@@ -7757,27 +7759,27 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7757
7759
  K,
7758
7760
  Tt,
7759
7761
  Bt,
7760
- rn,
7761
- mn,
7762
+ an,
7763
+ hn,
7762
7764
  H,
7763
7765
  e,
7764
7766
  ue,
7765
- Zt,
7767
+ Qt,
7766
7768
  Pe.sort,
7767
7769
  Pe.sortDir,
7768
7770
  kt,
7769
- tn
7770
- ]), bn = E((e) => {
7771
+ nn
7772
+ ]), xn = E((e) => {
7771
7773
  if (W(e), Ee([]), ke([]), It(), gt && typeof se == "function") {
7772
- let t = gn.find((t, n) => String(Qf(t, n)) === e);
7774
+ let t = _n.find((t, n) => String(Qf(t, n)) === e);
7773
7775
  se(t?.key ?? t?.value ?? t?.id ?? e);
7774
7776
  }
7775
7777
  }, [
7776
7778
  gt,
7777
7779
  se,
7778
- gn
7780
+ _n
7779
7781
  ]);
7780
- function xn(t, n, r) {
7782
+ function Sn(t, n, r) {
7781
7783
  let i = Ot.get(String(t));
7782
7784
  if (i && i.actionType !== "group") {
7783
7785
  if (typeof s == "function" && s({
@@ -7834,15 +7836,15 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7834
7836
  }
7835
7837
  }
7836
7838
  }
7837
- function Sn({ key: e }) {
7838
- xn(e, Te, De);
7839
+ function Cn({ key: e }) {
7840
+ Sn(e, Te, De);
7839
7841
  }
7840
- let Cn = tn.length === Qt.length, wn = tn.length > 0 && !Cn, Tn = (e, t) => {
7842
+ let wn = nn.length === $t.length, Tn = nn.length > 0 && !wn, En = (e, t) => {
7841
7843
  Le((n) => {
7842
- let r = Qt.slice(0, 6).map((e) => e.key), i = n.length ? n : r;
7843
- return t ? i.includes(e) ? i : [...i, e] : i.length <= nn ? i : i.filter((t) => t !== e);
7844
+ let r = $t.slice(0, 6).map((e) => e.key), i = n.length ? n : r;
7845
+ return t ? i.includes(e) ? i : [...i, e] : i.length <= rn ? i : i.filter((t) => t !== e);
7844
7846
  });
7845
- }, En = () => {
7847
+ }, Dn = () => {
7846
7848
  if (typeof c == "function") {
7847
7849
  c();
7848
7850
  return;
@@ -7860,16 +7862,16 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7860
7862
  };
7861
7863
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
7862
7864
  }, [mt]);
7863
- let Dn = () => {
7864
- Xt && (qe(ft.rows), Ye(ft.total), Qe(ft.tabs), et(ft.fields), nt(ft.tabField), it(ft.actions ?? []), ot(ft.actionRules ?? []), dt(null), ct(!1));
7865
- }, On = (e) => {
7865
+ let On = () => {
7866
+ Zt && (qe(ft.rows), Ye(ft.total), Qe(ft.tabs), et(ft.fields), nt(ft.tabField), it(ft.actions ?? []), ot(ft.actionRules ?? []), dt(null), ct(!1));
7867
+ }, kn = (e) => {
7866
7868
  let t = e.target.value, n = t.trim().length < 3, r = Ce.some((e) => e.field);
7867
- n && (xe(""), r || Dn()), ye(t), It();
7868
- }, kn = () => {
7869
+ n && (xe(""), r || On()), ye(t), It();
7870
+ }, An = () => {
7869
7871
  let e = ve.trim();
7870
7872
  e.length >= 3 && (xe(e), It());
7871
- }, An = () => {
7872
- Dn(), we([]), Ge([], []), It();
7873
+ }, jn = () => {
7874
+ On(), we([]), Ge([], []), It();
7873
7875
  };
7874
7876
  D(() => {
7875
7877
  Ct === "card" && (Ve([]), Ge([], []));
@@ -7879,25 +7881,25 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7879
7881
  U,
7880
7882
  Ct
7881
7883
  ]);
7882
- let jn = (e) => {
7884
+ let Mn = (e) => {
7883
7885
  Ve((t) => {
7884
7886
  let n = t.includes(e) ? t.filter((t) => t !== e) : [...t, e];
7885
- return Ge(n, sn.filter((e, t) => n.includes(String(tp(e, t, l))))), n;
7887
+ return Ge(n, cn.filter((e, t) => n.includes(String(tp(e, t, l))))), n;
7886
7888
  });
7887
- }, Mn = /* @__PURE__ */ Q("div", {
7889
+ }, Nn = /* @__PURE__ */ Q("div", {
7888
7890
  className: "column-visibility-menu",
7889
7891
  onClick: (e) => e.stopPropagation(),
7890
7892
  children: [/* @__PURE__ */ Z(te, {
7891
- checked: Cn,
7892
- indeterminate: wn,
7893
+ checked: wn,
7894
+ indeterminate: Tn,
7893
7895
  onChange: (e) => {
7894
- Le(e.target.checked ? Qt.map((e) => e.key) : Qt.slice(0, 6).map((e) => e.key));
7896
+ Le(e.target.checked ? $t.map((e) => e.key) : $t.slice(0, 6).map((e) => e.key));
7895
7897
  },
7896
7898
  children: "Select All"
7897
- }), Qt.map((e) => /* @__PURE__ */ Z(te, {
7898
- checked: tn.includes(e.key),
7899
- disabled: tn.includes(e.key) && tn.length <= nn,
7900
- onChange: (t) => Tn(e.key, t.target.checked),
7899
+ }), $t.map((e) => /* @__PURE__ */ Z(te, {
7900
+ checked: nn.includes(e.key),
7901
+ disabled: nn.includes(e.key) && nn.length <= rn,
7902
+ onChange: (t) => En(e.key, t.target.checked),
7901
7903
  children: e.label
7902
7904
  }, e.key))]
7903
7905
  });
@@ -7915,18 +7917,18 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7915
7917
  justify: "space-between",
7916
7918
  children: [/* @__PURE__ */ Z(hd, {
7917
7919
  activeKey: U,
7918
- tabs: gn,
7919
- onChange: bn
7920
+ tabs: _n,
7921
+ onChange: xn
7920
7922
  }), /* @__PURE__ */ Q(oe, {
7921
7923
  align: "center",
7922
7924
  gap: 8,
7923
7925
  children: [
7924
- mn && /* @__PURE__ */ Z(V, {
7926
+ hn && /* @__PURE__ */ Z(V, {
7925
7927
  prefix: /* @__PURE__ */ Z(Ft, { className: "job-search-icon" }),
7926
7928
  placeholder: "Min 3 Chars, press Enter to search",
7927
7929
  value: ve,
7928
- onChange: On,
7929
- onPressEnter: kn,
7930
+ onChange: kn,
7931
+ onPressEnter: An,
7930
7932
  allowClear: !0,
7931
7933
  className: "job-search-input"
7932
7934
  }),
@@ -7941,7 +7943,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7941
7943
  }
7942
7944
  })
7943
7945
  }),
7944
- mn && /* @__PURE__ */ Z(J, {
7946
+ hn && /* @__PURE__ */ Z(J, {
7945
7947
  title: "Filter",
7946
7948
  children: /* @__PURE__ */ Z(ee, {
7947
7949
  count: Ce.filter((e) => e.field && bp(e)).length,
@@ -7955,7 +7957,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7955
7957
  })
7956
7958
  })
7957
7959
  }),
7958
- j && mn && /* @__PURE__ */ Q(oe, {
7960
+ j && hn && /* @__PURE__ */ Q(oe, {
7959
7961
  align: "center",
7960
7962
  gap: 6,
7961
7963
  children: [/* @__PURE__ */ Z(J, {
@@ -7978,17 +7980,17 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7978
7980
  })
7979
7981
  })]
7980
7982
  }),
7981
- d && mn && /* @__PURE__ */ Z(F, {
7983
+ d && hn && /* @__PURE__ */ Z(F, {
7982
7984
  className: "job-summary-button",
7983
7985
  type: "primary",
7984
- onClick: En,
7986
+ onClick: Dn,
7985
7987
  children: f
7986
7988
  })
7987
7989
  ]
7988
7990
  })]
7989
7991
  })
7990
7992
  }),
7991
- mn && /* @__PURE__ */ Z(X, { children: /* @__PURE__ */ Z(I, {
7993
+ hn && /* @__PURE__ */ Z(X, { children: /* @__PURE__ */ Z(I, {
7992
7994
  className: "job-toolbar-card",
7993
7995
  children: /* @__PURE__ */ Q(oe, {
7994
7996
  className: "p-flex",
@@ -7999,14 +8001,14 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
7999
8001
  gap: 3,
8000
8002
  children: [
8001
8003
  Ct === "card" && /* @__PURE__ */ Z(te, {
8002
- checked: sn.length > 0 && Be.length >= sn.length,
8003
- indeterminate: Be.length > 0 && Be.length < sn.length,
8004
+ checked: cn.length > 0 && Be.length >= cn.length,
8005
+ indeterminate: Be.length > 0 && Be.length < cn.length,
8004
8006
  className: "param-card-view__select-all",
8005
8007
  onChange: () => {
8006
8008
  if (Be.length > 0) Ve([]), Ge([], []);
8007
8009
  else {
8008
- let e = sn.map((e, t) => String(tp(e, t, l)));
8009
- Ve(e), Ge(e, [...sn]);
8010
+ let e = cn.map((e, t) => String(tp(e, t, l)));
8011
+ Ve(e), Ge(e, [...cn]);
8010
8012
  }
8011
8013
  },
8012
8014
  children: "Select All"
@@ -8015,7 +8017,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8015
8017
  open: Re,
8016
8018
  onOpenChange: ze,
8017
8019
  trigger: ["click"],
8018
- dropdownRender: () => Mn,
8020
+ dropdownRender: () => Nn,
8019
8021
  placement: "bottomLeft",
8020
8022
  overlayClassName: "column-visibility-dropdown",
8021
8023
  children: /* @__PURE__ */ Z(F, {
@@ -8034,7 +8036,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8034
8036
  At.length > 0 && Te.length > 0 && /* @__PURE__ */ Z(ae, {
8035
8037
  menu: {
8036
8038
  items: At.map(op),
8037
- onClick: Sn
8039
+ onClick: Cn
8038
8040
  },
8039
8041
  trigger: ["click"],
8040
8042
  children: /* @__PURE__ */ Q(F, {
@@ -8061,28 +8063,28 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8061
8063
  ]
8062
8064
  })
8063
8065
  ]
8064
- }), ln && /* @__PURE__ */ Q(rf, {
8066
+ }), fn && /* @__PURE__ */ Q(rf, {
8065
8067
  className: "job-search-results-count",
8066
8068
  children: [
8067
8069
  "Search Results (",
8068
- fn,
8070
+ mn,
8069
8071
  ")"
8070
8072
  ]
8071
8073
  })]
8072
8074
  })
8073
8075
  }) }),
8074
- qt && /* @__PURE__ */ Z(Cp, {
8076
+ Jt && /* @__PURE__ */ Z(Cp, {
8075
8077
  filters: Ce,
8076
8078
  onRemove: (e) => {
8077
8079
  we(Ce.filter((t, n) => n !== e)), It();
8078
8080
  },
8079
- onClearAll: An
8081
+ onClearAll: jn
8080
8082
  }),
8081
8083
  /* @__PURE__ */ Z(_e, {
8082
8084
  spinning: gt ? v : Rt || st,
8083
- children: Ct === "card" ? sn.length === 0 ? /* @__PURE__ */ Z(z, {
8085
+ children: Ct === "card" ? cn.length === 0 ? /* @__PURE__ */ Z(z, {
8084
8086
  image: z.PRESENTED_IMAGE_SIMPLE,
8085
- description: hn,
8087
+ description: gn,
8086
8088
  className: "param-card-view__empty",
8087
8089
  children: !gt && fe && Mt && !lt && /* @__PURE__ */ Z(F, {
8088
8090
  type: "primary",
@@ -8092,16 +8094,16 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8092
8094
  })
8093
8095
  }) : /* @__PURE__ */ Z("div", {
8094
8096
  className: "param-card-view__grid",
8095
- children: sn.map((e, t) => {
8097
+ children: cn.map((e, t) => {
8096
8098
  let n = String(tp(e, t, l));
8097
8099
  return /* @__PURE__ */ Z(yp, {
8098
8100
  record: e,
8099
- fields: an,
8101
+ fields: on,
8100
8102
  selected: re === "checkbox" ? Be.includes(n) : Ue(e, t),
8101
8103
  isControlled: gt,
8102
- onPreview: () => _n(e),
8103
- onSelect: () => jn(n),
8104
- onPopupAction: vn,
8104
+ onPreview: () => vn(e),
8105
+ onSelect: () => Mn(n),
8106
+ onPopupAction: yn,
8105
8107
  onRecordClick: L ? () => We(e, t) : void 0,
8106
8108
  selectionMode: re,
8107
8109
  permissions: {
@@ -8112,7 +8114,7 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8112
8114
  }, n);
8113
8115
  })
8114
8116
  }) : /* @__PURE__ */ Z(be, {
8115
- rowSelection: mn && re === "checkbox" ? {
8117
+ rowSelection: hn && re === "checkbox" ? {
8116
8118
  type: "checkbox",
8117
8119
  fixed: !0,
8118
8120
  columnWidth: 48,
@@ -8121,28 +8123,28 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8121
8123
  Ge(e, t);
8122
8124
  },
8123
8125
  columnTitle: (() => {
8124
- let e = sn.length, t = e > 0 && Te.length >= e, n = Te.length > 0 && !t;
8126
+ let e = cn.length, t = e > 0 && Te.length >= e, n = Te.length > 0 && !t;
8125
8127
  return /* @__PURE__ */ Z(te, {
8126
8128
  checked: t,
8127
8129
  indeterminate: n,
8128
8130
  onChange: () => {
8129
- n || t ? Ge([], []) : Ge(sn.map((e, t) => tp(e, t, l)), [...sn]);
8131
+ n || t ? Ge([], []) : Ge(cn.map((e, t) => tp(e, t, l)), [...cn]);
8130
8132
  }
8131
8133
  });
8132
8134
  })()
8133
8135
  } : void 0,
8134
- columns: yn,
8135
- dataSource: sn,
8136
+ columns: bn,
8137
+ dataSource: cn,
8136
8138
  size: "middle",
8137
8139
  tableLayout: "fixed",
8138
8140
  scroll: {
8139
- x: rn || gt ? "max-content" : void 0,
8141
+ x: an || gt ? "max-content" : void 0,
8140
8142
  y: "calc(100vh - 300px)"
8141
8143
  },
8142
8144
  pagination: !1,
8143
8145
  locale: { emptyText: /* @__PURE__ */ Z(z, {
8144
8146
  image: z.PRESENTED_IMAGE_SIMPLE,
8145
- description: hn
8147
+ description: gn
8146
8148
  }) },
8147
8149
  className: `${h} ${ie ? "list-view-table--compact" : ""}`.trim(),
8148
8150
  onRow: L ? (e, t) => ({
@@ -8155,10 +8157,10 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8155
8157
  rowKey: (e, t) => tp(e, t, l)
8156
8158
  })
8157
8159
  }),
8158
- mn ? /* @__PURE__ */ Z(dd, {
8160
+ hn ? /* @__PURE__ */ Z(dd, {
8159
8161
  current: Me.current,
8160
8162
  pageSize: Me.pageSize,
8161
- total: cn,
8163
+ total: ln,
8162
8164
  onChange: (e, t) => {
8163
8165
  if (gt && typeof C == "function") {
8164
8166
  C(e, t ?? Me.pageSize);
@@ -8185,14 +8187,14 @@ function wp({ moduleName: e, actions: t = [], actionRules: n = [], breadcrumbIte
8185
8187
  onApply: ({ filters: e }) => {
8186
8188
  we(e), It();
8187
8189
  },
8188
- onReset: An
8190
+ onReset: jn
8189
8191
  }),
8190
8192
  /* @__PURE__ */ Z(Vd, {
8191
8193
  moduleName: e,
8192
8194
  open: mt,
8193
8195
  rows: Ke,
8194
- tabs: gn,
8195
- total: cn,
8196
+ tabs: _n,
8197
+ total: ln,
8196
8198
  onClose: () => ht(!1)
8197
8199
  })
8198
8200
  ]
@@ -11202,7 +11204,7 @@ function Uh(e = []) {
11202
11204
  return null;
11203
11205
  }
11204
11206
  function Wh(e = []) {
11205
- return [...e].filter((e) => !Vh(e.hideGroup)).sort((e, t) => Number(e.order ?? 0) - Number(t.order ?? 0)).map((e) => ({
11207
+ return [...e].filter((e) => !Vh(e.hideGroup) && !Vh(e.hideGroupInDetail)).sort((e, t) => Number(e.order ?? 0) - Number(t.order ?? 0)).map((e) => ({
11206
11208
  ...e,
11207
11209
  fields: [...e.fields ?? []].filter((e) => String(e.field ?? "").trim() !== "" && (e.show === void 0 || Vh(e.show))).sort((e, t) => Number(e.order ?? 0) - Number(t.order ?? 0))
11208
11210
  })).filter((e) => e.fields.length);
@@ -20168,7 +20170,7 @@ function Lx(e = []) {
20168
20170
  return r;
20169
20171
  });
20170
20172
  }
20171
- var Rx = new Set(/* @__PURE__ */ "label.field.type.show.req.edit.order.formatter.validations.showOnAdd.addRow.minRows.maxRows.initialRows.addLabel.subFields.placeholder.hidePlaceholder.combineKey.combineLabel.combineRole.combineToggleLabel.combineToggleTarget.combineWidth.combineWrap.combineSpan.defaultOnEdit.emptyValues.valuePaths.clientScope.clientGateMessage.clientGateResetOnChange.visiblePermission.editablePermission.infoEnabled.infoText.helpText.payloadKey.prefillFrom.prefillFromModule.dataType.elementType.payloadMode.valueKey.displayKey.defaultValue.richValue.omitEmpty.payloadTemplate.transformRule.multiple.maxCount.fileKey.fileNameKey.fileUrlKey.accept.showIf.labelWhen.verifyAction.verifyResultField.verifyTimestampField.verifyIdleLabel.verifyRetryLabel.verifySuccessLabel.disabledByField.linkedClearField.autofillFrom.aiActions.validator.dataSource.masterName.groupName.options.multiSelect.lookupCollection.displayField.displayField2.valueField.lookupFilterField.lookupFilterValueFrom.value.documentPreview.displayAs.renderType.renderOptions".split(".")), zx = new Set(/* @__PURE__ */ "module.name.label.addRow.order.fields.hideGroup.moduleName.writeRefs.dependsOn.optionalWrite.appendHistory.historyField.historyTimestampField.minRows.maxRows.initialRows.requireOne.requireValidatedField.linkGroup.infoEnabled.infoText.toggleEnabled.toggleLabel.toggleField.afterSubmit.afterSubmitMode.afterSubmitTarget.submitMessages.submitMsgAddSuccess.submitMsgEditSuccess.submitMsgAddError.submitMsgEditError.submitMsgSuppress.id._id.rows.toggleValue".split("."));
20173
+ var Rx = new Set(/* @__PURE__ */ "label.field.type.show.req.edit.order.formatter.validations.showOnAdd.addRow.minRows.maxRows.initialRows.addLabel.subFields.placeholder.hidePlaceholder.combineKey.combineLabel.combineRole.combineToggleLabel.combineToggleTarget.combineWidth.combineWrap.combineSpan.defaultOnEdit.emptyValues.valuePaths.clientScope.clientGateMessage.clientGateResetOnChange.visiblePermission.editablePermission.infoEnabled.infoText.helpText.payloadKey.prefillFrom.prefillFromModule.dataType.elementType.payloadMode.valueKey.displayKey.defaultValue.richValue.omitEmpty.payloadTemplate.transformRule.multiple.maxCount.fileKey.fileNameKey.fileUrlKey.accept.showIf.labelWhen.verifyAction.verifyResultField.verifyTimestampField.verifyIdleLabel.verifyRetryLabel.verifySuccessLabel.disabledByField.linkedClearField.autofillFrom.aiActions.validator.dataSource.masterName.groupName.options.multiSelect.lookupCollection.displayField.displayField2.valueField.lookupFilterField.lookupFilterValueFrom.value.documentPreview.displayAs.renderType.renderOptions".split(".")), zx = new Set(/* @__PURE__ */ "module.name.label.addRow.order.fields.hideGroup.moduleName.writeRefs.dependsOn.optionalWrite.appendHistory.historyField.historyFields.historyTimestampField.minRows.maxRows.initialRows.requireOne.requireValidatedField.linkGroup.infoEnabled.infoText.toggleEnabled.toggleLabel.toggleField.afterSubmit.afterSubmitMode.afterSubmitTarget.submitMessages.submitMsgAddSuccess.submitMsgEditSuccess.submitMsgAddError.submitMsgEditError.submitMsgSuppress.id._id.rows.toggleValue".split("."));
20172
20174
  function Bx(e) {
20173
20175
  return {
20174
20176
  ...e,
@@ -22719,7 +22721,7 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
22719
22721
  dependsOn: t.dependsOn ?? [],
22720
22722
  optionalWrite: t.optionalWrite ?? !1,
22721
22723
  appendHistory: t.appendHistory ?? !1,
22722
- historyField: t.historyField ?? "",
22724
+ historyField: [t.historyField, ...t.historyFields ?? []].filter(Boolean).filter((e, t, n) => n.indexOf(e) === t).join(", "),
22723
22725
  historyTimestampField: t.historyTimestampField ?? "",
22724
22726
  minRows: t.minRows ?? "",
22725
22727
  maxRows: t.maxRows ?? "",
@@ -22846,9 +22848,10 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
22846
22848
  let t = (n.dependsOn ?? []).map((e) => String(e).trim()).filter(Boolean);
22847
22849
  t.length && (r.dependsOn = t), n.optionalWrite && (r.optionalWrite = !0);
22848
22850
  }
22849
- n.appendHistory && String(n.historyField ?? "").trim() && (r.appendHistory = !0, r.historyField = n.historyField.trim(), String(n.historyTimestampField ?? "").trim() && (r.historyTimestampField = n.historyTimestampField.trim())), n.addRow && n.minRows !== void 0 && n.minRows !== "" && (r.minRows = Number(n.minRows)), n.addRow && n.initialRows !== void 0 && n.initialRows !== "" && (r.initialRows = Number(n.initialRows)), n.addRow && n.maxRows !== void 0 && n.maxRows !== "" && (r.maxRows = Number(n.maxRows)), n.addRow && String(n.requireValidatedField ?? "").trim() && (r.requireValidatedField = n.requireValidatedField.trim()), n.addRow && n.requireOne && (r.requireOne = !0), n.addRow && n.linkGroup && (r.linkGroup = n.linkGroup.trim()), n.infoEnabled && n.infoText && (r.infoEnabled = !0, r.infoText = n.infoText), n.toggleEnabled && n.toggleField && (r.toggleEnabled = !0, r.toggleLabel = n.toggleLabel || "Toggle", r.toggleField = n.toggleField), n.afterSubmitMode && (r.afterSubmit = { mode: n.afterSubmitMode }, (n.afterSubmitMode === "route" || n.afterSubmitMode === "detail") && (r.afterSubmit.target = (n.afterSubmitTarget || "").trim()));
22850
- let i = {};
22851
- if ((n.submitMsgAddSuccess || "").trim() && (i.addSuccess = n.submitMsgAddSuccess.trim()), (n.submitMsgEditSuccess || "").trim() && (i.editSuccess = n.submitMsgEditSuccess.trim()), (n.submitMsgAddError || "").trim() && (i.addError = n.submitMsgAddError.trim()), (n.submitMsgEditError || "").trim() && (i.editError = n.submitMsgEditError.trim()), n.submitMsgSuppress && (i.suppress = !0), Object.keys(i).length && (r.submitMessages = i), t) for (let [e, n] of Object.entries(t)) n == null || n === "" || e in r || zx.has(e) || (r[e] = n);
22851
+ let i = String(n.historyField ?? "").split(",").map((e) => e.trim()).filter(Boolean).filter((e, t, n) => n.indexOf(e) === t);
22852
+ n.appendHistory && i.length && (r.appendHistory = !0, r.historyField = i[0], i.length > 1 && (r.historyFields = i.slice(1)), String(n.historyTimestampField ?? "").trim() && (r.historyTimestampField = n.historyTimestampField.trim())), n.addRow && n.minRows !== void 0 && n.minRows !== "" && (r.minRows = Number(n.minRows)), n.addRow && n.initialRows !== void 0 && n.initialRows !== "" && (r.initialRows = Number(n.initialRows)), n.addRow && n.maxRows !== void 0 && n.maxRows !== "" && (r.maxRows = Number(n.maxRows)), n.addRow && String(n.requireValidatedField ?? "").trim() && (r.requireValidatedField = n.requireValidatedField.trim()), n.addRow && n.requireOne && (r.requireOne = !0), n.addRow && n.linkGroup && (r.linkGroup = n.linkGroup.trim()), n.infoEnabled && n.infoText && (r.infoEnabled = !0, r.infoText = n.infoText), n.toggleEnabled && n.toggleField && (r.toggleEnabled = !0, r.toggleLabel = n.toggleLabel || "Toggle", r.toggleField = n.toggleField), n.afterSubmitMode && (r.afterSubmit = { mode: n.afterSubmitMode }, (n.afterSubmitMode === "route" || n.afterSubmitMode === "detail") && (r.afterSubmit.target = (n.afterSubmitTarget || "").trim()));
22853
+ let a = {};
22854
+ if ((n.submitMsgAddSuccess || "").trim() && (a.addSuccess = n.submitMsgAddSuccess.trim()), (n.submitMsgEditSuccess || "").trim() && (a.editSuccess = n.submitMsgEditSuccess.trim()), (n.submitMsgAddError || "").trim() && (a.addError = n.submitMsgAddError.trim()), (n.submitMsgEditError || "").trim() && (a.editError = n.submitMsgEditError.trim()), n.submitMsgSuppress && (a.suppress = !0), Object.keys(a).length && (r.submitMessages = a), t) for (let [e, n] of Object.entries(t)) n == null || n === "" || e in r || zx.has(e) || (r[e] = n);
22852
22855
  s ? (await s(r, t), Y.success(t ? "Group updated" : "Group created")) : t ? (await sa(t.id, r), Y.success("Group updated")) : (await oa(r), Y.success("Group created")), S(/* @__PURE__ */ new Set()), w("settings"), E(!1), o();
22853
22856
  } catch (e) {
22854
22857
  if (e?.errorFields) return;
@@ -23128,12 +23131,12 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
23128
23131
  required: !0,
23129
23132
  message: "Required"
23130
23133
  }],
23131
- tooltip: "The record key holding the array — usually the shared prefix this group's own fields already write through (e.g. this group's fields are proposedRate.candidateProposedRate, array field is proposedRate).",
23134
+ tooltip: "The record key(s) holding the append-only array(s) — usually the prefix(es) this group's own fields already write through. Comma-separate to keep an independent history per prefix, e.g. candidateBudget, proposedRate, referralRate.",
23132
23135
  style: { marginBottom: 0 },
23133
23136
  children: /* @__PURE__ */ Z(V, {
23134
23137
  size: "small",
23135
- placeholder: "e.g. proposedRate",
23136
- style: { width: 200 },
23138
+ placeholder: "e.g. proposedRate, candidateBudget",
23139
+ style: { width: 240 },
23137
23140
  className: "fg-mono-input"
23138
23141
  })
23139
23142
  }), /* @__PURE__ */ Z(B.Item, {
@@ -26084,30 +26087,37 @@ function gS() {
26084
26087
  function oe(e) {
26085
26088
  I(Qx[e]);
26086
26089
  }
26087
- async function B(e, t) {
26088
- let n = o;
26089
- s((n) => n.map((n) => n.id === e.id ? {
26090
+ async function B(e, t, n, r) {
26091
+ let i = o;
26092
+ s((r) => r.map((r) => r.id === e.id ? {
26093
+ ...r,
26094
+ [t]: n
26095
+ } : r)), R((n) => ({
26090
26096
  ...n,
26091
- hideGroup: t
26092
- } : n)), R((t) => ({
26093
- ...t,
26094
- [e.id]: !0
26097
+ [`${e.id}:${t}`]: !0
26095
26098
  }));
26096
26099
  try {
26097
26100
  await sa(e.id, {
26098
26101
  ...e,
26099
- hideGroup: t
26100
- }), Y.success(t ? "Group hidden from add/edit forms and the detail view" : "Group is visible again");
26102
+ [t]: n
26103
+ }), Y.success(n ? r.on : r.off);
26101
26104
  } catch (e) {
26102
- s(n), Y.error(e?.message || "Could not update group visibility");
26105
+ s(i), Y.error(e?.message || "Could not update group visibility");
26103
26106
  } finally {
26104
- R((t) => {
26105
- let n = { ...t };
26106
- return delete n[e.id], n;
26107
+ R((n) => {
26108
+ let r = { ...n };
26109
+ return delete r[`${e.id}:${t}`], r;
26107
26110
  });
26108
26111
  }
26109
26112
  }
26110
- function se() {
26113
+ let se = (e, t) => B(e, "hideGroup", t, {
26114
+ on: "Group hidden from add/edit forms and the detail view",
26115
+ off: "Group is visible again"
26116
+ }), ce = (e, t) => B(e, "hideGroupInDetail", t, {
26117
+ on: "Group hidden from the detail view only — add/edit forms keep it",
26118
+ off: "Group is visible in the detail view again"
26119
+ });
26120
+ function le() {
26111
26121
  I(null), L((e) => e + 1);
26112
26122
  }
26113
26123
  D(() => {
@@ -26143,11 +26153,11 @@ function gS() {
26143
26153
  e = !0;
26144
26154
  };
26145
26155
  }, [i, te]);
26146
- let ce = O(() => c.map((e) => ({
26156
+ let ue = O(() => c.map((e) => ({
26147
26157
  value: e.key,
26148
26158
  label: `${e.label} (${e.key})`
26149
26159
  })), [c]);
26150
- async function le() {
26160
+ async function H() {
26151
26161
  x(!0);
26152
26162
  try {
26153
26163
  let e = Object.entries(f).map(([e, t]) => iS(e, t)).filter(Boolean), { nextGroups: t, changed: n } = sS(o, f);
@@ -26165,7 +26175,7 @@ function gS() {
26165
26175
  x(!1);
26166
26176
  }
26167
26177
  }
26168
- function ue(e) {
26178
+ function de(e) {
26169
26179
  p((t) => ({
26170
26180
  ...t,
26171
26181
  [S.key]: {
@@ -26174,19 +26184,19 @@ function gS() {
26174
26184
  }
26175
26185
  })), C(null);
26176
26186
  }
26177
- function H(e) {
26187
+ function fe(e) {
26178
26188
  p((t) => {
26179
26189
  let n = { ...t };
26180
26190
  return delete n[e], n;
26181
26191
  });
26182
26192
  }
26183
- function de(e) {
26193
+ function pe(e) {
26184
26194
  h((t) => {
26185
26195
  let n = [...t];
26186
26196
  return w.index === null ? n.push(e) : n[w.index] = e, n;
26187
26197
  }), T(null);
26188
26198
  }
26189
- function fe(e, t) {
26199
+ function me(e, t) {
26190
26200
  p((n) => {
26191
26201
  let r = n[e] ?? { field: e };
26192
26202
  return {
@@ -26198,7 +26208,7 @@ function gS() {
26198
26208
  };
26199
26209
  });
26200
26210
  }
26201
- let pe = (e) => {
26211
+ let he = (e) => {
26202
26212
  if (!e) return null;
26203
26213
  let t = [];
26204
26214
  e.label && t.push(/* @__PURE__ */ Z(q, {
@@ -26229,7 +26239,7 @@ function gS() {
26229
26239
  style: { fontSize: 12 },
26230
26240
  children: "—"
26231
26241
  });
26232
- }, me = [
26242
+ }, ge = [
26233
26243
  {
26234
26244
  title: "Group",
26235
26245
  dataIndex: "label",
@@ -26302,12 +26312,29 @@ function gS() {
26302
26312
  checkedChildren: "Hide",
26303
26313
  unCheckedChildren: "Show",
26304
26314
  checked: nS(t.hideGroup),
26305
- loading: !!ie[t.id],
26306
- onChange: (e) => B(t, e)
26315
+ loading: !!ie[`${t.id}:hideGroup`],
26316
+ onChange: (e) => se(t, e)
26317
+ })
26318
+ })
26319
+ },
26320
+ {
26321
+ title: "Hide in Detail",
26322
+ key: "hideGroupInDetail",
26323
+ width: 120,
26324
+ align: "center",
26325
+ render: (e, t) => /* @__PURE__ */ Z(J, {
26326
+ title: nS(t.hideGroupInDetail) ? "Hidden from the DETAIL VIEW only — the add/edit forms still show this group" : "Shown in the detail view. Hide here to remove it from the detail view without touching the forms",
26327
+ children: /* @__PURE__ */ Z(K, {
26328
+ size: "small",
26329
+ checkedChildren: "Hide",
26330
+ unCheckedChildren: "Show",
26331
+ checked: nS(t.hideGroupInDetail),
26332
+ loading: !!ie[`${t.id}:hideGroupInDetail`],
26333
+ onChange: (e) => ce(t, e)
26307
26334
  })
26308
26335
  })
26309
26336
  }
26310
- ], he = (e) => {
26337
+ ], U = (e) => {
26311
26338
  let t = e.fields ?? [];
26312
26339
  return t.length ? /* @__PURE__ */ Z("div", {
26313
26340
  className: "fg-expanded-fields",
@@ -26350,7 +26377,7 @@ function gS() {
26350
26377
  }),
26351
26378
  /* @__PURE__ */ Z("div", {
26352
26379
  className: "fg-field-row-flags",
26353
- children: pe(n)
26380
+ children: he(n)
26354
26381
  }),
26355
26382
  /* @__PURE__ */ Q(G, {
26356
26383
  size: 4,
@@ -26363,7 +26390,7 @@ function gS() {
26363
26390
  checkedChildren: "Hide",
26364
26391
  unCheckedChildren: "Show",
26365
26392
  checked: r,
26366
- onChange: (e) => fe(t.field, e)
26393
+ onChange: (e) => me(t.field, e)
26367
26394
  })
26368
26395
  }),
26369
26396
  /* @__PURE__ */ Z(J, {
@@ -26382,7 +26409,7 @@ function gS() {
26382
26409
  size: "small",
26383
26410
  danger: !0,
26384
26411
  icon: /* @__PURE__ */ Z(At, {}),
26385
- onClick: () => H(t.field)
26412
+ onClick: () => fe(t.field)
26386
26413
  })
26387
26414
  })
26388
26415
  ]
@@ -26395,7 +26422,7 @@ function gS() {
26395
26422
  style: { fontSize: 12 },
26396
26423
  children: "No fields in this group."
26397
26424
  });
26398
- }, ge = O(() => {
26425
+ }, W = O(() => {
26399
26426
  let e = ne.trim().toLowerCase();
26400
26427
  return [...o].filter((t) => !e || [
26401
26428
  t.label,
@@ -26406,7 +26433,7 @@ function gS() {
26406
26433
  e.type
26407
26434
  ])
26408
26435
  ].some((t) => String(t ?? "").toLowerCase().includes(e))).sort((e, t) => (e.order ?? 0) - (t.order ?? 0));
26409
- }, [o, ne]), U = [
26436
+ }, [o, ne]), ve = [
26410
26437
  {
26411
26438
  title: "Label",
26412
26439
  dataIndex: "label",
@@ -26468,7 +26495,7 @@ function gS() {
26468
26495
  })]
26469
26496
  })
26470
26497
  }
26471
- ], W = e.map((e) => ({
26498
+ ], ye = e.map((e) => ({
26472
26499
  key: e.key,
26473
26500
  label: e.label
26474
26501
  }));
@@ -26531,7 +26558,7 @@ function gS() {
26531
26558
  icon: /* @__PURE__ */ Z(Pt, {}),
26532
26559
  loading: b,
26533
26560
  disabled: !i,
26534
- onClick: le,
26561
+ onClick: H,
26535
26562
  children: "Save Configuration"
26536
26563
  })
26537
26564
  ]
@@ -26539,7 +26566,7 @@ function gS() {
26539
26566
  children: [/* @__PURE__ */ Z("div", { className: "admin-accent-bar" }), /* @__PURE__ */ Z(qx, {
26540
26567
  type: "secondary",
26541
26568
  style: { fontSize: 13 },
26542
- children: "Customize how each module's detail view renders: per-field label, prefix/suffix, colour, capitalization, hide, reference lookups (id → name), and merged display fields. These overrides are applied on top of Form Groups and the add/edit forms are unaffected — except \"Hide Group\", which is the same flag Form Groups uses, so hiding a group here (or there) hides it in both places."
26569
+ children: "Customize how each module's detail view renders: per-field label, prefix/suffix, colour, capitalization, hide, reference lookups (id → name), and merged display fields. These overrides are applied on top of Form Groups and the add/edit forms are unaffected — except \"Hide Group\", which is the same flag Form Groups uses, so hiding a group here (or there) hides it in both places. \"Hide in Detail\" hides the group from the detail view only, leaving the forms untouched."
26543
26570
  })]
26544
26571
  }),
26545
26572
  /* @__PURE__ */ Z(zb, {
@@ -26550,7 +26577,7 @@ function gS() {
26550
26577
  /* @__PURE__ */ Z(xe, {
26551
26578
  activeKey: i,
26552
26579
  onChange: a,
26553
- items: W.map((e) => ({
26580
+ items: ye.map((e) => ({
26554
26581
  ...e,
26555
26582
  children: null
26556
26583
  })),
@@ -26586,13 +26613,13 @@ function gS() {
26586
26613
  }),
26587
26614
  /* @__PURE__ */ Z(be, {
26588
26615
  rowKey: (e) => e.id ?? e.name,
26589
- dataSource: ge,
26590
- columns: me,
26616
+ dataSource: W,
26617
+ columns: ge,
26591
26618
  pagination: !1,
26592
26619
  size: "small",
26593
26620
  className: "fg-table",
26594
26621
  expandable: {
26595
- expandedRowRender: he,
26622
+ expandedRowRender: U,
26596
26623
  rowExpandable: () => !0
26597
26624
  },
26598
26625
  locale: { emptyText: /* @__PURE__ */ Z(z, {
@@ -26625,7 +26652,7 @@ function gS() {
26625
26652
  /* @__PURE__ */ Z(be, {
26626
26653
  rowKey: "key",
26627
26654
  dataSource: m,
26628
- columns: U,
26655
+ columns: ve,
26629
26656
  pagination: !1,
26630
26657
  size: "small",
26631
26658
  className: "fg-table",
@@ -26647,15 +26674,15 @@ function gS() {
26647
26674
  ...f[S.key] ?? {}
26648
26675
  } : null,
26649
26676
  onClose: () => C(null),
26650
- onSave: ue
26677
+ onSave: de
26651
26678
  }, S?.key ?? "field-closed"),
26652
26679
  /* @__PURE__ */ Z(fS, {
26653
26680
  open: !!w,
26654
26681
  merge: w?.merge,
26655
- fieldOptions: ce,
26682
+ fieldOptions: ue,
26656
26683
  groupOptions: u,
26657
26684
  onClose: () => T(null),
26658
- onSave: de
26685
+ onSave: pe
26659
26686
  }, w ? `merge-${w.index ?? "new"}` : "merge-closed"),
26660
26687
  /* @__PURE__ */ Z(hS, {
26661
26688
  open: M,
@@ -26675,7 +26702,7 @@ function gS() {
26675
26702
  confirmLabel: P?.confirmLabel,
26676
26703
  danger: P?.danger,
26677
26704
  onCancel: () => I(null),
26678
- onVerified: se
26705
+ onVerified: le
26679
26706
  })
26680
26707
  ]
26681
26708
  });