@realtek/core-theme 0.0.137 → 0.0.139

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
@@ -11202,7 +11202,7 @@ function Uh(e = []) {
11202
11202
  return null;
11203
11203
  }
11204
11204
  function Wh(e = []) {
11205
- return [...e].filter((e) => !Vh(e.hideGroup)).sort((e, t) => Number(e.order ?? 0) - Number(t.order ?? 0)).map((e) => ({
11205
+ return [...e].filter((e) => !Vh(e.hideGroup) && !Vh(e.hideGroupInDetail)).sort((e, t) => Number(e.order ?? 0) - Number(t.order ?? 0)).map((e) => ({
11206
11206
  ...e,
11207
11207
  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
11208
  })).filter((e) => e.fields.length);
@@ -12092,7 +12092,8 @@ function Mg(e, t) {
12092
12092
  let n = {
12093
12093
  _id: t,
12094
12094
  id: t
12095
- };
12095
+ }, r = e?.recordMeta;
12096
+ if (r && typeof r == "object") for (let [e, t] of Object.entries(r)) e in n || (n[e] = t);
12096
12097
  for (let t of e ?? []) for (let e of t.fields ?? []) e?.field != null && e.value !== void 0 && (n[e.field] = jg(e.value));
12097
12098
  return n;
12098
12099
  }
@@ -20167,7 +20168,7 @@ function Lx(e = []) {
20167
20168
  return r;
20168
20169
  });
20169
20170
  }
20170
- 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("."));
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.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("."));
20171
20172
  function Bx(e) {
20172
20173
  return {
20173
20174
  ...e,
@@ -22718,7 +22719,7 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
22718
22719
  dependsOn: t.dependsOn ?? [],
22719
22720
  optionalWrite: t.optionalWrite ?? !1,
22720
22721
  appendHistory: t.appendHistory ?? !1,
22721
- historyField: t.historyField ?? "",
22722
+ historyField: [t.historyField, ...t.historyFields ?? []].filter(Boolean).filter((e, t, n) => n.indexOf(e) === t).join(", "),
22722
22723
  historyTimestampField: t.historyTimestampField ?? "",
22723
22724
  minRows: t.minRows ?? "",
22724
22725
  maxRows: t.maxRows ?? "",
@@ -22845,9 +22846,10 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
22845
22846
  let t = (n.dependsOn ?? []).map((e) => String(e).trim()).filter(Boolean);
22846
22847
  t.length && (r.dependsOn = t), n.optionalWrite && (r.optionalWrite = !0);
22847
22848
  }
22848
- 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()));
22849
- let i = {};
22850
- 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);
22849
+ let i = String(n.historyField ?? "").split(",").map((e) => e.trim()).filter(Boolean).filter((e, t, n) => n.indexOf(e) === t);
22850
+ 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()));
22851
+ let a = {};
22852
+ 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);
22851
22853
  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();
22852
22854
  } catch (e) {
22853
22855
  if (e?.errorFields) return;
@@ -23127,12 +23129,12 @@ function Hx({ open: e, editingGroup: t, defaultModule: n, moduleOptions: r, allG
23127
23129
  required: !0,
23128
23130
  message: "Required"
23129
23131
  }],
23130
- 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).",
23132
+ 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.",
23131
23133
  style: { marginBottom: 0 },
23132
23134
  children: /* @__PURE__ */ Z(V, {
23133
23135
  size: "small",
23134
- placeholder: "e.g. proposedRate",
23135
- style: { width: 200 },
23136
+ placeholder: "e.g. proposedRate, candidateBudget",
23137
+ style: { width: 240 },
23136
23138
  className: "fg-mono-input"
23137
23139
  })
23138
23140
  }), /* @__PURE__ */ Z(B.Item, {
@@ -26083,30 +26085,37 @@ function gS() {
26083
26085
  function oe(e) {
26084
26086
  I(Qx[e]);
26085
26087
  }
26086
- async function B(e, t) {
26087
- let n = o;
26088
- s((n) => n.map((n) => n.id === e.id ? {
26088
+ async function B(e, t, n, r) {
26089
+ let i = o;
26090
+ s((r) => r.map((r) => r.id === e.id ? {
26091
+ ...r,
26092
+ [t]: n
26093
+ } : r)), R((n) => ({
26089
26094
  ...n,
26090
- hideGroup: t
26091
- } : n)), R((t) => ({
26092
- ...t,
26093
- [e.id]: !0
26095
+ [`${e.id}:${t}`]: !0
26094
26096
  }));
26095
26097
  try {
26096
26098
  await sa(e.id, {
26097
26099
  ...e,
26098
- hideGroup: t
26099
- }), Y.success(t ? "Group hidden from add/edit forms and the detail view" : "Group is visible again");
26100
+ [t]: n
26101
+ }), Y.success(n ? r.on : r.off);
26100
26102
  } catch (e) {
26101
- s(n), Y.error(e?.message || "Could not update group visibility");
26103
+ s(i), Y.error(e?.message || "Could not update group visibility");
26102
26104
  } finally {
26103
- R((t) => {
26104
- let n = { ...t };
26105
- return delete n[e.id], n;
26105
+ R((n) => {
26106
+ let r = { ...n };
26107
+ return delete r[`${e.id}:${t}`], r;
26106
26108
  });
26107
26109
  }
26108
26110
  }
26109
- function se() {
26111
+ let se = (e, t) => B(e, "hideGroup", t, {
26112
+ on: "Group hidden from add/edit forms and the detail view",
26113
+ off: "Group is visible again"
26114
+ }), ce = (e, t) => B(e, "hideGroupInDetail", t, {
26115
+ on: "Group hidden from the detail view only — add/edit forms keep it",
26116
+ off: "Group is visible in the detail view again"
26117
+ });
26118
+ function le() {
26110
26119
  I(null), L((e) => e + 1);
26111
26120
  }
26112
26121
  D(() => {
@@ -26142,11 +26151,11 @@ function gS() {
26142
26151
  e = !0;
26143
26152
  };
26144
26153
  }, [i, te]);
26145
- let ce = O(() => c.map((e) => ({
26154
+ let ue = O(() => c.map((e) => ({
26146
26155
  value: e.key,
26147
26156
  label: `${e.label} (${e.key})`
26148
26157
  })), [c]);
26149
- async function le() {
26158
+ async function H() {
26150
26159
  x(!0);
26151
26160
  try {
26152
26161
  let e = Object.entries(f).map(([e, t]) => iS(e, t)).filter(Boolean), { nextGroups: t, changed: n } = sS(o, f);
@@ -26164,7 +26173,7 @@ function gS() {
26164
26173
  x(!1);
26165
26174
  }
26166
26175
  }
26167
- function ue(e) {
26176
+ function de(e) {
26168
26177
  p((t) => ({
26169
26178
  ...t,
26170
26179
  [S.key]: {
@@ -26173,19 +26182,19 @@ function gS() {
26173
26182
  }
26174
26183
  })), C(null);
26175
26184
  }
26176
- function H(e) {
26185
+ function fe(e) {
26177
26186
  p((t) => {
26178
26187
  let n = { ...t };
26179
26188
  return delete n[e], n;
26180
26189
  });
26181
26190
  }
26182
- function de(e) {
26191
+ function pe(e) {
26183
26192
  h((t) => {
26184
26193
  let n = [...t];
26185
26194
  return w.index === null ? n.push(e) : n[w.index] = e, n;
26186
26195
  }), T(null);
26187
26196
  }
26188
- function fe(e, t) {
26197
+ function me(e, t) {
26189
26198
  p((n) => {
26190
26199
  let r = n[e] ?? { field: e };
26191
26200
  return {
@@ -26197,7 +26206,7 @@ function gS() {
26197
26206
  };
26198
26207
  });
26199
26208
  }
26200
- let pe = (e) => {
26209
+ let he = (e) => {
26201
26210
  if (!e) return null;
26202
26211
  let t = [];
26203
26212
  e.label && t.push(/* @__PURE__ */ Z(q, {
@@ -26228,7 +26237,7 @@ function gS() {
26228
26237
  style: { fontSize: 12 },
26229
26238
  children: "—"
26230
26239
  });
26231
- }, me = [
26240
+ }, ge = [
26232
26241
  {
26233
26242
  title: "Group",
26234
26243
  dataIndex: "label",
@@ -26301,12 +26310,29 @@ function gS() {
26301
26310
  checkedChildren: "Hide",
26302
26311
  unCheckedChildren: "Show",
26303
26312
  checked: nS(t.hideGroup),
26304
- loading: !!ie[t.id],
26305
- onChange: (e) => B(t, e)
26313
+ loading: !!ie[`${t.id}:hideGroup`],
26314
+ onChange: (e) => se(t, e)
26315
+ })
26316
+ })
26317
+ },
26318
+ {
26319
+ title: "Hide in Detail",
26320
+ key: "hideGroupInDetail",
26321
+ width: 120,
26322
+ align: "center",
26323
+ render: (e, t) => /* @__PURE__ */ Z(J, {
26324
+ 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",
26325
+ children: /* @__PURE__ */ Z(K, {
26326
+ size: "small",
26327
+ checkedChildren: "Hide",
26328
+ unCheckedChildren: "Show",
26329
+ checked: nS(t.hideGroupInDetail),
26330
+ loading: !!ie[`${t.id}:hideGroupInDetail`],
26331
+ onChange: (e) => ce(t, e)
26306
26332
  })
26307
26333
  })
26308
26334
  }
26309
- ], he = (e) => {
26335
+ ], U = (e) => {
26310
26336
  let t = e.fields ?? [];
26311
26337
  return t.length ? /* @__PURE__ */ Z("div", {
26312
26338
  className: "fg-expanded-fields",
@@ -26349,7 +26375,7 @@ function gS() {
26349
26375
  }),
26350
26376
  /* @__PURE__ */ Z("div", {
26351
26377
  className: "fg-field-row-flags",
26352
- children: pe(n)
26378
+ children: he(n)
26353
26379
  }),
26354
26380
  /* @__PURE__ */ Q(G, {
26355
26381
  size: 4,
@@ -26362,7 +26388,7 @@ function gS() {
26362
26388
  checkedChildren: "Hide",
26363
26389
  unCheckedChildren: "Show",
26364
26390
  checked: r,
26365
- onChange: (e) => fe(t.field, e)
26391
+ onChange: (e) => me(t.field, e)
26366
26392
  })
26367
26393
  }),
26368
26394
  /* @__PURE__ */ Z(J, {
@@ -26381,7 +26407,7 @@ function gS() {
26381
26407
  size: "small",
26382
26408
  danger: !0,
26383
26409
  icon: /* @__PURE__ */ Z(At, {}),
26384
- onClick: () => H(t.field)
26410
+ onClick: () => fe(t.field)
26385
26411
  })
26386
26412
  })
26387
26413
  ]
@@ -26394,7 +26420,7 @@ function gS() {
26394
26420
  style: { fontSize: 12 },
26395
26421
  children: "No fields in this group."
26396
26422
  });
26397
- }, ge = O(() => {
26423
+ }, W = O(() => {
26398
26424
  let e = ne.trim().toLowerCase();
26399
26425
  return [...o].filter((t) => !e || [
26400
26426
  t.label,
@@ -26405,7 +26431,7 @@ function gS() {
26405
26431
  e.type
26406
26432
  ])
26407
26433
  ].some((t) => String(t ?? "").toLowerCase().includes(e))).sort((e, t) => (e.order ?? 0) - (t.order ?? 0));
26408
- }, [o, ne]), U = [
26434
+ }, [o, ne]), ve = [
26409
26435
  {
26410
26436
  title: "Label",
26411
26437
  dataIndex: "label",
@@ -26467,7 +26493,7 @@ function gS() {
26467
26493
  })]
26468
26494
  })
26469
26495
  }
26470
- ], W = e.map((e) => ({
26496
+ ], ye = e.map((e) => ({
26471
26497
  key: e.key,
26472
26498
  label: e.label
26473
26499
  }));
@@ -26530,7 +26556,7 @@ function gS() {
26530
26556
  icon: /* @__PURE__ */ Z(Pt, {}),
26531
26557
  loading: b,
26532
26558
  disabled: !i,
26533
- onClick: le,
26559
+ onClick: H,
26534
26560
  children: "Save Configuration"
26535
26561
  })
26536
26562
  ]
@@ -26538,7 +26564,7 @@ function gS() {
26538
26564
  children: [/* @__PURE__ */ Z("div", { className: "admin-accent-bar" }), /* @__PURE__ */ Z(qx, {
26539
26565
  type: "secondary",
26540
26566
  style: { fontSize: 13 },
26541
- 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."
26567
+ 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."
26542
26568
  })]
26543
26569
  }),
26544
26570
  /* @__PURE__ */ Z(zb, {
@@ -26549,7 +26575,7 @@ function gS() {
26549
26575
  /* @__PURE__ */ Z(xe, {
26550
26576
  activeKey: i,
26551
26577
  onChange: a,
26552
- items: W.map((e) => ({
26578
+ items: ye.map((e) => ({
26553
26579
  ...e,
26554
26580
  children: null
26555
26581
  })),
@@ -26585,13 +26611,13 @@ function gS() {
26585
26611
  }),
26586
26612
  /* @__PURE__ */ Z(be, {
26587
26613
  rowKey: (e) => e.id ?? e.name,
26588
- dataSource: ge,
26589
- columns: me,
26614
+ dataSource: W,
26615
+ columns: ge,
26590
26616
  pagination: !1,
26591
26617
  size: "small",
26592
26618
  className: "fg-table",
26593
26619
  expandable: {
26594
- expandedRowRender: he,
26620
+ expandedRowRender: U,
26595
26621
  rowExpandable: () => !0
26596
26622
  },
26597
26623
  locale: { emptyText: /* @__PURE__ */ Z(z, {
@@ -26624,7 +26650,7 @@ function gS() {
26624
26650
  /* @__PURE__ */ Z(be, {
26625
26651
  rowKey: "key",
26626
26652
  dataSource: m,
26627
- columns: U,
26653
+ columns: ve,
26628
26654
  pagination: !1,
26629
26655
  size: "small",
26630
26656
  className: "fg-table",
@@ -26646,15 +26672,15 @@ function gS() {
26646
26672
  ...f[S.key] ?? {}
26647
26673
  } : null,
26648
26674
  onClose: () => C(null),
26649
- onSave: ue
26675
+ onSave: de
26650
26676
  }, S?.key ?? "field-closed"),
26651
26677
  /* @__PURE__ */ Z(fS, {
26652
26678
  open: !!w,
26653
26679
  merge: w?.merge,
26654
- fieldOptions: ce,
26680
+ fieldOptions: ue,
26655
26681
  groupOptions: u,
26656
26682
  onClose: () => T(null),
26657
- onSave: de
26683
+ onSave: pe
26658
26684
  }, w ? `merge-${w.index ?? "new"}` : "merge-closed"),
26659
26685
  /* @__PURE__ */ Z(hS, {
26660
26686
  open: M,
@@ -26674,7 +26700,7 @@ function gS() {
26674
26700
  confirmLabel: P?.confirmLabel,
26675
26701
  danger: P?.danger,
26676
26702
  onCancel: () => I(null),
26677
- onVerified: se
26703
+ onVerified: le
26678
26704
  })
26679
26705
  ]
26680
26706
  });