@sparqjs/schema-vue 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BUILTIN_ACTION_ATTACH as e, BUILTIN_ACTION_CREATE as t, BUILTIN_ACTION_DELETE as n, BUILTIN_ACTION_DETACH as r, BUILTIN_ACTION_SUBMIT as i, BUILTIN_ACTION_UPDATE as a, RELATION_LIST_DIRECT_ACTION_HANDLER as o, SCHEMA_COMPONENT_BOOLEAN_TAG as s, SCHEMA_COMPONENT_DATETIME_TEXT as c, SCHEMA_COMPONENT_DATE_TEXT as l, SCHEMA_COMPONENT_FILE_LINK_LIST as u, SCHEMA_COMPONENT_FILE_UPLOAD as d, SCHEMA_COMPONENT_HELP as f, SCHEMA_COMPONENT_ICON as p, SCHEMA_COMPONENT_ICON_INPUT as m, SCHEMA_COMPONENT_IMAGE_THUMBNAIL as h, SCHEMA_COMPONENT_IMAGE_UPLOAD as g, SCHEMA_COMPONENT_JSON_EDITOR as _, SCHEMA_COMPONENT_JSON_SUMMARY as v, SCHEMA_COMPONENT_KEY_VALUE as y, SCHEMA_COMPONENT_LINK as b, SCHEMA_COMPONENT_NUMBER_TEXT as x, SCHEMA_COMPONENT_RELATION_LABEL as S, SCHEMA_COMPONENT_RICH_TEXT as ee, SCHEMA_COMPONENT_SECTION as te, SCHEMA_COMPONENT_STATUS_TAG as ne, SCHEMA_COMPONENT_TAG as re, SCHEMA_COMPONENT_TAGS as ie, SCHEMA_COMPONENT_TEXT_ELLIPSIS as ae, SCHEMA_COMPONENT_THUMBNAIL as oe, SCHEMA_COMPONENT_TIME_TEXT as se, SCHEMA_UI_ALERT as ce, SCHEMA_UI_BUTTON as C, SCHEMA_UI_BUTTON_GROUP as w, SCHEMA_UI_CARD as le, SCHEMA_UI_CASCADER as ue, SCHEMA_UI_CHECKBOX as de, SCHEMA_UI_CHECKBOX_GROUP as fe, SCHEMA_UI_COL as pe, SCHEMA_UI_COLLAPSE as me, SCHEMA_UI_COLLAPSE_ITEM as he, SCHEMA_UI_COLOR_PICKER as ge, SCHEMA_UI_DATE_PICKER as _e, SCHEMA_UI_DIALOG as ve, SCHEMA_UI_DIVIDER as ye, SCHEMA_UI_DRAWER as be, SCHEMA_UI_DROPDOWN as xe, SCHEMA_UI_DROPDOWN_ITEM as Se, SCHEMA_UI_DROPDOWN_MENU as Ce, SCHEMA_UI_EMPTY as we, SCHEMA_UI_FORM as Te, SCHEMA_UI_FORM_ITEM as Ee, SCHEMA_UI_NUMBER as De, SCHEMA_UI_OPTION as Oe, SCHEMA_UI_OPTION_GROUP as ke, SCHEMA_UI_PAGINATION as Ae, SCHEMA_UI_RADIO as je, SCHEMA_UI_RADIO_GROUP as Me, SCHEMA_UI_RATE as Ne, SCHEMA_UI_ROW as Pe, SCHEMA_UI_SCROLLBAR as Fe, SCHEMA_UI_SELECT as Ie, SCHEMA_UI_SLIDER as Le, SCHEMA_UI_SWITCH as Re, SCHEMA_UI_TABLE as ze, SCHEMA_UI_TABLE_COLUMN as Be, SCHEMA_UI_TABS as Ve, SCHEMA_UI_TAB_PANE as He, SCHEMA_UI_TAG as Ue, SCHEMA_UI_TEXT as We, SCHEMA_UI_TEXTAREA as Ge, SCHEMA_UI_TIME_PICKER as Ke, SCHEMA_UI_TREE as qe, SCHEMA_UI_TREE_SELECT as Je, SPARQ_BASE_ICON_NAMES as Ye, buildResourceViewModel as Xe, createActionRuntime as Ze, createDefaultInitialValues as Qe, createDiagnostic as $e, createRelationListFilters as et, createRelationListPayload as T, createRelationListSelectionFilters as tt, createSchemaRuntime as nt, createSessionController as rt, createSessionControllerState as it, dispatchSchemaAction as at, evaluateCondition as ot, evaluateValueExpression as st, executeRelationListOperation as ct, getErrorMessage as lt, inferTableOperateColumnWidth as ut, interpolateTemplate as dt, isRelationListOperationEnabled as ft, isRelationListParentMissing as pt, resolveAction as mt, resolveActionState as ht, resolveFieldRuntimeState as gt, resolveNodeState as _t, resolveRelationListOperationConfig as vt, resolveRelationListOperationForm as yt, resolveRelationListOperationInteraction as E, resolveRelationListOperationPlacement as bt, resolveRelationListRefreshMode as xt, resolveRelationListResource as D, resolveRelationListSelectionTable as St, resolveRenderView as Ct, resolveSparqIconName as wt } from "@sparqjs/schema-core";
1
+ import { BUILTIN_ACTION_ATTACH as e, BUILTIN_ACTION_CREATE as t, BUILTIN_ACTION_DELETE as n, BUILTIN_ACTION_DETACH as r, BUILTIN_ACTION_SUBMIT as i, BUILTIN_ACTION_UPDATE as a, RELATION_LIST_DIRECT_ACTION_HANDLER as o, SCHEMA_COMPONENT_BOOLEAN_TAG as s, SCHEMA_COMPONENT_DATETIME_TEXT as c, SCHEMA_COMPONENT_DATE_TEXT as l, SCHEMA_COMPONENT_FILE_LINK_LIST as u, SCHEMA_COMPONENT_FILE_UPLOAD as d, SCHEMA_COMPONENT_HELP as f, SCHEMA_COMPONENT_ICON as p, SCHEMA_COMPONENT_ICON_INPUT as m, SCHEMA_COMPONENT_IMAGE_THUMBNAIL as h, SCHEMA_COMPONENT_IMAGE_UPLOAD as g, SCHEMA_COMPONENT_JSON_EDITOR as _, SCHEMA_COMPONENT_JSON_SUMMARY as v, SCHEMA_COMPONENT_KEY_VALUE as y, SCHEMA_COMPONENT_LINK as b, SCHEMA_COMPONENT_NUMBER_TEXT as x, SCHEMA_COMPONENT_RELATION_LABEL as S, SCHEMA_COMPONENT_RICH_TEXT as C, SCHEMA_COMPONENT_SECTION as ee, SCHEMA_COMPONENT_STATUS_TAG as te, SCHEMA_COMPONENT_TAG as ne, SCHEMA_COMPONENT_TAGS as re, SCHEMA_COMPONENT_TEXT_ELLIPSIS as ie, SCHEMA_COMPONENT_THUMBNAIL as ae, SCHEMA_COMPONENT_TIME_TEXT as oe, SCHEMA_UI_ALERT as se, SCHEMA_UI_BUTTON as w, SCHEMA_UI_BUTTON_GROUP as T, SCHEMA_UI_CARD as ce, SCHEMA_UI_CASCADER as le, SCHEMA_UI_CHECKBOX as ue, SCHEMA_UI_CHECKBOX_GROUP as de, SCHEMA_UI_COL as fe, SCHEMA_UI_COLLAPSE as pe, SCHEMA_UI_COLLAPSE_ITEM as me, SCHEMA_UI_COLOR_PICKER as he, SCHEMA_UI_DATE_PICKER as ge, SCHEMA_UI_DIALOG as _e, SCHEMA_UI_DIVIDER as ve, SCHEMA_UI_DRAWER as ye, SCHEMA_UI_DROPDOWN as be, SCHEMA_UI_DROPDOWN_ITEM as xe, SCHEMA_UI_DROPDOWN_MENU as Se, SCHEMA_UI_EMPTY as Ce, SCHEMA_UI_FORM as we, SCHEMA_UI_FORM_ITEM as Te, SCHEMA_UI_NUMBER as Ee, SCHEMA_UI_OPTION as De, SCHEMA_UI_OPTION_GROUP as Oe, SCHEMA_UI_PAGINATION as ke, SCHEMA_UI_RADIO as Ae, SCHEMA_UI_RADIO_GROUP as je, SCHEMA_UI_RATE as Me, SCHEMA_UI_ROW as Ne, SCHEMA_UI_SCROLLBAR as Pe, SCHEMA_UI_SELECT as Fe, SCHEMA_UI_SLIDER as Ie, SCHEMA_UI_SWITCH as Le, SCHEMA_UI_TABLE as Re, SCHEMA_UI_TABLE_COLUMN as ze, SCHEMA_UI_TABS as Be, SCHEMA_UI_TAB_PANE as Ve, SCHEMA_UI_TAG as He, SCHEMA_UI_TEXT as Ue, SCHEMA_UI_TEXTAREA as We, SCHEMA_UI_TIME_PICKER as Ge, SCHEMA_UI_TREE as Ke, SCHEMA_UI_TREE_SELECT as qe, SPARQ_BASE_ICON_NAMES as Je, buildResourceViewModel as Ye, createActionRuntime as Xe, createDefaultInitialValues as Ze, createDiagnostic as Qe, createRelationListFilters as $e, createRelationListPayload as E, createRelationListSelectionFilters as et, createSchemaRuntime as tt, createSessionController as nt, createSessionControllerState as rt, dispatchSchemaAction as it, evaluateCondition as at, evaluateValueExpression as ot, executeRelationListOperation as st, getErrorMessage as ct, inferTableOperateColumnWidth as lt, interpolateTemplate as ut, isRelationListOperationEnabled as dt, isRelationListParentMissing as ft, resolveAction as pt, resolveActionState as mt, resolveFieldRuntimeState as ht, resolveNodeState as gt, resolveRelationListOperationConfig as _t, resolveRelationListOperationForm as vt, resolveRelationListOperationInteraction as yt, resolveRelationListOperationPlacement as bt, resolveRelationListRefreshMode as xt, resolveRelationListResource as D, resolveRelationListSelectionTable as St, resolveRenderView as Ct, resolveSparqIconName as wt } from "@sparqjs/schema-core";
2
2
  import { Teleport as Tt, computed as O, defineComponent as k, h as A, inject as j, isVNode as M, onBeforeUnmount as Et, reactive as Dt, ref as N, render as Ot, shallowRef as P, watch as F } from "vue";
3
3
  //#region src/keys.ts
4
4
  var kt = Symbol("sparq.frontend-kernel"), At = Symbol("sparq.schema.runtime"), jt = Symbol("sparq.schema.renderer"), Mt = Symbol("sparq.schema.presentation"), Nt = Symbol("sparq.schema.ui-adapter"), I = Symbol("sparq.ui-kit"), Pt = Symbol("sparq.component-registry"), Ft = Symbol("sparq.icon-registry"), It = Symbol("sparq.rich-text-registry"), L = Symbol("sparq.asset-service"), Lt = Symbol("sparq.asset-preview-registry");
@@ -116,7 +116,7 @@ var Ut = k({
116
116
  class: ["sparq-icon-input", t.class],
117
117
  style: t.style
118
118
  }, [
119
- R(e.ui, We, {
119
+ R(e.ui, Ue, {
120
120
  ...Rt(e.input),
121
121
  modelValue: e.input.value,
122
122
  disabled: e.input.disabled === !0 || e.input.loading === !0,
@@ -139,7 +139,7 @@ var Ut = k({
139
139
  icons: e.icons,
140
140
  size: 16
141
141
  })]) : void 0,
142
- append: () => R(e.ui, C, {
142
+ append: () => R(e.ui, w, {
143
143
  disabled: c.value,
144
144
  onClick: d,
145
145
  "data-slot": "icon-picker-trigger"
@@ -163,7 +163,7 @@ var Ut = k({
163
163
  }
164
164
  });
165
165
  function Wt(e, t, n, r, i, a, o) {
166
- return R(e, ve, {
166
+ return R(e, _e, {
167
167
  modelValue: r,
168
168
  title: t.props?.title ?? "选择图标",
169
169
  width: t.props?.dialogWidth ?? "720px",
@@ -175,7 +175,7 @@ function Wt(e, t, n, r, i, a, o) {
175
175
  "data-sparq-icon-input-dialog": ""
176
176
  }, {
177
177
  header: () => A("span", { class: "sparq-icon-input-dialog__title" }, String(t.props?.title ?? "选择图标")),
178
- default: () => A("div", { class: "sparq-icon-input-dialog" }, [R(e, We, {
178
+ default: () => A("div", { class: "sparq-icon-input-dialog" }, [R(e, Ue, {
179
179
  modelValue: i,
180
180
  placeholder: t.props?.searchPlaceholder ?? "搜索图标",
181
181
  clearable: !0,
@@ -416,7 +416,7 @@ var tn = k({
416
416
  n.value && (t.value = z(r, rn(e.input).indent));
417
417
  }, { deep: !0 }), () => {
418
418
  let r = rn(e.input), i = Rt(e.input);
419
- return R(e.ui, Ge, {
419
+ return R(e.ui, We, {
420
420
  ...i,
421
421
  modelValue: t.value,
422
422
  autosize: e.input.props?.autosize ?? {
@@ -592,7 +592,7 @@ function mn(e, t, n, r) {
592
592
  return A("div", {
593
593
  class: "sparq-key-value-editor__toolbar",
594
594
  "data-slot": "key-value-toolbar"
595
- }, [R(e, C, An(n, t === "rows", () => r("rows")), { default: () => "Rows" }), R(e, C, An(n, t === "json", () => r("json")), { default: () => "JSON" })]);
595
+ }, [R(e, w, An(n, t === "rows", () => r("rows")), { default: () => "Rows" }), R(e, w, An(n, t === "json", () => r("json")), { default: () => "JSON" })]);
596
596
  }
597
597
  function hn(e, t, n, r) {
598
598
  let i = n.length ? n : Nn(), a = wn(i), o = Tn(a);
@@ -618,7 +618,7 @@ function _n(e, t, n, r, i, a, o) {
618
618
  A("div", {
619
619
  class: "sparq-key-value-editor__cell",
620
620
  "data-slot": "key-cell"
621
- }, [R(e, We, {
621
+ }, [R(e, Ue, {
622
622
  ...On(t),
623
623
  modelValue: r.key,
624
624
  placeholder: t.props?.keyPlaceholder ?? "key",
@@ -633,7 +633,7 @@ function _n(e, t, n, r, i, a, o) {
633
633
  A("div", {
634
634
  class: "sparq-key-value-editor__cell",
635
635
  "data-slot": "value-cell"
636
- }, [R(e, We, {
636
+ }, [R(e, Ue, {
637
637
  ...On(t),
638
638
  modelValue: r.value,
639
639
  placeholder: t.props?.valuePlaceholder ?? "value",
@@ -642,11 +642,11 @@ function _n(e, t, n, r, i, a, o) {
642
642
  o(En(n, i, { value: V(e) }));
643
643
  }
644
644
  })]),
645
- i === 0 ? R(e, C, kn(t, () => o([...n, Pn()])), { default: () => "+" }) : R(e, C, kn(t, () => o(Dn(n, i))), { default: () => "-" })
645
+ i === 0 ? R(e, w, kn(t, () => o([...n, Pn()])), { default: () => "+" }) : R(e, w, kn(t, () => o(Dn(n, i))), { default: () => "-" })
646
646
  ]);
647
647
  }
648
648
  function vn(e, t, n, r, i, a) {
649
- return R(e, Ge, {
649
+ return R(e, We, {
650
650
  ...Rt(t),
651
651
  modelValue: n,
652
652
  autosize: t.props?.autosize ?? {
@@ -893,8 +893,11 @@ var Bn = k({
893
893
  }
894
894
  },
895
895
  setup(e, { attrs: t }) {
896
- let n = N(), r = N(!1), i = N(), a = O(() => Wn(e.input)), o = O(() => ro(e.input.props?.toolbar)), s = O(() => ({ "--sparq-rich-text-sticky-offset": Hn(o.value?.stickyOffset ?? 0) }));
897
- return F(O(() => e.editors?.get(a.value) ?? e.editors?.get("fallback")), async (e) => {
896
+ let n = N(), r = N(!1), i = N(), a = O(() => Wn(e.input)), o = O(() => ro(e.input.props?.format) ?? "html"), s = O(() => ao(e.input.props?.toolbar)), c = O(() => ({ "--sparq-rich-text-sticky-offset": Hn(s.value?.stickyOffset ?? 0) }));
897
+ return F(O(() => {
898
+ let t = a.value;
899
+ return t ? e.editors?.get(t) : e.editors?.get("default") ?? e.editors?.get("fallback");
900
+ }), async (e) => {
898
901
  if (n.value = void 0, i.value = void 0, !e?.loader) {
899
902
  n.value = e;
900
903
  return;
@@ -913,13 +916,14 @@ var Bn = k({
913
916
  width: "100%",
914
917
  minWidth: 0,
915
918
  flex: "1 1 100%",
916
- ...s.value,
919
+ ...c.value,
917
920
  ...Vn(t.style)
918
921
  },
919
922
  "data-sparq-rich-text": "",
920
- "data-toolbar-sticky": o.value?.sticky === !0 ? "true" : void 0,
921
- "data-editor": a.value
922
- }, Un(e.input, e.ui, n.value, r.value, i.value, e.assetService) ?? void 0);
923
+ "data-toolbar-sticky": s.value?.sticky === !0 ? "true" : void 0,
924
+ "data-editor": a.value ?? "default",
925
+ "data-format": o.value
926
+ }, Un(e.input, e.ui, n.value, r.value, i.value, e.assetService, o.value) ?? void 0);
923
927
  }
924
928
  });
925
929
  function Vn(e) {
@@ -928,9 +932,10 @@ function Vn(e) {
928
932
  function Hn(e) {
929
933
  return typeof e == "number" ? e + "px" : e;
930
934
  }
931
- function Un(e, t, n, r, i, a) {
932
- return r ? A("div", { "data-slot": "rich-text-loading" }, String(e.props?.loadingText ?? "加载富文本编辑器...")) : i ? A("div", { "data-slot": "rich-text-error" }, i.message) : n ? no(n, {
935
+ function Un(e, t, n, r, i, a, o) {
936
+ return r ? A("div", { "data-slot": "rich-text-loading" }, String(e.props?.loadingText ?? "加载富文本编辑器...")) : i ? A("div", { "data-slot": "rich-text-error" }, i.message) : n ? io(n, o) ? no(n, {
933
937
  value: Gn(e.value),
938
+ format: o,
934
939
  props: e.props,
935
940
  disabled: e.disabled,
936
941
  readonly: e.readonly,
@@ -941,10 +946,10 @@ function Un(e, t, n, r, i, a) {
941
946
  e.onChange?.(t);
942
947
  },
943
948
  onBlur: e.onBlur
944
- }) : A("div", { "data-slot": "rich-text-missing" }, `Rich text editor "${Wn(e)}" is not registered.`);
949
+ }) : A("div", { "data-slot": "rich-text-format-error" }, `Rich text editor "${Wn(e) ?? "default"}" does not support format "${o}" (supported: ${(n.formats ?? ["html"]).join(", ")}).`) : A("div", { "data-slot": "rich-text-missing" }, `Rich text editor "${Wn(e) ?? "default"}" is not registered.`);
945
950
  }
946
951
  function Wn(e) {
947
- return typeof e.props?.editor == "string" ? e.props.editor : "fallback";
952
+ return typeof e.props?.editor == "string" ? e.props.editor : void 0;
948
953
  }
949
954
  function Gn(e) {
950
955
  return typeof e == "string" ? e : String(e ?? "");
@@ -960,6 +965,10 @@ var Kn = k({
960
965
  type: String,
961
966
  default: void 0
962
967
  },
968
+ format: {
969
+ type: String,
970
+ default: void 0
971
+ },
963
972
  toolbar: {
964
973
  type: Object,
965
974
  default: void 0
@@ -997,6 +1006,7 @@ function qn(e, t) {
997
1006
  return {
998
1007
  ...Qt(e, t),
999
1008
  ...e.editor ? { editor: e.editor } : void 0,
1009
+ ...e.format ? { format: e.format } : void 0,
1000
1010
  ...e.toolbar ? { toolbar: e.toolbar } : void 0,
1001
1011
  ...e.editorProps ? { editorProps: e.editorProps } : void 0
1002
1012
  };
@@ -2030,7 +2040,7 @@ var ci = k({
2030
2040
  title: t
2031
2041
  } : void 0;
2032
2042
  _(c.value.map((t, r) => r === e && n ? n : t), "change", n ? [n] : []);
2033
- }, ee = (e) => {
2043
+ }, C = (e) => {
2034
2044
  if (ni(e, i)) {
2035
2045
  r.open(e);
2036
2046
  return;
@@ -2073,7 +2083,7 @@ var ci = k({
2073
2083
  cancelUpload: o.cancel,
2074
2084
  retryUpload: o.retry,
2075
2085
  updateAssetTitle: S,
2076
- openAsset: ee,
2086
+ openAsset: C,
2077
2087
  assetPreviews: i
2078
2088
  }) : ui({
2079
2089
  items: g.value,
@@ -2090,7 +2100,7 @@ var ci = k({
2090
2100
  cancelUpload: o.cancel,
2091
2101
  retryUpload: o.retry,
2092
2102
  updateAssetTitle: S,
2093
- openAsset: ee,
2103
+ openAsset: C,
2094
2104
  assetPreviews: i
2095
2105
  }),
2096
2106
  e.assetService ? void 0 : A("div", { class: "sparq-upload__error" }, "Asset service is not configured."),
@@ -2402,49 +2412,49 @@ function Zi(e) {
2402
2412
  let t = (t, n, r) => e.render(t, n, r);
2403
2413
  return {
2404
2414
  render: t,
2405
- text: (e, n) => t(We, e, n),
2406
- textarea: (e, n) => t(Ge, e, n),
2407
- number: (e, n) => t(De, e, n),
2408
- select: (e, n) => t(Ie, e, n),
2409
- treeSelect: (e, n) => t(Je, e, n),
2410
- cascader: (e, n) => t(ue, e, n),
2411
- radioGroup: (e, n) => t(Me, e, n),
2412
- checkboxGroup: (e, n) => t(fe, e, n),
2413
- switch: (e, n) => t(Re, e, n),
2414
- rate: (e, n) => t(Ne, e, n),
2415
- datePicker: (e, n) => t(_e, e, n),
2416
- timePicker: (e, n) => t(Ke, e, n),
2417
- slider: (e, n) => t(Le, e, n),
2418
- colorPicker: (e, n) => t(ge, e, n),
2419
- button: (e, n) => t(C, e, n),
2420
- buttonGroup: (e, n) => t(w, e, n),
2421
- form: (e, n) => t(Te, e, n),
2422
- formItem: (e, n) => t(Ee, e, n),
2423
- table: (e, n) => t(ze, e, n),
2424
- tableColumn: (e, n) => t(Be, e, n),
2425
- tree: (e, n) => t(qe, e, n),
2426
- pagination: (e, n) => t(Ae, e, n),
2427
- alert: (e, n) => t(ce, e, n),
2428
- card: (e, n) => t(le, e, n),
2429
- tag: (e, n) => t(Ue, e, n),
2430
- empty: (e, n) => t(we, e, n),
2431
- checkbox: (e, n) => t(de, e, n),
2432
- col: (e, n) => t(pe, e, n),
2433
- collapse: (e, n) => t(me, e, n),
2434
- collapseItem: (e, n) => t(he, e, n),
2435
- dialog: (e, n) => t(ve, e, n),
2436
- divider: (e, n) => t(ye, e, n),
2437
- drawer: (e, n) => t(be, e, n),
2438
- dropdown: (e, n) => t(xe, e, n),
2439
- dropdownItem: (e, n) => t(Se, e, n),
2440
- dropdownMenu: (e, n) => t(Ce, e, n),
2441
- option: (e, n) => t(Oe, e, n),
2442
- optionGroup: (e, n) => t(ke, e, n),
2443
- radio: (e, n) => t(je, e, n),
2444
- row: (e, n) => t(Pe, e, n),
2445
- scrollbar: (e, n) => t(Fe, e, n),
2446
- tabPane: (e, n) => t(He, e, n),
2447
- tabs: (e, n) => t(Ve, e, n)
2415
+ text: (e, n) => t(Ue, e, n),
2416
+ textarea: (e, n) => t(We, e, n),
2417
+ number: (e, n) => t(Ee, e, n),
2418
+ select: (e, n) => t(Fe, e, n),
2419
+ treeSelect: (e, n) => t(qe, e, n),
2420
+ cascader: (e, n) => t(le, e, n),
2421
+ radioGroup: (e, n) => t(je, e, n),
2422
+ checkboxGroup: (e, n) => t(de, e, n),
2423
+ switch: (e, n) => t(Le, e, n),
2424
+ rate: (e, n) => t(Me, e, n),
2425
+ datePicker: (e, n) => t(ge, e, n),
2426
+ timePicker: (e, n) => t(Ge, e, n),
2427
+ slider: (e, n) => t(Ie, e, n),
2428
+ colorPicker: (e, n) => t(he, e, n),
2429
+ button: (e, n) => t(w, e, n),
2430
+ buttonGroup: (e, n) => t(T, e, n),
2431
+ form: (e, n) => t(we, e, n),
2432
+ formItem: (e, n) => t(Te, e, n),
2433
+ table: (e, n) => t(Re, e, n),
2434
+ tableColumn: (e, n) => t(ze, e, n),
2435
+ tree: (e, n) => t(Ke, e, n),
2436
+ pagination: (e, n) => t(ke, e, n),
2437
+ alert: (e, n) => t(se, e, n),
2438
+ card: (e, n) => t(ce, e, n),
2439
+ tag: (e, n) => t(He, e, n),
2440
+ empty: (e, n) => t(Ce, e, n),
2441
+ checkbox: (e, n) => t(ue, e, n),
2442
+ col: (e, n) => t(fe, e, n),
2443
+ collapse: (e, n) => t(pe, e, n),
2444
+ collapseItem: (e, n) => t(me, e, n),
2445
+ dialog: (e, n) => t(_e, e, n),
2446
+ divider: (e, n) => t(ve, e, n),
2447
+ drawer: (e, n) => t(ye, e, n),
2448
+ dropdown: (e, n) => t(be, e, n),
2449
+ dropdownItem: (e, n) => t(xe, e, n),
2450
+ dropdownMenu: (e, n) => t(Se, e, n),
2451
+ option: (e, n) => t(De, e, n),
2452
+ optionGroup: (e, n) => t(Oe, e, n),
2453
+ radio: (e, n) => t(Ae, e, n),
2454
+ row: (e, n) => t(Ne, e, n),
2455
+ scrollbar: (e, n) => t(Pe, e, n),
2456
+ tabPane: (e, n) => t(Ve, e, n),
2457
+ tabs: (e, n) => t(Be, e, n)
2448
2458
  };
2449
2459
  }
2450
2460
  var Qi = k({
@@ -2602,7 +2612,7 @@ function aa() {
2602
2612
  [m]: { render(e, t, n) {
2603
2613
  return Ht(e ?? {}, n.ui, n?.icons);
2604
2614
  } },
2605
- [ee]: { render(e, t, n) {
2615
+ [C]: { render(e, t, n) {
2606
2616
  return zn(e ?? {}, n.ui, n?.richTextEditors, n?.assetService);
2607
2617
  } },
2608
2618
  [g]: { render(e, t, n) {
@@ -2631,7 +2641,7 @@ function oa(e) {
2631
2641
  function sa(e) {
2632
2642
  let t = e.props ?? {};
2633
2643
  if (typeof t.href == "string") return t.href;
2634
- if (typeof t.hrefTemplate == "string") return dt(t.hrefTemplate, {
2644
+ if (typeof t.hrefTemplate == "string") return ut(t.hrefTemplate, {
2635
2645
  row: e.record,
2636
2646
  record: e.record,
2637
2647
  value: e.value
@@ -2906,16 +2916,16 @@ function Va() {
2906
2916
  [f]: { render(e) {
2907
2917
  return _a(e ?? {});
2908
2918
  } },
2909
- [te]: { render(e, t) {
2919
+ [ee]: { render(e, t) {
2910
2920
  return va(e ?? {}, t);
2911
2921
  } },
2912
- [ne]: { render(e) {
2922
+ [te]: { render(e) {
2913
2923
  return Ca(e ?? {});
2914
2924
  } },
2915
- [re]: { render(e) {
2925
+ [ne]: { render(e) {
2916
2926
  return Ca(e ?? {});
2917
2927
  } },
2918
- [ie]: { render(e) {
2928
+ [re]: { render(e) {
2919
2929
  return Ca(e ?? {});
2920
2930
  } },
2921
2931
  [s]: { render(e) {
@@ -2924,7 +2934,7 @@ function Va() {
2924
2934
  [b]: { render(e) {
2925
2935
  return oa(e ?? {});
2926
2936
  } },
2927
- [ae]: { render(e) {
2937
+ [ie]: { render(e) {
2928
2938
  return Y(e ?? {});
2929
2939
  } },
2930
2940
  [x]: { render(e) {
@@ -2936,7 +2946,7 @@ function Va() {
2936
2946
  [c]: { render(e) {
2937
2947
  return Y(e ?? {});
2938
2948
  } },
2939
- [se]: { render(e) {
2949
+ [oe]: { render(e) {
2940
2950
  return Y(e ?? {});
2941
2951
  } },
2942
2952
  [S]: { render(e) {
@@ -2948,7 +2958,7 @@ function Va() {
2948
2958
  [u]: { render(e) {
2949
2959
  return la(e ?? {});
2950
2960
  } },
2951
- [oe]: { render(e) {
2961
+ [ae]: { render(e) {
2952
2962
  return Ra(e ?? {});
2953
2963
  } },
2954
2964
  [h]: { render(e) {
@@ -3004,7 +3014,7 @@ function Ka(e) {
3004
3014
  //#endregion
3005
3015
  //#region src/registry/icon.ts
3006
3016
  function qa() {
3007
- return Ja(Ye.map((e) => [e, { label: Qa(e) }]));
3017
+ return Ja(Je.map((e) => [e, { label: Qa(e) }]));
3008
3018
  }
3009
3019
  function Ja(e = {}) {
3010
3020
  let t = new Map(Za(e) ? e : Object.entries(e));
@@ -3060,6 +3070,11 @@ function $a() {
3060
3070
  readonly: !0,
3061
3071
  disabled: !0
3062
3072
  },
3073
+ formats: [
3074
+ "html",
3075
+ "markdown",
3076
+ "editorjs-json"
3077
+ ],
3063
3078
  render(e) {
3064
3079
  return A("textarea", {
3065
3080
  ...e.props ?? {},
@@ -3077,7 +3092,7 @@ function $a() {
3077
3092
  } });
3078
3093
  }
3079
3094
  function eo(e = {}) {
3080
- let t = new Map(lo(e) ? e : Object.entries(e));
3095
+ let t = new Map(fo(e) ? e : Object.entries(e));
3081
3096
  return {
3082
3097
  get(e) {
3083
3098
  return t.get(e);
@@ -3102,7 +3117,7 @@ function no(e, t) {
3102
3117
  ...e.props ?? {},
3103
3118
  ...t.props ?? {}
3104
3119
  }
3105
- }, r = ro(n.props?.toolbar);
3120
+ }, r = ao(n.props?.toolbar);
3106
3121
  if (r && e.normalizeToolbar && (n.props = {
3107
3122
  ...n.props,
3108
3123
  ...e.normalizeToolbar(r, n)
@@ -3110,51 +3125,57 @@ function no(e, t) {
3110
3125
  if (e.component) return A(e.component, n);
3111
3126
  }
3112
3127
  function ro(e) {
3113
- if (!(!e || typeof e != "object" || Array.isArray(e))) return e;
3128
+ return e === "html" || e === "markdown" || e === "editorjs-json" ? e : void 0;
3114
3129
  }
3115
- function io(e, t, n = {}) {
3116
- let r = e?.mode === "custom" ? "default" : e?.mode ?? "default", i = e?.items?.length ? e.items : [...t[r] ?? t.default], a = new Set((e?.exclude ?? []).flatMap((e) => so(e, n)));
3117
- return i.flatMap((e) => so(e, n)).filter((e) => !a.has(e));
3130
+ function io(e, t) {
3131
+ return (e.formats ?? ["html"]).includes(t);
3118
3132
  }
3119
3133
  function ao(e) {
3134
+ if (!(!e || typeof e != "object" || Array.isArray(e))) return e;
3135
+ }
3136
+ function oo(e, t, n = {}) {
3137
+ let r = e?.mode === "custom" ? "default" : e?.mode ?? "default", i = e?.items?.length ? e.items : [...t[r] ?? t.default], a = new Set((e?.exclude ?? []).flatMap((e) => lo(e, n)));
3138
+ return i.flatMap((e) => lo(e, n)).filter((e) => !a.has(e));
3139
+ }
3140
+ function so(e) {
3120
3141
  if (e?.sticky === !0) return {
3121
3142
  position: "sticky",
3122
- top: co(e.stickyOffset ?? 0),
3143
+ top: uo(e.stickyOffset ?? 0),
3123
3144
  zIndex: "10"
3124
3145
  };
3125
3146
  }
3126
- function oo() {
3147
+ function co() {
3127
3148
  let e = j(It, void 0);
3128
3149
  if (!e) throw Error("Sparq rich text registry is not provided. Install a schema renderer plugin with richTextEditors.");
3129
3150
  return e;
3130
3151
  }
3131
- function so(e, t) {
3152
+ function lo(e, t) {
3132
3153
  let n = t[e];
3133
3154
  return Array.isArray(n) ? n : [n ?? e];
3134
3155
  }
3135
- function co(e) {
3156
+ function uo(e) {
3136
3157
  return typeof e == "number" ? `${e}px` : e;
3137
3158
  }
3138
- function lo(e) {
3159
+ function fo(e) {
3139
3160
  return Symbol.iterator in Object(e);
3140
3161
  }
3141
3162
  //#endregion
3142
3163
  //#region src/registry/contribution.ts
3143
- var uo = jr("renderer.schema-components"), fo = jr("renderer.icons"), po = jr("renderer.rich-text-editors");
3144
- function mo(e, t) {
3164
+ var po = jr("renderer.schema-components"), mo = jr("renderer.icons"), ho = jr("renderer.rich-text-editors");
3165
+ function go(e, t) {
3145
3166
  let n = t.layer ?? "plugin";
3146
3167
  return e.install({
3147
3168
  owner: t.owner,
3148
3169
  contributions: [
3149
- Mr(uo, Object.entries(t.components ?? {}).map(([e, t]) => ({
3170
+ Mr(po, Object.entries(t.components ?? {}).map(([e, t]) => ({
3150
3171
  key: e,
3151
3172
  value: t
3152
3173
  })), n),
3153
- Mr(fo, Object.entries(t.icons ?? {}).map(([e, t]) => ({
3174
+ Mr(mo, Object.entries(t.icons ?? {}).map(([e, t]) => ({
3154
3175
  key: e,
3155
3176
  value: t
3156
3177
  })), n),
3157
- Mr(po, Object.entries(t.richTextEditors ?? {}).map(([e, t]) => ({
3178
+ Mr(ho, Object.entries(t.richTextEditors ?? {}).map(([e, t]) => ({
3158
3179
  key: e,
3159
3180
  value: t
3160
3181
  })), n),
@@ -3166,8 +3187,8 @@ function mo(e, t) {
3166
3187
  ]
3167
3188
  });
3168
3189
  }
3169
- function ho(e) {
3170
- let t = e.registry(uo), n = P(Ha(t.entries().map((e) => [e.key, e.value])));
3190
+ function _o(e) {
3191
+ let t = e.registry(po), n = P(Ha(t.entries().map((e) => [e.key, e.value])));
3171
3192
  return t.subscribe(() => {
3172
3193
  n.value = Ha(t.entries().map((e) => [e.key, e.value]));
3173
3194
  }), {
@@ -3177,8 +3198,8 @@ function ho(e) {
3177
3198
  entries: () => n.value.entries()
3178
3199
  };
3179
3200
  }
3180
- function go(e) {
3181
- let t = e.registry(fo), n = P(Ja(t.entries().map((e) => [e.key, e.value])));
3201
+ function vo(e) {
3202
+ let t = e.registry(mo), n = P(Ja(t.entries().map((e) => [e.key, e.value])));
3182
3203
  return t.subscribe(() => {
3183
3204
  n.value = Ja(t.entries().map((e) => [e.key, e.value]));
3184
3205
  }), {
@@ -3188,8 +3209,8 @@ function go(e) {
3188
3209
  entries: () => n.value.entries()
3189
3210
  };
3190
3211
  }
3191
- function _o(e) {
3192
- let t = e.registry(po), n = P(eo(t.entries().map((e) => [e.key, e.value])));
3212
+ function yo(e) {
3213
+ let t = e.registry(ho), n = P(eo(t.entries().map((e) => [e.key, e.value])));
3193
3214
  return t.subscribe(() => {
3194
3215
  n.value = eo(t.entries().map((e) => [e.key, e.value]));
3195
3216
  }), {
@@ -3200,7 +3221,7 @@ function _o(e) {
3200
3221
  }
3201
3222
  //#endregion
3202
3223
  //#region src/render/context.ts
3203
- function vo(e, t, n, r, i, a, o, s, c, l, u, d, f) {
3224
+ function bo(e, t, n, r, i, a, o, s, c, l, u, d, f) {
3204
3225
  return {
3205
3226
  state: e,
3206
3227
  runtime: t,
@@ -3213,24 +3234,24 @@ function vo(e, t, n, r, i, a, o, s, c, l, u, d, f) {
3213
3234
  icons: a,
3214
3235
  richTextEditors: o,
3215
3236
  assetService: s,
3216
- form: yo(e, u, c),
3237
+ form: xo(e, u, c),
3217
3238
  controller: u,
3218
3239
  onAction: l,
3219
3240
  onFieldActivate: f,
3220
3241
  retry: d,
3221
3242
  resolveTableReloadView() {
3222
- return To({ state: e });
3243
+ return Eo({ state: e });
3223
3244
  },
3224
3245
  resolveTableReloadFilters() {
3225
3246
  return e.filters;
3226
3247
  }
3227
3248
  };
3228
3249
  }
3229
- function yo(e, t, n) {
3250
+ function xo(e, t, n) {
3230
3251
  return e.mode === "search" ? t?.search ?? n : t?.form ?? n;
3231
3252
  }
3232
- function bo(e, t) {
3233
- let n = gt({
3253
+ function So(e, t) {
3254
+ let n = ht({
3234
3255
  field: t.fieldSchema,
3235
3256
  dataSource: t.dataSource,
3236
3257
  mode: e.state.mode,
@@ -3243,7 +3264,7 @@ function bo(e, t) {
3243
3264
  options: t.field && r?.options && Object.prototype.hasOwnProperty.call(r.options, t.field) ? r.options[t.field] ?? [] : n
3244
3265
  };
3245
3266
  }
3246
- function xo(e, t) {
3267
+ function X(e, t) {
3247
3268
  return {
3248
3269
  schema: e.state.schema?.schema,
3249
3270
  row: t,
@@ -3259,31 +3280,31 @@ function xo(e, t) {
3259
3280
  resource: e.resource
3260
3281
  };
3261
3282
  }
3262
- function So(e) {
3283
+ function Co(e) {
3263
3284
  return e.state.schema?.schema.primaryKey ?? "id";
3264
3285
  }
3265
- function Co(e, t) {
3266
- return t?.[So(e)];
3267
- }
3268
- function wo(e) {
3269
- return e.tableReloadView ?? e.resolveTableReloadView?.() ?? To(e);
3286
+ function wo(e, t) {
3287
+ return t?.[Co(e)];
3270
3288
  }
3271
3289
  function To(e) {
3272
- return e.state.mode === "page" && Eo(e.state.view) ? e.state.view.tableName ?? "default" : e.state.viewName;
3290
+ return e.tableReloadView ?? e.resolveTableReloadView?.() ?? Eo(e);
3273
3291
  }
3274
3292
  function Eo(e) {
3293
+ return e.state.mode === "page" && Do(e.state.view) ? e.state.view.tableName ?? "default" : e.state.viewName;
3294
+ }
3295
+ function Do(e) {
3275
3296
  return !!(e && typeof e == "object" && "tableName" in e);
3276
3297
  }
3277
3298
  //#endregion
3278
3299
  //#region src/runtime/controller.ts
3279
- function Do(e = {}) {
3280
- let t = Dt(it({
3300
+ function Oo(e = {}) {
3301
+ let t = Dt(rt({
3281
3302
  initialValues: e.initialValues,
3282
3303
  applyDefaults: e.applyDefaults,
3283
3304
  schema: e.schema,
3284
3305
  initialPage: e.initialPage,
3285
3306
  initialPageSize: e.initialPageSize
3286
- })), n = rt({
3307
+ })), n = nt({
3287
3308
  ...e,
3288
3309
  state: t
3289
3310
  }), { tableState: r, ...a } = n;
@@ -3319,40 +3340,40 @@ function Do(e = {}) {
3319
3340
  }
3320
3341
  };
3321
3342
  }
3322
- function Oo(e = {}) {
3323
- return Do(e);
3343
+ function ko(e = {}) {
3344
+ return Oo(e);
3324
3345
  }
3325
3346
  //#endregion
3326
3347
  //#region src/runtime/feedback.ts
3327
- function ko() {
3348
+ function Ao() {
3328
3349
  let e = j(At, void 0);
3329
3350
  if (!e) throw Error("Sparq schema runtime is not provided. Install a schema renderer plugin with runtime.");
3330
- return Ao(e);
3351
+ return jo(e);
3331
3352
  }
3332
- function Ao(e) {
3353
+ function jo(e) {
3333
3354
  let t = async (t) => {
3334
3355
  await e.options.notify?.(t);
3335
3356
  };
3336
3357
  return {
3337
3358
  notify: t,
3338
3359
  success(e, n) {
3339
- return jo(t, "success", e, n);
3360
+ return Mo(t, "success", e, n);
3340
3361
  },
3341
3362
  error(e, n) {
3342
- return jo(t, "error", e, n);
3363
+ return Mo(t, "error", e, n);
3343
3364
  },
3344
3365
  warning(e, n) {
3345
- return jo(t, "warning", e, n);
3366
+ return Mo(t, "warning", e, n);
3346
3367
  },
3347
3368
  info(e, n) {
3348
- return jo(t, "info", e, n);
3369
+ return Mo(t, "info", e, n);
3349
3370
  },
3350
3371
  async confirmAction(t) {
3351
3372
  return e.options.confirmAction?.(t) ?? !0;
3352
3373
  }
3353
3374
  };
3354
3375
  }
3355
- function jo(e, t, n, r) {
3376
+ function Mo(e, t, n, r) {
3356
3377
  return e({
3357
3378
  ...r,
3358
3379
  type: t,
@@ -3361,9 +3382,9 @@ function jo(e, t, n, r) {
3361
3382
  }
3362
3383
  //#endregion
3363
3384
  //#region src/runtime/state.ts
3364
- function Mo(e, t) {
3385
+ function No(e, t) {
3365
3386
  let n = e.mode ?? "page", r = e.view ?? "default", i = e.runtime ?? t;
3366
- return e.schema ? Fo({
3387
+ return e.schema ? Io({
3367
3388
  mode: n,
3368
3389
  viewName: r,
3369
3390
  resource: e.resource,
@@ -3385,9 +3406,9 @@ function Mo(e, t) {
3385
3406
  fatal: !1
3386
3407
  };
3387
3408
  }
3388
- async function No(e, t) {
3389
- let n = e.mode ?? "page", r = e.view ?? "default", i = e.runtime ?? t ?? nt();
3390
- if (e.schema) return Mo(e, i);
3409
+ async function Po(e, t) {
3410
+ let n = e.mode ?? "page", r = e.view ?? "default", i = e.runtime ?? t ?? tt();
3411
+ if (e.schema) return No(e, i);
3391
3412
  if (!e.resource) return {
3392
3413
  status: "idle",
3393
3414
  loading: !1,
@@ -3405,7 +3426,7 @@ async function No(e, t) {
3405
3426
  source: e.source,
3406
3427
  payload: e.payload
3407
3428
  });
3408
- return Fo({
3429
+ return Io({
3409
3430
  mode: n,
3410
3431
  viewName: r,
3411
3432
  resource: e.resource,
@@ -3425,9 +3446,9 @@ async function No(e, t) {
3425
3446
  payload: e.payload,
3426
3447
  filters: e.filters,
3427
3448
  hideFormFooter: e.hideFormFooter,
3428
- diagnostics: [$e("error", {
3449
+ diagnostics: [Qe("error", {
3429
3450
  code: "SCHEMA_LOAD_FAILED",
3430
- message: lt(t, "Failed to load schema."),
3451
+ message: ct(t, "Failed to load schema."),
3431
3452
  hint: "Provide a runtime with dataAdapter.loadSchema, or pass schema directly.",
3432
3453
  source: "runtime",
3433
3454
  fatal: !0
@@ -3437,7 +3458,7 @@ async function No(e, t) {
3437
3458
  };
3438
3459
  }
3439
3460
  }
3440
- function Po(e) {
3461
+ function Fo(e) {
3441
3462
  return {
3442
3463
  status: "loading",
3443
3464
  loading: !0,
@@ -3451,8 +3472,8 @@ function Po(e) {
3451
3472
  fatal: !1
3452
3473
  };
3453
3474
  }
3454
- function Fo(e) {
3455
- let t = e.runtime?.buildViewModel(e.schema) ?? Xe(e.schema), n = e.runtime?.resolveView({
3475
+ function Io(e) {
3476
+ let t = e.runtime?.buildViewModel(e.schema) ?? Ye(e.schema), n = e.runtime?.resolveView({
3456
3477
  viewModel: t,
3457
3478
  mode: e.mode,
3458
3479
  view: e.viewName
@@ -3483,9 +3504,9 @@ function Fo(e) {
3483
3504
  }
3484
3505
  //#endregion
3485
3506
  //#region src/runtime/renderer.ts
3486
- function Io(e = {}) {
3487
- let { runtime: t, kernel: n, contributions: r, uiAdapter: i, uiKit: a, components: o, icons: s, richTextEditors: c, assetService: l, presentationHost: u, ...d } = e, f = t ?? nt(d), p = n ?? Nr();
3488
- mo(p, {
3507
+ function Lo(e = {}) {
3508
+ let { runtime: t, kernel: n, contributions: r, uiAdapter: i, uiKit: a, components: o, icons: s, richTextEditors: c, assetService: l, presentationHost: u, ...d } = e, f = t ?? tt(d), p = n ?? Nr();
3509
+ go(p, {
3489
3510
  owner: "@sparqjs/schema-vue",
3490
3511
  layer: "builtin",
3491
3512
  components: Object.fromEntries(Ha().entries()),
@@ -3493,8 +3514,8 @@ function Io(e = {}) {
3493
3514
  richTextEditors: Object.fromEntries($a().entries()),
3494
3515
  assetPreviews: [Hr]
3495
3516
  });
3496
- for (let e of r ?? []) mo(p, e);
3497
- return mo(p, {
3517
+ for (let e of r ?? []) go(p, e);
3518
+ return go(p, {
3498
3519
  owner: "@sparqjs/schema-vue:host",
3499
3520
  layer: "host",
3500
3521
  components: o ? Object.fromEntries(o.entries()) : void 0,
@@ -3506,29 +3527,29 @@ function Io(e = {}) {
3506
3527
  runtime: f,
3507
3528
  uiAdapter: i,
3508
3529
  uiKit: a,
3509
- components: ho(p),
3510
- icons: go(p),
3511
- richTextEditors: _o(p),
3530
+ components: _o(p),
3531
+ icons: vo(p),
3532
+ richTextEditors: yo(p),
3512
3533
  assetPreviews: zr(p),
3513
3534
  assetService: l,
3514
3535
  presentationHost: u,
3515
3536
  resolve(e) {
3516
- return Mo(e, f);
3537
+ return No(e, f);
3517
3538
  },
3518
3539
  load(e) {
3519
- return No(e, f);
3540
+ return Po(e, f);
3520
3541
  }
3521
3542
  };
3522
3543
  }
3523
3544
  //#endregion
3524
3545
  //#region src/runtime/write-back.ts
3525
- function Lo(e) {
3526
- let t = Ro(e.props?.writeBack);
3546
+ function Ro(e) {
3547
+ let t = zo(e.props?.writeBack);
3527
3548
  if (!t.length || !e.form?.setValue) return;
3528
3549
  let n = e.context?.event;
3529
3550
  for (let r of t) {
3530
- if (!Bo(r, n)) continue;
3531
- if (!r.to || !Vo(r.to)) {
3551
+ if (!Vo(r, n)) continue;
3552
+ if (!r.to || !Ho(r.to)) {
3532
3553
  console.warn("[sparq-write-back] writeBack.to must be a top-level field name.", r);
3533
3554
  continue;
3534
3555
  }
@@ -3540,30 +3561,30 @@ function Lo(e) {
3540
3561
  console.warn("[sparq-write-back] writeBack.from is required.", r);
3541
3562
  continue;
3542
3563
  }
3543
- let t = Wo(e.context, r.from);
3544
- Ho(e.form.values[r.to], r.strategy ?? "always") && e.form.setValue(r.to, t, e.node);
3564
+ let t = Go(e.context, r.from);
3565
+ Uo(e.form.values[r.to], r.strategy ?? "always") && e.form.setValue(r.to, t, e.node);
3545
3566
  }
3546
3567
  }
3547
- function Ro(e) {
3548
- return Array.isArray(e) ? e.filter(zo) : [];
3549
- }
3550
3568
  function zo(e) {
3569
+ return Array.isArray(e) ? e.filter(Bo) : [];
3570
+ }
3571
+ function Bo(e) {
3551
3572
  return typeof e == "object" && !!e;
3552
3573
  }
3553
- function Bo(e, t) {
3574
+ function Vo(e, t) {
3554
3575
  return !Array.isArray(e.events) || e.events.length === 0 ? !0 : t !== void 0 && e.events.includes(t);
3555
3576
  }
3556
- function Vo(e) {
3577
+ function Ho(e) {
3557
3578
  let t = e.trim();
3558
3579
  return t.length > 0 && !t.includes(".") && !t.includes("[") && !t.includes("]");
3559
3580
  }
3560
- function Ho(e, t) {
3561
- return t === "empty" ? Uo(e) : !0;
3581
+ function Uo(e, t) {
3582
+ return t === "empty" ? Wo(e) : !0;
3562
3583
  }
3563
- function Uo(e) {
3584
+ function Wo(e) {
3564
3585
  return e == null || e === "" ? !0 : Array.isArray(e) && e.length === 0;
3565
3586
  }
3566
- function Wo(e, t) {
3587
+ function Go(e, t) {
3567
3588
  let n = e;
3568
3589
  for (let e of t.split(".")) {
3569
3590
  if (!e) return;
@@ -3571,31 +3592,31 @@ function Wo(e, t) {
3571
3592
  n = n[Number(e)];
3572
3593
  continue;
3573
3594
  }
3574
- if (!Go(n)) return;
3595
+ if (!Ko(n)) return;
3575
3596
  n = n[e];
3576
3597
  }
3577
3598
  return n;
3578
3599
  }
3579
- function Go(e) {
3600
+ function Ko(e) {
3580
3601
  return typeof e == "object" && !!e;
3581
3602
  }
3582
3603
  //#endregion
3583
3604
  //#region src/render/action-context.ts
3584
- function X(e, t, n, r) {
3585
- let i = Ko(e, t, r);
3605
+ function Z(e, t, n, r) {
3606
+ let i = qo(e, t, r);
3586
3607
  return {
3587
3608
  ...e,
3588
3609
  action: i,
3589
3610
  placement: n,
3590
3611
  record: r,
3591
- execute: qo(e, i, n, r),
3612
+ execute: Jo(e, i, n, r),
3592
3613
  createChildContext(t) {
3593
- return X(e, t, n, r);
3614
+ return Z(e, t, n, r);
3594
3615
  }
3595
3616
  };
3596
3617
  }
3597
- function Ko(e, t, n) {
3598
- let r = ht(t, xo(e, n)), i = e.controller?.action.executing === !0 && e.controller.action.current?.action === t.action;
3618
+ function qo(e, t, n) {
3619
+ let r = mt(t, X(e, n)), i = e.controller?.action.executing === !0 && e.controller.action.current?.action === t.action;
3599
3620
  return {
3600
3621
  ...t,
3601
3622
  props: {
@@ -3606,9 +3627,9 @@ function Ko(e, t, n) {
3606
3627
  }
3607
3628
  };
3608
3629
  }
3609
- function qo(e, t, n, r) {
3630
+ function Jo(e, t, n, r) {
3610
3631
  return async () => {
3611
- let i = Ze({
3632
+ let i = Xe({
3612
3633
  dataAdapter: e.runtime.options.dataAdapter,
3613
3634
  hooks: e.runtime.options.hooks,
3614
3635
  resolveConfirm: e.runtime.options.confirmAction
@@ -3619,13 +3640,13 @@ function qo(e, t, n, r) {
3619
3640
  mode: e.state.mode,
3620
3641
  viewName: e.state.viewName,
3621
3642
  view: e.state.viewName,
3622
- id: Co(e, a),
3643
+ id: wo(e, a),
3623
3644
  record: a,
3624
3645
  selection: e.controller?.table.state.selection,
3625
3646
  formValues: e.form?.values,
3626
3647
  payload: e.payload
3627
3648
  };
3628
- return at({
3649
+ return it({
3629
3650
  controller: e.controller,
3630
3651
  action: t,
3631
3652
  actionRuntime: i,
@@ -3634,13 +3655,13 @@ function qo(e, t, n, r) {
3634
3655
  runtime: e.runtime,
3635
3656
  resource: e.resource,
3636
3657
  viewName: e.state.viewName,
3637
- primaryKey: So(e),
3658
+ primaryKey: Co(e),
3638
3659
  form: e.form,
3639
3660
  record: r,
3640
3661
  formView: e.state.mode === "form" && e.state.view && "footer" in e.state.view ? e.state.view : e.pageCreateForm,
3641
3662
  editForm: e.pageUpdateForm,
3642
3663
  editFormViewName: e.pageUpdateFormName ?? e.state.viewName,
3643
- tableReloadView: wo(e),
3664
+ tableReloadView: To(e),
3644
3665
  tableReloadMode: e.resolveTableReloadMode?.() ?? e.tableReloadMode,
3645
3666
  tableReloadTree: e.resolveTableReloadTree?.() ?? e.tableReloadTree,
3646
3667
  tableReloadFilters: e.resolveTableReloadFilters?.() ?? e.tableReloadFilters,
@@ -3653,30 +3674,30 @@ function qo(e, t, n, r) {
3653
3674
  }
3654
3675
  //#endregion
3655
3676
  //#region src/display-format.ts
3656
- function Z(e) {
3657
- return e == null || e === "" ? "-" : Array.isArray(e) ? e.map((e) => Z(e)).join(", ") : typeof e == "object" ? JSON.stringify(e) : String(e);
3677
+ function Yo(e) {
3678
+ return e == null || e === "" ? "-" : Array.isArray(e) ? e.map((e) => Yo(e)).join(", ") : typeof e == "object" ? JSON.stringify(e) : String(e);
3658
3679
  }
3659
3680
  //#endregion
3660
3681
  //#region src/shell/audit-panel.ts
3661
- function Jo(e, t = {}) {
3682
+ function Xo(e, t = {}) {
3662
3683
  let n = e.auditState;
3663
3684
  return A("section", { class: "sparq-audit-panel" }, [
3664
- Qo(e, t),
3665
- n.error ? $o(e, t) : void 0,
3666
- n.loading ? es() : void 0,
3667
- !n.loading && !n.error && n.items.length === 0 ? ts() : void 0,
3685
+ es(e, t),
3686
+ n.error ? ts(e, t) : void 0,
3687
+ n.loading ? ns() : void 0,
3688
+ !n.loading && !n.error && n.items.length === 0 ? rs() : void 0,
3668
3689
  A("div", {
3669
3690
  class: "sparq-audit-timeline",
3670
3691
  "data-sparq-audit-timeline": ""
3671
- }, n.items.map((e) => ns(e))),
3672
- is(e, t)
3692
+ }, n.items.map((e) => is(e))),
3693
+ os(e, t)
3673
3694
  ]);
3674
3695
  }
3675
- function Yo(e) {
3696
+ function Zo(e) {
3676
3697
  let t = e?.title ?? e?.name ?? e?.label ?? e?.code;
3677
3698
  if (!(t == null || t === "")) return String(t);
3678
3699
  }
3679
- function Xo(e) {
3700
+ function Qo(e) {
3680
3701
  return {
3681
3702
  create: "创建",
3682
3703
  update: "更新",
@@ -3685,55 +3706,55 @@ function Xo(e) {
3685
3706
  system: "系统"
3686
3707
  }[e] ?? e;
3687
3708
  }
3688
- function Zo(e) {
3709
+ function $o(e) {
3689
3710
  return e === "create" ? "success" : e === "delete" ? "danger" : e === "restore" ? "warning" : e === "update" ? "primary" : "info";
3690
3711
  }
3691
- function Qo(e, t) {
3692
- let n = Yo(e.record), r = e.id ?? e.record?.[e.primaryKey];
3712
+ function es(e, t) {
3713
+ let n = Zo(e.record), r = e.id ?? e.record?.[e.primaryKey];
3693
3714
  return A("header", { class: "sparq-audit-summary" }, [A("div", { class: "sparq-audit-summary__main" }, [
3694
3715
  A("span", { class: "sparq-audit-summary__label" }, "当前记录"),
3695
3716
  A("strong", { class: "sparq-audit-summary__title" }, n ?? "-"),
3696
3717
  r == null ? void 0 : A("small", { class: "sparq-audit-summary__id" }, `#${String(r)}`)
3697
- ]), t.renderRefresh?.(e) ?? as(e)]);
3718
+ ]), t.renderRefresh?.(e) ?? ss(e)]);
3698
3719
  }
3699
- function $o(e, t) {
3700
- let n = lt(e.auditState.error, "审计记录加载失败。");
3720
+ function ts(e, t) {
3721
+ let n = ct(e.auditState.error, "审计记录加载失败。");
3701
3722
  return t.renderError?.(e, n) ?? A("p", { class: "sparq-audit-panel__error" }, n);
3702
3723
  }
3703
- function es() {
3724
+ function ns() {
3704
3725
  return A("div", { class: "sparq-audit-state" }, "审计记录加载中...");
3705
3726
  }
3706
- function ts() {
3727
+ function rs() {
3707
3728
  return A("div", { class: "sparq-audit-state sparq-audit-state--empty" }, "暂无审计记录。");
3708
3729
  }
3709
- function ns(e) {
3710
- let t = Zo(e.type);
3730
+ function is(e) {
3731
+ let t = $o(e.type);
3711
3732
  return A("article", {
3712
3733
  key: e.id,
3713
3734
  class: ["sparq-audit-item", `sparq-audit-item--${t}`],
3714
3735
  "data-sparq-audit-item": e.type
3715
3736
  }, [A("span", { class: "sparq-audit-item__dot" }), A("div", { class: "sparq-audit-item__card" }, [
3716
- A("header", { class: "sparq-audit-item__header" }, [A("div", { class: "sparq-audit-item__title-group" }, [A("strong", { class: "sparq-audit-item__title" }, e.title ?? Xo(e.type)), A("span", { class: ["sparq-audit-item__type", `is-${t}`] }, Xo(e.type))]), A("time", { class: "sparq-audit-item__time" }, e.occurred_at)]),
3737
+ A("header", { class: "sparq-audit-item__header" }, [A("div", { class: "sparq-audit-item__title-group" }, [A("strong", { class: "sparq-audit-item__title" }, e.title ?? Qo(e.type)), A("span", { class: ["sparq-audit-item__type", `is-${t}`] }, Qo(e.type))]), A("time", { class: "sparq-audit-item__time" }, e.occurred_at)]),
3717
3738
  A("div", { class: "sparq-audit-item__meta" }, [e.actor?.avatar ? A("img", {
3718
3739
  class: "sparq-audit-item__avatar",
3719
3740
  src: e.actor.avatar,
3720
3741
  alt: e.actor.name ?? "actor"
3721
3742
  }) : void 0, A("span", e.actor?.name ?? "系统")]),
3722
3743
  e.summary ? A("p", { class: "sparq-audit-item__summary" }, e.summary) : void 0,
3723
- e.changes?.length ? rs(e.changes) : void 0
3744
+ e.changes?.length ? as(e.changes) : void 0
3724
3745
  ])]);
3725
3746
  }
3726
- function rs(e) {
3747
+ function as(e) {
3727
3748
  return A("details", { class: "sparq-audit-changes" }, [A("summary", `查看变更 (${e.length})`), A("div", { class: "sparq-audit-changes__table" }, e.flatMap((e) => [
3728
3749
  A("div", { class: "sparq-audit-changes__field" }, e.label ?? e.field),
3729
- A("div", { class: "sparq-audit-changes__before" }, Z(e.before)),
3730
- A("div", { class: "sparq-audit-changes__after" }, Z(e.after))
3750
+ A("div", { class: "sparq-audit-changes__before" }, Yo(e.before)),
3751
+ A("div", { class: "sparq-audit-changes__after" }, Yo(e.after))
3731
3752
  ]))]);
3732
3753
  }
3733
- function is(e, t) {
3734
- if (e.auditState.hasMore) return A("footer", { class: "sparq-audit-footer" }, [t.renderLoadMore?.(e) ?? os(e)]);
3754
+ function os(e, t) {
3755
+ if (e.auditState.hasMore) return A("footer", { class: "sparq-audit-footer" }, [t.renderLoadMore?.(e) ?? cs(e)]);
3735
3756
  }
3736
- function as(e) {
3757
+ function ss(e) {
3737
3758
  return A("button", {
3738
3759
  type: "button",
3739
3760
  disabled: e.auditState.loading,
@@ -3742,7 +3763,7 @@ function as(e) {
3742
3763
  }
3743
3764
  }, "刷新");
3744
3765
  }
3745
- function os(e) {
3766
+ function cs(e) {
3746
3767
  return A("button", {
3747
3768
  type: "button",
3748
3769
  disabled: e.auditState.loadingMore,
@@ -3753,33 +3774,33 @@ function os(e) {
3753
3774
  }
3754
3775
  //#endregion
3755
3776
  //#region src/shell/detail-shell.ts
3756
- function ss(e) {
3777
+ function ls(e) {
3757
3778
  return A("article", {
3758
3779
  ...e.detail.wrapper?.props,
3759
3780
  class: ["sparq-detail-shell", e.detail.wrapper?.props?.class],
3760
3781
  "data-sparq-detail-shell": "panel"
3761
- }, [cs(e), A("div", { class: "sparq-detail-shell__body" }, [e.children])]);
3782
+ }, [us(e), A("div", { class: "sparq-detail-shell__body" }, [e.children])]);
3762
3783
  }
3763
- function cs(e) {
3784
+ function us(e) {
3764
3785
  return A("header", { class: "sparq-detail-shell__header" }, [A("div", { class: "sparq-detail-shell__headline" }, [
3765
3786
  e.title ? A("h2", { class: "sparq-detail-shell__title" }, e.title) : void 0,
3766
- ls(e.meta),
3787
+ ds(e.meta),
3767
3788
  e.helpNode
3768
3789
  ]), e.actions ? A("div", { class: "sparq-detail-shell__actions" }, [e.actions]) : void 0]);
3769
3790
  }
3770
- function ls(e) {
3791
+ function ds(e) {
3771
3792
  if (!(!e?.updatedAt && !e?.updatedBy)) return A("p", { class: "sparq-detail-shell__meta" }, [e.updatedBy ? `更新人:${String(e.updatedBy)}` : void 0, e.updatedAt ? `更新时间:${String(e.updatedAt)}` : void 0].filter(Boolean).join(" · "));
3772
3793
  }
3773
3794
  //#endregion
3774
3795
  //#region src/render/audit.ts
3775
- function us(e, t) {
3776
- let n = fs(e);
3796
+ function fs(e, t) {
3797
+ let n = ms(e);
3777
3798
  if (!n) return;
3778
3799
  let r = {
3779
3800
  ...e,
3780
3801
  ...n,
3781
3802
  open() {
3782
- return e.controller?.openAudit(n.record), e.controller?.loadAudit(ms(e, n)) ?? Promise.resolve(void 0);
3803
+ return e.controller?.openAudit(n.record), e.controller?.loadAudit(gs(e, n)) ?? Promise.resolve(void 0);
3783
3804
  }
3784
3805
  };
3785
3806
  return t?.renderAuditTrigger?.(r) ?? A("button", {
@@ -3790,64 +3811,64 @@ function us(e, t) {
3790
3811
  }
3791
3812
  }, "审计记录");
3792
3813
  }
3793
- function ds(e, t) {
3814
+ function ps(e, t) {
3794
3815
  let n = e.controller?.auditState;
3795
3816
  if (!n?.open) return;
3796
- let r = fs(e, n.record), i = {
3817
+ let r = ms(e, n.record), i = {
3797
3818
  ...e,
3798
3819
  record: r?.record ?? n.record,
3799
3820
  id: r?.id,
3800
- primaryKey: r?.primaryKey ?? ps(e),
3821
+ primaryKey: r?.primaryKey ?? hs(e),
3801
3822
  auditState: n,
3802
3823
  close: e.controller?.closeAudit,
3803
3824
  refresh() {
3804
- return e.controller?.refreshAudit(ms(e, r)) ?? Promise.resolve(void 0);
3825
+ return e.controller?.refreshAudit(gs(e, r)) ?? Promise.resolve(void 0);
3805
3826
  },
3806
3827
  loadMore() {
3807
- return e.controller?.loadMoreAudit(ms(e, r)) ?? Promise.resolve(void 0);
3828
+ return e.controller?.loadMoreAudit(gs(e, r)) ?? Promise.resolve(void 0);
3808
3829
  }
3809
3830
  };
3810
- return t?.renderAuditPanel?.(i) ?? hs(i);
3831
+ return t?.renderAuditPanel?.(i) ?? _s(i);
3811
3832
  }
3812
- function fs(e, t) {
3813
- let n = ps(e), r = t ?? e.controller?.page.detailRecord ?? e.form?.values ?? e.controller?.getValues(), i = r?.[n];
3833
+ function ms(e, t) {
3834
+ let n = hs(e), r = t ?? e.controller?.page.detailRecord ?? e.form?.values ?? e.controller?.getValues(), i = r?.[n];
3814
3835
  if (!(!e.resource || !r || i == null || i === "")) return {
3815
3836
  record: r,
3816
3837
  id: i,
3817
3838
  primaryKey: n
3818
3839
  };
3819
3840
  }
3820
- function ps(e) {
3841
+ function hs(e) {
3821
3842
  return e.state.viewModel?.schema.primaryKey ?? e.state.schema?.schema.primaryKey ?? "id";
3822
3843
  }
3823
- function ms(e, t) {
3844
+ function gs(e, t) {
3824
3845
  return {
3825
3846
  runtime: e.runtime,
3826
3847
  resource: e.resource,
3827
3848
  view: e.state.viewName,
3828
3849
  payload: e.payload,
3829
- primaryKey: t?.primaryKey ?? ps(e),
3850
+ primaryKey: t?.primaryKey ?? hs(e),
3830
3851
  id: t?.id,
3831
3852
  record: t?.record
3832
3853
  };
3833
3854
  }
3834
- function hs(e) {
3855
+ function _s(e) {
3835
3856
  return A("aside", {
3836
3857
  class: "sparq-audit-panel",
3837
3858
  "data-sparq-audit-panel": ""
3838
3859
  }, [A("header", { class: "sparq-audit-panel__header" }, [A("strong", "审计记录"), A("button", {
3839
3860
  type: "button",
3840
3861
  onClick: () => e.close?.()
3841
- }, "关闭")]), Jo(e)]);
3862
+ }, "关闭")]), Xo(e)]);
3842
3863
  }
3843
3864
  //#endregion
3844
3865
  //#region src/render/view-structures.ts
3845
- function gs(e, t, n, r = {}) {
3866
+ function vs(e, t, n, r = {}) {
3846
3867
  let i = (e.mode === "form" ? e.viewModel?.forms.get(e.viewName) : void 0) ?? (e.view && "footer" in e.view ? e.view : void 0);
3847
3868
  if (!i) return G(e, t, n);
3848
3869
  let a = zi(t, r.embeddedInPage === !0), o = Bi(t, r.embeddedInPage === !0);
3849
3870
  if (!o) return;
3850
- let s = a === "dialog" || a === "drawer", c = s, l = Mc(i.children, t, n), u = ws(i.footer, t, n), d = r.hideFooter === !0 ? void 0 : u, f = W({
3871
+ let s = a === "dialog" || a === "drawer", c = s, l = Pc(i.children, t, n), u = Es(i.footer, t, n), d = r.hideFooter === !0 ? void 0 : u, f = W({
3851
3872
  ...t,
3852
3873
  kind: "form",
3853
3874
  title: s ? void 0 : i.title,
@@ -3859,7 +3880,7 @@ function gs(e, t, n, r = {}) {
3859
3880
  gap: i.gap
3860
3881
  },
3861
3882
  items: l,
3862
- children: Cs(l),
3883
+ children: Ts(l),
3863
3884
  footer: c ? void 0 : d
3864
3885
  }, n);
3865
3886
  return Li({
@@ -3875,15 +3896,15 @@ function gs(e, t, n, r = {}) {
3875
3896
  close: t.controller?.closeForm
3876
3897
  }, n);
3877
3898
  }
3878
- function _s(e, t, n) {
3899
+ function ys(e, t, n) {
3879
3900
  let r = (e.mode === "table" ? e.viewModel?.tables.get(e.viewName) : void 0) ?? (e.view && "columns" in e.view ? e.view : void 0);
3880
3901
  if (!r) return G(e, t, n);
3881
3902
  let i = r.toolbar.visible ? K("toolbar", [
3882
- K("toolbar-left", r.toolbar.left.map((e) => q(X(t, e, "toolbar-left"), n))),
3883
- K("toolbar-right", r.toolbar.right.map((e) => q(X(t, e, "toolbar-right"), n))),
3884
- K("toolbar-batch", r.toolbar.batch.map((e) => q(X(t, e, "batch"), n))),
3885
- K("toolbar-filters", r.toolbar.filters.map((e) => Ds(bo(t, e), n)))
3886
- ]) : void 0, a = Ts(r, t, n), o = n?.renderTable?.({
3903
+ K("toolbar-left", r.toolbar.left.map((e) => q(Z(t, e, "toolbar-left"), n))),
3904
+ K("toolbar-right", r.toolbar.right.map((e) => q(Z(t, e, "toolbar-right"), n))),
3905
+ K("toolbar-batch", r.toolbar.batch.map((e) => q(Z(t, e, "batch"), n))),
3906
+ K("toolbar-filters", r.toolbar.filters.map((e) => ks(So(t, e), n)))
3907
+ ]) : void 0, a = Ds(r, t, n), o = n?.renderTable?.({
3887
3908
  ...t,
3888
3909
  table: r,
3889
3910
  columns: a,
@@ -3907,22 +3928,22 @@ function _s(e, t, n) {
3907
3928
  ]
3908
3929
  }, n);
3909
3930
  }
3910
- function vs(e, t, n) {
3931
+ function bs(e, t, n) {
3911
3932
  let r = (e.mode === "search" ? e.viewModel?.searches.get(e.viewName) : void 0) ?? (e.view && "operation" in e.view ? e.view : void 0);
3912
3933
  if (!r) return G(e, t, n);
3913
- let i = r.items.filter((e) => ot(e.raw.show_when, xo(t))).map((e) => ({
3934
+ let i = r.items.filter((e) => at(e.raw.show_when, X(t))).map((e) => ({
3914
3935
  span: e.span,
3915
3936
  content: n?.renderSearchItem?.({
3916
3937
  ...t,
3917
3938
  item: e,
3918
- options: As(e.field, t, gt({
3939
+ options: Ms(e.field, t, ht({
3919
3940
  field: e.fieldSchema,
3920
3941
  dataSource: e.dataSource,
3921
3942
  mode: t.state.mode,
3922
3943
  formMode: t.controller?.page.formMode
3923
3944
  }).options)
3924
3945
  }) ?? J("renderSearchItem")
3925
- })), a = r.operation.actions.map((e) => q(X(t, e, "search-operation"), n)), o = r.operation.visible ? K("operation", a) : void 0;
3946
+ })), a = r.operation.actions.map((e) => q(Z(t, e, "search-operation"), n)), o = r.operation.visible ? K("operation", a) : void 0;
3926
3947
  return W({
3927
3948
  ...t,
3928
3949
  kind: "search",
@@ -3937,48 +3958,48 @@ function vs(e, t, n) {
3937
3958
  children: [K("items", i.map((e) => e.content)), o]
3938
3959
  }, n);
3939
3960
  }
3940
- function ys(e, t, n, r = {}) {
3961
+ function xs(e, t, n, r = {}) {
3941
3962
  let i = (e.mode === "detail" ? e.viewModel?.details.get(e.viewName) : void 0) ?? (e.view && "children" in e.view ? e.view : void 0);
3942
3963
  if (!i) return G(e, t, n);
3943
3964
  if (r.embeddedInPage && !t.controller?.page.detailOpen) return;
3944
- let a = r.embeddedInPage === !0, o = Vi(i, a), s = o === "dialog" || o === "drawer", c = Mc(i.children, t, n), l = W({
3965
+ let a = r.embeddedInPage === !0, o = Vi(i, a), s = o === "dialog" || o === "drawer", c = Pc(i.children, t, n), l = W({
3945
3966
  ...t,
3946
3967
  kind: "detail",
3947
3968
  title: s ? void 0 : i.title,
3948
3969
  help: s ? void 0 : i.help,
3949
3970
  helpNode: s ? void 0 : Q(i.help, "detail", t),
3950
- props: js(i.props, "sparq-detail"),
3971
+ props: Ns(i.props, "sparq-detail"),
3951
3972
  layout: {
3952
3973
  span: i.span ?? 12,
3953
3974
  gap: i.gap ?? 16
3954
3975
  },
3955
3976
  items: c,
3956
- children: K("fields", Nc(c))
3977
+ children: K("fields", Fc(c))
3957
3978
  }, n);
3958
3979
  return [Ri({
3959
3980
  ...t,
3960
3981
  detail: i,
3961
- title: bs(i.title, t),
3982
+ title: Ss(i.title, t),
3962
3983
  help: i.help,
3963
3984
  helpNode: Q(i.help, "detail-shell", t),
3964
3985
  children: l,
3965
- actions: us(t, n),
3966
- meta: xs(t),
3986
+ actions: fs(t, n),
3987
+ meta: Cs(t),
3967
3988
  presentation: o,
3968
3989
  open: a ? t.controller?.page.detailOpen ?? !1 : !0,
3969
3990
  close: a ? t.controller?.closeDetail : void 0
3970
- }, n), ds(t, n)];
3991
+ }, n), ps(t, n)];
3971
3992
  }
3972
- function bs(e, t) {
3993
+ function Ss(e, t) {
3973
3994
  return e ?? t.state.viewModel?.schema.title ?? t.state.schema?.schema.title ?? t.state.schema?.resource?.title;
3974
3995
  }
3975
- function xs(e) {
3976
- let t = e.controller?.page.detailRecord ?? e.form?.values ?? e.controller?.getValues(), n = Ss(t, [
3996
+ function Cs(e) {
3997
+ let t = e.controller?.page.detailRecord ?? e.form?.values ?? e.controller?.getValues(), n = ws(t, [
3977
3998
  "updated_at",
3978
3999
  "updatedAt",
3979
4000
  "modified_at",
3980
4001
  "modifiedAt"
3981
- ]), r = Ss(t, [
4002
+ ]), r = ws(t, [
3982
4003
  "_updated_by_label",
3983
4004
  "updated_by_name",
3984
4005
  "updatedByName",
@@ -3992,53 +4013,53 @@ function xs(e) {
3992
4013
  updatedBy: r
3993
4014
  } : void 0;
3994
4015
  }
3995
- function Ss(e, t) {
4016
+ function ws(e, t) {
3996
4017
  if (e) for (let n of t) {
3997
4018
  let t = e[n];
3998
4019
  if (t != null && t !== "") return t;
3999
4020
  }
4000
4021
  }
4001
- function Cs(e) {
4002
- return K("fields", Nc(e));
4022
+ function Ts(e) {
4023
+ return K("fields", Fc(e));
4003
4024
  }
4004
- function ws(e, t, n) {
4005
- if (e.visible) return K("footer", e.actions.map((e) => q(X(t, e, "form-footer"), n)), e.props);
4025
+ function Es(e, t, n) {
4026
+ if (e.visible) return K("footer", e.actions.map((e) => q(Z(t, e, "form-footer"), n)), e.props);
4006
4027
  }
4007
- function Ts(e, t, n) {
4028
+ function Ds(e, t, n) {
4008
4029
  let r = [];
4009
- return e.selection.visible && r.push(Es({
4030
+ return e.selection.visible && r.push(Os({
4010
4031
  ...t,
4011
4032
  kind: "selection",
4012
4033
  selection: e.selection
4013
- }, n)), e.index.visible && r.push(Es({
4034
+ }, n)), e.index.visible && r.push(Os({
4014
4035
  ...t,
4015
4036
  kind: "index",
4016
4037
  index: e.index
4017
- }, n)), r.push(...e.columns.filter((e) => ot(e.raw.show_when, xo(t))).map((e) => Es({
4038
+ }, n)), r.push(...e.columns.filter((e) => at(e.raw.show_when, X(t))).map((e) => Os({
4018
4039
  ...t,
4019
4040
  kind: "data",
4020
4041
  column: e,
4021
4042
  renderCell(n) {
4022
- return Os(e, n, t);
4043
+ return As(e, n, t);
4023
4044
  }
4024
- }, n))), e.operate.visible && r.push(Es({
4045
+ }, n))), e.operate.visible && r.push(Os({
4025
4046
  ...t,
4026
4047
  kind: "operate",
4027
4048
  operate: e.operate,
4028
- actions: e.operate.actions.map((e) => q(X(t, e, "operate"), n)),
4049
+ actions: e.operate.actions.map((e) => q(Z(t, e, "operate"), n)),
4029
4050
  renderActions(r) {
4030
- return e.operate.actions.map((e) => q(X(t, e, "operate", r), n));
4051
+ return e.operate.actions.map((e) => q(Z(t, e, "operate", r), n));
4031
4052
  }
4032
4053
  }, n)), r;
4033
4054
  }
4034
- function Es(e, t) {
4055
+ function Os(e, t) {
4035
4056
  return t?.renderTableColumn?.(e) ?? J("renderTableColumn");
4036
4057
  }
4037
- function Ds(e, t) {
4058
+ function ks(e, t) {
4038
4059
  return t?.renderTableFilter?.(e) ?? J("renderTableFilter");
4039
4060
  }
4040
- function Os(e, t, n) {
4041
- let r = ks(e, t, n), i = As(e.field, n, e.fieldSchema ? gt({
4061
+ function As(e, t, n) {
4062
+ let r = js(e, t, n), i = Ms(e.field, n, e.fieldSchema ? ht({
4042
4063
  field: e.fieldSchema,
4043
4064
  dataSource: void 0,
4044
4065
  mode: n.state.mode,
@@ -4050,7 +4071,7 @@ function Os(e, t, n) {
4050
4071
  props: e.props,
4051
4072
  value: r,
4052
4073
  record: t,
4053
- text: Z(r),
4074
+ text: Yo(r),
4054
4075
  options: i,
4055
4076
  column: e
4056
4077
  }, void 0, {
@@ -4064,16 +4085,16 @@ function Os(e, t, n) {
4064
4085
  resource: n.resource,
4065
4086
  diagnostics: n.diagnostics,
4066
4087
  field: e.fieldSchema
4067
- }) : void 0) ?? Z(r);
4088
+ }) : void 0) ?? Yo(r);
4068
4089
  }
4069
- function ks(e, t, n) {
4070
- let r = xo(n, t);
4071
- return e.value ? st(e.value, r) : e.template ? dt(e.template, r) : e.field ? t[e.field] : void 0;
4090
+ function js(e, t, n) {
4091
+ let r = X(n, t);
4092
+ return e.value ? ot(e.value, r) : e.template ? ut(e.template, r) : e.field ? t[e.field] : void 0;
4072
4093
  }
4073
- function As(e, t, n) {
4094
+ function Ms(e, t, n) {
4074
4095
  return e && t.form?.options && Object.prototype.hasOwnProperty.call(t.form.options, e) ? t.form.options[e] ?? [] : n;
4075
4096
  }
4076
- function js(e, t) {
4097
+ function Ns(e, t) {
4077
4098
  return {
4078
4099
  ...e,
4079
4100
  class: [t, e?.class]
@@ -4081,33 +4102,33 @@ function js(e, t) {
4081
4102
  }
4082
4103
  //#endregion
4083
4104
  //#region src/render/embedded-view.ts
4084
- var Ms = /* @__PURE__ */ new WeakMap(), Ns = /* @__PURE__ */ new WeakMap();
4085
- function Ps(e, t, n) {
4105
+ var Ps = /* @__PURE__ */ new WeakMap(), Fs = /* @__PURE__ */ new WeakMap();
4106
+ function Is(e, t, n) {
4086
4107
  let r = e.binding;
4087
4108
  if (e.type !== "view" || r?.type !== "relation-list") return;
4088
- let i = dc(r, t);
4089
- if (pt(r, i) && r.whenParentMissing === "hidden") return;
4090
- let a = Fs(e, r, i, t);
4091
- if (a.status === "loading") return fc(e, t, "正在加载关联数据...", "info", n);
4092
- if (a.status === "error" || !a.controller || !a.table) return fc(e, t, hc(a.error), "error", n);
4093
- let o = Gs(e, r, i, a, t);
4109
+ let i = pc(r, t);
4110
+ if (ft(r, i) && r.whenParentMissing === "hidden") return;
4111
+ let a = Ls(e, r, i, t);
4112
+ if (a.status === "loading") return mc(e, t, "正在加载关联数据...", "info", n);
4113
+ if (a.status === "error" || !a.controller || !a.table) return mc(e, t, _c(a.error), "error", n);
4114
+ let o = qs(e, r, i, a, t);
4094
4115
  return [
4095
- pt(r, i) ? pc(o, "请先保存主记录,再管理关联资源。", "warning") : void 0,
4096
- zs(e, a.table, a.controller, o, n, !0),
4097
- Ys(e, r, i, a, t, n)
4116
+ ft(r, i) ? hc(o, "请先保存主记录,再管理关联资源。", "warning") : void 0,
4117
+ Vs(e, a.table, a.controller, o, n, !0),
4118
+ Zs(e, r, i, a, t, n)
4098
4119
  ];
4099
4120
  }
4100
- function Fs(e, t, n, r) {
4101
- let i = r.controller ?? r.state, a = Ms.get(i);
4102
- a || (a = /* @__PURE__ */ new Map(), Ms.set(i, a));
4121
+ function Ls(e, t, n, r) {
4122
+ let i = r.controller ?? r.state, a = Ps.get(i);
4123
+ a || (a = /* @__PURE__ */ new Map(), Ps.set(i, a));
4103
4124
  let o = D(t, e.raw.resource, r.resource), s = [
4104
4125
  e.id,
4105
4126
  o,
4106
4127
  e.raw.view ?? "default"
4107
4128
  ].join(":"), c = [
4108
4129
  s,
4109
- vc(t),
4110
- vc(n)
4130
+ bc(t),
4131
+ bc(n)
4111
4132
  ].join(":"), l = a.get(c);
4112
4133
  if (l) return l;
4113
4134
  for (let e of a.keys()) e.startsWith(`${s}:`) && a.delete(e);
@@ -4116,44 +4137,44 @@ function Fs(e, t, n, r) {
4116
4137
  pickerOpen: !1,
4117
4138
  selectionExecuting: !1
4118
4139
  });
4119
- return a.set(c, u), u.initialization = Is(u, e, t, n, o, r), u;
4140
+ return a.set(c, u), u.initialization = Rs(u, e, t, n, o, r), u;
4120
4141
  }
4121
- async function Is(e, t, n, r, i, a) {
4142
+ async function Rs(e, t, n, r, i, a) {
4122
4143
  try {
4123
- let o = await Ls(i, n, r, a), s = o === a.state.schema ? a.state.viewModel : a.runtime.buildViewModel(o);
4144
+ let o = await zs(i, n, r, a), s = o === a.state.schema ? a.state.viewModel : a.runtime.buildViewModel(o);
4124
4145
  if (!s) throw Error(`目标资源 "${i}" 无法构建视图模型。`);
4125
4146
  let c = t.raw.view ?? "default", l = s.tables.get(c) ?? a.state.viewModel?.tables.get(c);
4126
4147
  if (!l) throw Error(`目标资源 "${i}" 未配置表格视图 "${c}"。`);
4127
- let u = rc(ec(l, n), n), d = i === a.resource || !!a.runtime.options.dataAdapter?.loadSchema, f = {}, p = {};
4128
- if (d) for (let e of tc) {
4129
- if (E(n, e).type !== "form") continue;
4130
- let t = yt(n, e, "default"), r = s.forms.get(t);
4148
+ let u = ac(nc(l, n), n), d = i === a.resource || !!a.runtime.options.dataAdapter?.loadSchema, f = {}, p = {};
4149
+ if (d) for (let e of rc) {
4150
+ if (yt(n, e).type !== "form") continue;
4151
+ let t = vt(n, e, "default"), r = s.forms.get(t);
4131
4152
  r && (f[e] = r, p[e] = t);
4132
4153
  }
4133
- let m = n.pagination?.pageSize ?? u.pagination.pageSize, h = Do({
4154
+ let m = n.pagination?.pageSize ?? u.pagination.pageSize, h = Oo({
4134
4155
  schema: s.schema,
4135
4156
  initialPageSize: m
4136
- }), g = Do({
4157
+ }), g = Oo({
4137
4158
  schema: s.schema,
4138
4159
  initialPageSize: m
4139
4160
  });
4140
- e.schema = o, e.viewModel = s, e.table = u, e.operationForms = f, e.operationFormNames = p, e.controller = h, e.pickerController = g, e.status = "ready", n.query?.sorts?.length && (h.table.setSort(n.query.sorts), g.table.setSort(n.query.sorts)), !pt(n, r) && a.runtime.options.dataAdapter?.list && await Rs(t, n, r, e, a);
4161
+ e.schema = o, e.viewModel = s, e.table = u, e.operationForms = f, e.operationFormNames = p, e.controller = h, e.pickerController = g, e.status = "ready", n.query?.sorts?.length && (h.table.setSort(n.query.sorts), g.table.setSort(n.query.sorts)), !ft(n, r) && a.runtime.options.dataAdapter?.list && await Bs(t, n, r, e, a);
4141
4162
  } catch (t) {
4142
4163
  e.error = t, e.status = "error";
4143
4164
  }
4144
4165
  }
4145
- async function Ls(e, t, n, r) {
4166
+ async function zs(e, t, n, r) {
4146
4167
  if (e === r.resource || !r.runtime.options.dataAdapter?.loadSchema) {
4147
4168
  if (!r.state.schema) throw Error(`目标资源 "${e}" 缺少 Schema。`);
4148
4169
  return r.state.schema;
4149
4170
  }
4150
- let i = Ns.get(r.runtime);
4151
- i || (i = /* @__PURE__ */ new Map(), Ns.set(r.runtime, i));
4171
+ let i = Fs.get(r.runtime);
4172
+ i || (i = /* @__PURE__ */ new Map(), Fs.set(r.runtime, i));
4152
4173
  let a = i.get(e);
4153
4174
  if (a) return a;
4154
4175
  let o = r.runtime.loadSchema({
4155
4176
  resource: e,
4156
- payload: T(t, n, void 0, r.payload)
4177
+ payload: E(t, n, void 0, r.payload)
4157
4178
  });
4158
4179
  i.set(e, o);
4159
4180
  try {
@@ -4162,19 +4183,19 @@ async function Ls(e, t, n, r) {
4162
4183
  throw i.delete(e), t;
4163
4184
  }
4164
4185
  }
4165
- async function Rs(e, t, n, r, i) {
4186
+ async function Bs(e, t, n, r, i) {
4166
4187
  if (!(!r.controller || !r.table)) return r.controller.table.reload({
4167
4188
  runtime: i.runtime,
4168
4189
  resource: D(t, e.raw.resource, i.resource),
4169
4190
  view: e.raw.view ?? "default",
4170
4191
  tableMode: r.table.mode,
4171
4192
  tableTree: r.table.tree,
4172
- filters: et(t, n),
4173
- payload: T(t, n, void 0, i.payload)
4193
+ filters: $e(t, n),
4194
+ payload: E(t, n, void 0, i.payload)
4174
4195
  });
4175
4196
  }
4176
- function zs(e, t, n, r, i, a) {
4177
- let o = Vs(e, t, r, i), s = Hs(e, t, r, i), c = a ? Bs(r, i) : void 0, l = i?.renderTable?.({
4197
+ function Vs(e, t, n, r, i, a) {
4198
+ let o = Us(e, t, r, i), s = Ws(e, t, r, i), c = a ? Hs(r, i) : void 0, l = i?.renderTable?.({
4178
4199
  ...r,
4179
4200
  table: t,
4180
4201
  columns: s,
@@ -4201,7 +4222,7 @@ function zs(e, t, n, r, i, a) {
4201
4222
  ]
4202
4223
  }, i);
4203
4224
  }
4204
- function Bs(e, t) {
4225
+ function Hs(e, t) {
4205
4226
  let n = e.controller, r = n?.page.formMode === "edit" ? e.pageUpdateForm : e.pageCreateForm, i = n?.page.formMode === "edit" ? e.pageUpdateFormName : e.pageCreateFormName;
4206
4227
  if (!n?.page.formOpen || !r || !i) return;
4207
4228
  let a = {
@@ -4210,52 +4231,52 @@ function Bs(e, t) {
4210
4231
  viewName: i,
4211
4232
  view: r
4212
4233
  };
4213
- return gs(a, {
4234
+ return vs(a, {
4214
4235
  ...e,
4215
4236
  state: a,
4216
4237
  form: n.form
4217
4238
  }, t, { embeddedInPage: !0 });
4218
4239
  }
4219
- function Vs(e, t, n, r) {
4240
+ function Us(e, t, n, r) {
4220
4241
  if (t.toolbar.visible) return K("toolbar", [
4221
- K("toolbar-left", t.toolbar.left.map((t) => q(Ws(e, n, t, "toolbar-left"), r))),
4222
- K("toolbar-right", t.toolbar.right.map((t) => q(Ws(e, n, t, "toolbar-right"), r))),
4223
- K("toolbar-batch", t.toolbar.batch.map((t) => q(Ws(e, n, t, "batch"), r)))
4242
+ K("toolbar-left", t.toolbar.left.map((t) => q(Ks(e, n, t, "toolbar-left"), r))),
4243
+ K("toolbar-right", t.toolbar.right.map((t) => q(Ks(e, n, t, "toolbar-right"), r))),
4244
+ K("toolbar-batch", t.toolbar.batch.map((t) => q(Ks(e, n, t, "batch"), r)))
4224
4245
  ]);
4225
4246
  }
4226
- function Hs(e, t, n, r) {
4247
+ function Ws(e, t, n, r) {
4227
4248
  let i = [];
4228
- return t.selection.visible && i.push(Us({
4249
+ return t.selection.visible && i.push(Gs({
4229
4250
  ...n,
4230
4251
  kind: "selection",
4231
4252
  selection: t.selection
4232
- }, r)), t.index.visible && i.push(Us({
4253
+ }, r)), t.index.visible && i.push(Gs({
4233
4254
  ...n,
4234
4255
  kind: "index",
4235
4256
  index: t.index
4236
- }, r)), i.push(...t.columns.map((e) => Us({
4257
+ }, r)), i.push(...t.columns.map((e) => Gs({
4237
4258
  ...n,
4238
4259
  kind: "data",
4239
4260
  column: e,
4240
4261
  renderCell(t) {
4241
- return yc(e.field ? t[e.field] : void 0);
4262
+ return xc(e.field ? t[e.field] : void 0);
4242
4263
  }
4243
- }, r))), t.operate.visible && i.push(Us({
4264
+ }, r))), t.operate.visible && i.push(Gs({
4244
4265
  ...n,
4245
4266
  kind: "operate",
4246
4267
  operate: t.operate,
4247
- actions: t.operate.actions.map((t) => q(Ws(e, n, t, "operate"), r)),
4268
+ actions: t.operate.actions.map((t) => q(Ks(e, n, t, "operate"), r)),
4248
4269
  renderActions(i) {
4249
- return t.operate.actions.map((t) => q(Ws(e, n, t, "operate", i), r));
4270
+ return t.operate.actions.map((t) => q(Ks(e, n, t, "operate", i), r));
4250
4271
  }
4251
4272
  }, r)), i;
4252
4273
  }
4253
- function Us(e, t) {
4274
+ function Gs(e, t) {
4254
4275
  return t?.renderTableColumn?.(e) ?? J("renderTableColumn");
4255
4276
  }
4256
- function Ws(e, t, n, r, i) {
4257
- let a = e.binding, o = lc(n.action), s = a?.type === "relation-list" && pt(a, dc(a, t)), c = !o || a?.type !== "relation-list" || ft(a, o);
4258
- return X(t, {
4277
+ function Ks(e, t, n, r, i) {
4278
+ let a = e.binding, o = dc(n.action), s = a?.type === "relation-list" && ft(a, pc(a, t)), c = !o || a?.type !== "relation-list" || dt(a, o);
4279
+ return Z(t, {
4259
4280
  ...n,
4260
4281
  props: {
4261
4282
  ...n.props,
@@ -4264,8 +4285,8 @@ function Ws(e, t, n, r, i) {
4264
4285
  }
4265
4286
  }, r, i);
4266
4287
  }
4267
- function Gs(e, t, n, r, i) {
4268
- let a = D(t, e.raw.resource, i.resource), o = r.table, s = pt(t, n) ? void 0 : et(t, n), c = r.activeOperation ? r.operationForms?.[r.activeOperation] : void 0, l = r.activeOperation ? r.operationFormNames?.[r.activeOperation] : void 0;
4288
+ function qs(e, t, n, r, i) {
4289
+ let a = D(t, e.raw.resource, i.resource), o = r.table, s = ft(t, n) ? void 0 : $e(t, n), c = r.activeOperation ? r.operationForms?.[r.activeOperation] : void 0, l = r.activeOperation ? r.operationFormNames?.[r.activeOperation] : void 0;
4269
4290
  return {
4270
4291
  ...i,
4271
4292
  state: {
@@ -4281,14 +4302,14 @@ function Gs(e, t, n, r, i) {
4281
4302
  tableReloadTree: o.tree
4282
4303
  },
4283
4304
  resource: a,
4284
- payload: T(t, n, void 0, i.payload),
4305
+ payload: E(t, n, void 0, i.payload),
4285
4306
  controller: r.controller,
4286
4307
  form: r.controller?.form,
4287
4308
  pageCreateForm: c ?? r.operationForms?.create,
4288
4309
  pageCreateFormName: l ?? r.operationFormNames?.create,
4289
4310
  pageUpdateForm: c ?? r.operationForms?.update,
4290
4311
  pageUpdateFormName: l ?? r.operationFormNames?.update,
4291
- onAction: Ks(e, t, n, r, i),
4312
+ onAction: Js(e, t, n, r, i),
4292
4313
  tableReloadFilters: s,
4293
4314
  resolveTableReloadView() {
4294
4315
  return e.raw.view ?? "default";
@@ -4304,33 +4325,33 @@ function Gs(e, t, n, r, i) {
4304
4325
  }
4305
4326
  };
4306
4327
  }
4307
- function Ks(e, t, n, r, a) {
4328
+ function Js(e, t, n, r, a) {
4308
4329
  return async (o) => {
4309
- let s = lc(o.action.action), c = s ?? (o.action.action === i ? r.activeOperation : void 0), l = s ? o.record : r.activeRecord, u = await a.onAction?.({
4330
+ let s = dc(o.action.action), c = s ?? (o.action.action === i ? r.activeOperation : void 0), l = s ? o.record : r.activeRecord, u = await a.onAction?.({
4310
4331
  ...o,
4311
- payload: Zs(t, n, c, a.payload, l)
4332
+ payload: $s(t, n, c, a.payload, l)
4312
4333
  });
4313
- if (u === !1 || _c(u)) return u;
4334
+ if (u === !1 || yc(u)) return u;
4314
4335
  if (s) {
4315
- let i = E(t, s);
4316
- if (i.type === "form") return await qs(e, t, n, s, o.record, r, a), { handled: !0 };
4317
- if (i.type === "selection") return await Js(e, t, n, s, o.action, o.record, r, a), { handled: !0 };
4318
- if (i.type === "handler" && !a.runtime.options.registries?.actionHandlers.has(i.handler)) return await mc(a, `关系操作交互处理器 "${i.handler}" 未注册或未由宿主处理。`), { handled: !0 };
4336
+ let i = yt(t, s);
4337
+ if (i.type === "form") return await Ys(e, t, n, s, o.record, r, a), { handled: !0 };
4338
+ if (i.type === "selection") return await Xs(e, t, n, s, o.action, o.record, r, a), { handled: !0 };
4339
+ if (i.type === "handler" && !a.runtime.options.registries?.actionHandlers.has(i.handler)) return await gc(a, `关系操作交互处理器 "${i.handler}" 未注册或未由宿主处理。`), { handled: !0 };
4319
4340
  }
4320
- return o.action.action === i && t.foreignKey && !t.through && (t.relationType === void 0 || t.relationType === "has-many") && r.controller?.setValue(t.foreignKey, n), { payload: Zs(t, n, c ?? uc(r.controller), gc(u) ?? a.payload, l) };
4341
+ return o.action.action === i && t.foreignKey && !t.through && (t.relationType === void 0 || t.relationType === "has-many") && r.controller?.setValue(t.foreignKey, n), { payload: $s(t, n, c ?? fc(r.controller), vc(u) ?? a.payload, l) };
4321
4342
  };
4322
4343
  }
4323
- async function qs(e, t, n, r, i, a, o) {
4344
+ async function Ys(e, t, n, r, i, a, o) {
4324
4345
  let s = a.controller, c = a.operationForms?.[r];
4325
4346
  if (!s || !c) {
4326
- await mc(o, `目标资源未配置 ${r} 操作使用的表单。`);
4347
+ await gc(o, `目标资源未配置 ${r} 操作使用的表单。`);
4327
4348
  return;
4328
4349
  }
4329
- let l = E(t, r);
4350
+ let l = yt(t, r);
4330
4351
  if (l.type !== "form") return;
4331
4352
  if ((l.mode ?? (r === "create" ? "create" : "edit")) === "edit") {
4332
4353
  if (!i) {
4333
- await mc(o, `${r} 操作需要当前行记录。`);
4354
+ await gc(o, `${r} 操作需要当前行记录。`);
4334
4355
  return;
4335
4356
  }
4336
4357
  a.activeOperation = r, a.activeRecord = i, s.openEditForm(i), await s.loadEditForm({
@@ -4340,38 +4361,38 @@ async function qs(e, t, n, r, i, a, o) {
4340
4361
  form: c,
4341
4362
  primaryKey: a.viewModel?.schema.primaryKey ?? "id",
4342
4363
  record: i,
4343
- payload: T(t, n, r, o.payload)
4364
+ payload: E(t, n, r, o.payload)
4344
4365
  });
4345
4366
  return;
4346
4367
  }
4347
4368
  a.activeOperation = r, a.activeRecord = i, s.openCreateForm();
4348
- let u = Qe({
4369
+ let u = Ze({
4349
4370
  schema: a.schema?.schema,
4350
4371
  nodes: c.children
4351
4372
  });
4352
4373
  t.foreignKey && !t.through && (t.relationType === void 0 || t.relationType === "has-many") && (u[t.foreignKey] = n), s.setValues(u);
4353
4374
  }
4354
- async function Js(e, t, n, r, i, a, o, s) {
4355
- let c = E(t, r), l = St(t, r, e.raw.view ?? "default"), u = o.viewModel?.tables.get(l) ?? o.table;
4375
+ async function Xs(e, t, n, r, i, a, o, s) {
4376
+ let c = yt(t, r), l = St(t, r, e.raw.view ?? "default"), u = o.viewModel?.tables.get(l) ?? o.table;
4356
4377
  if (!o.pickerController || !u || c.type !== "selection") {
4357
- await mc(s, "目标资源未配置选择视图。");
4378
+ await gc(s, "目标资源未配置选择视图。");
4358
4379
  return;
4359
4380
  }
4360
- o.pickerTable = Qs(u, c.multiple !== !1), o.pickerOperation = r, o.pickerAction = i, o.pickerRecord = a, o.pickerOpen = !0, o.pickerController.table.changeSelection([]), await o.pickerController.table.reload({
4381
+ o.pickerTable = ec(u, c.multiple !== !1), o.pickerOperation = r, o.pickerAction = i, o.pickerRecord = a, o.pickerOpen = !0, o.pickerController.table.changeSelection([]), await o.pickerController.table.reload({
4361
4382
  runtime: s.runtime,
4362
4383
  resource: D(t, e.raw.resource, s.resource),
4363
4384
  view: l,
4364
4385
  tableMode: o.pickerTable.mode,
4365
4386
  tableTree: o.pickerTable.tree,
4366
- filters: tt(t, n, r),
4367
- payload: T(t, n, r, s.payload)
4387
+ filters: et(t, n, r),
4388
+ payload: E(t, n, r, s.payload)
4368
4389
  });
4369
4390
  }
4370
- function Ys(e, t, n, r, i, a) {
4391
+ function Zs(e, t, n, r, i, a) {
4371
4392
  if (!r.pickerOpen || !r.pickerController || !r.pickerTable || !r.pickerOperation) return;
4372
- let o = r.pickerOperation, s = E(t, o);
4393
+ let o = r.pickerOperation, s = yt(t, o);
4373
4394
  if (s.type !== "selection") return;
4374
- let c = D(t, e.raw.resource, i.resource), l = St(t, o, e.raw.view ?? "default"), u = tt(t, n, o), d = {
4395
+ let c = D(t, e.raw.resource, i.resource), l = St(t, o, e.raw.view ?? "default"), u = et(t, n, o), d = {
4375
4396
  ...i,
4376
4397
  state: {
4377
4398
  ...i.state,
@@ -4385,7 +4406,7 @@ function Ys(e, t, n, r, i, a) {
4385
4406
  resource: c,
4386
4407
  controller: r.pickerController,
4387
4408
  form: r.pickerController.form,
4388
- payload: T(t, n, o, i.payload),
4409
+ payload: E(t, n, o, i.payload),
4389
4410
  tableReloadFilters: u,
4390
4411
  resolveTableReloadView() {
4391
4412
  return l;
@@ -4399,9 +4420,9 @@ function Ys(e, t, n, r, i, a) {
4399
4420
  resolveTableReloadFilters() {
4400
4421
  return u;
4401
4422
  }
4402
- }, f = zs(e, r.pickerTable, r.pickerController, d, a, !1), p = s.multiple !== !1, m = r.pickerController.table.state.selection.filter(bc), h = p ? m : m.slice(-1), g = [q(cc(d, sc("relation.selection.cancel", "取消"), () => {
4423
+ }, f = Vs(e, r.pickerTable, r.pickerController, d, a, !1), p = s.multiple !== !1, m = r.pickerController.table.state.selection.filter(Sc), h = p ? m : m.slice(-1), g = [q(uc(d, lc("relation.selection.cancel", "取消"), () => {
4403
4424
  r.pickerOpen = !1;
4404
- }), a), q(cc(d, sc("relation.selection.confirm", $s(o, r.pickerAction?.title), "primary", h.length === 0, r.selectionExecuting), () => Xs(e, t, n, o, h, r, i)), a)], _ = oc(r.pickerTable.title ?? r.pickerAction?.title ?? e.raw.title ?? "选择资源");
4425
+ }), a), q(uc(d, lc("relation.selection.confirm", tc(o, r.pickerAction?.title), "primary", h.length === 0, r.selectionExecuting), () => Qs(e, t, n, o, h, r, i)), a)], _ = cc(r.pickerTable.title ?? r.pickerAction?.title ?? e.raw.title ?? "选择资源");
4405
4426
  return Li({
4406
4427
  ...d,
4407
4428
  formView: _,
@@ -4415,7 +4436,7 @@ function Ys(e, t, n, r, i, a) {
4415
4436
  }
4416
4437
  }, a);
4417
4438
  }
4418
- async function Xs(e, t, n, r, i, a, o) {
4439
+ async function Qs(e, t, n, r, i, a, o) {
4419
4440
  if (i.length === 0 || a.selectionExecuting) return;
4420
4441
  let s = D(t, e.raw.resource, o.resource), c = a.pickerAction;
4421
4442
  if (!(c?.confirm && o.runtime.options.confirmAction && !await o.runtime.options.confirmAction({
@@ -4428,13 +4449,13 @@ async function Xs(e, t, n, r, i, a, o) {
4428
4449
  viewName: St(t, r, e.raw.view ?? "default"),
4429
4450
  view: St(t, r, e.raw.view ?? "default"),
4430
4451
  selection: i,
4431
- payload: T(t, n, r, o.payload)
4452
+ payload: E(t, n, r, o.payload)
4432
4453
  }
4433
4454
  }))) {
4434
4455
  a.selectionExecuting = !0;
4435
4456
  try {
4436
4457
  let c = a.viewModel?.schema.primaryKey ?? "id";
4437
- await ct({
4458
+ await st({
4438
4459
  operation: r,
4439
4460
  binding: t,
4440
4461
  runtime: o.runtime,
@@ -4447,22 +4468,22 @@ async function Xs(e, t, n, r, i, a, o) {
4447
4468
  payload: o.payload
4448
4469
  }), a.pickerOpen = !1, a.pickerController?.table.changeSelection([]);
4449
4470
  let l = xt(t, r);
4450
- return l === "none" ? void 0 : (l === "reload-first" && a.controller?.table.setPagination({ page: 1 }), Rs(e, t, n, a, o));
4471
+ return l === "none" ? void 0 : (l === "reload-first" && a.controller?.table.setPagination({ page: 1 }), Bs(e, t, n, a, o));
4451
4472
  } catch (e) {
4452
- a.error = e, await mc(o, hc(e), e);
4473
+ a.error = e, await gc(o, _c(e), e);
4453
4474
  return;
4454
4475
  } finally {
4455
4476
  a.selectionExecuting = !1;
4456
4477
  }
4457
4478
  }
4458
4479
  }
4459
- function Zs(e, t, n, r, i) {
4480
+ function $s(e, t, n, r, i) {
4460
4481
  return {
4461
- ...T(e, t, n, r),
4482
+ ...E(e, t, n, r),
4462
4483
  operationRecord: i
4463
4484
  };
4464
4485
  }
4465
- function Qs(e, t) {
4486
+ function ec(e, t) {
4466
4487
  return {
4467
4488
  ...e,
4468
4489
  selection: {
@@ -4484,10 +4505,10 @@ function Qs(e, t) {
4484
4505
  }
4485
4506
  };
4486
4507
  }
4487
- function $s(e, t) {
4508
+ function tc(e, t) {
4488
4509
  return e === "attach" ? "确认关联" : e === "detach" ? "确认解除关联" : e === "delete" ? "确认删除" : `确认${t ?? "执行"}`;
4489
4510
  }
4490
- function ec(e, t) {
4511
+ function nc(e, t) {
4491
4512
  return {
4492
4513
  ...e,
4493
4514
  toolbar: {
@@ -4501,15 +4522,15 @@ function ec(e, t) {
4501
4522
  }
4502
4523
  };
4503
4524
  }
4504
- var tc = [
4525
+ var rc = [
4505
4526
  "create",
4506
4527
  "attach",
4507
4528
  "update",
4508
4529
  "detach",
4509
4530
  "delete"
4510
- ], nc = new Set(tc);
4511
- function rc(e, t) {
4512
- let n = ic(t, "toolbar"), r = ic(t, "row"), i = [...n, ...ac(e.toolbar.left)], a = ac(e.toolbar.right), o = [...r, ...ac(e.operate.actions)];
4531
+ ], ic = new Set(rc);
4532
+ function ac(e, t) {
4533
+ let n = oc(t, "toolbar"), r = oc(t, "row"), i = [...n, ...sc(e.toolbar.left)], a = sc(e.toolbar.right), o = [...r, ...sc(e.operate.actions)];
4513
4534
  return {
4514
4535
  ...e,
4515
4536
  toolbar: {
@@ -4522,16 +4543,16 @@ function rc(e, t) {
4522
4543
  operate: {
4523
4544
  ...e.operate,
4524
4545
  visible: o.length > 0,
4525
- width: e.operate.width ?? ut(o),
4546
+ width: e.operate.width ?? lt(o),
4526
4547
  actions: o
4527
4548
  }
4528
4549
  };
4529
4550
  }
4530
- function ic(e, t) {
4531
- return tc.map((n) => {
4532
- let r = vt(e, n);
4551
+ function oc(e, t) {
4552
+ return rc.map((n) => {
4553
+ let r = _t(e, n);
4533
4554
  if (!r || r.enabled === !1 || bt(e, n) !== t) return;
4534
- let i = mt({
4555
+ let i = pt({
4535
4556
  ref: {
4536
4557
  action: n,
4537
4558
  title: r.title,
@@ -4543,17 +4564,17 @@ function ic(e, t) {
4543
4564
  defaultScope: t === "toolbar" ? "collection" : "record"
4544
4565
  }).action;
4545
4566
  if (!i) return;
4546
- let a = E(e, n);
4567
+ let a = yt(e, n);
4547
4568
  return {
4548
4569
  ...i,
4549
4570
  handler: a.type === "handler" ? a.handler : a.type === "direct" ? o : i.handler
4550
4571
  };
4551
4572
  }).filter((e) => !!e);
4552
4573
  }
4553
- function ac(e) {
4554
- return e.filter((e) => !nc.has(e.action));
4574
+ function sc(e) {
4575
+ return e.filter((e) => !ic.has(e.action));
4555
4576
  }
4556
- function oc(e) {
4577
+ function cc(e) {
4557
4578
  return {
4558
4579
  raw: {
4559
4580
  title: e,
@@ -4571,7 +4592,7 @@ function oc(e) {
4571
4592
  diagnostics: []
4572
4593
  };
4573
4594
  }
4574
- function sc(e, t, n, r = !1, i = !1) {
4595
+ function lc(e, t, n, r = !1, i = !1) {
4575
4596
  return {
4576
4597
  action: e,
4577
4598
  title: t,
@@ -4588,7 +4609,7 @@ function sc(e, t, n, r = !1, i = !1) {
4588
4609
  }
4589
4610
  };
4590
4611
  }
4591
- function cc(e, t, n) {
4612
+ function uc(e, t, n) {
4592
4613
  return {
4593
4614
  ...e,
4594
4615
  action: t,
@@ -4596,77 +4617,77 @@ function cc(e, t, n) {
4596
4617
  execute: async () => n()
4597
4618
  };
4598
4619
  }
4599
- function lc(i) {
4620
+ function dc(i) {
4600
4621
  if (i === t) return "create";
4601
4622
  if (i === e) return "attach";
4602
4623
  if (i === a) return "update";
4603
4624
  if (i === r) return "detach";
4604
4625
  if (i === n) return "delete";
4605
4626
  }
4606
- function uc(e) {
4627
+ function fc(e) {
4607
4628
  if (e?.page.formMode === "create") return "create";
4608
4629
  if (e?.page.formMode === "edit") return "update";
4609
4630
  }
4610
- function dc(e, t) {
4611
- if (bc(t.payload) && "parentValue" in t.payload) return t.payload.parentValue;
4631
+ function pc(e, t) {
4632
+ if (Sc(t.payload) && "parentValue" in t.payload) return t.payload.parentValue;
4612
4633
  let n = e.parentKey ?? t.state.schema?.schema.primaryKey ?? "id";
4613
4634
  return t.form?.values[n];
4614
4635
  }
4615
- function fc(e, t, n, r, i) {
4636
+ function mc(e, t, n, r, i) {
4616
4637
  return W({
4617
4638
  ...t,
4618
4639
  kind: "section",
4619
4640
  title: e.raw.title,
4620
- children: pc(t, n, r)
4641
+ children: hc(t, n, r)
4621
4642
  }, i);
4622
4643
  }
4623
- function pc(e, t, n) {
4624
- return e.ui.render(ce, {
4644
+ function hc(e, t, n) {
4645
+ return e.ui.render(se, {
4625
4646
  title: t,
4626
4647
  type: n,
4627
4648
  closable: !1,
4628
4649
  showIcon: !0
4629
4650
  }, void 0) ?? A("p", { class: `sparq-relation-notice is-${n}` }, t);
4630
4651
  }
4631
- async function mc(e, t, n) {
4652
+ async function gc(e, t, n) {
4632
4653
  await e.runtime.options.notify?.({
4633
4654
  type: "error",
4634
4655
  message: t,
4635
4656
  error: n
4636
4657
  });
4637
4658
  }
4638
- function hc(e) {
4639
- return e instanceof Error ? e.message : "关联资源加载失败。";
4640
- }
4641
- function gc(e) {
4642
- return bc(e) && "payload" in e ? e.payload : void 0;
4643
- }
4644
4659
  function _c(e) {
4645
- return bc(e) && e.handled === !0;
4660
+ return e instanceof Error ? e.message : "关联资源加载失败。";
4646
4661
  }
4647
4662
  function vc(e) {
4648
- return e === void 0 ? "undefined" : JSON.stringify(e);
4663
+ return Sc(e) && "payload" in e ? e.payload : void 0;
4649
4664
  }
4650
4665
  function yc(e) {
4651
- return e == null || e === "" ? "-" : Array.isArray(e) ? e.map((e) => yc(e)).join(", ") : typeof e == "object" ? JSON.stringify(e) : String(e);
4666
+ return Sc(e) && e.handled === !0;
4652
4667
  }
4653
4668
  function bc(e) {
4669
+ return e === void 0 ? "undefined" : JSON.stringify(e);
4670
+ }
4671
+ function xc(e) {
4672
+ return e == null || e === "" ? "-" : Array.isArray(e) ? e.map((e) => xc(e)).join(", ") : typeof e == "object" ? JSON.stringify(e) : String(e);
4673
+ }
4674
+ function Sc(e) {
4654
4675
  return typeof e == "object" && !!e;
4655
4676
  }
4656
4677
  //#endregion
4657
4678
  //#region src/render/field-node.ts
4658
- function xc(e, t, n, r = {
4679
+ function Cc(e, t, n, r = {
4659
4680
  disabled: !1,
4660
4681
  readonly: !1
4661
4682
  }) {
4662
- let i = wc(e, t), a = Sc(e, t), o = gt({
4683
+ let i = Ec(e, t), a = wc(e, t), o = ht({
4663
4684
  field: e.fieldSchema,
4664
4685
  dataSource: e.raw.dataSource,
4665
4686
  mode: t.state.mode,
4666
4687
  formMode: t.controller?.page.formMode,
4667
4688
  disabled: r.disabled,
4668
4689
  readonly: r.readonly
4669
- }), s = jc(e.field, t, o.options), c = Cc(e, i, {
4690
+ }), s = Nc(e.field, t, o.options), c = Tc(e, i, {
4670
4691
  ...o,
4671
4692
  options: s
4672
4693
  }, t.form?.values), l = Q(e.raw.help ?? o.help, "field", t), u = e.componentKey ? t.components?.render(e.componentKey, c, void 0, {
@@ -4707,7 +4728,7 @@ function xc(e, t, n, r = {
4707
4728
  contentNode: u
4708
4729
  }) ?? J("renderField");
4709
4730
  }
4710
- function Sc(e, t) {
4731
+ function wc(e, t) {
4711
4732
  if (!(!e.fieldSchema || !t.onFieldActivate)) return () => {
4712
4733
  t.onFieldActivate?.({
4713
4734
  field: e.fieldSchema,
@@ -4718,7 +4739,7 @@ function Sc(e, t) {
4718
4739
  });
4719
4740
  };
4720
4741
  }
4721
- function Cc(e, t, n = {
4742
+ function Tc(e, t, n = {
4722
4743
  disabled: !1,
4723
4744
  readonly: !1,
4724
4745
  options: []
@@ -4740,10 +4761,10 @@ function Cc(e, t, n = {
4740
4761
  formValues: r
4741
4762
  };
4742
4763
  }
4743
- function wc(e, t) {
4764
+ function Ec(e, t) {
4744
4765
  if (!e.field) return;
4745
- let n = jc(e.field, t, []), r = t.form?.optionLoading?.[e.field] ?? !1, i = t.form?.values[e.field], a = e.fieldSchema ? (n) => {
4746
- let r = Ac(n);
4766
+ let n = Nc(e.field, t, []), r = t.form?.optionLoading?.[e.field] ?? !1, i = t.form?.values[e.field], a = e.fieldSchema ? (n) => {
4767
+ let r = Mc(n);
4747
4768
  return t.form?.loadOptions?.({
4748
4769
  runtime: t.runtime,
4749
4770
  field: e.fieldSchema,
@@ -4757,10 +4778,10 @@ function wc(e, t) {
4757
4778
  parentValue: r.parentValue
4758
4779
  }) ?? Promise.resolve([]);
4759
4780
  } : void 0;
4760
- return Tc(e, i, n, r, a), {
4781
+ return Dc(e, i, n, r, a), {
4761
4782
  value: i,
4762
4783
  onChange(n, r) {
4763
- t.form?.setValue?.(e.field, n, e), Lo({
4784
+ t.form?.setValue?.(e.field, n, e), Ro({
4764
4785
  props: e.raw.props,
4765
4786
  form: t.form,
4766
4787
  node: e,
@@ -4782,42 +4803,42 @@ function wc(e, t) {
4782
4803
  loadOptions: a
4783
4804
  };
4784
4805
  }
4785
- function Tc(e, t, n, r, i) {
4786
- if (!i || r || !Ec(e) || Dc(t)) return;
4787
- let a = (Array.isArray(t) ? t : [t]).filter((e) => !Oc(n, e));
4806
+ function Dc(e, t, n, r, i) {
4807
+ if (!i || r || !Oc(e) || kc(t)) return;
4808
+ let a = (Array.isArray(t) ? t : [t]).filter((e) => !Ac(n, e));
4788
4809
  a.length !== 0 && i({ values: a }).catch(() => void 0);
4789
4810
  }
4790
- function Ec(e) {
4811
+ function Oc(e) {
4791
4812
  return e.raw.dataSource?.type === "reference" || !!e.fieldSchema?.reference;
4792
4813
  }
4793
- function Dc(e) {
4814
+ function kc(e) {
4794
4815
  return e == null || e === "" ? !0 : Array.isArray(e) && e.length === 0;
4795
4816
  }
4796
- function Oc(e, t) {
4797
- for (let n of e) if (kc(n.value, t) || n.children && Oc(n.children, t)) return !0;
4817
+ function Ac(e, t) {
4818
+ for (let n of e) if (jc(n.value, t) || n.children && Ac(n.children, t)) return !0;
4798
4819
  return !1;
4799
4820
  }
4800
- function kc(e, t) {
4821
+ function jc(e, t) {
4801
4822
  return JSON.stringify(e) === JSON.stringify(t);
4802
4823
  }
4803
- function Ac(e) {
4824
+ function Mc(e) {
4804
4825
  return typeof e == "string" || e === void 0 ? { keyword: e } : e;
4805
4826
  }
4806
- function jc(e, t, n) {
4827
+ function Nc(e, t, n) {
4807
4828
  return e && t.form?.options && Object.prototype.hasOwnProperty.call(t.form.options, e) ? t.form.options[e] ?? [] : n;
4808
4829
  }
4809
4830
  //#endregion
4810
4831
  //#region src/render/layout-node.ts
4811
- function Mc(e, t, n) {
4812
- return e.map((e) => Fc(e, t, n)).filter((e) => e !== void 0 && e.content !== void 0 && e.content !== null && e.content !== !1);
4832
+ function Pc(e, t, n) {
4833
+ return e.map((e) => Lc(e, t, n)).filter((e) => e !== void 0 && e.content !== void 0 && e.content !== null && e.content !== !1);
4813
4834
  }
4814
- function Nc(e) {
4835
+ function Fc(e) {
4815
4836
  return e.map((e) => e.content).filter((e) => e != null && e !== !1);
4816
4837
  }
4817
4838
  function Q(e, t, n) {
4818
- return e ? Uc(e, t, n) : void 0;
4839
+ return e ? Gc(e, t, n) : void 0;
4819
4840
  }
4820
- function Pc(e, t) {
4841
+ function Ic(e, t) {
4821
4842
  return {
4822
4843
  values: e ?? {},
4823
4844
  options: t?.options,
@@ -4825,41 +4846,41 @@ function Pc(e, t) {
4825
4846
  optionErrors: t?.optionErrors
4826
4847
  };
4827
4848
  }
4828
- function Fc(e, t, n) {
4829
- let r = _t(e, xo(t));
4849
+ function Lc(e, t, n) {
4850
+ let r = gt(e, X(t));
4830
4851
  if (!r.visible) return;
4831
- let i = e.type === "field" ? xc(e, t, n, {
4852
+ let i = e.type === "field" ? Cc(e, t, n, {
4832
4853
  disabled: r.disabled,
4833
4854
  readonly: r.readonly
4834
- }) : Ic(e, t, n);
4855
+ }) : Rc(e, t, n);
4835
4856
  return {
4836
4857
  node: e,
4837
- span: Jc(e),
4858
+ span: Xc(e),
4838
4859
  content: i
4839
4860
  };
4840
4861
  }
4841
- function Ic(e, t, n) {
4842
- let r = Mc(e.children, t, n), i = Ps(e, t, n), a = e.type === "group" ? Nc(r) : [
4843
- Hc(e, t),
4862
+ function Rc(e, t, n) {
4863
+ let r = Pc(e.children, t, n), i = Is(e, t, n), a = e.type === "group" ? Fc(r) : [
4864
+ Wc(e, t),
4844
4865
  i,
4845
- ...Nc(r)
4846
- ], o = Rc(e, t, a, r, n);
4866
+ ...Fc(r)
4867
+ ], o = Bc(e, t, a, r, n);
4847
4868
  return o === void 0 ? n?.renderLayoutNode?.({
4848
4869
  ...t,
4849
4870
  node: e,
4850
- layout: Kc(e, t),
4871
+ layout: Jc(e, t),
4851
4872
  items: r,
4852
- helpNode: Q(e.raw.help, Lc(e), t),
4873
+ helpNode: Q(e.raw.help, zc(e), t),
4853
4874
  children: a
4854
- }) ?? Vc(e, a) : o;
4875
+ }) ?? Uc(e, a) : o;
4855
4876
  }
4856
- function Lc(e) {
4877
+ function zc(e) {
4857
4878
  return e.type === "card" || e.type === "tab" ? e.type : "layout-node";
4858
4879
  }
4859
- function Rc(e, t, n, r, i) {
4880
+ function Bc(e, t, n, r, i) {
4860
4881
  if (e.type !== "section") return;
4861
- let a = zc(e, t, n, r, i);
4862
- return t.components?.render(te, {
4882
+ let a = Vc(e, t, n, r, i);
4883
+ return t.components?.render(ee, {
4863
4884
  node: e,
4864
4885
  title: e.raw.title,
4865
4886
  help: e.raw.help,
@@ -4877,8 +4898,8 @@ function Rc(e, t, n, r, i) {
4877
4898
  node: e
4878
4899
  });
4879
4900
  }
4880
- function zc(e, t, n, r, i) {
4881
- let a = Bc(n), o = Kc(e, t);
4901
+ function Vc(e, t, n, r, i) {
4902
+ let a = Hc(n), o = Jc(e, t);
4882
4903
  return !o || !i?.renderLayoutNode ? a : i.renderLayoutNode({
4883
4904
  ...t,
4884
4905
  node: {
@@ -4896,13 +4917,13 @@ function zc(e, t, n, r, i) {
4896
4917
  children: a
4897
4918
  });
4898
4919
  }
4899
- function Bc(e) {
4920
+ function Hc(e) {
4900
4921
  return Array.isArray(e) ? e.filter((e) => !(M(e) && e.props?.["data-slot"] === "node-header")) : e;
4901
4922
  }
4902
- function Vc(e, t) {
4903
- return A(Wc(e), {
4923
+ function Uc(e, t) {
4924
+ return A(Kc(e), {
4904
4925
  ...e.raw.props,
4905
- class: Gc(e),
4926
+ class: qc(e),
4906
4927
  style: e.raw.style,
4907
4928
  "data-sparq-view-node": "",
4908
4929
  "data-node-id": e.id,
@@ -4910,10 +4931,10 @@ function Vc(e, t) {
4910
4931
  "data-node-span": String(e.raw.props?.span ?? "")
4911
4932
  }, Hi(t));
4912
4933
  }
4913
- function Hc(e, t) {
4914
- if (e.type !== "tabs" && !(!e.raw.title && !e.raw.help)) return A("div", { "data-slot": "node-header" }, [e.raw.title ? A("div", { "data-slot": "node-title" }, e.raw.title) : void 0, e.raw.help ? Uc(e.raw.help, "layout-node", t) : void 0]);
4934
+ function Wc(e, t) {
4935
+ if (e.type !== "tabs" && !(!e.raw.title && !e.raw.help)) return A("div", { "data-slot": "node-header" }, [e.raw.title ? A("div", { "data-slot": "node-title" }, e.raw.title) : void 0, e.raw.help ? Gc(e.raw.help, "layout-node", t) : void 0]);
4915
4936
  }
4916
- function Uc(e, t, n) {
4937
+ function Gc(e, t, n) {
4917
4938
  return n.components?.render(f, {
4918
4939
  text: e,
4919
4940
  placement: t
@@ -4929,35 +4950,35 @@ function Uc(e, t, n) {
4929
4950
  diagnostics: n.diagnostics
4930
4951
  }) ?? e;
4931
4952
  }
4932
- function Wc(e) {
4953
+ function Kc(e) {
4933
4954
  return e.type === "section" || e.type === "card" || e.type === "tab" ? "section" : "div";
4934
4955
  }
4935
- function Gc(e) {
4956
+ function qc(e) {
4936
4957
  return [
4937
4958
  "sparq-view-node",
4938
4959
  `sparq-view-node-${e.type}`,
4939
4960
  e.raw.className
4940
4961
  ];
4941
4962
  }
4942
- function Kc(e, t) {
4943
- return qc(t.state.mode === "form" ? t.state.viewModel?.forms.get(t.state.viewName) : void 0, e);
4963
+ function Jc(e, t) {
4964
+ return Yc(t.state.mode === "form" ? t.state.viewModel?.forms.get(t.state.viewName) : void 0, e);
4944
4965
  }
4945
- function qc(e, t) {
4946
- let n = Yc(t.type) ? 24 : e?.span, r = t.gap ?? e?.gap;
4966
+ function Yc(e, t) {
4967
+ let n = Zc(t.type) ? 24 : e?.span, r = t.gap ?? e?.gap;
4947
4968
  if (!(n === void 0 && r === void 0)) return {
4948
4969
  span: n,
4949
4970
  gap: r
4950
4971
  };
4951
4972
  }
4952
- function Jc(e) {
4953
- return e.span ?? (Yc(e.type) ? 24 : void 0);
4973
+ function Xc(e) {
4974
+ return e.span ?? (Zc(e.type) ? 24 : void 0);
4954
4975
  }
4955
- function Yc(e) {
4976
+ function Zc(e) {
4956
4977
  return e === "tabs" || e === "tab" || e === "collapse" || e === "collapse-item";
4957
4978
  }
4958
4979
  //#endregion
4959
4980
  //#region src/render/page-structure.ts
4960
- function Xc(e, t, n) {
4981
+ function Qc(e, t, n) {
4961
4982
  let r = e.viewModel?.pages.get(e.viewName);
4962
4983
  if (!r) return G(e, t, n);
4963
4984
  let i = {
@@ -4970,10 +4991,10 @@ function Xc(e, t, n) {
4970
4991
  mode: "table",
4971
4992
  viewName: r.tableName ?? "default",
4972
4993
  view: r.table
4973
- }, o = Qc(r, t.controller), s = {
4994
+ }, o = el(r, t.controller), s = {
4974
4995
  ...e,
4975
4996
  mode: "form",
4976
- viewName: $c(r, t.controller),
4997
+ viewName: tl(r, t.controller),
4977
4998
  view: o
4978
4999
  }, c = {
4979
5000
  ...e,
@@ -4985,8 +5006,8 @@ function Xc(e, t, n) {
4985
5006
  ...t,
4986
5007
  kind: "page",
4987
5008
  children: [
4988
- r.search ? Ii("search", vs(i, el(t, i, r), n)) : void 0,
4989
- Zc(e, r) ? Ii("tree", n?.renderResourceTree?.({
5009
+ r.search ? Ii("search", bs(i, nl(t, i, r), n)) : void 0,
5010
+ $c(e, r) ? Ii("tree", n?.renderResourceTree?.({
4990
5011
  ...t,
4991
5012
  state: e,
4992
5013
  treeState: t.controller?.treeState,
@@ -5005,9 +5026,9 @@ function Xc(e, t, n) {
5005
5026
  }) ?? Promise.resolve([]);
5006
5027
  }
5007
5028
  })) : void 0,
5008
- r.table ? Ii("table", _s(a, el(t, a, r), n)) : void 0,
5009
- s.view ? Ii("form", gs(s, el(t, s, r), n, { embeddedInPage: !0 })) : void 0,
5010
- r.detail ? Ii("detail", ys(c, {
5029
+ r.table ? Ii("table", ys(a, nl(t, a, r), n)) : void 0,
5030
+ s.view ? Ii("form", vs(s, nl(t, s, r), n, { embeddedInPage: !0 })) : void 0,
5031
+ r.detail ? Ii("detail", xs(c, {
5011
5032
  ...t,
5012
5033
  state: c,
5013
5034
  tableReloadView: r.tableName,
@@ -5015,27 +5036,27 @@ function Xc(e, t, n) {
5015
5036
  pageCreateFormName: r.createFormName,
5016
5037
  pageUpdateForm: r.updateForm ?? r.createForm,
5017
5038
  pageUpdateFormName: r.updateFormName ?? r.createFormName,
5018
- form: Pc(t.controller?.page.detailRecord, t.form)
5039
+ form: Ic(t.controller?.page.detailRecord, t.form)
5019
5040
  }, n, { embeddedInPage: !0 })) : void 0
5020
5041
  ]
5021
5042
  }, n);
5022
5043
  }
5023
- function Zc(e, t) {
5044
+ function $c(e, t) {
5024
5045
  if (t.table?.mode === "tree") return !1;
5025
5046
  let n = e.viewModel?.schema.tree ?? e.schema?.schema.tree;
5026
5047
  return n ? n.enabled !== !1 : !1;
5027
5048
  }
5028
- function Qc(e, t) {
5049
+ function el(e, t) {
5029
5050
  return t?.page.formMode === "edit" ? e.updateForm ?? e.createForm : e.createForm;
5030
5051
  }
5031
- function $c(e, t) {
5052
+ function tl(e, t) {
5032
5053
  return t?.page.formMode === "edit" ? e.updateFormName ?? e.createFormName ?? "default" : e.createFormName ?? "default";
5033
5054
  }
5034
- function el(e, t, n) {
5055
+ function nl(e, t, n) {
5035
5056
  return {
5036
5057
  ...e,
5037
5058
  state: t,
5038
- form: yo(t, e.controller, e.form),
5059
+ form: xo(t, e.controller, e.form),
5039
5060
  tableReloadView: n?.tableName ?? e.tableReloadView,
5040
5061
  tableReloadMode: n?.table?.mode ?? e.tableReloadMode,
5041
5062
  tableReloadTree: n?.table?.tree ?? e.tableReloadTree,
@@ -5044,7 +5065,7 @@ function el(e, t, n) {
5044
5065
  pageUpdateForm: n?.updateForm ?? n?.createForm ?? e.pageUpdateForm,
5045
5066
  pageUpdateFormName: n?.updateFormName ?? n?.createFormName ?? e.pageUpdateFormName,
5046
5067
  resolveTableReloadView() {
5047
- return n?.tableName ?? e.tableReloadView ?? To({ state: t });
5068
+ return n?.tableName ?? e.tableReloadView ?? Eo({ state: t });
5048
5069
  },
5049
5070
  resolveTableReloadMode() {
5050
5071
  return n?.table?.mode ?? e.tableReloadMode;
@@ -5056,45 +5077,45 @@ function el(e, t, n) {
5056
5077
  }
5057
5078
  //#endregion
5058
5079
  //#region src/render/structure.ts
5059
- function tl(e, t, n) {
5080
+ function rl(e, t, n) {
5060
5081
  switch (e.mode) {
5061
- case "page": return Xc(e, t, n);
5062
- case "form": return gs(e, t, n, { hideFooter: e.hideFormFooter });
5063
- case "table": return _s(e, t, n);
5064
- case "search": return vs(e, t, n);
5065
- case "detail": return ys(e, t, n);
5082
+ case "page": return Qc(e, t, n);
5083
+ case "form": return vs(e, t, n, { hideFooter: e.hideFormFooter });
5084
+ case "table": return ys(e, t, n);
5085
+ case "search": return bs(e, t, n);
5086
+ case "detail": return xs(e, t, n);
5066
5087
  }
5067
5088
  }
5068
5089
  //#endregion
5069
5090
  //#region src/render/container-structure.ts
5070
- function nl(e, t) {
5071
- let n = cl(e);
5091
+ function il(e, t) {
5092
+ let n = ul(e);
5072
5093
  return [
5073
- al(n.toolbar, t),
5094
+ sl(n.toolbar, t),
5074
5095
  A("div", {
5075
5096
  class: "sparq-table-body",
5076
5097
  "data-slot": "table-body"
5077
- }, hl(n.table)),
5098
+ }, _l(n.table)),
5078
5099
  n.pagination ? A("div", {
5079
5100
  class: "sparq-table-footer",
5080
5101
  "data-slot": "table-footer"
5081
- }, [ml(n.pagination)]) : void 0
5102
+ }, [gl(n.pagination)]) : void 0
5082
5103
  ];
5083
5104
  }
5084
- function rl(e) {
5105
+ function al(e) {
5085
5106
  if (!Array.isArray(e)) return;
5086
5107
  let t = e.find((e) => M(e) && e.props?.["data-slot"] === "operation");
5087
5108
  if (t) return A("div", {
5088
5109
  class: "sparq-search-operation",
5089
5110
  "data-slot": "search-operation"
5090
- }, hl(t));
5111
+ }, _l(t));
5091
5112
  }
5092
- function il(e) {
5113
+ function ol(e) {
5093
5114
  return Array.isArray(e) ? e.find((e) => M(e) && e.props?.["data-slot"] === "items") ?? e : e;
5094
5115
  }
5095
- function al(e, t) {
5116
+ function sl(e, t) {
5096
5117
  if (!e || !M(e)) return;
5097
- let n = ll(e.children);
5118
+ let n = dl(e.children);
5098
5119
  if (!(!n.left && !n.filters && !n.batch && !n.right)) return A("div", {
5099
5120
  class: "sparq-table-toolbar",
5100
5121
  "data-slot": "table-toolbar"
@@ -5102,35 +5123,35 @@ function al(e, t) {
5102
5123
  class: "sparq-table-toolbar-main",
5103
5124
  "data-slot": "table-toolbar-main"
5104
5125
  }, [
5105
- ol(n.left, "toolbar-left", t),
5106
- sl(n.filters, "toolbar-filters"),
5107
- ol(n.batch, "toolbar-batch", t)
5108
- ]), ol(n.right, "toolbar-right", t)]);
5126
+ cl(n.left, "toolbar-left", t),
5127
+ ll(n.filters, "toolbar-filters"),
5128
+ cl(n.batch, "toolbar-batch", t)
5129
+ ]), cl(n.right, "toolbar-right", t)]);
5109
5130
  }
5110
- function ol(e, t, n) {
5131
+ function cl(e, t, n) {
5111
5132
  if (!e) return;
5112
- let r = pl(e);
5133
+ let r = hl(e);
5113
5134
  if (r.length !== 0) return A("div", {
5114
5135
  class: ["sparq-table-toolbar-section", `sparq-table-${t}`],
5115
5136
  "data-slot": t
5116
- }, r.length === 1 ? r : hl(n.render(w, { "data-sparq-button-group": t }, { default: () => r })));
5137
+ }, r.length === 1 ? r : _l(n.render(T, { "data-sparq-button-group": t }, { default: () => r })));
5117
5138
  }
5118
- function sl(e, t) {
5139
+ function ll(e, t) {
5119
5140
  if (e) return A("div", {
5120
5141
  class: ["sparq-table-toolbar-section", `sparq-table-${t}`],
5121
5142
  "data-slot": t
5122
- }, hl(fl(e)));
5143
+ }, _l(ml(e)));
5123
5144
  }
5124
- function cl(e) {
5145
+ function ul(e) {
5125
5146
  if (!Array.isArray(e)) return { table: e };
5126
5147
  let t = e.filter((e) => e != null && e !== !1);
5127
5148
  return {
5128
5149
  toolbar: t.find((e) => M(e) && e.props?.["data-slot"] === "toolbar"),
5129
- table: t.filter((e) => ul(e)),
5130
- pagination: t.find((e) => dl(e))
5150
+ table: t.filter((e) => fl(e)),
5151
+ pagination: t.find((e) => pl(e))
5131
5152
  };
5132
5153
  }
5133
- function ll(e) {
5154
+ function dl(e) {
5134
5155
  let t = Array.isArray(e) ? e : [e];
5135
5156
  return {
5136
5157
  left: t.find((e) => M(e) && e.props?.["data-slot"] === "toolbar-left"),
@@ -5139,42 +5160,42 @@ function ll(e) {
5139
5160
  filters: t.find((e) => M(e) && e.props?.["data-slot"] === "toolbar-filters")
5140
5161
  };
5141
5162
  }
5142
- function ul(e) {
5163
+ function fl(e) {
5143
5164
  return !(M(e) && (e.props?.["data-slot"] === "toolbar" || e.props?.["data-slot"] === "pagination" || e.props?.["data-sparq-table-pagination"] !== void 0));
5144
5165
  }
5145
- function dl(e) {
5166
+ function pl(e) {
5146
5167
  return M(e) && (e.props?.["data-slot"] === "pagination" || e.props?.["data-sparq-table-pagination"] !== void 0);
5147
5168
  }
5148
- function fl(e) {
5169
+ function ml(e) {
5149
5170
  return M(e) ? e.children : e;
5150
5171
  }
5151
- function pl(e) {
5152
- let t = fl(e);
5172
+ function hl(e) {
5173
+ let t = ml(e);
5153
5174
  return (Array.isArray(t) ? t : [t]).filter((e) => e != null && e !== !1);
5154
5175
  }
5155
- function ml(e) {
5176
+ function gl(e) {
5156
5177
  return M(e) && e.props?.["data-slot"] === "pagination" ? e.children : e;
5157
5178
  }
5158
- function hl(e) {
5179
+ function _l(e) {
5159
5180
  if (!(e == null || typeof e == "boolean")) return e;
5160
5181
  }
5161
5182
  //#endregion
5162
5183
  //#region src/render/index.ts
5163
- var gl = Ui();
5164
- function _l(e, t, n, r, i, a, o, s, c, l, u, d, f) {
5165
- let p = vo(e, t, gl, r, Ua(Ha(), i), c, l, u, a, o, s, d, f);
5166
- return e.status !== "ready" || !e.view || !e.viewModel ? G(e, p, n) : tl(e, p, n);
5184
+ var vl = Ui();
5185
+ function yl(e, t, n, r, i, a, o, s, c, l, u, d, f) {
5186
+ let p = bo(e, t, vl, r, Ua(Ha(), i), c, l, u, a, o, s, d, f);
5187
+ return e.status !== "ready" || !e.view || !e.viewModel ? G(e, p, n) : rl(e, p, n);
5167
5188
  }
5168
5189
  //#endregion
5169
5190
  //#region src/presentation/host.ts
5170
- function vl(e, t) {
5191
+ function bl(e, t) {
5171
5192
  return e ? async (n) => {
5172
5193
  let r = await t?.(n);
5173
- return r === void 0 ? yl(n, e) : r;
5194
+ return r === void 0 ? xl(n, e) : r;
5174
5195
  } : t;
5175
5196
  }
5176
- async function yl(e, t) {
5177
- let n = bl(e);
5197
+ async function xl(e, t) {
5198
+ let n = Sl(e);
5178
5199
  if (!n) return;
5179
5200
  let r = await t.open(n);
5180
5201
  if (r.opened) return r.changed && await e.reloadTable?.(), {
@@ -5182,8 +5203,8 @@ async function yl(e, t) {
5182
5203
  result: r
5183
5204
  };
5184
5205
  }
5185
- function bl(e) {
5186
- let n = xl(e.action.action), r = Sl(e.action.presentation?.mount), i = Cl(e.action.presentation?.type);
5206
+ function Sl(e) {
5207
+ let n = Cl(e.action.action), r = wl(e.action.presentation?.mount), i = Tl(e.action.presentation?.type);
5187
5208
  if (!n || !r || !i || !e.resource) return;
5188
5209
  let a = e.action.presentation?.props ?? {}, o = n === t && e.form && Object.keys(e.form.values).length > 0 ? { ...e.form.values } : void 0;
5189
5210
  return {
@@ -5195,26 +5216,26 @@ function bl(e) {
5195
5216
  title: e.action.title,
5196
5217
  id: e.id,
5197
5218
  ...o ? { initialValues: o } : {},
5198
- size: wl(i, a),
5219
+ size: El(i, a),
5199
5220
  props: a
5200
5221
  };
5201
5222
  }
5202
- function xl(e) {
5223
+ function Cl(e) {
5203
5224
  if (e === t || e === a) return e;
5204
5225
  }
5205
- function Sl(e) {
5226
+ function wl(e) {
5206
5227
  return e === "parent" || e === "root" ? e : void 0;
5207
5228
  }
5208
- function Cl(e) {
5229
+ function Tl(e) {
5209
5230
  return e === "dialog" || e === "drawer" ? e : void 0;
5210
5231
  }
5211
- function wl(e, t) {
5232
+ function El(e, t) {
5212
5233
  let n = e === "dialog" ? t.width : t.size;
5213
5234
  return typeof n == "string" ? n : void 0;
5214
5235
  }
5215
5236
  //#endregion
5216
5237
  //#region src/components/SparqView.ts
5217
- var Tl = k({
5238
+ var Dl = k({
5218
5239
  name: "SparqView",
5219
5240
  inheritAttrs: !1,
5220
5241
  props: {
@@ -5245,7 +5266,7 @@ var Tl = k({
5245
5266
  "field-activate": (e) => !0
5246
5267
  },
5247
5268
  setup(e, { attrs: t, emit: n, expose: r }) {
5248
- let i = j(jt, void 0), a = j(At, void 0), o = j(Mt, void 0), s = j(Nt, void 0), c = j(I, void 0), l = j(Pt, void 0), u = j(Ft, void 0), d = j(It, void 0), f = j(L, void 0), p = nt(), m = P(Ol(e, (e) => n("update:modelValue", e))), h = () => e.controller ?? m.value, g = P(Mo(Dl(e), a ?? i?.runtime ?? p)), _ = 0, v = N(0), y = "", b, x, S, ee = 0;
5269
+ let i = j(jt, void 0), a = j(At, void 0), o = j(Mt, void 0), s = j(Nt, void 0), c = j(I, void 0), l = j(Pt, void 0), u = j(Ft, void 0), d = j(It, void 0), f = j(L, void 0), p = tt(), m = P(Al(e, (e) => n("update:modelValue", e))), h = () => e.controller ?? m.value, g = P(No(kl(e), a ?? i?.runtime ?? p)), _ = 0, v = N(0), y = "", b, x, S, C = 0;
5249
5270
  return r({
5250
5271
  getValues() {
5251
5272
  return h().getValues();
@@ -5265,10 +5286,10 @@ var Tl = k({
5265
5286
  }), F(() => e.modelValue, (t) => {
5266
5287
  t && e.controller === void 0 && m.value.setValues(t);
5267
5288
  }, { deep: !0 }), F(() => ({ ...h().form.values }), async (t, n) => {
5268
- let r = ++ee, o = g.value, s = (e.runtime ?? a ?? i?.runtime ?? p).options.hooks?.onFormFieldChange, c = o.schema?.schema, l = o.resource;
5289
+ let r = ++C, o = g.value, s = (e.runtime ?? a ?? i?.runtime ?? p).options.hooks?.onFormFieldChange, c = o.schema?.schema, l = o.resource;
5269
5290
  if (!s || !c || !l) return;
5270
5291
  let u = t;
5271
- for (let e of El(t, n)) {
5292
+ for (let e of Ol(t, n)) {
5272
5293
  let t = await s({
5273
5294
  schema: c,
5274
5295
  resource: o.schema?.resource,
@@ -5282,21 +5303,21 @@ var Tl = k({
5282
5303
  value: u[e],
5283
5304
  previousValue: n[e]
5284
5305
  });
5285
- if (r !== ee) return;
5306
+ if (r !== C) return;
5286
5307
  t && (u = {
5287
5308
  ...u,
5288
5309
  ...t
5289
5310
  });
5290
5311
  }
5291
- for (let e of El(u, t)) h().setValue(e, u[e]);
5292
- }), F(() => [Dl(e), v.value], async ([t]) => {
5312
+ for (let e of Ol(u, t)) h().setValue(e, u[e]);
5313
+ }), F(() => [kl(e), v.value], async ([t]) => {
5293
5314
  let r = ++_, o = t.runtime ?? a ?? i?.runtime ?? p;
5294
- !t.schema && t.resource && (g.value = Po(t));
5295
- let s = await No(t, o);
5296
- if (r === _ && (g.value = s, e.controller === void 0 ? m.value = Ol({
5315
+ !t.schema && t.resource && (g.value = Fo(t));
5316
+ let s = await Po(t, o);
5317
+ if (r === _ && (g.value = s, e.controller === void 0 ? m.value = Al({
5297
5318
  ...e,
5298
5319
  schema: s.schema ?? t.schema
5299
- }, (e) => n("update:modelValue", e)) : h().reset(), kl(h(), s, o), s.autoLoadTable && s.tableReloadViewName)) {
5320
+ }, (e) => n("update:modelValue", e)) : h().reset(), jl(h(), s, o), s.autoLoadTable && s.tableReloadViewName)) {
5300
5321
  let e = s.tableReloadViewName, n = s.tableReloadMode, r = s.tableReloadTree, i = `${s.resource ?? ""}:${s.mode}:${e}:${n ?? ""}:${JSON.stringify(r ?? {})}:${JSON.stringify(s.filters ?? [])}`;
5301
5322
  (y !== i || b !== t.schema || x !== t.source || S !== t.payload) && (y = i, b = t.schema, x = t.source, S = t.payload, h().reloadTable({
5302
5323
  runtime: o,
@@ -5312,7 +5333,7 @@ var Tl = k({
5312
5333
  immediate: !0,
5313
5334
  deep: !0
5314
5335
  }), () => {
5315
- let r = _l(g.value, e.runtime ?? a ?? i?.runtime ?? p, e.uiAdapter ?? s ?? i?.uiAdapter, e.uiKit ?? c ?? i?.uiKit, e.components ?? l ?? i?.components, h().form, vl(o ?? i?.presentationHost, e.onAction), h(), e.icons ?? u ?? i?.icons, e.richTextEditors ?? d ?? i?.richTextEditors, e.assetService ?? f ?? i?.assetService, () => {
5336
+ let r = yl(g.value, e.runtime ?? a ?? i?.runtime ?? p, e.uiAdapter ?? s ?? i?.uiAdapter, e.uiKit ?? c ?? i?.uiKit, e.components ?? l ?? i?.components, h().form, bl(o ?? i?.presentationHost, e.onAction), h(), e.icons ?? u ?? i?.icons, e.richTextEditors ?? d ?? i?.richTextEditors, e.assetService ?? f ?? i?.assetService, () => {
5316
5337
  v.value += 1;
5317
5338
  }, (e) => n("field-activate", e));
5318
5339
  return A("section", {
@@ -5329,10 +5350,10 @@ var Tl = k({
5329
5350
  };
5330
5351
  }
5331
5352
  });
5332
- function El(e, t) {
5353
+ function Ol(e, t) {
5333
5354
  return [...new Set([...Object.keys(e), ...Object.keys(t)])].filter((n) => !Object.is(e[n], t[n]));
5334
5355
  }
5335
- function Dl(e) {
5356
+ function kl(e) {
5336
5357
  return {
5337
5358
  mode: e.mode,
5338
5359
  applyDefaults: e.applyDefaults,
@@ -5346,15 +5367,15 @@ function Dl(e) {
5346
5367
  hideFormFooter: e.hideFormFooter
5347
5368
  };
5348
5369
  }
5349
- function Ol(e, t) {
5350
- return Do({
5370
+ function Al(e, t) {
5371
+ return Oo({
5351
5372
  initialValues: e.modelValue,
5352
5373
  applyDefaults: e.applyDefaults,
5353
5374
  schema: e.schema?.schema,
5354
5375
  onValuesChange: t
5355
5376
  });
5356
5377
  }
5357
- async function kl(e, t, n) {
5378
+ async function jl(e, t, n) {
5358
5379
  let r = e.form.loadOptions;
5359
5380
  if (!r) return;
5360
5381
  let i = (t.schema?.schema.fields ?? []).filter((e) => e.options?.mode === "dictionary");
@@ -5369,14 +5390,14 @@ async function kl(e, t, n) {
5369
5390
  }
5370
5391
  //#endregion
5371
5392
  //#region src/asset/picker/AssetPickerParts.tsx
5372
- function Al(e, t) {
5393
+ function Ml(e, t) {
5373
5394
  return /* @__PURE__ */ A("header", { class: "sparq-asset-picker__header" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__title-group" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__title" }, "资源选择器"), /* @__PURE__ */ A("div", { class: "sparq-asset-picker__subtitle" }, "选择、上传或添加远程资源。")), $(t, "关闭", {
5374
5395
  class: "sparq-asset-picker__button",
5375
5396
  icon: "close",
5376
5397
  onClick: e
5377
5398
  }));
5378
5399
  }
5379
- function jl(e) {
5400
+ function Nl(e) {
5380
5401
  return /* @__PURE__ */ A("div", { class: "sparq-asset-picker__toolbar" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__tabs" }, [
5381
5402
  {
5382
5403
  name: "server",
@@ -5405,7 +5426,7 @@ function jl(e) {
5405
5426
  onClick: e.confirm
5406
5427
  })));
5407
5428
  }
5408
- function Ml(e, t, n, r) {
5429
+ function Pl(e, t, n, r) {
5409
5430
  return /* @__PURE__ */ A("aside", { class: "sparq-asset-picker__selected" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__selected-title" }, "已选资源"), e.length === 0 ? /* @__PURE__ */ A("div", { class: "sparq-asset-picker__selected-empty" }, "暂未选择资源") : /* @__PURE__ */ A("div", { class: "sparq-asset-picker__selected-list" }, e.map((e) => /* @__PURE__ */ A("div", {
5410
5431
  key: e.id ?? e.url,
5411
5432
  class: "sparq-asset-picker__selected-item"
@@ -5417,7 +5438,7 @@ function Ml(e, t, n, r) {
5417
5438
  onClick: () => t(e)
5418
5439
  })))));
5419
5440
  }
5420
- function Nl(e, t, n) {
5441
+ function Fl(e, t, n) {
5421
5442
  let r = t.selected.some((n) => t.isSameAsset(n, e)), i = !r && !t.canSelectAsset(e, t.pickerType), a = t.resolveLimit(t.request), o = !r && !i && a > 0 && t.selected.length >= a, s = H(e);
5422
5443
  return /* @__PURE__ */ A("button", {
5423
5444
  type: "button",
@@ -5441,7 +5462,7 @@ function Nl(e, t, n) {
5441
5462
  }
5442
5463
  }, /* @__PURE__ */ A("span", { class: "sparq-asset-picker__checkmark" }, "✓"), Qr(e, "card", t.openPreview, t.assetPreviews), /* @__PURE__ */ A("span", { class: "sparq-asset-picker__asset-title" }, s), /* @__PURE__ */ A("span", { class: "sparq-asset-picker__asset-meta" }, $r(e)));
5443
5464
  }
5444
- function Pl(e) {
5465
+ function Il(e) {
5445
5466
  return /* @__PURE__ */ A("div", { class: "sparq-asset-picker__table-wrap" }, /* @__PURE__ */ A("table", { class: "sparq-asset-picker__table" }, /* @__PURE__ */ A("thead", null, /* @__PURE__ */ A("tr", null, /* @__PURE__ */ A("th", null, "预览"), /* @__PURE__ */ A("th", null, "标题"), /* @__PURE__ */ A("th", null, "大小"), /* @__PURE__ */ A("th", null, "类型"), /* @__PURE__ */ A("th", null, "操作"))), /* @__PURE__ */ A("tbody", null, e.payload.results.map((t) => {
5446
5467
  let n = e.selected.some((n) => e.isSameAsset(n, t)), r = !n && !e.canSelectAsset(t, e.pickerType);
5447
5468
  return /* @__PURE__ */ A("tr", {
@@ -5458,7 +5479,7 @@ function Pl(e) {
5458
5479
  })));
5459
5480
  }))));
5460
5481
  }
5461
- function Fl(e) {
5482
+ function Ll(e) {
5462
5483
  return /* @__PURE__ */ A("footer", { class: "sparq-asset-picker__pagination" }, /* @__PURE__ */ A("span", null, `共 ${e.payload.total} 条,第 ${e.search.page} / ${e.totalPages} 页`), /* @__PURE__ */ A("div", { class: "sparq-asset-picker__pagination-actions" }, $(e.ui, "上一页", {
5463
5484
  class: "sparq-asset-picker__button",
5464
5485
  size: "small",
@@ -5476,15 +5497,15 @@ function Fl(e) {
5476
5497
  })));
5477
5498
  }
5478
5499
  function $(e, t, n) {
5479
- let r = e.render(C, {
5500
+ let r = e.render(w, {
5480
5501
  nativeType: "button",
5481
5502
  ...n
5482
5503
  }, { default: () => t });
5483
5504
  if (r) return r;
5484
5505
  throw Error("Sparq UI button is required to render asset picker.");
5485
5506
  }
5486
- function Il(e, t, n) {
5487
- let r = e.render(We, {
5507
+ function Rl(e, t, n) {
5508
+ let r = e.render(Ue, {
5488
5509
  ...n,
5489
5510
  value: t
5490
5511
  });
@@ -5493,7 +5514,7 @@ function Il(e, t, n) {
5493
5514
  }
5494
5515
  //#endregion
5495
5516
  //#region src/asset/picker/AssetPickerServerPanel.tsx
5496
- function Ll(e) {
5517
+ function zl(e) {
5497
5518
  return e.request.config.list ? /* @__PURE__ */ A("section", { class: "sparq-asset-picker__server" }, /* @__PURE__ */ A("aside", {
5498
5519
  class: "sparq-asset-picker__groups",
5499
5520
  "aria-label": "资源分组"
@@ -5507,7 +5528,7 @@ function Ll(e) {
5507
5528
  onClick: () => {
5508
5529
  e.search.group = t.value;
5509
5530
  }
5510
- }, t.label))), /* @__PURE__ */ A("section", { class: "sparq-asset-picker__panel" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__filters" }, Il(e.ui, e.search.title, {
5531
+ }, t.label))), /* @__PURE__ */ A("section", { class: "sparq-asset-picker__panel" }, /* @__PURE__ */ A("div", { class: "sparq-asset-picker__filters" }, Rl(e.ui, e.search.title, {
5511
5532
  class: "sparq-asset-picker__input",
5512
5533
  placeholder: "输入标题或资源名称",
5513
5534
  onChange(t) {
@@ -5516,41 +5537,41 @@ function Ll(e) {
5516
5537
  onKeyup(t) {
5517
5538
  t.key === "Enter" && e.submitSearch();
5518
5539
  }
5519
- }), Rl(e.ui, e.typeOptions, e.search.type, e.pickerType === "image", (t) => {
5540
+ }), Bl(e.ui, e.typeOptions, e.search.type, e.pickerType === "image", (t) => {
5520
5541
  e.search.type = t;
5521
5542
  }), $(e.ui, "搜索", {
5522
5543
  class: "sparq-asset-picker__button is-primary",
5523
5544
  type: "primary",
5524
5545
  icon: "search",
5525
5546
  onClick: e.submitSearch
5526
- }), /* @__PURE__ */ A("div", { class: "sparq-asset-picker__segment" }, Bl("卡片", e.view === "grid", () => e.setView("grid")), Bl("列表", e.view === "list", () => e.setView("list")))), e.loading ? /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "资源加载中...") : e.payload.results.length === 0 ? /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "当前筛选下暂无资源") : e.view === "grid" ? /* @__PURE__ */ A("div", {
5547
+ }), /* @__PURE__ */ A("div", { class: "sparq-asset-picker__segment" }, Hl("卡片", e.view === "grid", () => e.setView("grid")), Hl("列表", e.view === "list", () => e.setView("list")))), e.loading ? /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "资源加载中...") : e.payload.results.length === 0 ? /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "当前筛选下暂无资源") : e.view === "grid" ? /* @__PURE__ */ A("div", {
5527
5548
  class: "sparq-asset-picker__grid",
5528
5549
  role: "listbox",
5529
5550
  "aria-label": "资源列表",
5530
5551
  onKeydown: e.handleAssetGridKeydown
5531
- }, e.payload.results.map((t, n) => Nl(t, e, n))) : Pl(e), Fl(e))) : /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "未配置服务端资源列表。");
5552
+ }, e.payload.results.map((t, n) => Fl(t, e, n))) : Il(e), Ll(e))) : /* @__PURE__ */ A("div", { class: "sparq-asset-picker__empty" }, "未配置服务端资源列表。");
5532
5553
  }
5533
- function Rl(e, t, n, r, i) {
5534
- let a = e.render(Ie, {
5554
+ function Bl(e, t, n, r, i) {
5555
+ let a = e.render(Fe, {
5535
5556
  class: "sparq-asset-picker__select",
5536
5557
  value: n,
5537
5558
  disabled: r,
5538
5559
  onChange(e) {
5539
5560
  i(String(e ?? ""));
5540
5561
  }
5541
- }, { default: () => t.map((t) => zl(e, t)) });
5562
+ }, { default: () => t.map((t) => Vl(e, t)) });
5542
5563
  if (a) return a;
5543
5564
  throw Error("Sparq UI select is required to render asset picker.");
5544
5565
  }
5545
- function zl(e, t) {
5546
- let n = e.render(Oe, {
5566
+ function Vl(e, t) {
5567
+ let n = e.render(De, {
5547
5568
  label: t.label,
5548
5569
  value: t.value
5549
5570
  }, { default: () => t.label });
5550
5571
  if (n) return n;
5551
5572
  throw Error("Sparq UI option is required to render asset picker.");
5552
5573
  }
5553
- function Bl(e, t, n) {
5574
+ function Hl(e, t, n) {
5554
5575
  return /* @__PURE__ */ A("button", {
5555
5576
  type: "button",
5556
5577
  class: ["sparq-asset-picker__segment-button", t ? "is-active" : void 0],
@@ -5560,12 +5581,12 @@ function Bl(e, t, n) {
5560
5581
  }
5561
5582
  //#endregion
5562
5583
  //#region src/asset/picker/AssetPickerRoot.ts
5563
- var Vl = "sparq.asset-picker.view", Hl = {
5584
+ var Ul = "sparq.asset-picker.view", Wl = {
5564
5585
  results: [],
5565
5586
  total: 0,
5566
5587
  groups: [],
5567
5588
  types: []
5568
- }, Ul = k({
5589
+ }, Gl = k({
5569
5590
  name: "SparqAssetPickerRoot",
5570
5591
  props: {
5571
5592
  request: {
@@ -5584,7 +5605,7 @@ var Vl = "sparq.asset-picker.view", Hl = {
5584
5605
  setup(e) {
5585
5606
  let t = e.uiKit ? void 0 : j(I, void 0), n = e.uiKit ?? t;
5586
5607
  if (!n) throw Error("Sparq UI kit is required to render asset picker.");
5587
- let r = Br(), i = N("server"), a = N($l(e.viewPreference)), o = N([]), s = N(Hl), c = N(!1), l = N(), u = N(""), d = 0, f = Wr(), p = N(""), m = N(!1), h = N(!1), g = Dt({
5608
+ let r = Br(), i = N("server"), a = N(tu(e.viewPreference)), o = N([]), s = N(Wl), c = N(!1), l = N(), u = N(""), d = 0, f = Wr(), p = N(""), m = N(!1), h = N(!1), g = Dt({
5588
5609
  title: "",
5589
5610
  type: "",
5590
5611
  page: 1,
@@ -5596,33 +5617,33 @@ var Vl = "sparq.asset-picker.view", Hl = {
5596
5617
  return r ? r.config.upload(e, t, n) : Promise.reject(/* @__PURE__ */ Error("资源选择器已经关闭。"));
5597
5618
  },
5598
5619
  onSuccess(e) {
5599
- ge(e);
5620
+ he(e);
5600
5621
  },
5601
5622
  onError(e, t) {
5602
- w(`${t.file.name} 上传失败。`);
5623
+ T(`${t.file.name} 上传失败。`);
5603
5624
  }
5604
- }), y = v.tasks, b = O(() => _.value !== void 0), x = O(() => _.value?.options.type), S = O(() => Yl(_.value)), ee = O(() => Math.max(1, Math.ceil((s.value.total || 0) / g.limit))), te = O(() => o.value.length > 0), ne = O(() => S.value === 0 || o.value.length < S.value), re = O(() => [{
5625
+ }), y = v.tasks, b = O(() => _.value !== void 0), x = O(() => _.value?.options.type), S = O(() => Zl(_.value)), C = O(() => Math.max(1, Math.ceil((s.value.total || 0) / g.limit))), ee = O(() => o.value.length > 0), te = O(() => S.value === 0 || o.value.length < S.value), ne = O(() => [{
5605
5626
  label: "全部类型",
5606
5627
  value: ""
5607
- }, ...s.value.types ?? []]), ie = O(() => s.value.groups ?? []);
5628
+ }, ...s.value.types ?? []]), re = O(() => s.value.groups ?? []);
5608
5629
  F(_, (e) => {
5609
- e && (i.value = e.config.list ? "server" : "upload", o.value = [], v.reset(), p.value = "", m.value = !1, l.value = void 0, g.title = "", g.type = e.options.type === "image" ? "image" : "", g.page = 1, g.group = "", se());
5630
+ e && (i.value = e.config.list ? "server" : "upload", o.value = [], v.reset(), p.value = "", m.value = !1, l.value = void 0, g.title = "", g.type = e.options.type === "image" ? "image" : "", g.page = 1, g.group = "", oe());
5610
5631
  }, { immediate: !0 }), F(() => [
5611
5632
  g.page,
5612
5633
  g.limit,
5613
5634
  g.group
5614
5635
  ], () => {
5615
- se();
5636
+ oe();
5616
5637
  });
5617
- let ae = () => {
5638
+ let ie = () => {
5618
5639
  d += 1, c.value = !1, v.reset(), _.value?.resolve([]), e.request.value = void 0;
5619
- }, oe = () => {
5640
+ }, ae = () => {
5620
5641
  v.reset(), _.value?.resolve(o.value.map((e) => ({ ...e }))), e.request.value = void 0;
5621
5642
  };
5622
- async function se() {
5643
+ async function oe() {
5623
5644
  let e = _.value, t = ++d;
5624
5645
  if (!e?.config.list) {
5625
- s.value = Hl, l.value = void 0;
5646
+ s.value = Wl, l.value = void 0;
5626
5647
  return;
5627
5648
  }
5628
5649
  c.value = !0, l.value = void 0;
@@ -5636,47 +5657,47 @@ var Vl = "sparq.asset-picker.view", Hl = {
5636
5657
  field: e.options.field,
5637
5658
  props: e.options.props
5638
5659
  });
5639
- t === d && e === _.value && (s.value = ql(n, x.value));
5660
+ t === d && e === _.value && (s.value = Yl(n, x.value));
5640
5661
  } catch (n) {
5641
5662
  t === d && e === _.value && (l.value = n);
5642
5663
  } finally {
5643
5664
  t === d && (c.value = !1);
5644
5665
  }
5645
5666
  }
5646
- let C = () => {
5647
- g.page = 1, se();
5648
- }, w = (e) => {
5667
+ let w = () => {
5668
+ g.page = 1, oe();
5669
+ }, T = (e) => {
5649
5670
  u.value = u.value && u.value !== e ? `${u.value} ${e}` : e;
5650
- }, le = (t) => {
5651
- a.value = t, eu(t, e.viewPreference);
5652
- }, ue = (e) => {
5653
- if (!Xl(e, x.value)) {
5654
- w(Ql(x.value));
5671
+ }, ce = (t) => {
5672
+ a.value = t, nu(t, e.viewPreference);
5673
+ }, le = (e) => {
5674
+ if (!Ql(e, x.value)) {
5675
+ T(eu(x.value));
5655
5676
  return;
5656
5677
  }
5657
- let t = o.value.findIndex((t) => tu(t, e));
5678
+ let t = o.value.findIndex((t) => ru(t, e));
5658
5679
  if (t >= 0) {
5659
5680
  o.value.splice(t, 1), u.value = "";
5660
5681
  return;
5661
5682
  }
5662
- if (!ne.value) {
5663
- w(Zl(S.value));
5683
+ if (!te.value) {
5684
+ T($l(S.value));
5664
5685
  return;
5665
5686
  }
5666
5687
  o.value.push({ ...e }), u.value = "";
5667
- }, de = (t) => {
5668
- if (!Xl(t, x.value)) {
5669
- w(Ql(x.value));
5688
+ }, ue = (t) => {
5689
+ if (!Ql(t, x.value)) {
5690
+ T(eu(x.value));
5670
5691
  return;
5671
5692
  }
5672
5693
  if (S.value !== 1) {
5673
- ue(t);
5694
+ le(t);
5674
5695
  return;
5675
5696
  }
5676
5697
  _.value?.resolve([{ ...t }]), e.request.value = void 0;
5677
- }, fe = (e) => {
5678
- o.value = o.value.filter((t) => !tu(t, e));
5679
- }, pe = async (e) => {
5698
+ }, de = (e) => {
5699
+ o.value = o.value.filter((t) => !ru(t, e));
5700
+ }, fe = async (e) => {
5680
5701
  let t = _.value;
5681
5702
  if (!t || e.length === 0) return;
5682
5703
  let { accepted: n, rejected: r } = tr(e, {
@@ -5684,7 +5705,7 @@ var Vl = "sparq.asset-picker.view", Hl = {
5684
5705
  maxSize: t.options.maxSize,
5685
5706
  type: x.value
5686
5707
  });
5687
- r.length > 0 && w(`${r.length} 个文件类型不符合要求,已跳过。`), n.length !== 0 && v.add(n, {
5708
+ r.length > 0 && T(`${r.length} 个文件类型不符合要求,已跳过。`), n.length !== 0 && v.add(n, {
5688
5709
  type: x.value,
5689
5710
  accept: t.options.accept,
5690
5711
  maxSize: t.options.maxSize,
@@ -5692,23 +5713,23 @@ var Vl = "sparq.asset-picker.view", Hl = {
5692
5713
  field: t.options.field,
5693
5714
  props: t.options.props
5694
5715
  });
5695
- }, me = (e) => {
5716
+ }, pe = (e) => {
5696
5717
  v.retry(e);
5697
- }, he = (e) => {
5718
+ }, me = (e) => {
5698
5719
  v.cancel(e);
5699
- }, ge = (e) => {
5700
- if (!Xl(e, x.value)) {
5701
- w(Ql(x.value));
5720
+ }, he = (e) => {
5721
+ if (!Ql(e, x.value)) {
5722
+ T(eu(x.value));
5702
5723
  return;
5703
5724
  }
5704
- !o.value.some((t) => tu(t, e)) && ne.value ? o.value.push({ ...e }) : !o.value.some((t) => tu(t, e)) && !ne.value && w(Zl(S.value)), s.value = {
5725
+ !o.value.some((t) => ru(t, e)) && te.value ? o.value.push({ ...e }) : !o.value.some((t) => ru(t, e)) && !te.value && T($l(S.value)), s.value = {
5705
5726
  ...s.value,
5706
- results: [e, ...s.value.results.filter((t) => !tu(t, e))],
5727
+ results: [e, ...s.value.results.filter((t) => !ru(t, e))],
5707
5728
  total: s.value.total + 1
5708
5729
  };
5709
- }, _e = (e) => {
5730
+ }, ge = (e) => {
5710
5731
  ni(e, r) && f.open(e);
5711
- }, ve = async () => {
5732
+ }, _e = async () => {
5712
5733
  let e = _.value;
5713
5734
  if (!(!e?.config.addRemote || !p.value || h.value)) {
5714
5735
  h.value = !0;
@@ -5720,103 +5741,103 @@ var Vl = "sparq.asset-picker.view", Hl = {
5720
5741
  field: e.options.field,
5721
5742
  props: e.options.props
5722
5743
  });
5723
- t && (ge(t), p.value = "");
5744
+ t && (he(t), p.value = "");
5724
5745
  } catch (e) {
5725
- w(e instanceof Error ? e.message : "远程资源添加失败。");
5746
+ T(e instanceof Error ? e.message : "远程资源添加失败。");
5726
5747
  } finally {
5727
5748
  h.value = !1;
5728
5749
  }
5729
5750
  }
5730
- }, ye = (e) => {
5751
+ }, ve = (e) => {
5731
5752
  if (e.key === "Escape") {
5732
5753
  if (f.asset.value) {
5733
5754
  f.close();
5734
5755
  return;
5735
5756
  }
5736
- ae();
5757
+ ie();
5737
5758
  }
5738
5759
  };
5739
5760
  return () => {
5740
5761
  let e = _.value;
5741
5762
  if (!(!b.value || !e)) return A("div", { class: "sparq-asset-picker" }, [A("div", {
5742
5763
  class: "sparq-asset-picker__mask",
5743
- onClick: ae
5764
+ onClick: ie
5744
5765
  }), A("section", {
5745
5766
  class: "sparq-asset-picker__dialog",
5746
5767
  role: "dialog",
5747
5768
  "aria-modal": "true",
5748
5769
  tabindex: -1,
5749
- onKeydown: ye
5770
+ onKeydown: ve
5750
5771
  }, [
5751
- Al(ae, n),
5752
- jl({
5772
+ Ml(ie, n),
5773
+ Nl({
5753
5774
  ui: n,
5754
5775
  request: e,
5755
5776
  tab: i.value,
5756
5777
  selectedCount: o.value.length,
5757
5778
  limit: S.value,
5758
- canConfirm: te.value,
5779
+ canConfirm: ee.value,
5759
5780
  setTab(e) {
5760
5781
  i.value = e;
5761
5782
  },
5762
- confirm: oe
5783
+ confirm: ae
5763
5784
  }),
5764
5785
  u.value ? A("div", {
5765
5786
  class: "sparq-asset-picker__notice",
5766
5787
  role: "status",
5767
5788
  "aria-live": "polite"
5768
5789
  }, u.value) : void 0,
5769
- l.value ? n.render(ce, {
5790
+ l.value ? n.render(se, {
5770
5791
  type: "error",
5771
- title: lt(l.value, "资源加载失败。"),
5792
+ title: ct(l.value, "资源加载失败。"),
5772
5793
  showIcon: !0,
5773
5794
  closable: !1,
5774
5795
  "data-sparq-asset-load-error": ""
5775
5796
  }, { default: () => $(n, "重试", {
5776
5797
  size: "small",
5777
5798
  onClick() {
5778
- se();
5799
+ oe();
5779
5800
  },
5780
5801
  "data-sparq-asset-load-retry": ""
5781
5802
  }) }) : void 0,
5782
5803
  A("main", { class: "sparq-asset-picker__body" }, [
5783
- i.value === "server" ? Ll({
5804
+ i.value === "server" ? zl({
5784
5805
  request: e,
5785
5806
  view: a.value,
5786
5807
  search: g,
5787
5808
  payload: s.value,
5788
5809
  loading: c.value,
5789
- totalPages: ee.value,
5790
- typeOptions: re.value,
5791
- groupOptions: ie.value,
5810
+ totalPages: C.value,
5811
+ typeOptions: ne.value,
5812
+ groupOptions: re.value,
5792
5813
  pickerType: x.value,
5793
5814
  selected: o.value,
5794
5815
  ui: n,
5795
5816
  assetPreviews: r,
5796
5817
  setView(e) {
5797
- le(e);
5818
+ ce(e);
5798
5819
  },
5799
- submitSearch: C,
5800
- loadAssets: se,
5801
- toggleAsset: ue,
5802
- confirmAsset: de,
5803
- openPreview: _e,
5804
- isSameAsset: tu,
5805
- canSelectAsset: Xl,
5806
- resolveLimit: Yl,
5807
- handleAssetGridKeydown: Gl
5820
+ submitSearch: w,
5821
+ loadAssets: oe,
5822
+ toggleAsset: le,
5823
+ confirmAsset: ue,
5824
+ openPreview: ge,
5825
+ isSameAsset: ru,
5826
+ canSelectAsset: Ql,
5827
+ resolveLimit: Zl,
5828
+ handleAssetGridKeydown: ql
5808
5829
  }) : void 0,
5809
5830
  i.value === "upload" ? A("section", { class: "sparq-asset-picker__panel" }, [A(Jn, {
5810
5831
  tasks: y.value,
5811
5832
  accept: e.options.accept,
5812
5833
  emptyText: "上传成功的资源会自动加入已选。",
5813
5834
  onAddFiles(e) {
5814
- pe(e);
5835
+ fe(e);
5815
5836
  },
5816
- onRetry: me,
5817
- onCancel: he
5837
+ onRetry: pe,
5838
+ onCancel: me
5818
5839
  })]) : void 0,
5819
- i.value === "remote" ? Wl({
5840
+ i.value === "remote" ? Kl({
5820
5841
  enabled: !!e.config.addRemote,
5821
5842
  url: p.value,
5822
5843
  local: m.value,
@@ -5828,9 +5849,9 @@ var Vl = "sparq.asset-picker.view", Hl = {
5828
5849
  setLocal(e) {
5829
5850
  m.value = e;
5830
5851
  },
5831
- addRemote: ve
5852
+ addRemote: _e
5832
5853
  }) : void 0,
5833
- Ml(o.value, fe, n, r)
5854
+ Pl(o.value, de, n, r)
5834
5855
  ]),
5835
5856
  f.asset.value ? Gr(f.asset.value, {
5836
5857
  close: f.close,
@@ -5850,9 +5871,9 @@ var Vl = "sparq.asset-picker.view", Hl = {
5850
5871
  };
5851
5872
  }
5852
5873
  });
5853
- function Wl(e) {
5874
+ function Kl(e) {
5854
5875
  return e.enabled ? A("section", { class: "sparq-asset-picker__panel" }, [A("div", { class: "sparq-asset-picker__remote-form" }, [
5855
- Il(e.ui, e.url, {
5876
+ Rl(e.ui, e.url, {
5856
5877
  class: "sparq-asset-picker__input",
5857
5878
  type: "url",
5858
5879
  inputmode: "url",
@@ -5882,7 +5903,7 @@ function Wl(e) {
5882
5903
  })
5883
5904
  ]), A("div", { class: "sparq-asset-picker__empty" }, "添加成功的资源会自动加入已选。")]) : A("div", { class: "sparq-asset-picker__empty" }, "未配置远程资源添加接口。");
5884
5905
  }
5885
- function Gl(e) {
5906
+ function ql(e) {
5886
5907
  if (![
5887
5908
  "ArrowLeft",
5888
5909
  "ArrowRight",
@@ -5893,61 +5914,61 @@ function Gl(e) {
5893
5914
  if (!t || !n) return;
5894
5915
  let r = Array.from(n.querySelectorAll(".sparq-asset-picker__card:not(:disabled)")), i = r.indexOf(t);
5895
5916
  if (i < 0) return;
5896
- let a = Kl(n, r[0]), o = e.key === "ArrowLeft" ? i - 1 : e.key === "ArrowRight" ? i + 1 : e.key === "ArrowUp" ? i - a : i + a, s = r[Math.max(0, Math.min(r.length - 1, o))];
5917
+ let a = Jl(n, r[0]), o = e.key === "ArrowLeft" ? i - 1 : e.key === "ArrowRight" ? i + 1 : e.key === "ArrowUp" ? i - a : i + a, s = r[Math.max(0, Math.min(r.length - 1, o))];
5897
5918
  s && s !== t && (e.preventDefault(), s.focus());
5898
5919
  }
5899
- function Kl(e, t) {
5920
+ function Jl(e, t) {
5900
5921
  let n = t?.offsetWidth ?? 0;
5901
5922
  return n <= 0 || e.clientWidth <= 0 ? 4 : Math.max(1, Math.floor(e.clientWidth / n));
5902
5923
  }
5903
- function ql(e, t) {
5904
- let n = Array.isArray(e.results) ? e.results.filter((e) => Xl(e, t)) : [];
5924
+ function Yl(e, t) {
5925
+ let n = Array.isArray(e.results) ? e.results.filter((e) => Ql(e, t)) : [];
5905
5926
  return {
5906
5927
  results: n,
5907
5928
  total: Number(e.total ?? n.length),
5908
- groups: Jl(e.groups),
5909
- types: Jl(e.types)
5929
+ groups: Xl(e.groups),
5930
+ types: Xl(e.types)
5910
5931
  };
5911
5932
  }
5912
- function Jl(e) {
5933
+ function Xl(e) {
5913
5934
  return Array.isArray(e) ? e.filter((e) => e && e.value !== void 0).map((e) => ({
5914
5935
  label: String(e.label ?? e.value),
5915
5936
  value: String(e.value)
5916
5937
  })) : [];
5917
5938
  }
5918
- function Yl(e) {
5939
+ function Zl(e) {
5919
5940
  return e ? typeof e.options.limit == "number" && e.options.limit >= 0 ? e.options.limit : +!e.options.multiple : 1;
5920
5941
  }
5921
- function Xl(e, t) {
5942
+ function Ql(e, t) {
5922
5943
  return t === "image" ? U(e) === "image" : !0;
5923
5944
  }
5924
- function Zl(e) {
5945
+ function $l(e) {
5925
5946
  return e > 0 ? `最多只能选择 ${e} 个资源。` : "当前选择数量已达到上限。";
5926
5947
  }
5927
- function Ql(e) {
5948
+ function eu(e) {
5928
5949
  return e === "image" ? "当前字段只允许选择图片资源。" : "当前资源类型不符合要求。";
5929
5950
  }
5930
- function $l(e) {
5951
+ function tu(e) {
5931
5952
  let t = e?.read?.();
5932
5953
  if (t === "list" || t === "grid") return t;
5933
5954
  if (typeof window > "u") return "grid";
5934
- let n = window.localStorage?.getItem(Vl);
5955
+ let n = window.localStorage?.getItem(Ul);
5935
5956
  return n === "list" || n === "grid" ? n : "grid";
5936
5957
  }
5937
- function eu(e, t) {
5958
+ function nu(e, t) {
5938
5959
  if (t?.write) {
5939
5960
  t.write(e);
5940
5961
  return;
5941
5962
  }
5942
- typeof window > "u" || window.localStorage?.setItem(Vl, e);
5963
+ typeof window > "u" || window.localStorage?.setItem(Ul, e);
5943
5964
  }
5944
- function tu(e, t) {
5965
+ function ru(e, t) {
5945
5966
  return e.id !== void 0 && t.id !== void 0 ? e.id === t.id : e.url === t.url;
5946
5967
  }
5947
5968
  //#endregion
5948
5969
  //#region src/asset/picker/service.ts
5949
- function nu(e) {
5950
- let t = ru(), n = e.uiKit, r = !1;
5970
+ function iu(e) {
5971
+ let t = au(), n = e.uiKit, r = !1;
5951
5972
  return {
5952
5973
  upload: e.upload,
5953
5974
  pick(n) {
@@ -5967,29 +5988,29 @@ function nu(e) {
5967
5988
  function i() {
5968
5989
  if (typeof document > "u" || r) return;
5969
5990
  if (!n) throw Error("Sparq UI kit is required to render asset picker.");
5970
- let i = iu(e);
5991
+ let i = ou(e);
5971
5992
  if (!i) return;
5972
5993
  let a = document.createElement("div");
5973
- a.className = "sparq-asset-picker-root", i.appendChild(a), Ot(A(Ul, {
5994
+ a.className = "sparq-asset-picker-root", i.appendChild(a), Ot(A(Gl, {
5974
5995
  request: t,
5975
5996
  uiKit: n,
5976
5997
  viewPreference: e.viewPreference
5977
5998
  }), a), r = !0;
5978
5999
  }
5979
6000
  }
5980
- function ru() {
6001
+ function au() {
5981
6002
  return N();
5982
6003
  }
5983
- function iu(e) {
6004
+ function ou(e) {
5984
6005
  return typeof e.mountTarget == "function" ? e.mountTarget() : e.mountTarget ? e.mountTarget : document.body;
5985
6006
  }
5986
6007
  //#endregion
5987
6008
  //#region src/install.ts
5988
- function au(e, t) {
5989
- e.provide(kt, t.kernel), e.provide(At, t.runtime), e.provide(jt, t), e.provide(Lt, t.assetPreviews), t.uiAdapter && e.provide(Nt, t.uiAdapter), t.uiKit && e.provide(I, t.uiKit), t.components && e.provide(Pt, t.components), t.icons && e.provide(Ft, t.icons), t.richTextEditors && e.provide(It, t.richTextEditors), t.assetService && (t.uiKit && t.assetService.setUiKit?.(t.uiKit), e.provide(L, t.assetService)), t.presentationHost && e.provide(Mt, t.presentationHost), e.component("SparqView", Tl), e.component("SqRender", Qi);
6009
+ function su(e, t) {
6010
+ e.provide(kt, t.kernel), e.provide(At, t.runtime), e.provide(jt, t), e.provide(Lt, t.assetPreviews), t.uiAdapter && e.provide(Nt, t.uiAdapter), t.uiKit && e.provide(I, t.uiKit), t.components && e.provide(Pt, t.components), t.icons && e.provide(Ft, t.icons), t.richTextEditors && e.provide(It, t.richTextEditors), t.assetService && (t.uiKit && t.assetService.setUiKit?.(t.uiKit), e.provide(L, t.assetService)), t.presentationHost && e.provide(Mt, t.presentationHost), e.component("SparqView", Dl), e.component("SqRender", Qi);
5990
6011
  for (let [t, n] of Object.entries(ia)) e.component(t, n);
5991
6012
  }
5992
6013
  //#endregion
5993
- export { Ul as AssetPickerRoot, Ur as AssetPreviewDialog, ia as DEFAULT_CUSTOM_COMPONENTS, Y as FieldDisplay, oa as FieldLink, la as FileLinkList, si as FileUpload, _a as HelpText, Ht as IconInput, oi as ImageUpload, en as JsonEditor, fn as KeyValueEditor, zn as RichText, Lt as SPARQ_ASSET_PREVIEW_REGISTRY_KEY, L as SPARQ_ASSET_SERVICE_KEY, Pt as SPARQ_COMPONENT_REGISTRY_KEY, kt as SPARQ_FRONTEND_KERNEL_KEY, Ft as SPARQ_ICON_REGISTRY_KEY, It as SPARQ_RICH_TEXT_REGISTRY_KEY, Mt as SPARQ_SCHEMA_PRESENTATION_KEY, jt as SPARQ_SCHEMA_RENDERER_KEY, At as SPARQ_SCHEMA_RUNTIME_KEY, Nt as SPARQ_SCHEMA_UI_ADAPTER_KEY, I as SPARQ_UI_KIT_KEY, va as SectionBlock, Jn as SparqAssetUploadPanel, $n as SparqUploadValidationError, Tl as SparqView, ea as SqFileUpload, Bt as SqIcon, $t as SqIconInput, Ut as SqIconInputControl, ta as SqImageUpload, dn as SqJson, tn as SqJsonControl, Rn as SqKeyValue, pn as SqKeyValueControl, Qi as SqRender, Kn as SqRichText, Bn as SqRichTextControl, na as SqUpload, ci as SqUploadControl, Ca as StatusTag, Ra as Thumbnail, Lo as applyFieldWriteBack, Zo as auditTone, Xo as auditTypeLabel, Hr as builtInImageAssetPreview, nu as createAssetPickerService, Wr as createAssetPreviewState, aa as createDefaultCustomComponents, qa as createDefaultIconRegistry, $a as createDefaultRichTextRegistry, Va as createDefaultSemanticComponents, xo as createExpressionContext, ho as createLiveSchemaComponentRegistry, zr as createLiveSparqAssetPreviewRegistry, go as createLiveSparqIconRegistry, _o as createLiveSparqRichTextRegistry, Pc as createReadonlyRecordFormState, X as createSchemaActionContext, Ha as createSchemaComponentRegistry, Ao as createSchemaFeedback, vl as createSchemaPresentationActionHandler, Io as createSchemaRenderer, vo as createSchemaUiContext, Zi as createSchemaUiProxy, Ja as createSparqIconRegistry, eo as createSparqRichTextRegistry, ao as createSparqRichTextStickyStyle, mr as createSparqUploadExecutor, ar as createSparqUploadQueue, Do as createSparqViewController, Po as createSparqViewLoadingState, bo as createTableFilterContext, Ui as createUiKit, pr as defaultSparqMultipartThreshold, tr as filterSparqUploadFiles, ii as formatAssetSize, Z as formatDisplayValue, z as formatJsonValue, yn as formatKeyValue, So as getPrimaryKey, Co as getRecordId, Xi as getSchemaUiProxy, wo as getTableReloadView, dr as hashSparqUploadFile, au as installSchemaRenderer, mo as installSchemaRendererContribution, ni as isPreviewableAsset, No as loadSparqViewState, Ua as mergeSchemaComponentRegistry, Ya as mergeSparqIconRegistry, to as mergeSparqRichTextRegistry, Wi as mergeUiKit, Hi as normalizeChildren, nn as parseJsonText, bn as parseKeyValueText, yl as presentSchemaAction, ro as readSparqRichTextToolbar, q as renderAction, Gr as renderAssetPreviewDialog, Qr as renderAssetPreviewThumb, ds as renderAuditPanel, Jo as renderAuditPanelContent, us as renderAuditTrigger, W as renderContainer, ss as renderDefaultDetailPanelShell, Ri as renderDetailShell, ys as renderDetailStructure, Ps as renderEmbeddedViewBinding, xc as renderFieldNode, Li as renderFormShell, gs as renderFormStructure, Nc as renderLayoutItemsChildren, J as renderMissingUiRenderer, Q as renderOptionalSemanticHelp, Xc as renderPageStructure, tl as renderResolvedViewState, rl as renderSearchOperationStructure, vs as renderSearchStructure, K as renderSlot, no as renderSparqRichTextEditor, _l as renderSparqViewState, G as renderStatusContainer, nl as renderTableContainerStructure, _s as renderTableStructure, Mc as renderViewItems, Ii as renderViewSlot, Ko as resolveActionRuntimeState, ti as resolveAssetFileLabel, H as resolveAssetLabel, $r as resolveAssetSummary, U as resolveAssetType, ei as resolveAssetTypeLabel, Yo as resolveAuditRecordTitle, yo as resolveContextForm, Vi as resolveDetailPresentation, qc as resolveFormChildLayout, Bi as resolveFormOpen, zi as resolveFormPresentation, bl as resolveHostPresentationInput, Ma as resolveReadableTextColor, To as resolveReloadTableViewName, il as resolveSearchItemsStructure, io as resolveSparqRichTextToolbarItems, Mo as resolveSparqViewState, Rr as schemaRendererAssetPreviewPoint, uo as schemaRendererComponentPoint, fo as schemaRendererIconPoint, po as schemaRendererRichTextPoint, xn as toKeyValueObject, B as toKeyValueRows, ko as useSchemaFeedback, Yi as useSchemaUi, Br as useSparqAssetPreviewRegistry, Wa as useSparqComponents, Xa as useSparqIcons, oo as useSparqRichTextEditors, Gi as useSparqUi, Oo as useSparqView, er as validateSparqUploadFile };
6014
+ export { Gl as AssetPickerRoot, Ur as AssetPreviewDialog, ia as DEFAULT_CUSTOM_COMPONENTS, Y as FieldDisplay, oa as FieldLink, la as FileLinkList, si as FileUpload, _a as HelpText, Ht as IconInput, oi as ImageUpload, en as JsonEditor, fn as KeyValueEditor, zn as RichText, Lt as SPARQ_ASSET_PREVIEW_REGISTRY_KEY, L as SPARQ_ASSET_SERVICE_KEY, Pt as SPARQ_COMPONENT_REGISTRY_KEY, kt as SPARQ_FRONTEND_KERNEL_KEY, Ft as SPARQ_ICON_REGISTRY_KEY, It as SPARQ_RICH_TEXT_REGISTRY_KEY, Mt as SPARQ_SCHEMA_PRESENTATION_KEY, jt as SPARQ_SCHEMA_RENDERER_KEY, At as SPARQ_SCHEMA_RUNTIME_KEY, Nt as SPARQ_SCHEMA_UI_ADAPTER_KEY, I as SPARQ_UI_KIT_KEY, va as SectionBlock, Jn as SparqAssetUploadPanel, $n as SparqUploadValidationError, Dl as SparqView, ea as SqFileUpload, Bt as SqIcon, $t as SqIconInput, Ut as SqIconInputControl, ta as SqImageUpload, dn as SqJson, tn as SqJsonControl, Rn as SqKeyValue, pn as SqKeyValueControl, Qi as SqRender, Kn as SqRichText, Bn as SqRichTextControl, na as SqUpload, ci as SqUploadControl, Ca as StatusTag, Ra as Thumbnail, Ro as applyFieldWriteBack, $o as auditTone, Qo as auditTypeLabel, Hr as builtInImageAssetPreview, iu as createAssetPickerService, Wr as createAssetPreviewState, aa as createDefaultCustomComponents, qa as createDefaultIconRegistry, $a as createDefaultRichTextRegistry, Va as createDefaultSemanticComponents, X as createExpressionContext, _o as createLiveSchemaComponentRegistry, zr as createLiveSparqAssetPreviewRegistry, vo as createLiveSparqIconRegistry, yo as createLiveSparqRichTextRegistry, Ic as createReadonlyRecordFormState, Z as createSchemaActionContext, Ha as createSchemaComponentRegistry, jo as createSchemaFeedback, bl as createSchemaPresentationActionHandler, Lo as createSchemaRenderer, bo as createSchemaUiContext, Zi as createSchemaUiProxy, Ja as createSparqIconRegistry, eo as createSparqRichTextRegistry, so as createSparqRichTextStickyStyle, mr as createSparqUploadExecutor, ar as createSparqUploadQueue, Oo as createSparqViewController, Fo as createSparqViewLoadingState, So as createTableFilterContext, Ui as createUiKit, pr as defaultSparqMultipartThreshold, tr as filterSparqUploadFiles, ii as formatAssetSize, Yo as formatDisplayValue, z as formatJsonValue, yn as formatKeyValue, Co as getPrimaryKey, wo as getRecordId, Xi as getSchemaUiProxy, To as getTableReloadView, dr as hashSparqUploadFile, su as installSchemaRenderer, go as installSchemaRendererContribution, ni as isPreviewableAsset, Po as loadSparqViewState, Ua as mergeSchemaComponentRegistry, Ya as mergeSparqIconRegistry, to as mergeSparqRichTextRegistry, Wi as mergeUiKit, Hi as normalizeChildren, nn as parseJsonText, bn as parseKeyValueText, xl as presentSchemaAction, ro as readSparqRichTextFormat, ao as readSparqRichTextToolbar, q as renderAction, Gr as renderAssetPreviewDialog, Qr as renderAssetPreviewThumb, ps as renderAuditPanel, Xo as renderAuditPanelContent, fs as renderAuditTrigger, W as renderContainer, ls as renderDefaultDetailPanelShell, Ri as renderDetailShell, xs as renderDetailStructure, Is as renderEmbeddedViewBinding, Cc as renderFieldNode, Li as renderFormShell, vs as renderFormStructure, Fc as renderLayoutItemsChildren, J as renderMissingUiRenderer, Q as renderOptionalSemanticHelp, Qc as renderPageStructure, rl as renderResolvedViewState, al as renderSearchOperationStructure, bs as renderSearchStructure, K as renderSlot, no as renderSparqRichTextEditor, yl as renderSparqViewState, G as renderStatusContainer, il as renderTableContainerStructure, ys as renderTableStructure, Pc as renderViewItems, Ii as renderViewSlot, qo as resolveActionRuntimeState, ti as resolveAssetFileLabel, H as resolveAssetLabel, $r as resolveAssetSummary, U as resolveAssetType, ei as resolveAssetTypeLabel, Zo as resolveAuditRecordTitle, xo as resolveContextForm, Vi as resolveDetailPresentation, Yc as resolveFormChildLayout, Bi as resolveFormOpen, zi as resolveFormPresentation, Sl as resolveHostPresentationInput, Ma as resolveReadableTextColor, Eo as resolveReloadTableViewName, ol as resolveSearchItemsStructure, oo as resolveSparqRichTextToolbarItems, No as resolveSparqViewState, Rr as schemaRendererAssetPreviewPoint, po as schemaRendererComponentPoint, mo as schemaRendererIconPoint, ho as schemaRendererRichTextPoint, io as supportsSparqRichTextFormat, xn as toKeyValueObject, B as toKeyValueRows, Ao as useSchemaFeedback, Yi as useSchemaUi, Br as useSparqAssetPreviewRegistry, Wa as useSparqComponents, Xa as useSparqIcons, co as useSparqRichTextEditors, Gi as useSparqUi, ko as useSparqView, er as validateSparqUploadFile };
5994
6015
 
5995
6016
  //# sourceMappingURL=index.js.map