@realtek/core-theme 0.0.376 → 0.0.377

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
@@ -7,7 +7,7 @@ import { a as ya, c as ba, d as xa, f as Sa, i as Ca, l as wa, m as Ta, o as Ea,
7
7
  import { r as Ma } from "./diceCandidateMapper-DqBO4EhL.js";
8
8
  import { r as Na } from "./formGroupsCache-JeC59oNe.js";
9
9
  import { r as Pa } from "./addFormApi-TMxokB57.js";
10
- import { a as Fa, c as Ia, i as La, l as Ra, o as za, r as Ba, s as Va, t as Ha } from "./FacebookCourseMappingsSection-rwzWu8Z5.js";
10
+ import { a as Fa, c as Ia, i as La, l as Ra, o as za, r as Ba, s as Va, t as Ha } from "./FacebookCourseMappingsSection-Dqn0D7cH.js";
11
11
  import { A as Ua, C as Wa, D as Ga, E as Ka, M as qa, O as Ja, S as Ya, T as Xa, _ as Za, a as Qa, b as $a, c as eo, d as to, f as no, g as ro, h as io, i as ao, j as oo, k as so, l as co, m as lo, n as uo, o as fo, p as po, r as mo, s as ho, t as go, u as _o, v as vo, w as yo, x as bo, y as xo } from "./verifyLockState-DhKU0URr.js";
12
12
  import So, { Fragment as Co, Suspense as wo, cloneElement as To, createContext as Eo, createElement as Do, isValidElement as Oo, lazy as ko, useCallback as Ao, useContext as jo, useEffect as I, useId as Mo, useLayoutEffect as No, useMemo as L, useRef as Po, useState as R, useSyncExternalStore as Fo } from "react";
13
13
  import { Alert as Io, AutoComplete as Lo, Avatar as Ro, Badge as zo, Breadcrumb as Bo, Button as z, Card as Vo, Checkbox as Ho, Col as B, Collapse as Uo, DatePicker as Wo, Descriptions as Go, Divider as Ko, Drawer as qo, Dropdown as Jo, Empty as Yo, Flex as Xo, Form as V, Grid as Zo, Input as H, InputNumber as Qo, Layout as $o, List as es, Mentions as ts, Menu as ns, Modal as rs, Popconfirm as is, Popover as as, Progress as os, Radio as ss, Result as cs, Row as ls, Segmented as us, Select as U, Skeleton as ds, Slider as fs, Space as W, Spin as ps, Statistic as ms, Steps as hs, Switch as G, Table as gs, Tabs as _s, Tag as K, TimePicker as vs, Timeline as ys, Tooltip as q, Tree as bs, Typography as xs, Upload as Ss, message as J } from "antd";
@@ -36877,23 +36877,26 @@ function oN({ open: e, onClose: t }) {
36877
36877
  });
36878
36878
  }
36879
36879
  function sN() {
36880
- let [e, t] = R([]), [n, r] = R(!0), [i, a] = R(""), { actions: o } = jh(i), s = L(() => (o ?? []).filter((e) => e?.key).map((e) => ({
36880
+ let [e, t] = R([]), [n, r] = R(!0), [i, a] = R(""), o = Po({
36881
+ on: !0,
36882
+ tries: 0
36883
+ }), s = Po([]), { actions: c } = jh(i), l = L(() => (c ?? []).filter((e) => e?.key).map((e) => ({
36881
36884
  value: e.key,
36882
36885
  label: `${e.label || e.key} (${e.key})`
36883
- })), [o]), [c, l] = R([]), [u, d] = R({}), [f, p] = R({}), [m, h] = R([]), [g, _] = R([]), [v, y] = R({}), [b, x] = R([]), [S, C] = R([]), [w, T] = R({}), [E, D] = R([]), [O, k] = R({}), [A, j] = R([]), [M, N] = R(!1), [ee, P] = R(""), [F, te] = R(!1), [ne, re] = R(null), [ie, ae] = R(null), [oe, se] = R(!1), [ce, le] = R(!1), [ue, de] = R(null), [fe, pe] = R(0), [me, he] = R(""), [ge, _e] = R([]), [ve, ye] = R(""), [be, xe] = R(""), [Se, Ce] = R({});
36884
- function we(e, t = {}) {
36885
- de({
36886
+ })), [c]), [u, d] = R([]), [f, p] = R({}), [m, h] = R({}), [g, _] = R([]), [v, y] = R([]), [b, x] = R({}), [S, C] = R([]), [w, T] = R([]), [E, D] = R({}), [O, k] = R([]), [A, j] = R({}), [M, N] = R([]), [ee, P] = R(!1), [F, te] = R(""), [ne, re] = R(!1), [ie, ae] = R(null), [oe, se] = R(null), [ce, le] = R(!1), [ue, de] = R(!1), [fe, pe] = R(null), [me, he] = R(0), [ge, _e] = R(""), [ve, ye] = R([]), [be, xe] = R(""), [Se, Ce] = R(""), [we, Te] = R({});
36887
+ function Ee(e, t = {}) {
36888
+ pe({
36886
36889
  ...RM[e],
36887
36890
  ...t
36888
36891
  });
36889
36892
  }
36890
- async function Te(e, t, n, r) {
36893
+ async function De(e, t, n, r) {
36891
36894
  if (hM(e)) return;
36892
- let i = c;
36893
- l((r) => r.map((r) => r.id === e.id ? {
36895
+ let i = u;
36896
+ d((r) => r.map((r) => r.id === e.id ? {
36894
36897
  ...r,
36895
36898
  [t]: n
36896
- } : r)), Ce((n) => ({
36899
+ } : r)), Te((n) => ({
36897
36900
  ...n,
36898
36901
  [`${e.id}:${t}`]: !0
36899
36902
  }));
@@ -36903,20 +36906,20 @@ function sN() {
36903
36906
  [t]: n
36904
36907
  }), J.success(n ? r.on : r.off);
36905
36908
  } catch (e) {
36906
- l(i), J.error(e?.message || "Could not update group visibility");
36909
+ d(i), J.error(e?.message || "Could not update group visibility");
36907
36910
  } finally {
36908
- Ce((n) => {
36911
+ Te((n) => {
36909
36912
  let r = { ...n };
36910
36913
  return delete r[`${e.id}:${t}`], r;
36911
36914
  });
36912
36915
  }
36913
36916
  }
36914
- async function Ee(e, t, n) {
36917
+ async function Oe(e, t, n) {
36915
36918
  if (hM(e)) return;
36916
36919
  let r = String(n ?? "").trim();
36917
36920
  if (r === String(e?.[t] ?? "").trim()) return;
36918
- let i = c;
36919
- l((n) => n.map((n) => n.id === e.id ? {
36921
+ let i = u;
36922
+ d((n) => n.map((n) => n.id === e.id ? {
36920
36923
  ...n,
36921
36924
  [t]: r
36922
36925
  } : n));
@@ -36926,151 +36929,157 @@ function sN() {
36926
36929
  [t]: r
36927
36930
  }), J.success("Empty text saved");
36928
36931
  } catch (e) {
36929
- l(i), J.error(e?.message || "Could not save empty text");
36932
+ d(i), J.error(e?.message || "Could not save empty text");
36930
36933
  }
36931
36934
  }
36932
- let De = (e, t) => Te(e, "hideGroup", t, {
36935
+ let ke = (e, t) => De(e, "hideGroup", t, {
36933
36936
  on: "Group hidden from add/edit forms and the detail view",
36934
36937
  off: "Group is visible again"
36935
- }), Oe = (e, t) => Te(e, "hideGroupInDetail", t, {
36938
+ }), Ae = (e, t) => De(e, "hideGroupInDetail", t, {
36936
36939
  on: "Group hidden from the detail view only — add/edit forms keep it",
36937
36940
  off: "Group is visible in the detail view again"
36938
- }), ke = (e, t) => Te(e, "ignoreShowIfInDetail", t, {
36941
+ }), je = (e, t) => De(e, "ignoreShowIfInDetail", t, {
36939
36942
  on: "Group always shows in the detail view, even when its Show Condition fails",
36940
36943
  off: "Group follows its Show Condition in the detail view"
36941
36944
  });
36942
- function Ae() {
36943
- de(null), pe((e) => e + 1);
36945
+ function Me() {
36946
+ pe(null), he((e) => e + 1);
36944
36947
  }
36945
36948
  I(() => {
36946
- fi({ limit: 200 }).then(_e).catch(() => _e([]));
36949
+ fi({ limit: 200 }).then(ye).catch(() => ye([]));
36947
36950
  }, []), I(() => {
36948
36951
  Lr().then((e) => {
36949
36952
  let n = nk(e).map(({ value: e, label: t }) => ({
36950
36953
  key: e,
36951
36954
  label: t
36952
36955
  }));
36953
- t(n), n.length && a(n[0].key);
36956
+ t(n), s.current = n, n.length && a(n[0].key);
36954
36957
  }).catch(() => t([])).finally(() => r(!1));
36955
36958
  }, []), I(() => {
36956
36959
  if (!i) return;
36957
36960
  let e = !1;
36958
36961
  return (async () => {
36959
- N(!0), P("");
36962
+ P(!0), te("");
36960
36963
  try {
36961
- let [t, n] = await Promise.all([Br(i, { clientId: ve }).catch((e) => {
36964
+ let [t, n] = await Promise.all([Br(i, { clientId: be }).catch((e) => {
36962
36965
  if (e?.status === 404) return [];
36963
36966
  throw e;
36964
- }), Yr(i, { clientId: ve })]);
36967
+ }), Yr(i, { clientId: be })]);
36965
36968
  if (e) return;
36966
- let r = n.sourceFields ?? [], a = _M(t, r), { labels: o, layout: s, custom: c } = TM(n.groups ?? []), u = Object.fromEntries(a.filter((e) => e?.name).map((e) => [e.name, e.label ?? e.name])), f = a.map((e) => ({
36969
+ let r = n.sourceFields ?? [], a = _M(t, r), { labels: o, layout: s, custom: c } = TM(n.groups ?? []), l = Object.fromEntries(a.filter((e) => e?.name).map((e) => [e.name, e.label ?? e.name])), u = a.map((e) => ({
36967
36970
  ...e,
36968
36971
  label: o[e.name] ?? e.label
36969
36972
  }));
36970
- xe(n.clientId ?? ""), C(r), T(s), D(c), k(n.header ?? {}), j(n.computedFields ?? []), d(o), p(u), l(f), h(UM(f)), _(f.map((e) => ({
36973
+ Ce(n.clientId ?? ""), T(r), D(s), k(c), j(n.header ?? {}), N(n.computedFields ?? []), p(o), h(l), d(u), _(UM(u)), y(u.map((e) => ({
36971
36974
  value: e.name,
36972
36975
  label: e.label ?? e.name
36973
36976
  })));
36974
- let m = {};
36977
+ let f = {};
36975
36978
  (n.fields ?? []).forEach((e) => {
36976
- m[e.field] = e;
36977
- }), y(m), x(n.merges ?? []);
36979
+ f[e.field] = e;
36980
+ }), x(f), C(n.merges ?? []);
36978
36981
  } catch (t) {
36979
- e || P(t?.message || "Failed to load configuration");
36982
+ if (e) return;
36983
+ let n = o.current, r = s.current, c = n.on && n.tries < 5 ? r[r.findIndex((e) => e.key === i) + 1] : null;
36984
+ if (c) {
36985
+ n.tries += 1, a(c.key);
36986
+ return;
36987
+ }
36988
+ te(/not found|status (400|404)|\b40[04]\b/i.test(String(t?.message ?? "")) || t?.status === 404 || t?.status === 400 ? "This module has nothing to configure here (no form or detail data)." : t?.message || "Failed to load configuration");
36980
36989
  } finally {
36981
- e || N(!1);
36990
+ e || P(!1);
36982
36991
  }
36983
36992
  })(), () => {
36984
36993
  e = !0;
36985
36994
  };
36986
36995
  }, [
36987
36996
  i,
36988
- fe,
36989
- ve
36997
+ me,
36998
+ be
36990
36999
  ]);
36991
- let je = L(() => m.map((e) => ({
37000
+ let Ne = L(() => g.map((e) => ({
36992
37001
  value: e.key,
36993
37002
  label: `${e.label} (${e.key})`
36994
- })), [m]);
36995
- async function Me(e = {}) {
37003
+ })), [g]);
37004
+ async function Pe(e = {}) {
36996
37005
  let t = e?.announce !== !1;
36997
- te(!0);
37006
+ re(!0);
36998
37007
  try {
36999
37008
  let e = EM({
37000
- labels: u,
37001
- baseLabels: f,
37002
- layout: w,
37003
- custom: E
37004
- }), n = Object.entries(v).map(([e, t]) => WM(e, t)).filter(Boolean), { nextGroups: r, changed: a } = qM(c, v);
37009
+ labels: f,
37010
+ baseLabels: m,
37011
+ layout: E,
37012
+ custom: O
37013
+ }), n = Object.entries(b).map(([e, t]) => WM(e, t)).filter(Boolean), { nextGroups: r, changed: a } = qM(u, b);
37005
37014
  return await Li({
37006
37015
  module: i,
37007
37016
  groups: e,
37008
37017
  fields: n,
37009
- merges: GM(b),
37010
- sourceFields: S,
37011
- clientId: ve,
37012
- header: kM(O)
37013
- }), a.length && (l(r), h(UM(r)), _(r.map((e) => ({
37018
+ merges: GM(S),
37019
+ sourceFields: w,
37020
+ clientId: be,
37021
+ header: kM(A)
37022
+ }), a.length && (d(r), _(UM(r)), y(r.map((e) => ({
37014
37023
  value: e.name,
37015
37024
  label: e.label ?? e.name
37016
- })))), xe(ve), t && J.success(ve ? "Detail view configuration saved for this client" : "Detail view configuration saved"), !0;
37025
+ })))), Ce(be), t && J.success(be ? "Detail view configuration saved for this client" : "Detail view configuration saved"), !0;
37017
37026
  } catch (e) {
37018
37027
  return J.error(e?.message || "Could not save configuration"), !1;
37019
37028
  } finally {
37020
- te(!1);
37029
+ re(!1);
37021
37030
  }
37022
37031
  }
37023
- function Ne(e, t) {
37032
+ function Fe(e, t) {
37024
37033
  let n = String(e?.name ?? "").trim();
37025
- n && (d((e) => ({
37034
+ n && (p((e) => ({
37026
37035
  ...e,
37027
37036
  [n]: t
37028
- })), l((e) => e.map((e) => e.name === n ? {
37037
+ })), d((e) => e.map((e) => e.name === n ? {
37029
37038
  ...e,
37030
37039
  label: t
37031
- } : e)), _((e) => e.map((e) => e.value === n ? {
37040
+ } : e)), y((e) => e.map((e) => e.value === n ? {
37032
37041
  ...e,
37033
37042
  label: t || n
37034
37043
  } : e)));
37035
37044
  }
37036
- function Pe(e, t) {
37045
+ function Ie(e, t) {
37037
37046
  let n = String(e?.name ?? "").trim();
37038
37047
  if (!n) return;
37039
- let r = String(t ?? "").trim(), i = String(f[n] ?? n).trim() || n, a = r || i;
37040
- l((e) => e.map((e) => e.name === n ? {
37048
+ let r = String(t ?? "").trim(), i = String(m[n] ?? n).trim() || n, a = r || i;
37049
+ d((e) => e.map((e) => e.name === n ? {
37041
37050
  ...e,
37042
37051
  label: a
37043
- } : e)), _((e) => e.map((e) => e.value === n ? {
37052
+ } : e)), y((e) => e.map((e) => e.value === n ? {
37044
37053
  ...e,
37045
37054
  label: a
37046
- } : e)), d((e) => {
37055
+ } : e)), p((e) => {
37047
37056
  let t = { ...e };
37048
37057
  return a === i ? delete t[n] : t[n] = a, t;
37049
37058
  });
37050
37059
  }
37051
- function Fe(e) {
37052
- y((t) => ({
37060
+ function Le(e) {
37061
+ x((t) => ({
37053
37062
  ...t,
37054
- [ne.key]: {
37063
+ [ie.key]: {
37055
37064
  ...e,
37056
- field: ne.key
37065
+ field: ie.key
37057
37066
  }
37058
- })), re(null);
37067
+ })), ae(null);
37059
37068
  }
37060
- function Ie(e) {
37061
- y((t) => {
37069
+ function Re(e) {
37070
+ x((t) => {
37062
37071
  let n = { ...t };
37063
37072
  return delete n[e], n;
37064
37073
  });
37065
37074
  }
37066
- function Le(e) {
37067
- x((t) => {
37075
+ function ze(e) {
37076
+ C((t) => {
37068
37077
  let n = [...t];
37069
- return ie.index === null ? n.push(e) : n[ie.index] = e, n;
37070
- }), ae(null);
37078
+ return oe.index === null ? n.push(e) : n[oe.index] = e, n;
37079
+ }), se(null);
37071
37080
  }
37072
- function Re(e, t, n = !1) {
37073
- y((r) => {
37081
+ function Be(e, t, n = !1) {
37082
+ x((r) => {
37074
37083
  let i = r[e] ?? { field: e };
37075
37084
  return n ? {
37076
37085
  ...r,
@@ -37088,7 +37097,7 @@ function sN() {
37088
37097
  };
37089
37098
  });
37090
37099
  }
37091
- let ze = (e) => {
37100
+ let Ve = (e) => {
37092
37101
  if (!e) return null;
37093
37102
  let t = [];
37094
37103
  e.label && t.push(/* @__PURE__ */ X(K, {
@@ -37122,7 +37131,7 @@ function sN() {
37122
37131
  style: { fontSize: 12 },
37123
37132
  children: "—"
37124
37133
  });
37125
- }, Be = [
37134
+ }, He = [
37126
37135
  {
37127
37136
  title: "Group",
37128
37137
  dataIndex: "label",
@@ -37136,8 +37145,8 @@ function sN() {
37136
37145
  size: "small",
37137
37146
  value: e ?? t.name,
37138
37147
  "aria-label": `Detail group label for ${t.name}`,
37139
- onChange: (e) => Ne(t, e.target.value),
37140
- onBlur: (e) => Pe(t, e.target.value),
37148
+ onChange: (e) => Fe(t, e.target.value),
37149
+ onBlur: (e) => Ie(t, e.target.value),
37141
37150
  onPressEnter: (e) => e.currentTarget.blur(),
37142
37151
  style: {
37143
37152
  width: 220,
@@ -37188,7 +37197,7 @@ function sN() {
37188
37197
  width: 100,
37189
37198
  align: "center",
37190
37199
  render: (e, t) => {
37191
- let n = (t.fields ?? []).filter((e) => v[e.field]).length;
37200
+ let n = (t.fields ?? []).filter((e) => b[e.field]).length;
37192
37201
  return n ? /* @__PURE__ */ X(K, {
37193
37202
  color: "blue",
37194
37203
  style: { margin: 0 },
@@ -37215,8 +37224,8 @@ function sN() {
37215
37224
  checkedChildren: "Hide",
37216
37225
  unCheckedChildren: "Show",
37217
37226
  checked: HM(t.hideGroup),
37218
- loading: !!Se[`${t.id}:hideGroup`],
37219
- onChange: (e) => De(t, e)
37227
+ loading: !!we[`${t.id}:hideGroup`],
37228
+ onChange: (e) => ke(t, e)
37220
37229
  })
37221
37230
  })
37222
37231
  },
@@ -37239,8 +37248,8 @@ function sN() {
37239
37248
  checkedChildren: "Always",
37240
37249
  unCheckedChildren: "Follow",
37241
37250
  checked: HM(t.ignoreShowIfInDetail),
37242
- loading: !!Se[`${t.id}:ignoreShowIfInDetail`],
37243
- onChange: (e) => ke(t, e)
37251
+ loading: !!we[`${t.id}:ignoreShowIfInDetail`],
37252
+ onChange: (e) => je(t, e)
37244
37253
  })
37245
37254
  }) : /* @__PURE__ */ X(NM, {
37246
37255
  type: "secondary",
@@ -37257,7 +37266,7 @@ function sN() {
37257
37266
  size: "small",
37258
37267
  defaultValue: t.emptyText ?? "",
37259
37268
  placeholder: `No ${String(t.label ?? t.name ?? "").toLowerCase()} added`,
37260
- onBlur: (e) => Ee(t, "emptyText", e.target.value),
37269
+ onBlur: (e) => Oe(t, "emptyText", e.target.value),
37261
37270
  onPressEnter: (e) => e.currentTarget.blur()
37262
37271
  }) : /* @__PURE__ */ X(NM, {
37263
37272
  type: "secondary",
@@ -37280,17 +37289,17 @@ function sN() {
37280
37289
  checkedChildren: "Hide",
37281
37290
  unCheckedChildren: "Show",
37282
37291
  checked: HM(t.hideGroupInDetail),
37283
- loading: !!Se[`${t.id}:hideGroupInDetail`],
37284
- onChange: (e) => Oe(t, e)
37292
+ loading: !!we[`${t.id}:hideGroupInDetail`],
37293
+ onChange: (e) => Ae(t, e)
37285
37294
  })
37286
37295
  })
37287
37296
  }
37288
- ], Ve = (e) => {
37297
+ ], Ue = (e) => {
37289
37298
  let t = e.fields ?? [], n = hM(e);
37290
37299
  return t.length ? /* @__PURE__ */ X("div", {
37291
37300
  className: "fg-expanded-fields",
37292
37301
  children: t.map((t) => {
37293
- let r = v[t.field], i = n ? !!r?.hideInDetail : r?.hidden ?? KM(t), a = {
37302
+ let r = b[t.field], i = n ? !!r?.hideInDetail : r?.hidden ?? KM(t), a = {
37294
37303
  key: t.field,
37295
37304
  label: t.label ?? t.field,
37296
37305
  type: t.type ?? "text",
@@ -37359,7 +37368,7 @@ function sN() {
37359
37368
  }),
37360
37369
  /* @__PURE__ */ X("div", {
37361
37370
  className: "fg-field-row-flags",
37362
- children: ze(r)
37371
+ children: Ve(r)
37363
37372
  }),
37364
37373
  /* @__PURE__ */ Z(W, {
37365
37374
  size: 4,
@@ -37372,7 +37381,7 @@ function sN() {
37372
37381
  checkedChildren: "Hide",
37373
37382
  unCheckedChildren: "Show",
37374
37383
  checked: i,
37375
- onChange: (e) => Re(t.field, e, n)
37384
+ onChange: (e) => Be(t.field, e, n)
37376
37385
  })
37377
37386
  }),
37378
37387
  /* @__PURE__ */ X(q, {
@@ -37381,7 +37390,7 @@ function sN() {
37381
37390
  type: "text",
37382
37391
  size: "small",
37383
37392
  icon: /* @__PURE__ */ X(dc, {}),
37384
- onClick: () => re(a)
37393
+ onClick: () => ae(a)
37385
37394
  })
37386
37395
  }),
37387
37396
  r && /* @__PURE__ */ X(q, {
@@ -37391,7 +37400,7 @@ function sN() {
37391
37400
  size: "small",
37392
37401
  danger: !0,
37393
37402
  icon: /* @__PURE__ */ X(dl, {}),
37394
- onClick: () => Ie(t.field)
37403
+ onClick: () => Re(t.field)
37395
37404
  })
37396
37405
  })
37397
37406
  ]
@@ -37404,9 +37413,9 @@ function sN() {
37404
37413
  style: { fontSize: 12 },
37405
37414
  children: "No fields in this group."
37406
37415
  });
37407
- }, He = L(() => {
37408
- let e = me.trim().toLowerCase();
37409
- return [...c].filter((t) => !e || [
37416
+ }, We = L(() => {
37417
+ let e = ge.trim().toLowerCase();
37418
+ return [...u].filter((t) => !e || [
37410
37419
  t.label,
37411
37420
  t.name,
37412
37421
  ...(t.fields ?? []).flatMap((e) => [
@@ -37415,7 +37424,7 @@ function sN() {
37415
37424
  e.type
37416
37425
  ])
37417
37426
  ].some((t) => String(t ?? "").toLowerCase().includes(e))).sort((e, t) => (e.order ?? 0) - (t.order ?? 0));
37418
- }, [c, me]), Ue = [
37427
+ }, [u, ge]), Ge = [
37419
37428
  {
37420
37429
  title: "Label",
37421
37430
  dataIndex: "label",
@@ -37460,7 +37469,7 @@ function sN() {
37460
37469
  type: "text",
37461
37470
  size: "small",
37462
37471
  icon: /* @__PURE__ */ X(dc, {}),
37463
- onClick: () => ae({
37472
+ onClick: () => se({
37464
37473
  index: n,
37465
37474
  merge: t
37466
37475
  })
@@ -37472,12 +37481,12 @@ function sN() {
37472
37481
  size: "small",
37473
37482
  danger: !0,
37474
37483
  icon: /* @__PURE__ */ X(rc, {}),
37475
- onClick: () => x((e) => e.filter((e, t) => t !== n))
37484
+ onClick: () => C((e) => e.filter((e, t) => t !== n))
37476
37485
  })
37477
37486
  })]
37478
37487
  })
37479
37488
  }
37480
- ], We = e.map((e) => ({
37489
+ ], Ke = e.map((e) => ({
37481
37490
  key: e.key,
37482
37491
  label: e.label
37483
37492
  }));
@@ -37495,9 +37504,9 @@ function sN() {
37495
37504
  size: "small",
37496
37505
  icon: /* @__PURE__ */ X(nc, {}),
37497
37506
  disabled: !i,
37498
- onClick: () => we("discoverFields", {
37507
+ onClick: () => Ee("discoverFields", {
37499
37508
  module: i,
37500
- clientId: ve,
37509
+ clientId: be,
37501
37510
  title: `Read ${i} database fields`
37502
37511
  }),
37503
37512
  children: "Read Database Fields"
@@ -37509,13 +37518,13 @@ function sN() {
37509
37518
  key: "save",
37510
37519
  label: "Save current as default",
37511
37520
  icon: /* @__PURE__ */ X(_l, {}),
37512
- onClick: () => we("save")
37521
+ onClick: () => Ee("save")
37513
37522
  },
37514
37523
  {
37515
37524
  key: "restore",
37516
37525
  label: "Restore saved default",
37517
37526
  icon: /* @__PURE__ */ X(Ys, {}),
37518
- onClick: () => we("restore")
37527
+ onClick: () => Ee("restore")
37519
37528
  },
37520
37529
  { type: "divider" },
37521
37530
  {
@@ -37523,7 +37532,7 @@ function sN() {
37523
37532
  label: "Reset all detail settings",
37524
37533
  icon: /* @__PURE__ */ X(dl, {}),
37525
37534
  danger: !0,
37526
- onClick: () => we("reset")
37535
+ onClick: () => Ee("reset")
37527
37536
  }
37528
37537
  ] },
37529
37538
  children: /* @__PURE__ */ X(z, {
@@ -37535,23 +37544,23 @@ function sN() {
37535
37544
  /* @__PURE__ */ X(z, {
37536
37545
  size: "small",
37537
37546
  icon: /* @__PURE__ */ X(bl, {}),
37538
- onClick: () => le(!0),
37547
+ onClick: () => de(!0),
37539
37548
  children: "Display Defaults"
37540
37549
  }),
37541
37550
  /* @__PURE__ */ X(z, {
37542
37551
  size: "small",
37543
37552
  icon: /* @__PURE__ */ X(_c, {}),
37544
37553
  disabled: !i,
37545
- onClick: () => se(!0),
37554
+ onClick: () => le(!0),
37546
37555
  children: "Preview"
37547
37556
  }),
37548
37557
  /* @__PURE__ */ X(z, {
37549
37558
  type: "primary",
37550
37559
  size: "small",
37551
37560
  icon: /* @__PURE__ */ X(_l, {}),
37552
- loading: F,
37561
+ loading: ne,
37553
37562
  disabled: !i,
37554
- onClick: Me,
37563
+ onClick: Pe,
37555
37564
  children: "Save Configuration"
37556
37565
  })
37557
37566
  ]
@@ -37574,33 +37583,33 @@ function sN() {
37574
37583
  showSearch: !0,
37575
37584
  placeholder: "Client (default)",
37576
37585
  style: { width: 240 },
37577
- value: ve || void 0,
37586
+ value: be || void 0,
37578
37587
  optionFilterProp: "label",
37579
- options: ge.map((e) => ({
37588
+ options: ve.map((e) => ({
37580
37589
  value: e._id ?? e.id,
37581
37590
  label: e.clientName ?? e.name ?? e.clientRefrenceId ?? e._id
37582
37591
  })).filter((e) => e.value),
37583
- onChange: (e) => ye(e ?? "")
37592
+ onChange: (e) => xe(e ?? "")
37584
37593
  }), /* @__PURE__ */ X(z, {
37585
37594
  size: "small",
37586
37595
  icon: /* @__PURE__ */ X(dl, {}),
37587
- onClick: () => pe((e) => e + 1),
37596
+ onClick: () => he((e) => e + 1),
37588
37597
  children: "Reload"
37589
37598
  })]
37590
37599
  })]
37591
37600
  }),
37592
- ve && !be && !M && /* @__PURE__ */ X(Io, {
37601
+ be && !Se && !ee && /* @__PURE__ */ X(Io, {
37593
37602
  type: "info",
37594
37603
  showIcon: !0,
37595
37604
  style: { marginBottom: 12 },
37596
37605
  message: "This client has no detail config of its own yet",
37597
37606
  description: "You are viewing the module default. Saving now creates a config for this client only — the default and every other client are left untouched."
37598
37607
  }),
37599
- !M && S.length > 0 && /* @__PURE__ */ X(Io, {
37608
+ !ee && w.length > 0 && /* @__PURE__ */ X(Io, {
37600
37609
  type: "success",
37601
37610
  showIcon: !0,
37602
37611
  style: { marginBottom: 12 },
37603
- message: `${S.length} database field${S.length === 1 ? "" : "s"} available to this detail view`,
37612
+ message: `${w.length} database field${w.length === 1 ? "" : "s"} available to this detail view`,
37604
37613
  description: "These fields are stored only in Detail configuration and do not appear in Add or Edit forms. Read Database Fields again to refresh the list after the collection schema changes."
37605
37614
  }),
37606
37615
  /* @__PURE__ */ X(NM, {
@@ -37617,21 +37626,23 @@ function sN() {
37617
37626
  children: [
37618
37627
  /* @__PURE__ */ X(_s, {
37619
37628
  activeKey: i,
37620
- onChange: a,
37621
- items: We.map((e) => ({
37629
+ onChange: (e) => {
37630
+ o.current.on = !1, a(e);
37631
+ },
37632
+ items: Ke.map((e) => ({
37622
37633
  ...e,
37623
37634
  children: null
37624
37635
  })),
37625
37636
  className: "admin-module-tabs"
37626
37637
  }),
37627
- ee && /* @__PURE__ */ X(Io, {
37638
+ F && /* @__PURE__ */ X(Io, {
37628
37639
  type: "error",
37629
37640
  showIcon: !0,
37630
- message: ee,
37641
+ message: F,
37631
37642
  style: { marginBottom: 12 }
37632
37643
  }),
37633
37644
  /* @__PURE__ */ Z(ps, {
37634
- spinning: M,
37645
+ spinning: ee,
37635
37646
  children: [
37636
37647
  /* @__PURE__ */ Z("div", {
37637
37648
  className: "admin-config-table-tools",
@@ -37639,29 +37650,29 @@ function sN() {
37639
37650
  allowClear: !0,
37640
37651
  prefix: /* @__PURE__ */ X(vl, {}),
37641
37652
  placeholder: "Search groups or fields",
37642
- value: me,
37643
- onChange: (e) => he(e.target.value)
37653
+ value: ge,
37654
+ onChange: (e) => _e(e.target.value)
37644
37655
  }), /* @__PURE__ */ Z(NM, {
37645
37656
  type: "secondary",
37646
37657
  style: { fontSize: 12 },
37647
37658
  children: [
37648
- c.length,
37659
+ u.length,
37649
37660
  " groups · ",
37650
- m.length,
37661
+ g.length,
37651
37662
  " fields",
37652
- S.length ? ` · ${S.length} from database` : ""
37663
+ w.length ? ` · ${w.length} from database` : ""
37653
37664
  ]
37654
37665
  })]
37655
37666
  }),
37656
37667
  /* @__PURE__ */ X(gs, {
37657
37668
  rowKey: (e) => e.id ?? e.name,
37658
- dataSource: He,
37659
- columns: Be,
37669
+ dataSource: We,
37670
+ columns: He,
37660
37671
  pagination: !1,
37661
37672
  size: "small",
37662
37673
  className: "fg-table",
37663
37674
  expandable: {
37664
- expandedRowRender: Ve,
37675
+ expandedRowRender: Ue,
37665
37676
  rowExpandable: () => !0
37666
37677
  },
37667
37678
  locale: { emptyText: /* @__PURE__ */ X(Yo, {
@@ -37684,7 +37695,7 @@ function sN() {
37684
37695
  type: "dashed",
37685
37696
  icon: /* @__PURE__ */ X(al, {}),
37686
37697
  disabled: !i,
37687
- onClick: () => ae({
37698
+ onClick: () => se({
37688
37699
  index: null,
37689
37700
  merge: null
37690
37701
  }),
@@ -37693,8 +37704,8 @@ function sN() {
37693
37704
  }),
37694
37705
  /* @__PURE__ */ X(gs, {
37695
37706
  rowKey: "key",
37696
- dataSource: b,
37697
- columns: Ue,
37707
+ dataSource: S,
37708
+ columns: Ge,
37698
37709
  pagination: !1,
37699
37710
  size: "small",
37700
37711
  className: "fg-table",
@@ -37711,27 +37722,27 @@ function sN() {
37711
37722
  })
37712
37723
  }),
37713
37724
  /* @__PURE__ */ X(jM, {
37714
- formGroups: c.filter((e) => !hM(e)),
37715
- labels: u,
37716
- layout: w,
37717
- custom: E,
37718
- header: O,
37725
+ formGroups: u.filter((e) => !hM(e)),
37726
+ labels: f,
37727
+ layout: E,
37728
+ custom: O,
37729
+ header: A,
37719
37730
  fieldOptions: OM({
37720
- fields: m,
37721
- sourceFields: S,
37722
- computedFields: A
37731
+ fields: g,
37732
+ sourceFields: w,
37733
+ computedFields: M
37723
37734
  }),
37724
- actionOptions: s,
37725
- onLayoutChange: (e, t) => T((n) => ({
37735
+ actionOptions: l,
37736
+ onLayoutChange: (e, t) => D((n) => ({
37726
37737
  ...n,
37727
37738
  [e]: wM({
37728
37739
  ...n[e] ?? {},
37729
37740
  ...t
37730
37741
  })
37731
37742
  })),
37732
- onCustomChange: D,
37733
- onHeaderChange: k,
37734
- onEditField: (e, t) => re({
37743
+ onCustomChange: k,
37744
+ onHeaderChange: j,
37745
+ onEditField: (e, t) => ae({
37735
37746
  key: e,
37736
37747
  label: t,
37737
37748
  type: "text",
@@ -37745,48 +37756,48 @@ function sN() {
37745
37756
  })
37746
37757
  }),
37747
37758
  /* @__PURE__ */ X(QM, {
37748
- open: !!ne,
37749
- fieldMeta: ne,
37750
- value: ne ? {
37751
- ...ne.lookupDefaults,
37752
- ...v[ne.key] ?? {}
37753
- } : null,
37754
- moduleFieldOptions: je,
37755
- onClose: () => re(null),
37756
- onSave: Fe
37757
- }, ne?.key ?? "field-closed"),
37758
- /* @__PURE__ */ X(tN, {
37759
37759
  open: !!ie,
37760
- merge: ie?.merge,
37761
- fieldOptions: je,
37762
- groupOptions: g,
37760
+ fieldMeta: ie,
37761
+ value: ie ? {
37762
+ ...ie.lookupDefaults,
37763
+ ...b[ie.key] ?? {}
37764
+ } : null,
37765
+ moduleFieldOptions: Ne,
37763
37766
  onClose: () => ae(null),
37764
37767
  onSave: Le
37765
- }, ie ? `merge-${ie.index ?? "new"}` : "merge-closed"),
37768
+ }, ie?.key ?? "field-closed"),
37769
+ /* @__PURE__ */ X(tN, {
37770
+ open: !!oe,
37771
+ merge: oe?.merge,
37772
+ fieldOptions: Ne,
37773
+ groupOptions: v,
37774
+ onClose: () => se(null),
37775
+ onSave: ze
37776
+ }, oe ? `merge-${oe.index ?? "new"}` : "merge-closed"),
37766
37777
  /* @__PURE__ */ X(oN, {
37767
- open: ce,
37768
- onClose: () => le(!1)
37778
+ open: ue,
37779
+ onClose: () => de(!1)
37769
37780
  }),
37770
37781
  /* @__PURE__ */ X(nN, {
37771
- open: oe,
37782
+ open: ce,
37772
37783
  module: i,
37773
- clientId: ve,
37774
- onBeforeLoad: () => Me({ announce: !1 }),
37775
- onClose: () => se(!1)
37784
+ clientId: be,
37785
+ onBeforeLoad: () => Pe({ announce: !1 }),
37786
+ onClose: () => le(!1)
37776
37787
  }),
37777
37788
  /* @__PURE__ */ X(pj, {
37778
- open: !!ue,
37789
+ open: !!fe,
37779
37790
  scope: "detailConfig",
37780
- action: ue?.action,
37781
- title: ue?.title,
37782
- description: ue?.description,
37783
- confirmLabel: ue?.confirmLabel,
37784
- danger: ue?.danger,
37785
- onCancel: () => de(null),
37786
- onVerified: Ae,
37787
- onConfirm: ue?.action === "discoverFields" ? (e) => Ei({
37788
- module: ue.module,
37789
- clientId: ue.clientId,
37791
+ action: fe?.action,
37792
+ title: fe?.title,
37793
+ description: fe?.description,
37794
+ confirmLabel: fe?.confirmLabel,
37795
+ danger: fe?.danger,
37796
+ onCancel: () => pe(null),
37797
+ onVerified: Me,
37798
+ onConfirm: fe?.action === "discoverFields" ? (e) => Ei({
37799
+ module: fe.module,
37800
+ clientId: fe.clientId,
37790
37801
  otp: e
37791
37802
  }) : void 0
37792
37803
  })
@@ -43834,46 +43845,55 @@ var ZP = {
43834
43845
  cacheInvalidate: []
43835
43846
  };
43836
43847
  function QP() {
43837
- let [e, t] = R([]), [n, r] = R(!0), [i, a] = R(""), [o, s] = R({ storage: "mongo" }), [c, l] = R("mongo"), [u, d] = R(ZP), [f, p] = R(!1), [m, h] = R(!1), [g, _] = R(""), [v, y] = R(null), [b, x] = R(null), [S, C] = R(null), [w, T] = R(null), [E, D] = R(null);
43848
+ let [e, t] = R([]), [n, r] = R(!0), [i, a] = R(""), o = Po({
43849
+ on: !0,
43850
+ tries: 0
43851
+ }), s = Po([]), [c, l] = R({ storage: "mongo" }), [u, d] = R("mongo"), [f, p] = R(ZP), [m, h] = R(!1), [g, _] = R(!1), [v, y] = R(""), [b, x] = R(null), [S, C] = R(null), [w, T] = R(null), [E, D] = R(null), [O, k] = R(null);
43838
43852
  I(() => {
43839
43853
  Lr().then((e) => {
43840
43854
  let n = nk(e).map(({ value: e, label: t }) => ({
43841
43855
  key: e,
43842
43856
  label: t
43843
43857
  }));
43844
- t(n), n.length && a(n[0].key);
43858
+ t(n), s.current = n, n.length && a(n[0].key);
43845
43859
  }).catch(() => t([])).finally(() => r(!1));
43846
43860
  }, []), I(() => {
43847
43861
  if (!i) return;
43848
43862
  let e = !1;
43849
43863
  return (async () => {
43850
- p(!0), _("");
43864
+ h(!0), y("");
43851
43865
  try {
43852
43866
  let t = await bi(i);
43853
43867
  if (e) return;
43854
43868
  let n = t.gateway ?? { storage: "mongo" };
43855
- s(n), l(n.storage || "mongo"), d({
43869
+ l(n), d(n.storage || "mongo"), p({
43856
43870
  ...ZP,
43857
43871
  ...t.strategies ?? {}
43858
43872
  });
43859
43873
  } catch (t) {
43860
- e || _(t?.message || "Failed to load automations");
43874
+ if (e) return;
43875
+ let n = o.current, r = s.current, c = n.on && n.tries < 5 ? r[r.findIndex((e) => e.key === i) + 1] : null;
43876
+ if (c) {
43877
+ n.tries += 1, a(c.key);
43878
+ return;
43879
+ }
43880
+ y(/not found|status (400|404)|\b40[04]\b/i.test(String(t?.message ?? "")) || t?.status === 404 || t?.status === 400 ? "This module has nothing to configure here (no form or detail data)." : t?.message || "Failed to load automations");
43861
43881
  } finally {
43862
- e || p(!1);
43882
+ e || h(!1);
43863
43883
  }
43864
43884
  })(), () => {
43865
43885
  e = !0;
43866
43886
  };
43867
43887
  }, [i]);
43868
- let O = L(() => (u.hierarchyExpands ?? []).map((e) => e.name).filter(Boolean), [u.hierarchyExpands]);
43869
- function k(e, t) {
43870
- d((n) => ({
43888
+ let A = L(() => (f.hierarchyExpands ?? []).map((e) => e.name).filter(Boolean), [f.hierarchyExpands]);
43889
+ function j(e, t) {
43890
+ p((n) => ({
43871
43891
  ...n,
43872
43892
  [e]: t
43873
43893
  }));
43874
43894
  }
43875
- function A(e, t) {
43876
- d((n) => {
43895
+ function M(e, t) {
43896
+ p((n) => {
43877
43897
  let r = n.duplicateCheck ?? {}, i = [...r.stages ?? []];
43878
43898
  return i[e] = t, {
43879
43899
  ...n,
@@ -43884,40 +43904,40 @@ function QP() {
43884
43904
  };
43885
43905
  });
43886
43906
  }
43887
- function j() {
43888
- h(!0);
43907
+ function N() {
43908
+ _(!0);
43889
43909
  let e = {
43890
- ...u,
43891
- denormalizations: u.denormalizations?.length ? u.denormalizations : void 0,
43892
- arrayEnrichments: u.arrayEnrichments?.length ? u.arrayEnrichments : void 0,
43893
- fileFieldMaps: u.fileFieldMaps?.length ? u.fileFieldMaps : void 0,
43894
- sanitizeFields: u.sanitizeFields?.length ? u.sanitizeFields : void 0,
43895
- hierarchyExpands: u.hierarchyExpands?.length ? u.hierarchyExpands : void 0,
43896
- relatedUpdates: u.relatedUpdates?.length ? u.relatedUpdates : void 0,
43897
- cacheInvalidate: u.cacheInvalidate?.length ? u.cacheInvalidate : void 0,
43898
- defaults: Object.keys(u.defaults ?? {}).length ? u.defaults : void 0
43910
+ ...f,
43911
+ denormalizations: f.denormalizations?.length ? f.denormalizations : void 0,
43912
+ arrayEnrichments: f.arrayEnrichments?.length ? f.arrayEnrichments : void 0,
43913
+ fileFieldMaps: f.fileFieldMaps?.length ? f.fileFieldMaps : void 0,
43914
+ sanitizeFields: f.sanitizeFields?.length ? f.sanitizeFields : void 0,
43915
+ hierarchyExpands: f.hierarchyExpands?.length ? f.hierarchyExpands : void 0,
43916
+ relatedUpdates: f.relatedUpdates?.length ? f.relatedUpdates : void 0,
43917
+ cacheInvalidate: f.cacheInvalidate?.length ? f.cacheInvalidate : void 0,
43918
+ defaults: Object.keys(f.defaults ?? {}).length ? f.defaults : void 0
43899
43919
  };
43900
43920
  ha(i, {
43901
- gateway: o,
43921
+ gateway: c,
43902
43922
  strategies: e
43903
43923
  }).then(() => {
43904
- l(o.storage || "mongo"), J.success("Automations saved");
43905
- }).catch((e) => J.error(e?.message || "Could not save automations")).finally(() => h(!1));
43924
+ d(c.storage || "mongo"), J.success("Automations saved");
43925
+ }).catch((e) => J.error(e?.message || "Could not save automations")).finally(() => _(!1));
43906
43926
  }
43907
- function M() {
43908
- if ((o.storage || "mongo") !== c) {
43927
+ function ee() {
43928
+ if ((c.storage || "mongo") !== u) {
43909
43929
  rs.confirm({
43910
43930
  title: "Change how this module persists writes?",
43911
- content: `You're switching ${i} from "${c}" to "${o.storage}". ` + (o.storage === "mongo" ? "This module will stop calling its downstream service and this gateway will own the write + every Strategy below." : "This module will stop using the Strategies below and go back to calling its downstream service.") + " Make sure the downstream service / e2e checks are ready before confirming.",
43931
+ content: `You're switching ${i} from "${u}" to "${c.storage}". ` + (c.storage === "mongo" ? "This module will stop calling its downstream service and this gateway will own the write + every Strategy below." : "This module will stop using the Strategies below and go back to calling its downstream service.") + " Make sure the downstream service / e2e checks are ready before confirming.",
43912
43932
  okText: "Confirm cutover",
43913
43933
  okButtonProps: { danger: !0 },
43914
- onOk: j
43934
+ onOk: N
43915
43935
  });
43916
43936
  return;
43917
43937
  }
43918
- j();
43938
+ N();
43919
43939
  }
43920
- let N = [
43940
+ let P = [
43921
43941
  {
43922
43942
  title: "Source module",
43923
43943
  dataIndex: "sourceModule",
@@ -43955,7 +43975,7 @@ function QP() {
43955
43975
  children: "optional"
43956
43976
  })
43957
43977
  }
43958
- ], ee = [
43978
+ ], F = [
43959
43979
  {
43960
43980
  title: "Source field",
43961
43981
  dataIndex: "sourceField",
@@ -43988,7 +44008,7 @@ function QP() {
43988
44008
  color: "var(--color-brand)"
43989
44009
  })
43990
44010
  }
43991
- ], P = [
44011
+ ], te = [
43992
44012
  {
43993
44013
  title: "Source field",
43994
44014
  dataIndex: "sourceField",
@@ -44027,7 +44047,7 @@ function QP() {
44027
44047
  children: "—"
44028
44048
  })
44029
44049
  }
44030
- ], F = [
44050
+ ], ne = [
44031
44051
  {
44032
44052
  title: "Name",
44033
44053
  dataIndex: "name",
@@ -44067,7 +44087,7 @@ function QP() {
44067
44087
  children: "top"
44068
44088
  })
44069
44089
  }
44070
- ], te = [
44090
+ ], re = [
44071
44091
  {
44072
44092
  title: "Target",
44073
44093
  key: "target",
@@ -44105,7 +44125,7 @@ function QP() {
44105
44125
  children: "Insert if missing"
44106
44126
  }) : /* @__PURE__ */ X(K, { children: "Update" })
44107
44127
  }
44108
- ], ne = e.map((e) => ({
44128
+ ], ie = e.map((e) => ({
44109
44129
  key: e.key,
44110
44130
  label: e.label
44111
44131
  }));
@@ -44119,9 +44139,9 @@ function QP() {
44119
44139
  type: "primary",
44120
44140
  size: "small",
44121
44141
  icon: /* @__PURE__ */ X(_l, {}),
44122
- loading: m,
44142
+ loading: g,
44123
44143
  disabled: !i,
44124
- onClick: M,
44144
+ onClick: ee,
44125
44145
  children: "Save Automations"
44126
44146
  }),
44127
44147
  children: [/* @__PURE__ */ X("div", { className: "admin-accent-bar" }), /* @__PURE__ */ X(RP, {
@@ -44137,21 +44157,23 @@ function QP() {
44137
44157
  children: [
44138
44158
  /* @__PURE__ */ X(_s, {
44139
44159
  activeKey: i,
44140
- onChange: a,
44141
- items: ne.map((e) => ({
44160
+ onChange: (e) => {
44161
+ o.current.on = !1, a(e);
44162
+ },
44163
+ items: ie.map((e) => ({
44142
44164
  ...e,
44143
44165
  children: null
44144
44166
  })),
44145
44167
  className: "admin-module-tabs"
44146
44168
  }),
44147
- g && /* @__PURE__ */ X(Io, {
44169
+ v && /* @__PURE__ */ X(Io, {
44148
44170
  type: "error",
44149
44171
  showIcon: !0,
44150
- message: g,
44172
+ message: v,
44151
44173
  style: { marginBottom: 12 }
44152
44174
  }),
44153
44175
  /* @__PURE__ */ Z(ps, {
44154
- spinning: f,
44176
+ spinning: m,
44155
44177
  children: [
44156
44178
  /* @__PURE__ */ Z(OO, {
44157
44179
  title: "Gateway",
@@ -44177,8 +44199,8 @@ function QP() {
44177
44199
  }), /* @__PURE__ */ X(U, {
44178
44200
  size: "small",
44179
44201
  style: { width: "100%" },
44180
- value: o.storage || "mongo",
44181
- onChange: (e) => s((t) => ({
44202
+ value: c.storage || "mongo",
44203
+ onChange: (e) => l((t) => ({
44182
44204
  ...t,
44183
44205
  storage: e
44184
44206
  })),
@@ -44199,8 +44221,8 @@ function QP() {
44199
44221
  }), /* @__PURE__ */ X(H, {
44200
44222
  size: "small",
44201
44223
  placeholder: "file",
44202
- value: o.fileKey ?? "",
44203
- onChange: (e) => s((t) => ({
44224
+ value: c.fileKey ?? "",
44225
+ onChange: (e) => l((t) => ({
44204
44226
  ...t,
44205
44227
  fileKey: e.target.value
44206
44228
  })),
@@ -44208,7 +44230,7 @@ function QP() {
44208
44230
  })]
44209
44231
  })]
44210
44232
  }),
44211
- o.storage === "proxy" && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ Z("div", {
44233
+ c.storage === "proxy" && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ Z("div", {
44212
44234
  className: "fg-field-meta-row",
44213
44235
  style: { marginTop: 12 },
44214
44236
  children: [/* @__PURE__ */ Z("div", {
@@ -44220,8 +44242,8 @@ function QP() {
44220
44242
  }), /* @__PURE__ */ X(H, {
44221
44243
  size: "small",
44222
44244
  placeholder: "JOBS_SERVICE_URL",
44223
- value: o.baseUrlEnv ?? "",
44224
- onChange: (e) => s((t) => ({
44245
+ value: c.baseUrlEnv ?? "",
44246
+ onChange: (e) => l((t) => ({
44225
44247
  ...t,
44226
44248
  baseUrlEnv: e.target.value
44227
44249
  })),
@@ -44236,8 +44258,8 @@ function QP() {
44236
44258
  }), /* @__PURE__ */ X(H, {
44237
44259
  size: "small",
44238
44260
  placeholder: "http://...",
44239
- value: o.baseUrl ?? "",
44240
- onChange: (e) => s((t) => ({
44261
+ value: c.baseUrl ?? "",
44262
+ onChange: (e) => l((t) => ({
44241
44263
  ...t,
44242
44264
  baseUrl: e.target.value
44243
44265
  })),
@@ -44257,8 +44279,8 @@ function QP() {
44257
44279
  }), /* @__PURE__ */ X(H, {
44258
44280
  size: "small",
44259
44281
  placeholder: "/v1/jobs",
44260
- value: o.createPath ?? "",
44261
- onChange: (e) => s((t) => ({
44282
+ value: c.createPath ?? "",
44283
+ onChange: (e) => l((t) => ({
44262
44284
  ...t,
44263
44285
  createPath: e.target.value
44264
44286
  })),
@@ -44274,8 +44296,8 @@ function QP() {
44274
44296
  }), /* @__PURE__ */ X(H, {
44275
44297
  size: "small",
44276
44298
  placeholder: "/v1/edit/%s",
44277
- value: o.updatePath ?? "",
44278
- onChange: (e) => s((t) => ({
44299
+ value: c.updatePath ?? "",
44300
+ onChange: (e) => l((t) => ({
44279
44301
  ...t,
44280
44302
  updatePath: e.target.value
44281
44303
  })),
@@ -44291,8 +44313,8 @@ function QP() {
44291
44313
  }), /* @__PURE__ */ X(U, {
44292
44314
  size: "small",
44293
44315
  style: { width: "100%" },
44294
- value: o.updateMethod || "PUT",
44295
- onChange: (e) => s((t) => ({
44316
+ value: c.updateMethod || "PUT",
44317
+ onChange: (e) => l((t) => ({
44296
44318
  ...t,
44297
44319
  updateMethod: e
44298
44320
  })),
@@ -44322,8 +44344,8 @@ function QP() {
44322
44344
  },
44323
44345
  children: [/* @__PURE__ */ X(G, {
44324
44346
  size: "small",
44325
- checked: !!u.sequence,
44326
- onChange: (e) => k("sequence", e ? {
44347
+ checked: !!f.sequence,
44348
+ onChange: (e) => j("sequence", e ? {
44327
44349
  field: "",
44328
44350
  prefix: "",
44329
44351
  counterKey: ""
@@ -44336,7 +44358,7 @@ function QP() {
44336
44358
  "\" reference id on create"
44337
44359
  ]
44338
44360
  })]
44339
- }), u.sequence && /* @__PURE__ */ Z("div", {
44361
+ }), f.sequence && /* @__PURE__ */ Z("div", {
44340
44362
  className: "fg-field-meta-row",
44341
44363
  children: [
44342
44364
  /* @__PURE__ */ Z("div", {
@@ -44348,9 +44370,9 @@ function QP() {
44348
44370
  }), /* @__PURE__ */ X(H, {
44349
44371
  size: "small",
44350
44372
  placeholder: "submissionId",
44351
- value: u.sequence.field ?? "",
44352
- onChange: (e) => k("sequence", {
44353
- ...u.sequence,
44373
+ value: f.sequence.field ?? "",
44374
+ onChange: (e) => j("sequence", {
44375
+ ...f.sequence,
44354
44376
  field: e.target.value
44355
44377
  }),
44356
44378
  className: "fg-mono-input"
@@ -44365,9 +44387,9 @@ function QP() {
44365
44387
  }), /* @__PURE__ */ X(H, {
44366
44388
  size: "small",
44367
44389
  placeholder: "sub",
44368
- value: u.sequence.prefix ?? "",
44369
- onChange: (e) => k("sequence", {
44370
- ...u.sequence,
44390
+ value: f.sequence.prefix ?? "",
44391
+ onChange: (e) => j("sequence", {
44392
+ ...f.sequence,
44371
44393
  prefix: e.target.value
44372
44394
  }),
44373
44395
  className: "fg-mono-input"
@@ -44382,9 +44404,9 @@ function QP() {
44382
44404
  }), /* @__PURE__ */ X(H, {
44383
44405
  size: "small",
44384
44406
  placeholder: "submissions",
44385
- value: u.sequence.counterKey ?? "",
44386
- onChange: (e) => k("sequence", {
44387
- ...u.sequence,
44407
+ value: f.sequence.counterKey ?? "",
44408
+ onChange: (e) => j("sequence", {
44409
+ ...f.sequence,
44388
44410
  counterKey: e.target.value
44389
44411
  }),
44390
44412
  className: "fg-mono-input"
@@ -44415,8 +44437,8 @@ function QP() {
44415
44437
  },
44416
44438
  children: [/* @__PURE__ */ X(G, {
44417
44439
  size: "small",
44418
- checked: !!u.duplicateCheck,
44419
- onChange: (e) => k("duplicateCheck", e ? {
44440
+ checked: !!f.duplicateCheck,
44441
+ onChange: (e) => j("duplicateCheck", e ? {
44420
44442
  stages: [],
44421
44443
  policy: "prompt",
44422
44444
  displayFields: [],
@@ -44427,7 +44449,7 @@ function QP() {
44427
44449
  children: "Check before saving a new record"
44428
44450
  })]
44429
44451
  }),
44430
- u.duplicateCheck && /* @__PURE__ */ Z(Y, { children: [
44452
+ f.duplicateCheck && /* @__PURE__ */ Z(Y, { children: [
44431
44453
  /* @__PURE__ */ Z(RP, {
44432
44454
  type: "secondary",
44433
44455
  style: {
@@ -44437,7 +44459,7 @@ function QP() {
44437
44459
  },
44438
44460
  children: [/* @__PURE__ */ X("b", { children: "Checks run in order, top first, and stop at the first match." }), " Put your most certain check first — matching an email or a phone number is near proof; matching a name alone is only a maybe, so it belongs lower down."]
44439
44461
  }),
44440
- (u.duplicateCheck.stages ?? []).map((e, t) => /* @__PURE__ */ Z("div", {
44462
+ (f.duplicateCheck.stages ?? []).map((e, t) => /* @__PURE__ */ Z("div", {
44441
44463
  className: "fg-field-meta-row",
44442
44464
  style: {
44443
44465
  marginBottom: 8,
@@ -44460,7 +44482,7 @@ function QP() {
44460
44482
  style: { width: "100%" },
44461
44483
  placeholder: "email, contactNumber",
44462
44484
  value: e.fields ?? [],
44463
- onChange: (n) => A(t, {
44485
+ onChange: (n) => M(t, {
44464
44486
  ...e,
44465
44487
  fields: n
44466
44488
  })
@@ -44476,7 +44498,7 @@ function QP() {
44476
44498
  size: "small",
44477
44499
  style: { width: "100%" },
44478
44500
  value: e.match ?? "all",
44479
- onChange: (n) => A(t, {
44501
+ onChange: (n) => M(t, {
44480
44502
  ...e,
44481
44503
  match: n
44482
44504
  }),
@@ -44499,7 +44521,7 @@ function QP() {
44499
44521
  size: "small",
44500
44522
  style: { width: "100%" },
44501
44523
  value: e.weight ?? "strong",
44502
- onChange: (n) => A(t, {
44524
+ onChange: (n) => M(t, {
44503
44525
  ...e,
44504
44526
  weight: n
44505
44527
  }),
@@ -44522,7 +44544,7 @@ function QP() {
44522
44544
  size: "small",
44523
44545
  placeholder: "A candidate with this email already exists — {name}, last updated {age}.",
44524
44546
  value: e.message ?? "",
44525
- onChange: (n) => A(t, {
44547
+ onChange: (n) => M(t, {
44526
44548
  ...e,
44527
44549
  message: n.target.value
44528
44550
  })
@@ -44532,9 +44554,9 @@ function QP() {
44532
44554
  size: "small",
44533
44555
  danger: !0,
44534
44556
  type: "text",
44535
- onClick: () => k("duplicateCheck", {
44536
- ...u.duplicateCheck,
44537
- stages: (u.duplicateCheck.stages ?? []).filter((e, n) => n !== t)
44557
+ onClick: () => j("duplicateCheck", {
44558
+ ...f.duplicateCheck,
44559
+ stages: (f.duplicateCheck.stages ?? []).filter((e, n) => n !== t)
44538
44560
  }),
44539
44561
  children: "Remove"
44540
44562
  })
@@ -44544,9 +44566,9 @@ function QP() {
44544
44566
  size: "small",
44545
44567
  type: "dashed",
44546
44568
  style: { marginBottom: 12 },
44547
- onClick: () => k("duplicateCheck", {
44548
- ...u.duplicateCheck,
44549
- stages: [...u.duplicateCheck.stages ?? [], {
44569
+ onClick: () => j("duplicateCheck", {
44570
+ ...f.duplicateCheck,
44571
+ stages: [...f.duplicateCheck.stages ?? [], {
44550
44572
  fields: [],
44551
44573
  match: "any",
44552
44574
  weight: "strong"
@@ -44565,9 +44587,9 @@ function QP() {
44565
44587
  }), /* @__PURE__ */ X(U, {
44566
44588
  size: "small",
44567
44589
  style: { width: "100%" },
44568
- value: u.duplicateCheck.policy ?? "prompt",
44569
- onChange: (e) => k("duplicateCheck", {
44570
- ...u.duplicateCheck,
44590
+ value: f.duplicateCheck.policy ?? "prompt",
44591
+ onChange: (e) => j("duplicateCheck", {
44592
+ ...f.duplicateCheck,
44571
44593
  policy: e
44572
44594
  }),
44573
44595
  options: [{
@@ -44589,9 +44611,9 @@ function QP() {
44589
44611
  size: "small",
44590
44612
  style: { width: "100%" },
44591
44613
  placeholder: "firstName, lastName, email",
44592
- value: u.duplicateCheck.displayFields ?? [],
44593
- onChange: (e) => k("duplicateCheck", {
44594
- ...u.duplicateCheck,
44614
+ value: f.duplicateCheck.displayFields ?? [],
44615
+ onChange: (e) => j("duplicateCheck", {
44616
+ ...f.duplicateCheck,
44595
44617
  displayFields: e
44596
44618
  })
44597
44619
  })]
@@ -44610,9 +44632,9 @@ function QP() {
44610
44632
  size: "small",
44611
44633
  className: "fg-mono-input",
44612
44634
  placeholder: "/candidate/edit/:id",
44613
- value: u.duplicateCheck.editRoute ?? "",
44614
- onChange: (e) => k("duplicateCheck", {
44615
- ...u.duplicateCheck,
44635
+ value: f.duplicateCheck.editRoute ?? "",
44636
+ onChange: (e) => j("duplicateCheck", {
44637
+ ...f.duplicateCheck,
44616
44638
  editRoute: e.target.value
44617
44639
  })
44618
44640
  })]
@@ -44677,8 +44699,8 @@ function QP() {
44677
44699
  },
44678
44700
  children: [/* @__PURE__ */ X(G, {
44679
44701
  size: "small",
44680
- checked: !!u.fileVersioning,
44681
- onChange: (e) => k("fileVersioning", e ? {
44702
+ checked: !!f.fileVersioning,
44703
+ onChange: (e) => j("fileVersioning", e ? {
44682
44704
  fields: [],
44683
44705
  keep: 2,
44684
44706
  historyKey: "",
@@ -44690,7 +44712,7 @@ function QP() {
44690
44712
  children: "Keep previous uploads"
44691
44713
  })]
44692
44714
  }),
44693
- u.fileVersioning && /* @__PURE__ */ Z(Y, { children: [
44715
+ f.fileVersioning && /* @__PURE__ */ Z(Y, { children: [
44694
44716
  /* @__PURE__ */ Z("div", {
44695
44717
  style: { marginBottom: 10 },
44696
44718
  children: [
@@ -44704,13 +44726,13 @@ function QP() {
44704
44726
  }),
44705
44727
  /* @__PURE__ */ Z(ss.Group, {
44706
44728
  size: "small",
44707
- value: u.fileVersioning.store === "documents" ? "documents" : "record",
44729
+ value: f.fileVersioning.store === "documents" ? "documents" : "record",
44708
44730
  onChange: (e) => {
44709
44731
  let t = e.target.value, n = {
44710
- ...u.fileVersioning,
44732
+ ...f.fileVersioning,
44711
44733
  store: t === "documents" ? "documents" : ""
44712
44734
  };
44713
- t === "documents" && (n.linkField = n.linkField || "documentIds", n.clearRecordKeys = n.clearRecordKeys?.length ? n.clearRecordKeys : (n.fields ?? []).flatMap((e) => [`${e}History`, `${e}Versions`])), k("fileVersioning", n);
44735
+ t === "documents" && (n.linkField = n.linkField || "documentIds", n.clearRecordKeys = n.clearRecordKeys?.length ? n.clearRecordKeys : (n.fields ?? []).flatMap((e) => [`${e}History`, `${e}Versions`])), j("fileVersioning", n);
44714
44736
  },
44715
44737
  children: [/* @__PURE__ */ X(ss, {
44716
44738
  value: "documents",
@@ -44736,7 +44758,7 @@ function QP() {
44736
44758
  })
44737
44759
  ]
44738
44760
  }),
44739
- u.fileVersioning.store === "documents" && /* @__PURE__ */ Z("div", {
44761
+ f.fileVersioning.store === "documents" && /* @__PURE__ */ Z("div", {
44740
44762
  className: "fg-field-meta-row",
44741
44763
  style: { marginBottom: 10 },
44742
44764
  children: [/* @__PURE__ */ Z("div", {
@@ -44748,9 +44770,9 @@ function QP() {
44748
44770
  }), /* @__PURE__ */ X(H, {
44749
44771
  size: "small",
44750
44772
  placeholder: "documentIds",
44751
- value: u.fileVersioning.linkField ?? "",
44752
- onChange: (e) => k("fileVersioning", {
44753
- ...u.fileVersioning,
44773
+ value: f.fileVersioning.linkField ?? "",
44774
+ onChange: (e) => j("fileVersioning", {
44775
+ ...f.fileVersioning,
44754
44776
  linkField: e.target.value
44755
44777
  })
44756
44778
  })]
@@ -44765,9 +44787,9 @@ function QP() {
44765
44787
  size: "small",
44766
44788
  style: { width: "100%" },
44767
44789
  placeholder: "resumeHistory",
44768
- value: u.fileVersioning.clearRecordKeys ?? [],
44769
- onChange: (e) => k("fileVersioning", {
44770
- ...u.fileVersioning,
44790
+ value: f.fileVersioning.clearRecordKeys ?? [],
44791
+ onChange: (e) => j("fileVersioning", {
44792
+ ...f.fileVersioning,
44771
44793
  clearRecordKeys: e
44772
44794
  })
44773
44795
  })]
@@ -44787,9 +44809,9 @@ function QP() {
44787
44809
  size: "small",
44788
44810
  style: { width: "100%" },
44789
44811
  placeholder: "resume",
44790
- value: u.fileVersioning.fields ?? [],
44791
- onChange: (e) => k("fileVersioning", {
44792
- ...u.fileVersioning,
44812
+ value: f.fileVersioning.fields ?? [],
44813
+ onChange: (e) => j("fileVersioning", {
44814
+ ...f.fileVersioning,
44793
44815
  fields: e
44794
44816
  })
44795
44817
  })]
@@ -44804,9 +44826,9 @@ function QP() {
44804
44826
  size: "small",
44805
44827
  type: "number",
44806
44828
  min: 1,
44807
- value: u.fileVersioning.keep ?? 2,
44808
- onChange: (e) => k("fileVersioning", {
44809
- ...u.fileVersioning,
44829
+ value: f.fileVersioning.keep ?? 2,
44830
+ onChange: (e) => j("fileVersioning", {
44831
+ ...f.fileVersioning,
44810
44832
  keep: Number(e.target.value) || 1
44811
44833
  })
44812
44834
  })]
@@ -44820,9 +44842,9 @@ function QP() {
44820
44842
  }), /* @__PURE__ */ X(H, {
44821
44843
  size: "small",
44822
44844
  placeholder: "candidates/{recordId}/resume",
44823
- value: u.fileVersioning.s3Prefix ?? "",
44824
- onChange: (e) => k("fileVersioning", {
44825
- ...u.fileVersioning,
44845
+ value: f.fileVersioning.s3Prefix ?? "",
44846
+ onChange: (e) => j("fileVersioning", {
44847
+ ...f.fileVersioning,
44826
44848
  s3Prefix: e.target.value
44827
44849
  })
44828
44850
  })]
@@ -44838,9 +44860,9 @@ function QP() {
44838
44860
  },
44839
44861
  children: [/* @__PURE__ */ X(G, {
44840
44862
  size: "small",
44841
- checked: !!u.fileVersioning.deleteEvicted,
44842
- onChange: (e) => k("fileVersioning", {
44843
- ...u.fileVersioning,
44863
+ checked: !!f.fileVersioning.deleteEvicted,
44864
+ onChange: (e) => j("fileVersioning", {
44865
+ ...f.fileVersioning,
44844
44866
  deleteEvicted: e
44845
44867
  })
44846
44868
  }), /* @__PURE__ */ X(RP, {
@@ -44864,49 +44886,49 @@ function QP() {
44864
44886
  icon: /* @__PURE__ */ X(nc, {}),
44865
44887
  title: "Denormalizations",
44866
44888
  description: "Copy fields from ANOTHER module's record onto this payload before insert (e.g. a submission snapshotting job title/client).",
44867
- rules: u.denormalizations ?? [],
44868
- columns: N,
44869
- onAdd: () => y({
44889
+ rules: f.denormalizations ?? [],
44890
+ columns: P,
44891
+ onAdd: () => x({
44870
44892
  index: null,
44871
44893
  rule: null
44872
44894
  }),
44873
- onEdit: (e, t) => y({
44895
+ onEdit: (e, t) => x({
44874
44896
  index: e,
44875
44897
  rule: t
44876
44898
  }),
44877
- onDelete: (e) => k("denormalizations", (u.denormalizations ?? []).filter((t, n) => n !== e))
44899
+ onDelete: (e) => j("denormalizations", (f.denormalizations ?? []).filter((t, n) => n !== e))
44878
44900
  }),
44879
44901
  /* @__PURE__ */ X(XP, {
44880
44902
  icon: /* @__PURE__ */ X(ws, {}),
44881
44903
  title: "Array Enrichments",
44882
44904
  description: "Enrich a payload array of ids (e.g. recruitersData) into objects carrying looked-up fields (name, email) before insert.",
44883
- rules: u.arrayEnrichments ?? [],
44884
- columns: ee,
44885
- onAdd: () => x({
44905
+ rules: f.arrayEnrichments ?? [],
44906
+ columns: F,
44907
+ onAdd: () => C({
44886
44908
  index: null,
44887
44909
  rule: null
44888
44910
  }),
44889
- onEdit: (e, t) => x({
44911
+ onEdit: (e, t) => C({
44890
44912
  index: e,
44891
44913
  rule: t
44892
44914
  }),
44893
- onDelete: (e) => k("arrayEnrichments", (u.arrayEnrichments ?? []).filter((t, n) => n !== e))
44915
+ onDelete: (e) => j("arrayEnrichments", (f.arrayEnrichments ?? []).filter((t, n) => n !== e))
44894
44916
  }),
44895
44917
  /* @__PURE__ */ X(XP, {
44896
44918
  icon: /* @__PURE__ */ X(nc, {}),
44897
44919
  title: "File Field Maps",
44898
44920
  description: "Turn an uploaded file field into a nested object (location + filename + who/when) or an array of such objects, instead of a flat S3 path string — needed for schemas like resume/passport/visa.",
44899
- rules: u.fileFieldMaps ?? [],
44900
- columns: P,
44901
- onAdd: () => C({
44921
+ rules: f.fileFieldMaps ?? [],
44922
+ columns: te,
44923
+ onAdd: () => T({
44902
44924
  index: null,
44903
44925
  rule: null
44904
44926
  }),
44905
- onEdit: (e, t) => C({
44927
+ onEdit: (e, t) => T({
44906
44928
  index: e,
44907
44929
  rule: t
44908
44930
  }),
44909
- onDelete: (e) => k("fileFieldMaps", (u.fileFieldMaps ?? []).filter((t, n) => n !== e))
44931
+ onDelete: (e) => j("fileFieldMaps", (f.fileFieldMaps ?? []).filter((t, n) => n !== e))
44910
44932
  }),
44911
44933
  /* @__PURE__ */ Z(OO, {
44912
44934
  title: "Sanitize Fields",
@@ -44923,8 +44945,8 @@ function QP() {
44923
44945
  mode: "tags",
44924
44946
  style: { width: "100%" },
44925
44947
  placeholder: "firstName, lastName, email",
44926
- value: u.sanitizeFields ?? [],
44927
- onChange: (e) => k("sanitizeFields", e)
44948
+ value: f.sanitizeFields ?? [],
44949
+ onChange: (e) => j("sanitizeFields", e)
44928
44950
  })]
44929
44951
  }),
44930
44952
  /* @__PURE__ */ Z(OO, {
@@ -44939,8 +44961,8 @@ function QP() {
44939
44961
  },
44940
44962
  children: "Set a field only when the payload doesn't already carry a non-blank value — status defaults, empty arrays."
44941
44963
  }), /* @__PURE__ */ X(BP, {
44942
- rows: UP(u.defaults),
44943
- onChange: (e) => k("defaults", WP(e)),
44964
+ rows: UP(f.defaults),
44965
+ onChange: (e) => j("defaults", WP(e)),
44944
44966
  keyPlaceholder: "internalSubmissionStatus.internalSubmissionStatusText",
44945
44967
  valuePlaceholder: "\"Under Evaluation\""
44946
44968
  })]
@@ -44949,33 +44971,33 @@ function QP() {
44949
44971
  icon: /* @__PURE__ */ X(ws, {}),
44950
44972
  title: "Hierarchy Expansions",
44951
44973
  description: "Walk the reporting chain up (toward admin) or down (toward a team) from a seed user, publishing the result as {{hierarchy.<name>}} for Related Updates / Notify to use.",
44952
- rules: u.hierarchyExpands ?? [],
44953
- columns: F,
44954
- onAdd: () => T({
44974
+ rules: f.hierarchyExpands ?? [],
44975
+ columns: ne,
44976
+ onAdd: () => D({
44955
44977
  index: null,
44956
44978
  rule: null
44957
44979
  }),
44958
- onEdit: (e, t) => T({
44980
+ onEdit: (e, t) => D({
44959
44981
  index: e,
44960
44982
  rule: t
44961
44983
  }),
44962
- onDelete: (e) => k("hierarchyExpands", (u.hierarchyExpands ?? []).filter((t, n) => n !== e))
44984
+ onDelete: (e) => j("hierarchyExpands", (f.hierarchyExpands ?? []).filter((t, n) => n !== e))
44963
44985
  }),
44964
44986
  /* @__PURE__ */ X(XP, {
44965
44987
  icon: /* @__PURE__ */ X(Ml, {}),
44966
44988
  title: "Related Updates",
44967
44989
  description: "Best-effort side-effect writes to other collections after a successful insert — board state, activity logs. Combine with ForEach + a Hierarchy Expansion to seed one document per user in a chain.",
44968
- rules: u.relatedUpdates ?? [],
44969
- columns: te,
44970
- onAdd: () => D({
44990
+ rules: f.relatedUpdates ?? [],
44991
+ columns: re,
44992
+ onAdd: () => k({
44971
44993
  index: null,
44972
44994
  rule: null
44973
44995
  }),
44974
- onEdit: (e, t) => D({
44996
+ onEdit: (e, t) => k({
44975
44997
  index: e,
44976
44998
  rule: t
44977
44999
  }),
44978
- onDelete: (e) => k("relatedUpdates", (u.relatedUpdates ?? []).filter((t, n) => n !== e))
45000
+ onDelete: (e) => j("relatedUpdates", (f.relatedUpdates ?? []).filter((t, n) => n !== e))
44979
45001
  }),
44980
45002
  /* @__PURE__ */ Z(OO, {
44981
45003
  title: "Notify",
@@ -44989,8 +45011,8 @@ function QP() {
44989
45011
  },
44990
45012
  children: [/* @__PURE__ */ X(G, {
44991
45013
  size: "small",
44992
- checked: !!u.notify,
44993
- onChange: (e) => k("notify", e ? {
45014
+ checked: !!f.notify,
45015
+ onChange: (e) => j("notify", e ? {
44994
45016
  action: "",
44995
45017
  subjectDefault: "",
44996
45018
  bodyDefault: "",
@@ -45001,7 +45023,7 @@ function QP() {
45001
45023
  style: { fontSize: 13 },
45002
45024
  children: "Send a best-effort email after a successful insert"
45003
45025
  })]
45004
- }), u.notify && /* @__PURE__ */ Z(Y, { children: [
45026
+ }), f.notify && /* @__PURE__ */ Z(Y, { children: [
45005
45027
  /* @__PURE__ */ Z("div", {
45006
45028
  className: "fg-field-meta-row",
45007
45029
  children: [/* @__PURE__ */ Z("div", {
@@ -45013,9 +45035,9 @@ function QP() {
45013
45035
  }), /* @__PURE__ */ X(H, {
45014
45036
  size: "small",
45015
45037
  placeholder: "internalSubmit",
45016
- value: u.notify.action ?? "",
45017
- onChange: (e) => k("notify", {
45018
- ...u.notify,
45038
+ value: f.notify.action ?? "",
45039
+ onChange: (e) => j("notify", {
45040
+ ...f.notify,
45019
45041
  action: e.target.value
45020
45042
  }),
45021
45043
  className: "fg-mono-input"
@@ -45031,12 +45053,12 @@ function QP() {
45031
45053
  style: { width: "100%" },
45032
45054
  allowClear: !0,
45033
45055
  placeholder: "pick a Hierarchy Expansion",
45034
- value: u.notify.toHierarchy || void 0,
45035
- onChange: (e) => k("notify", {
45036
- ...u.notify,
45056
+ value: f.notify.toHierarchy || void 0,
45057
+ onChange: (e) => j("notify", {
45058
+ ...f.notify,
45037
45059
  toHierarchy: e ?? ""
45038
45060
  }),
45039
- options: O.map((e) => ({
45061
+ options: A.map((e) => ({
45040
45062
  value: e,
45041
45063
  label: e
45042
45064
  }))
@@ -45052,9 +45074,9 @@ function QP() {
45052
45074
  },
45053
45075
  children: [/* @__PURE__ */ X(G, {
45054
45076
  size: "small",
45055
- checked: !!u.notify.toReportingManager,
45056
- onChange: (e) => k("notify", {
45057
- ...u.notify,
45077
+ checked: !!f.notify.toReportingManager,
45078
+ onChange: (e) => j("notify", {
45079
+ ...f.notify,
45058
45080
  toReportingManager: e
45059
45081
  })
45060
45082
  }), /* @__PURE__ */ X(RP, {
@@ -45071,9 +45093,9 @@ function QP() {
45071
45093
  }), /* @__PURE__ */ X(H, {
45072
45094
  size: "small",
45073
45095
  placeholder: "New submission",
45074
- value: u.notify.subjectDefault ?? "",
45075
- onChange: (e) => k("notify", {
45076
- ...u.notify,
45096
+ value: f.notify.subjectDefault ?? "",
45097
+ onChange: (e) => j("notify", {
45098
+ ...f.notify,
45077
45099
  subjectDefault: e.target.value
45078
45100
  })
45079
45101
  })]
@@ -45086,9 +45108,9 @@ function QP() {
45086
45108
  children: "Default body (used when no EmailTemplates doc matches)"
45087
45109
  }), /* @__PURE__ */ X(H.TextArea, {
45088
45110
  rows: 4,
45089
- value: u.notify.bodyDefault ?? "",
45090
- onChange: (e) => k("notify", {
45091
- ...u.notify,
45111
+ value: f.notify.bodyDefault ?? "",
45112
+ onChange: (e) => j("notify", {
45113
+ ...f.notify,
45092
45114
  bodyDefault: e.target.value
45093
45115
  }),
45094
45116
  className: "fg-mono-input"
@@ -45115,8 +45137,8 @@ function QP() {
45115
45137
  mode: "tags",
45116
45138
  style: { width: "100%" },
45117
45139
  placeholder: "jobs:{{tenantId}}:{{businessId}}:{{businessUnitId}}:*",
45118
- value: u.cacheInvalidate ?? [],
45119
- onChange: (e) => k("cacheInvalidate", e)
45140
+ value: f.cacheInvalidate ?? [],
45141
+ onChange: (e) => j("cacheInvalidate", e)
45120
45142
  })]
45121
45143
  })
45122
45144
  ]
@@ -45125,46 +45147,46 @@ function QP() {
45125
45147
  })
45126
45148
  }),
45127
45149
  /* @__PURE__ */ X(GP, {
45128
- open: !!v,
45129
- rule: v?.rule,
45130
- onClose: () => y(null),
45131
- onSave: (e) => {
45132
- k("denormalizations", v.index === null ? [...u.denormalizations ?? [], e] : (u.denormalizations ?? []).map((t, n) => n === v.index ? e : t)), y(null);
45133
- }
45134
- }, v ? `denorm-${v.index ?? "new"}` : "denorm-closed"),
45135
- /* @__PURE__ */ X(KP, {
45136
45150
  open: !!b,
45137
45151
  rule: b?.rule,
45138
45152
  onClose: () => x(null),
45139
45153
  onSave: (e) => {
45140
- k("arrayEnrichments", b.index === null ? [...u.arrayEnrichments ?? [], e] : (u.arrayEnrichments ?? []).map((t, n) => n === b.index ? e : t)), x(null);
45154
+ j("denormalizations", b.index === null ? [...f.denormalizations ?? [], e] : (f.denormalizations ?? []).map((t, n) => n === b.index ? e : t)), x(null);
45141
45155
  }
45142
- }, b ? `enrich-${b.index ?? "new"}` : "enrich-closed"),
45143
- /* @__PURE__ */ X(qP, {
45156
+ }, b ? `denorm-${b.index ?? "new"}` : "denorm-closed"),
45157
+ /* @__PURE__ */ X(KP, {
45144
45158
  open: !!S,
45145
45159
  rule: S?.rule,
45146
45160
  onClose: () => C(null),
45147
45161
  onSave: (e) => {
45148
- k("fileFieldMaps", S.index === null ? [...u.fileFieldMaps ?? [], e] : (u.fileFieldMaps ?? []).map((t, n) => n === S.index ? e : t)), C(null);
45162
+ j("arrayEnrichments", S.index === null ? [...f.arrayEnrichments ?? [], e] : (f.arrayEnrichments ?? []).map((t, n) => n === S.index ? e : t)), C(null);
45149
45163
  }
45150
- }, S ? `filemap-${S.index ?? "new"}` : "filemap-closed"),
45151
- /* @__PURE__ */ X(JP, {
45164
+ }, S ? `enrich-${S.index ?? "new"}` : "enrich-closed"),
45165
+ /* @__PURE__ */ X(qP, {
45152
45166
  open: !!w,
45153
45167
  rule: w?.rule,
45154
45168
  onClose: () => T(null),
45155
45169
  onSave: (e) => {
45156
- k("hierarchyExpands", w.index === null ? [...u.hierarchyExpands ?? [], e] : (u.hierarchyExpands ?? []).map((t, n) => n === w.index ? e : t)), T(null);
45170
+ j("fileFieldMaps", w.index === null ? [...f.fileFieldMaps ?? [], e] : (f.fileFieldMaps ?? []).map((t, n) => n === w.index ? e : t)), T(null);
45157
45171
  }
45158
- }, w ? `hier-${w.index ?? "new"}` : "hier-closed"),
45159
- /* @__PURE__ */ X(YP, {
45172
+ }, w ? `filemap-${w.index ?? "new"}` : "filemap-closed"),
45173
+ /* @__PURE__ */ X(JP, {
45160
45174
  open: !!E,
45161
45175
  rule: E?.rule,
45162
- hierarchyNames: O,
45163
45176
  onClose: () => D(null),
45164
45177
  onSave: (e) => {
45165
- k("relatedUpdates", E.index === null ? [...u.relatedUpdates ?? [], e] : (u.relatedUpdates ?? []).map((t, n) => n === E.index ? e : t)), D(null);
45178
+ j("hierarchyExpands", E.index === null ? [...f.hierarchyExpands ?? [], e] : (f.hierarchyExpands ?? []).map((t, n) => n === E.index ? e : t)), D(null);
45179
+ }
45180
+ }, E ? `hier-${E.index ?? "new"}` : "hier-closed"),
45181
+ /* @__PURE__ */ X(YP, {
45182
+ open: !!O,
45183
+ rule: O?.rule,
45184
+ hierarchyNames: A,
45185
+ onClose: () => k(null),
45186
+ onSave: (e) => {
45187
+ j("relatedUpdates", O.index === null ? [...f.relatedUpdates ?? [], e] : (f.relatedUpdates ?? []).map((t, n) => n === O.index ? e : t)), k(null);
45166
45188
  }
45167
- }, E ? `ru-${E.index ?? "new"}` : "ru-closed")
45189
+ }, O ? `ru-${O.index ?? "new"}` : "ru-closed")
45168
45190
  ]
45169
45191
  });
45170
45192
  }
@@ -45845,9 +45867,9 @@ function _F(e) {
45845
45867
  return r != null && r !== "" ? Number(r) : void 0;
45846
45868
  }
45847
45869
  function vF(e) {
45848
- if (!e) return "—";
45870
+ if (!e) return "Not recorded";
45849
45871
  let t = new Date(e);
45850
- return Number.isNaN(t.getTime()) ? "—" : new Intl.DateTimeFormat(void 0, {
45872
+ return Number.isNaN(t.getTime()) ? "Not recorded" : new Intl.DateTimeFormat(void 0, {
45851
45873
  dateStyle: "medium",
45852
45874
  timeStyle: "short"
45853
45875
  }).format(t);
@@ -46028,7 +46050,7 @@ function SF() {
46028
46050
  return Number.isFinite(n) ? /* @__PURE__ */ Z(K, {
46029
46051
  color: "blue",
46030
46052
  children: [n, "%"]
46031
- }) : "—";
46053
+ }) : "Not set";
46032
46054
  }
46033
46055
  },
46034
46056
  {
@@ -46938,7 +46960,11 @@ function PF() {
46938
46960
  },
46939
46961
  {
46940
46962
  title: "Route / API",
46941
- dataIndex: "api_url"
46963
+ dataIndex: "api_url",
46964
+ render: (e) => String(e ?? "").trim() ? e : /* @__PURE__ */ X("span", {
46965
+ style: { color: "var(--color-text-secondary, #8c8c8c)" },
46966
+ children: "No route (menu group)"
46967
+ })
46942
46968
  },
46943
46969
  {
46944
46970
  title: "Icon",
@@ -47912,7 +47938,11 @@ function nI({ onLogout: e, initialTab: t = "users", embedded: n = !1 }) {
47912
47938
  },
47913
47939
  {
47914
47940
  label: "Description",
47915
- value: "description"
47941
+ value: "description",
47942
+ render: (e) => String(e ?? "").trim() ? e : /* @__PURE__ */ X(VF, {
47943
+ type: "secondary",
47944
+ children: "No description"
47945
+ })
47916
47946
  },
47917
47947
  {
47918
47948
  label: "Status",
@@ -58699,7 +58729,7 @@ function FU({ sections: e, onOpen: t }) {
58699
58729
  }
58700
58730
  //#endregion
58701
58731
  //#region src/pages/Modules/Admin/settings/SettingsPage.jsx
58702
- var IU = ko(() => import("./FacebookCourseMappingsSection-rwzWu8Z5.js").then((e) => e.n)), LU = ko(() => Promise.resolve().then(() => LF)), { Title: RU } = xs, zU = [
58732
+ var IU = ko(() => import("./FacebookCourseMappingsSection-Dqn0D7cH.js").then((e) => e.n)), LU = ko(() => Promise.resolve().then(() => LF)), { Title: RU } = xs, zU = [
58703
58733
  {
58704
58734
  key: "mappings",
58705
58735
  label: "Mapping & Distributions",
@@ -66517,43 +66547,43 @@ function qJ(e, t = de) {
66517
66547
  return i.forEach((n) => {
66518
66548
  t[n.key] = typeof n.value == "function" ? IJ(n.value, e, { row: e }) : FJ(e, n.value ?? n.key);
66519
66549
  }), t;
66520
- }), c = i.map((e) => {
66521
- let { value: t, after: n, ...r } = e;
66550
+ }), c = new Map(PJ(o.fields).map((e) => [KJ(e), e?.isVisible === !0 || e?.isVisible === "true"])), l = new Set(i.filter((e) => $(e.adminField) && c.get(String(e.adminField)) !== !0).map((e) => e.key)), u = i.map((e) => {
66551
+ let { value: t, after: n, adminField: r, ...i } = e;
66522
66552
  return {
66523
- ...r,
66553
+ ...i,
66524
66554
  field: e.key,
66525
66555
  label: e.label ?? e.key,
66526
66556
  isVisible: !0,
66527
66557
  isVirtual: !0
66528
66558
  };
66529
- }), l = (e) => {
66559
+ }).filter((e) => !l.has(e.field)), d = (e) => {
66530
66560
  let t = KJ(e);
66531
66561
  return r[t] ? {
66532
66562
  ...e,
66533
66563
  ...r[t]
66534
66564
  } : e;
66535
- }, u;
66565
+ }, f;
66536
66566
  if (n.length) {
66537
- let e = new Map([...PJ(o.fields), ...c].map((e) => [KJ(e), e]));
66538
- u = n.map((t) => e.get(t) ?? (r[t] ? {
66567
+ let e = new Map([...PJ(o.fields), ...u].map((e) => [KJ(e), e]));
66568
+ f = n.filter((e) => !l.has(e)).map((t) => e.get(t) ?? (r[t] ? {
66539
66569
  field: t,
66540
66570
  label: r[t].label ?? t
66541
66571
  } : null)).filter(Boolean).map((e, t) => ({
66542
- ...l(e),
66572
+ ...d(e),
66543
66573
  isVisible: !0,
66544
66574
  order: t
66545
66575
  }));
66546
- } else u = PJ(o.fields).map(l), c.forEach((e, t) => {
66547
- let n = $(i[t].after) ? u.findIndex((e) => KJ(e) === i[t].after) : -1;
66548
- n >= 0 ? u.splice(n + 1, 0, e) : u.push(e);
66549
- }), u.some((e) => e.order !== void 0 && e.order !== null && e.order !== "") && (u = u.map((e, t) => ({
66576
+ } else f = PJ(o.fields).map(d), u.forEach((e) => {
66577
+ let t = i.find((t) => t.key === e.field) ?? {}, n = $(t.after) ? f.findIndex((e) => KJ(e) === t.after) : -1;
66578
+ n >= 0 ? f.splice(n + 1, 0, e) : f.push(e);
66579
+ }), f.some((e) => e.order !== void 0 && e.order !== null && e.order !== "") && (f = f.map((e, t) => ({
66550
66580
  ...e,
66551
66581
  order: t
66552
66582
  })));
66553
66583
  return {
66554
66584
  ...o,
66555
66585
  rows: s,
66556
- fields: u
66586
+ fields: f
66557
66587
  };
66558
66588
  },
66559
66589
  ...n.length ? { defaultVisibleColumnCount: n.length } : {}
@@ -73228,7 +73258,7 @@ async function OQ(e, t, { limit: n = 20, offset: r = 0, sort: i = "", sortDir: a
73228
73258
  }
73229
73259
  //#endregion
73230
73260
  //#region src/index.js
73231
- typeof window < "u" && (window.__CORE_THEME_BUILD__ = "2026-11-13T14:35:17.266Z");
73261
+ typeof window < "u" && (window.__CORE_THEME_BUILD__ = "2026-11-14T13:02:50.939Z");
73232
73262
  var kQ = AV, AQ = WD(zW), jQ = WD(VW), MQ = WD(nG), NQ = WD(mG), PQ = WD(CG), FQ = WD(EG), IQ = WD(kG), LQ = WD(MG), RQ = WD(PG), zQ = WD(qG), BQ = WD(YG);
73233
73263
  //#endregion
73234
73264
  export { se as ACTION_RULE_SURFACES, D as ADMIN_API_URL, c as ADMIN_APP_ID, E as APP_ID, a as AUTH_URL, sY as ActionInputBox, qf as ActivityNotesCard, Hf as ActivityTab, aV as AddBatchCandidatePopup, Aa as AddFormV1, JZ as AddRecordDrawer, AV as AdminDashboard, nI as AdminDashboardContent, kQ as AdminPage, Ra as AppAlert, Mn as AppButton, pD as AppShell, bw as ApprovalActionBar, Jf as AssigneeAvatars, oD as AuthGuard, l_ as BILLING_STATUS_FLOW, oC as BOOLEAN_API_KEYS, Gx as BOOLEAN_PARSEABLE_API_KEYS, bv as BUILT_IN_WIZARD_STEP_TYPES, Yf as BULK_UPLOAD_DEFAULT_ACCEPT, Xf as BULK_UPLOAD_DEFAULT_MAX_SIZE_MB, rt as Breadcrumb, MQ as BulkUploadPage, ip as BulkUploadPanel, t as CANDIDATES_URL, Ww as CONTRACT_C2C, Uw as CONTRACT_W2, Dm as CURRENCY_SYMBOLS, bu as CalendarCard, zX as CombinedDashboardPage, zX as DASHBOARDPAGE, IY as CombinedDetailViewPage, IY as DETAILVIEWPAGE, SY as CombinedHomePage, SY as HOMEPAGE, BZ as CompactRecordList, oI as CoreThemeAdminApp, aI as CoreThemeAdminRoutes, jZ as CreateActionButton, pe as CustomPagination, HC as DEFAULT_HOURS_POLICY, nC as DEFAULT_RESULTS_VIEW, wZ as DETAILSSECTION, wZ as DetailsSection, _Z as DETAILS_BLOCKS, BX as DETAILS_ICONS, fw as DayLogModal, _p as DescriptionBlock, fv as DetailHeaderCard, yv as DetailViewPage, sg as DetailViewV1, va as DocumentViewer, xf as DynamicCards, DR as DynamicPopup, uV as DynamicPopupRoute, kn as DynamicTabs, Yb as DynamicWizard, Ub as EditFormV1, ES as FIELD_TYPE_REGISTRY, Fw as FINANCE_APPROVAL_CONFIG, Ow as FINANCE_TYPE_CFO, Dw as FINANCE_TYPE_ONBOARDING_MANAGER, jw as FINANCE_TYPE_ONBOARDING_MANAGER_REAPPROVE, kw as FINANCE_TYPE_ONLY_FINANCE, Ew as FINANCE_TYPE_SUBMISSION_MANAGER, Aw as FINANCE_TYPE_SUBMISSION_MANAGER_REAPPROVE, YT as FileListCard, JK as FilterRail, OT as FinanceApprovalPanel, W_ as FinanceAvatar, J_ as FinanceBadge, Sw as FinanceDayCell, I_ as FinanceDivider, G_ as FinanceEmployeeCell, N_ as FinanceEmptyState, L_ as FinanceEquation, V_ as FinanceHistoryTimeline, M_ as FinanceHoursGrid, j_ as FinanceKpiRow, F_ as FinanceLine, VC as FinanceListToolbar, Y_ as FinanceMarginBadge, q_ as FinanceMoneyCell, Q_ as FinanceRecordsTable, X_ as FinanceRowChevron, P_ as FinanceSection, A_ as FinanceStatusPill, K_ as FinanceTextCell, ww as FinanceTimesheetAnalysis, R_ as FinanceWorkflowSteps, UC as HOURS_MESSAGES, wE as Header, Ef as HierarchyUserFilter, CY as HubOverview, T as JOBS_URL, AQ as LegacyAdminPage, cr as ListView, cq as ListWithQuickView, BQ as LmsHomePage, zQ as LmsTestForm, mD as Login, bq as MATCH_NOTHING, LI as MailPopup, FQ as ManageModules, IQ as ManageSubmodules, AZ as MasterDetailWorkspace, ex as ModuleRowActions, aQ as ModuleWorkspace, yw as NotesPanel, Kf as NotesTab, qS as OPEN_AS_OPTIONS, MJ as PAGE_ICONS, u_ as PAYROLL_STATUS_FLOW, XB as POPUP_CONFIGS, GZ as PanelBreadcrumb, UZ as PanelTabs, wx as ParamCardView, Ax as ParamListView, bV as PaymentInvoicePopup, tw as PeriodBadgeTag, mL as PreviewPopup, UD as ProjectSelect, vw as ProofUploadPreview, hw as QuickLogBar, pw as QuickLogSelectionBar, xY as QuickViewCard, cY as QuickViewModuleActions, sq as QuickViewPopover, TK as RAIL_KIND, oJ as REALTIME_STATUS, tC as RESULTS_VIEW_OPTIONS, EQ as RealtimeProvider, WZ as RecordDetailPanel, AY as RecordHub, yq as RecordQuickView, qZ as RecordSidePanel, mw as RejectionReasonModal, Xq as RelatedModuleTab, r as SUBMISSIONS_URL, MC as SearchBuilderV1, lQ as SearchResultsWorkspace, dQ as SearchSummaryBanner, VU as SettingsPage, nD as Sidebar, Ia as StatStrip, PC as StatusBadge, ew as StatusBadgeTag, jQ as StickyNotesFullPage, IC as StylishDynamicTabs, RC as TemplateEditor, NQ as TestForm, RQ as TestingHomePage, Pf as TimelineGroups, lw as TimesheetDayCell, ht as TipTapEditor, kV as UserForm, mV as VendorShareDrawer, br as ViewSummaryWidget, Fy as WIZARD_ACTIONS_CONTRACT_VERSION, Iy as WIZARD_ACTIONS_PATH, uy as WIZARD_CONTENT_TYPES, Sy as WizardAccessMatrixStep, Ry as WizardActionError, Cy as WizardActivityStep, xy as WizardChoiceCardsStep, wy as WizardDeclarationStep, _y as WizardListStep, Zv as WizardPermissionMatrixStep, bL as WizardPopup, Dy as WizardPreview, qv as WizardPreviewStep, Py as WizardStepContent, Ay as WizardSuccessStep, jy as WizardUnknownContentStep, vQ as WorkspaceAppFrame, oq as WorkspaceListView, MZ as WorkspaceTopBar, LQ as ZinnextTableView, PQ as ZinnextTestForm, Rn as actedRecently, Dn as actionRuleConditionMatches, hx as adminActionAllowed, N as appNow, qi as applyIntegrationStatus, Qu as approveSubmission, BY as attentionItems, tp as buildAcceptAttr, dC as buildBooleanRequest, w_ as buildCsv, v_ as buildDailyRows, sw as buildDayGradient, Ka as buildFormWizardSteps, hT as buildRateHistoryEntries, wq as buildRelationConditions, gC as buildSearchRequest, x_ as buildWeeklyRollup, sJ as canonicalModule, er as clearNewRecord, m as clearSelectedProject, Ze as colors, sT as computeFinance, YC as computeHoursPolicy, S_ as computeMarginBand, dr as conditionMatches, n as configureCoreTheme, Vn as configuredFieldLabel, Kb as configuredWizardSteps, $t as confirmAction, BK as countActiveRows, SK as createAllWorkflowsListFetcher, gK as createMergedListFetcher, lK as createModuleListFetchAdapter, pJ as createRealtimeClient, _K as createWorkflowStageListFetcher, Om as currencySymbol, LY as dashboardRange, tK as defaultMergeRow, Zi as deleteIntegrationConfig, __ as deriveDayStats, ZC as describeCapacity, FZ as displayText, O_ as downloadCsv, RK as draftToRows, rr as evaluateShowIfWith, v as fetchJsonWithAuth, DQ as fetchRelatedRecords, OQ as fetchScopedRecords, Kn as fillConfirmText, tT as findEmployerRow, $w as flattenGroups, Pm as formatAmount, Tn as formatApp, We as formatAppDateTime, ep as formatFileSize, gT as formatFinanceMoney, e_ as formatHours, Fm as formatMoney, n_ as formatPercent, Im as formatRate, TQ as formatSearchCount, wQ as formatSearchDuration, In as getActivity, CK as getAllWorkflowsModuleList, Je as getAppTimeZone, o_ as getApprovalDate, Bi as getBgcIntegrationConfig, ti as getBgcIntegrationSummary, d_ as getBillingActionStates, MS as getBooleanEligibleTypes, l as getCurrentRoleName, E_ as getFieldLabel, OS as getFieldType, $f as getFileExtension, Bw as getFinanceApprovalConfig, Pa as getFormGroups, RT as getFormGroupsRaw, ga as getIntegrationConfig, zr as getIntegrationConfigs, _i as getIntegrationSummary, vd as getModuleConfig, pn as getModuleDataDetail, f_ as getPayrollActionStates, bd as getPeriodBadgeConfig, WS as getSearchPopup, g as getSelectedProject, C as getStoredToken, u as getStoredUser, d as getUserRoles, $u as getVMSApprove, D_ as getValueStyle, wK as getWorkflowStageModuleList, p_ as getWorkflowSteps, a_ as humanizeEvent, T_ as indexFieldConfig, r_ as initialsOf, Bh as inputPayload, Yx as insertTokenAtCursor, y as invalidateGetCache, kS as isBooleanEligible, qx as isBooleanParsable, _ as isTester, Ga as isWizardConfigEnabled, Ja as isWizardConfigReady, qJ as listPropsForColumns, f as logout, yC as makeSearchFetcher, de as mapListResponse, Hw as marginIncludesReferral, yn as markNewRecord, oT as matchLocationTax, so as mergeWizardSubmitValues, cJ as moduleTopic, he as moduleViewAllowed, Zy as n, Hn as newRecordMarks, Lt as normalizeConfirm, rT as normalizeContract, Lh as normalizeInputPrompt, VJ as normalizePageLayout, GK as parseRows, RZ as pickCompactFields, gq as quickViewFields, hq as quickViewValueText, ap as r, Am as rateUnitLabel, Mm as rateUnitShort, ZS as readActionButtons, rq as readPageParam, XC as reconcileHours, ir as recordActionRun, zZ as recordIdOf, lJ as recordTopic, DS as registerFieldType, US as registerSearchPopup, Ov as registerWizardPreview, Dv as registerWizardStepType, td as rejectSubmission, Eq as relationSignature, zf as resolveActivityMeta, cT as resolveAndCompute, qC as resolveDayKind, aT as resolveFinanceInputs, $G as resolveMergeKey, $G as resolveMergedListKey, YS as resolveOpenAs, BJ as resolvePageButtons, NJ as resolvePageIcon, IJ as resolvePageValue, oY as resolveQuickViewActions, Vw as resolveRejectionReason, aC as resolveResultsSearchPlaceholder, iC as resolveResultsView, zT as resolveSubmissionFinance, VK as rowsSignature, zK as rowsToDraft, He as ruleAppliesToSurface, Ke as rulePrimaryAction, Fh as runModuleAction, Hy as runWizardAction, Bv as safeWizardActionRoute, Ki as saveBgcIntegrationConfig, Ci as saveIntegrationConfig, Nq as scopeConditionsFor, CQ as searchCriteriaParts, WK as serializeRows, w as setSelectedProject, Wt as showIfConditions, vK as stageCountKey, Mq as supportsAnyOf, hD as t, hi as testIntegrationConnection, _e as toApp, Nm as toNumber, NK as toRailFields, dJ as topicsForEvent, ke as tzLabel, Be as tzShortLabel, GS as unregisterSearchPopup, Tq as unscopedConditions, _x as useAdminAction, gx as useAdminActionsVersion, Jb as useConfiguredWizardSteps, Mr as useDropdownFields, re as useDropdownValues, XT as useEditForm, P as useFieldConfig, bt as useFilterFields, aq as useInPlaceRecordLinks, jJ as useLiveRefresh, De as useMenuPermission, jh as useModuleActions, Re as useModuleViewAccess, Yt as useNewRecordMarks, EJ as useRealtimeClient, AJ as useRealtimeReconnect, DJ as useRealtimeStatus, kJ as useRealtimeTopics, KZ as useRecordFields, OY as useRecordHub, gv as useRecordRefresh, qq as useRelatedCounts, tq as useWorkspaceList, Jx as validateBooleanQuery, np as validateBulkFile, zh as validateInputValue, i as withAdminAppId, h as withAppId, WD as withAuthGuard, iq as withPageParam, Dq as withSubTab };