@shwfed/config 2.3.18 → 2.3.19

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.
Files changed (64) hide show
  1. package/dist/mcp.mjs +964 -587
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-eopfzGON.js → config-B8qIrXw4.js} +1 -1
  4. package/dist/preview/assets/{config-qmkDiyXK.js → config-BERbwRqR.js} +1 -1
  5. package/dist/preview/assets/{config-CR-ypZys.js → config-BQDXm2N4.js} +1 -1
  6. package/dist/preview/assets/{config-DRy0SpMq.js → config-BZrnB31E.js} +1 -1
  7. package/dist/preview/assets/{config-C8Y4mJbo.js → config-BfiDa6j3.js} +1 -1
  8. package/dist/preview/assets/{config-CGjY6-4G.js → config-BmzbCaL9.js} +1 -1
  9. package/dist/preview/assets/config-CI4d63Pa.js +1 -0
  10. package/dist/preview/assets/{config-Cs3k3BuR.js → config-CrffMahT.js} +1 -1
  11. package/dist/preview/assets/{config-D9mrL0UY.js → config-RIqYuUkC.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-BakGkJ_w.js → definition.vue_vue_type_script_setup_true_lang-DP6_YUR7.js} +1 -1
  13. package/dist/preview/assets/index-CT6yD2gM.js +1 -0
  14. package/dist/preview/assets/{index-BUyz4nJb.css → index-DomLsyPH.css} +1 -1
  15. package/dist/preview/assets/index-X6To2gmZ.js +643 -0
  16. package/dist/preview/assets/{runtime-C2q2Mp8_.js → runtime-BQsuM5NY.js} +1 -1
  17. package/dist/preview/assets/{runtime-B1Lqn7iS.js → runtime-CKWbV48T.js} +1 -1
  18. package/dist/preview/assets/{runtime-DQcKN5I_.js → runtime-CQPoA4Wr.js} +1 -1
  19. package/dist/preview/assets/runtime-CpsOFZJU.js +1 -0
  20. package/dist/preview/assets/{runtime-BvJjQaAU.js → runtime-DLe-_bzP.js} +1 -1
  21. package/dist/preview/assets/runtime-DY65pO8M.js +1 -0
  22. package/dist/preview/assets/runtime-DyCSllvl.js +1 -0
  23. package/dist/preview/assets/runtime-ZprvETkX.js +1 -0
  24. package/dist/preview/assets/runtime-pkc99x6z.js +1 -0
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/config.d.vue.ts +27 -0
  27. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/config.vue +68 -0
  28. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/config.vue.d.ts +27 -0
  29. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/runtime.d.vue.ts +8 -0
  30. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/runtime.vue +52 -0
  31. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/runtime.vue.d.ts +8 -0
  32. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/schema.d.ts +18 -0
  33. package/dist/runtime/components/actions/buttons/2026-05-24/com.shwfed.actions.button.state.write/schema.js +35 -0
  34. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +109 -0
  35. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue +426 -0
  36. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +109 -0
  37. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.d.vue.ts +9 -0
  38. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue +337 -0
  39. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue.d.ts +9 -0
  40. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +85 -0
  41. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.js +146 -0
  42. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +137 -0
  43. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue +586 -0
  44. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +137 -0
  45. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.d.vue.ts +9 -0
  46. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue +268 -0
  47. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue.d.ts +9 -0
  48. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +126 -0
  49. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.js +124 -0
  50. package/dist/runtime/components/table/config.vue +3 -0
  51. package/dist/runtime/components/table/index.vue +2 -0
  52. package/dist/runtime/components/table/utils/shared-fetch.d.ts +30 -0
  53. package/dist/runtime/components/table/utils/shared-fetch.js +42 -0
  54. package/dist/runtime/components/ui/calendar/Calendar.vue +9 -4
  55. package/dist/runtime/components/ui/date-range-picker/DateRangePickerMonthPanel.vue +4 -1
  56. package/dist/runtime/components/ui/date-range-picker/DateRangePickerYearPanel.vue +4 -1
  57. package/dist/runtime/components/ui/range-calendar/RangeCalendar.vue +3 -1
  58. package/package.json +1 -1
  59. package/dist/preview/assets/index-Bsbk3Okp.js +0 -1
  60. package/dist/preview/assets/index-Dz_SnGc9.js +0 -639
  61. package/dist/preview/assets/runtime-C-3DIGFz.js +0 -1
  62. package/dist/preview/assets/runtime-CdELhC3y.js +0 -1
  63. package/dist/preview/assets/runtime-D8OAMic8.js +0 -1
  64. package/dist/preview/assets/runtime-DQvlwOZl.js +0 -1
package/dist/mcp.mjs CHANGED
@@ -15509,14 +15509,14 @@ function requireCompile() {
15509
15509
  }
15510
15510
  const $id$1 = "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#";
15511
15511
  const description = "Meta-schema for $data reference (JSON AnySchema extension proposal)";
15512
- const type$T = "object";
15512
+ const type$W = "object";
15513
15513
  const required$1 = ["$data"];
15514
15514
  const properties$2 = { "$data": { "type": "string", "anyOf": [{ "format": "relative-json-pointer" }, { "format": "json-pointer" }] } };
15515
15515
  const additionalProperties$1 = false;
15516
15516
  const require$$9 = {
15517
15517
  $id: $id$1,
15518
15518
  description,
15519
- type: type$T,
15519
+ type: type$W,
15520
15520
  required: required$1,
15521
15521
  properties: properties$2,
15522
15522
  additionalProperties: additionalProperties$1
@@ -18516,14 +18516,14 @@ function requireFormat() {
18516
18516
  format$7.default = format2;
18517
18517
  return format$7;
18518
18518
  }
18519
- var metadata$S = {};
18519
+ var metadata$V = {};
18520
18520
  var hasRequiredMetadata;
18521
18521
  function requireMetadata() {
18522
- if (hasRequiredMetadata) return metadata$S;
18522
+ if (hasRequiredMetadata) return metadata$V;
18523
18523
  hasRequiredMetadata = 1;
18524
- Object.defineProperty(metadata$S, "__esModule", { value: true });
18525
- metadata$S.contentVocabulary = metadata$S.metadataVocabulary = void 0;
18526
- metadata$S.metadataVocabulary = [
18524
+ Object.defineProperty(metadata$V, "__esModule", { value: true });
18525
+ metadata$V.contentVocabulary = metadata$V.metadataVocabulary = void 0;
18526
+ metadata$V.metadataVocabulary = [
18527
18527
  "title",
18528
18528
  "description",
18529
18529
  "default",
@@ -18532,12 +18532,12 @@ function requireMetadata() {
18532
18532
  "writeOnly",
18533
18533
  "examples"
18534
18534
  ];
18535
- metadata$S.contentVocabulary = [
18535
+ metadata$V.contentVocabulary = [
18536
18536
  "contentMediaType",
18537
18537
  "contentEncoding",
18538
18538
  "contentSchema"
18539
18539
  ];
18540
- return metadata$S;
18540
+ return metadata$V;
18541
18541
  }
18542
18542
  var hasRequiredDraft7;
18543
18543
  function requireDraft7() {
@@ -18683,14 +18683,14 @@ const $schema = "http://json-schema.org/draft-07/schema#";
18683
18683
  const $id = "http://json-schema.org/draft-07/schema#";
18684
18684
  const title = "Core schema meta-schema";
18685
18685
  const definitions = { "schemaArray": { "type": "array", "minItems": 1, "items": { "$ref": "#" } }, "nonNegativeInteger": { "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefault0": { "allOf": [{ "$ref": "#/definitions/nonNegativeInteger" }, { "default": 0 }] }, "simpleTypes": { "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "stringArray": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "default": [] } };
18686
- const type$S = ["object", "boolean"];
18686
+ const type$V = ["object", "boolean"];
18687
18687
  const properties = { "$id": { "type": "string", "format": "uri-reference" }, "$schema": { "type": "string", "format": "uri" }, "$ref": { "type": "string", "format": "uri-reference" }, "$comment": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "default": true, "readOnly": { "type": "boolean", "default": false }, "examples": { "type": "array", "items": true }, "multipleOf": { "type": "number", "exclusiveMinimum": 0 }, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "number" }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "number" }, "maxLength": { "$ref": "#/definitions/nonNegativeInteger" }, "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "additionalItems": { "$ref": "#" }, "items": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/schemaArray" }], "default": true }, "maxItems": { "$ref": "#/definitions/nonNegativeInteger" }, "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "contains": { "$ref": "#" }, "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" }, "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "required": { "$ref": "#/definitions/stringArray" }, "additionalProperties": { "$ref": "#" }, "definitions": { "type": "object", "additionalProperties": { "$ref": "#" }, "default": {} }, "properties": { "type": "object", "additionalProperties": { "$ref": "#" }, "default": {} }, "patternProperties": { "type": "object", "additionalProperties": { "$ref": "#" }, "propertyNames": { "format": "regex" }, "default": {} }, "dependencies": { "type": "object", "additionalProperties": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/stringArray" }] } }, "propertyNames": { "$ref": "#" }, "const": true, "enum": { "type": "array", "items": true, "minItems": 1, "uniqueItems": true }, "type": { "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, { "type": "array", "items": { "$ref": "#/definitions/simpleTypes" }, "minItems": 1, "uniqueItems": true }] }, "format": { "type": "string" }, "contentMediaType": { "type": "string" }, "contentEncoding": { "type": "string" }, "if": { "$ref": "#" }, "then": { "$ref": "#" }, "else": { "$ref": "#" }, "allOf": { "$ref": "#/definitions/schemaArray" }, "anyOf": { "$ref": "#/definitions/schemaArray" }, "oneOf": { "$ref": "#/definitions/schemaArray" }, "not": { "$ref": "#" } };
18688
18688
  const require$$3 = {
18689
18689
  $schema,
18690
18690
  $id,
18691
18691
  title,
18692
18692
  definitions,
18693
- type: type$S,
18693
+ type: type$V,
18694
18694
  properties,
18695
18695
  "default": true
18696
18696
  };
@@ -81490,13 +81490,13 @@ function md(...args2) {
81490
81490
  const indent = (original.startsWith("\n") ? original.slice(1) : original).split("\n", 1)[0]?.match(/^(\s*)/)?.[1]?.length ?? 0;
81491
81491
  return original.trim().replaceAll("\\`", "`").split("\n").map((line) => line.replace(new RegExp(`^${String.raw`\s`.repeat(indent)}`), "")).join("\n");
81492
81492
  }
81493
- const type$R = "com.shwfed.actions.button.http.request.json.confirm";
81494
- const compatibilityDate$R = "2026-04-18";
81495
- const metadata$R = {
81493
+ const type$U = "com.shwfed.actions.button.http.request.json.confirm";
81494
+ const compatibilityDate$U = "2026-04-18";
81495
+ const metadata$U = {
81496
81496
  name: "网络请求(JSON + 确认)",
81497
81497
  icon: "fluent:shield-checkmark-20-regular"
81498
81498
  };
81499
- function schema$R(configure) {
81499
+ function schema$U(configure) {
81500
81500
  const CelHttpRequest = Expression({ configure, resultType: "HttpRequest" });
81501
81501
  const CelMessage = Expression({
81502
81502
  configure: (env) => {
@@ -81508,8 +81508,8 @@ function schema$R(configure) {
81508
81508
  resultType: "string"
81509
81509
  });
81510
81510
  return Struct({
81511
- type: Literal2(type$R),
81512
- compatibilityDate: Literal2(compatibilityDate$R),
81511
+ type: Literal2(type$U),
81512
+ compatibilityDate: Literal2(compatibilityDate$U),
81513
81513
  expression: CelHttpRequest.annotations({
81514
81514
  title: "请求",
81515
81515
  description: md`
@@ -81567,18 +81567,18 @@ function schema$R(configure) {
81567
81567
  }
81568
81568
  const __vite_glob_0_0$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81569
81569
  __proto__: null,
81570
- compatibilityDate: compatibilityDate$R,
81571
- metadata: metadata$R,
81572
- schema: schema$R,
81573
- type: type$R
81570
+ compatibilityDate: compatibilityDate$U,
81571
+ metadata: metadata$U,
81572
+ schema: schema$U,
81573
+ type: type$U
81574
81574
  }, Symbol.toStringTag, { value: "Module" }));
81575
- const type$Q = "com.shwfed.actions.button.http.request.json";
81576
- const compatibilityDate$Q = "2026-04-18";
81577
- const metadata$Q = {
81575
+ const type$T = "com.shwfed.actions.button.http.request.json";
81576
+ const compatibilityDate$T = "2026-04-18";
81577
+ const metadata$T = {
81578
81578
  name: "网络请求(JSON)",
81579
81579
  icon: "fluent:cloud-arrow-up-20-regular"
81580
81580
  };
81581
- function schema$Q(configure) {
81581
+ function schema$T(configure) {
81582
81582
  const CelHttpRequest = Expression({ configure, resultType: "HttpRequest" });
81583
81583
  const CelMessage = Expression({
81584
81584
  configure: (env) => {
@@ -81590,8 +81590,8 @@ function schema$Q(configure) {
81590
81590
  resultType: "string"
81591
81591
  });
81592
81592
  return Struct({
81593
- type: Literal2(type$Q),
81594
- compatibilityDate: Literal2(compatibilityDate$Q),
81593
+ type: Literal2(type$T),
81594
+ compatibilityDate: Literal2(compatibilityDate$T),
81595
81595
  expression: CelHttpRequest.annotations({
81596
81596
  title: "请求",
81597
81597
  description: md`
@@ -81637,21 +81637,21 @@ function schema$Q(configure) {
81637
81637
  }
81638
81638
  const __vite_glob_0_1$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81639
81639
  __proto__: null,
81640
- compatibilityDate: compatibilityDate$Q,
81641
- metadata: metadata$Q,
81642
- schema: schema$Q,
81643
- type: type$Q
81640
+ compatibilityDate: compatibilityDate$T,
81641
+ metadata: metadata$T,
81642
+ schema: schema$T,
81643
+ type: type$T
81644
81644
  }, Symbol.toStringTag, { value: "Module" }));
81645
- const type$P = "com.shwfed.actions.button.prototype";
81646
- const compatibilityDate$P = "2026-04-18";
81647
- const metadata$P = {
81645
+ const type$S = "com.shwfed.actions.button.prototype";
81646
+ const compatibilityDate$S = "2026-04-18";
81647
+ const metadata$S = {
81648
81648
  name: "原型",
81649
81649
  icon: "fluent:predictions-20-regular"
81650
81650
  };
81651
- function schema$P(_configure) {
81651
+ function schema$S(_configure) {
81652
81652
  return Struct({
81653
- type: Literal2(type$P),
81654
- compatibilityDate: Literal2(compatibilityDate$P)
81653
+ type: Literal2(type$S),
81654
+ compatibilityDate: Literal2(compatibilityDate$S)
81655
81655
  }).annotations({
81656
81656
  title: "PrototypeAction",
81657
81657
  description: "点击无副作用的原型按钮,可被一次性转换为其它类型"
@@ -81659,23 +81659,23 @@ function schema$P(_configure) {
81659
81659
  }
81660
81660
  const __vite_glob_0_2$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81661
81661
  __proto__: null,
81662
- compatibilityDate: compatibilityDate$P,
81663
- metadata: metadata$P,
81664
- schema: schema$P,
81665
- type: type$P
81662
+ compatibilityDate: compatibilityDate$S,
81663
+ metadata: metadata$S,
81664
+ schema: schema$S,
81665
+ type: type$S
81666
81666
  }, Symbol.toStringTag, { value: "Module" }));
81667
- const type$O = "com.shwfed.actions.button.navigation";
81668
- const compatibilityDate$O = "2026-04-21";
81669
- const metadata$O = {
81667
+ const type$R = "com.shwfed.actions.button.navigation";
81668
+ const compatibilityDate$R = "2026-04-21";
81669
+ const metadata$R = {
81670
81670
  name: "导航",
81671
81671
  icon: "fluent:link-20-regular"
81672
81672
  };
81673
81673
  const Mode = Literal2("_self", "_blank");
81674
- function schema$O(configure) {
81674
+ function schema$R(configure) {
81675
81675
  const CelUrl = Expression({ configure, resultType: "string" });
81676
81676
  return Struct({
81677
- type: Literal2(type$O),
81678
- compatibilityDate: Literal2(compatibilityDate$O),
81677
+ type: Literal2(type$R),
81678
+ compatibilityDate: Literal2(compatibilityDate$R),
81679
81679
  url: CelUrl.annotations({
81680
81680
  title: "链接",
81681
81681
  description: "点击后将打开的链接,返回 `string`"
@@ -81691,10 +81691,10 @@ function schema$O(configure) {
81691
81691
  }
81692
81692
  const __vite_glob_0_3$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81693
81693
  __proto__: null,
81694
- compatibilityDate: compatibilityDate$O,
81695
- metadata: metadata$O,
81696
- schema: schema$O,
81697
- type: type$O
81694
+ compatibilityDate: compatibilityDate$R,
81695
+ metadata: metadata$R,
81696
+ schema: schema$R,
81697
+ type: type$R
81698
81698
  }, Symbol.toStringTag, { value: "Module" }));
81699
81699
  const TrackCount = Number$.pipe(int(), positive());
81700
81700
  const GridCoord = Number$.pipe(int(), positive());
@@ -81830,9 +81830,9 @@ function registerBlockRef(configure, ref2) {
81830
81830
  function lookupBlockRef(configure) {
81831
81831
  return blockRefCache.get(configure);
81832
81832
  }
81833
- const type$N = "com.shwfed.actions.button.modal.layout";
81834
- const compatibilityDate$N = "2026-05-11";
81835
- const metadata$N = {
81833
+ const type$Q = "com.shwfed.actions.button.modal.layout";
81834
+ const compatibilityDate$Q = "2026-05-11";
81835
+ const metadata$Q = {
81836
81836
  name: "模态窗口",
81837
81837
  icon: "fluent:window-edit-20-regular",
81838
81838
  drillable: true,
@@ -81843,12 +81843,12 @@ const metadata$N = {
81843
81843
  const CssLength = String$.pipe(
81844
81844
  filter((s) => s.trim().length > 0 || "不能为空字符串")
81845
81845
  );
81846
- function schema$N(configure) {
81846
+ function schema$Q(configure) {
81847
81847
  const blockUnion = lookupBlockRef(configure) ?? Unknown;
81848
81848
  const ModalSlot = Slot(blockUnion, configure);
81849
81849
  return Struct({
81850
- type: Literal2(type$N),
81851
- compatibilityDate: Literal2(compatibilityDate$N),
81850
+ type: Literal2(type$Q),
81851
+ compatibilityDate: Literal2(compatibilityDate$Q),
81852
81852
  modalTitle: optional(Locale.annotations({
81853
81853
  title: "弹窗标题",
81854
81854
  description: "弹窗顶部展示的本地化标题,支持行内 Markdown;不填则回退使用按钮自身的名称"
@@ -81877,22 +81877,22 @@ function defaultBody$6() {
81877
81877
  }
81878
81878
  const __vite_glob_0_4$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81879
81879
  __proto__: null,
81880
- compatibilityDate: compatibilityDate$N,
81880
+ compatibilityDate: compatibilityDate$Q,
81881
81881
  defaultBody: defaultBody$6,
81882
- metadata: metadata$N,
81883
- schema: schema$N,
81884
- type: type$N
81882
+ metadata: metadata$Q,
81883
+ schema: schema$Q,
81884
+ type: type$Q
81885
81885
  }, Symbol.toStringTag, { value: "Module" }));
81886
- const type$M = "com.shwfed.actions.button.event.dispatch";
81887
- const compatibilityDate$M = "2026-05-15";
81888
- const metadata$M = {
81886
+ const type$P = "com.shwfed.actions.button.event.dispatch";
81887
+ const compatibilityDate$P = "2026-05-15";
81888
+ const metadata$P = {
81889
81889
  name: "触发事件",
81890
81890
  icon: "fluent:flash-20-regular"
81891
81891
  };
81892
- function schema$M(_configure) {
81892
+ function schema$P(_configure) {
81893
81893
  return Struct({
81894
- type: Literal2(type$M),
81895
- compatibilityDate: Literal2(compatibilityDate$M),
81894
+ type: Literal2(type$P),
81895
+ compatibilityDate: Literal2(compatibilityDate$P),
81896
81896
  // This button's entire behaviour: the op-requests it bubbles up the
81897
81897
  // component tree on click. Stored on the button itself — there is no
81898
81898
  // host-level trigger field any more.
@@ -81903,18 +81903,18 @@ function schema$M(_configure) {
81903
81903
  }
81904
81904
  const __vite_glob_0_5$3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81905
81905
  __proto__: null,
81906
- compatibilityDate: compatibilityDate$M,
81907
- metadata: metadata$M,
81908
- schema: schema$M,
81909
- type: type$M
81906
+ compatibilityDate: compatibilityDate$P,
81907
+ metadata: metadata$P,
81908
+ schema: schema$P,
81909
+ type: type$P
81910
81910
  }, Symbol.toStringTag, { value: "Module" }));
81911
- const type$L = "com.shwfed.actions.button.http.download";
81912
- const compatibilityDate$L = "2026-05-21";
81913
- const metadata$L = {
81911
+ const type$O = "com.shwfed.actions.button.http.download";
81912
+ const compatibilityDate$O = "2026-05-21";
81913
+ const metadata$O = {
81914
81914
  name: "下载文件",
81915
81915
  icon: "fluent:arrow-download-20-regular"
81916
81916
  };
81917
- const JSON_VAR$2 = {
81917
+ const JSON_VAR$3 = {
81918
81918
  type: "dyn",
81919
81919
  label: "HTTP 响应体",
81920
81920
  description: "第一步 `请求` 的响应体(已解析 JSON);用于构造第二步下载请求"
@@ -81922,16 +81922,16 @@ const JSON_VAR$2 = {
81922
81922
  function configureWithJson$2(configure) {
81923
81923
  return (env) => {
81924
81924
  configure(env);
81925
- env.registerVariable("json", JSON_VAR$2.type, { description: JSON_VAR$2.description });
81925
+ env.registerVariable("json", JSON_VAR$3.type, { description: JSON_VAR$3.description });
81926
81926
  };
81927
81927
  }
81928
- function schema$L(configure) {
81928
+ function schema$O(configure) {
81929
81929
  const CelHttpRequest = Expression({ configure, resultType: "HttpRequest" });
81930
81930
  const CelDownloadRequest = Expression({ configure: configureWithJson$2(configure), resultType: "HttpRequest" });
81931
81931
  const CelMessage = Expression({ configure: configureWithJson$2(configure), resultType: "string" });
81932
81932
  return Struct({
81933
- type: Literal2(type$L),
81934
- compatibilityDate: Literal2(compatibilityDate$L),
81933
+ type: Literal2(type$O),
81934
+ compatibilityDate: Literal2(compatibilityDate$O),
81935
81935
  template: Struct({
81936
81936
  request: CelHttpRequest.annotations({
81937
81937
  title: "请求",
@@ -81993,26 +81993,64 @@ function schema$L(configure) {
81993
81993
  }
81994
81994
  const __vite_glob_0_6$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81995
81995
  __proto__: null,
81996
- JSON_VAR: JSON_VAR$2,
81997
- compatibilityDate: compatibilityDate$L,
81998
- metadata: metadata$L,
81999
- schema: schema$L,
82000
- type: type$L
81996
+ JSON_VAR: JSON_VAR$3,
81997
+ compatibilityDate: compatibilityDate$O,
81998
+ metadata: metadata$O,
81999
+ schema: schema$O,
82000
+ type: type$O
82001
82001
  }, Symbol.toStringTag, { value: "Module" }));
82002
- const type$K = "com.shwfed.actions.item.markdown";
82003
- const compatibilityDate$K = "2026-05-21";
82004
- const metadata$K = {
82002
+ const type$N = "com.shwfed.actions.button.state.write";
82003
+ const compatibilityDate$N = "2026-05-24";
82004
+ const metadata$N = {
82005
+ name: "写入表单状态",
82006
+ icon: "fluent:document-edit-20-regular"
82007
+ };
82008
+ function schema$N(configure) {
82009
+ const CelRecord = Expression({
82010
+ configure,
82011
+ resultType: (t) => t === "dyn" || t.startsWith("map")
82012
+ });
82013
+ return Struct({
82014
+ type: Literal2(type$N),
82015
+ compatibilityDate: Literal2(compatibilityDate$N),
82016
+ expression: CelRecord.annotations({
82017
+ title: "写入值",
82018
+ description: md`
82019
+ 点击后求值,返回一个 \`map\`。其每个顶层键都会被写入到最近祖先的表单状态中:
82020
+ 对象值与当前值深合并(数组整体替换),其他类型直接替换。
82021
+ 返回 \`{}\` 表示不进行任何写入。
82022
+ `
82023
+ }),
82024
+ onSuccess: optional(Triggers.annotations({
82025
+ title: "写入后",
82026
+ description: "写入完成后执行的操作"
82027
+ }))
82028
+ }).annotations({
82029
+ title: "StateWriteAction",
82030
+ description: "点击后将 CEL 表达式的结果写回最近祖先的表单状态"
82031
+ });
82032
+ }
82033
+ const __vite_glob_0_7$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82034
+ __proto__: null,
82035
+ compatibilityDate: compatibilityDate$N,
82036
+ metadata: metadata$N,
82037
+ schema: schema$N,
82038
+ type: type$N
82039
+ }, Symbol.toStringTag, { value: "Module" }));
82040
+ const type$M = "com.shwfed.actions.item.markdown";
82041
+ const compatibilityDate$M = "2026-05-21";
82042
+ const metadata$M = {
82005
82043
  name: "内联 Markdown",
82006
82044
  icon: "fluent:markdown-20-regular"
82007
82045
  };
82008
- function schema$K(_configure) {
82046
+ function schema$M(_configure) {
82009
82047
  return Struct({
82010
82048
  id: UUID.annotations({ description: "Markdown 项唯一标识" }),
82011
82049
  // Present when the item sits at group level; absent when it lives as a
82012
82050
  // dropdown sub-item (the parent is the dropdown itself).
82013
82051
  groupId: optional(UUID.annotations({ description: "所属按钮组标识" })),
82014
- type: Literal2(type$K),
82015
- compatibilityDate: Literal2(compatibilityDate$K),
82052
+ type: Literal2(type$M),
82053
+ compatibilityDate: Literal2(compatibilityDate$M),
82016
82054
  name: String$.annotations({
82017
82055
  title: "内部名称",
82018
82056
  description: "仅用于编辑器内识别该 Markdown 项,不会展示给最终用户"
@@ -82028,10 +82066,10 @@ function schema$K(_configure) {
82028
82066
  }
82029
82067
  const __vite_glob_3_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82030
82068
  __proto__: null,
82031
- compatibilityDate: compatibilityDate$K,
82032
- metadata: metadata$K,
82033
- schema: schema$K,
82034
- type: type$K
82069
+ compatibilityDate: compatibilityDate$M,
82070
+ metadata: metadata$M,
82071
+ schema: schema$M,
82072
+ type: type$M
82035
82073
  }, Symbol.toStringTag, { value: "Module" }));
82036
82074
  function defineRegistry(options) {
82037
82075
  const {
@@ -82103,7 +82141,8 @@ const schemaModules$3 = /* @__PURE__ */ Object.assign({
82103
82141
  "../buttons/2026-04-21/com.shwfed.actions.button.navigation/schema.ts": __vite_glob_0_3$3,
82104
82142
  "../buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.ts": __vite_glob_0_4$3,
82105
82143
  "../buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.ts": __vite_glob_0_5$3,
82106
- "../buttons/2026-05-21/com.shwfed.actions.button.http.download/schema.ts": __vite_glob_0_6$2
82144
+ "../buttons/2026-05-21/com.shwfed.actions.button.http.download/schema.ts": __vite_glob_0_6$2,
82145
+ "../buttons/2026-05-24/com.shwfed.actions.button.state.write/schema.ts": __vite_glob_0_7$2
82107
82146
  });
82108
82147
  const configModuleLoaders = /* @__PURE__ */ Object.assign({
82109
82148
  "../buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/config.vue": () => Promise.resolve().then(() => _stubVue),
@@ -82112,7 +82151,8 @@ const configModuleLoaders = /* @__PURE__ */ Object.assign({
82112
82151
  "../buttons/2026-04-21/com.shwfed.actions.button.navigation/config.vue": () => Promise.resolve().then(() => _stubVue),
82113
82152
  "../buttons/2026-05-11/com.shwfed.actions.button.modal.layout/config.vue": () => Promise.resolve().then(() => _stubVue),
82114
82153
  "../buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/config.vue": () => Promise.resolve().then(() => _stubVue),
82115
- "../buttons/2026-05-21/com.shwfed.actions.button.http.download/config.vue": () => Promise.resolve().then(() => _stubVue)
82154
+ "../buttons/2026-05-21/com.shwfed.actions.button.http.download/config.vue": () => Promise.resolve().then(() => _stubVue),
82155
+ "../buttons/2026-05-24/com.shwfed.actions.button.state.write/config.vue": () => Promise.resolve().then(() => _stubVue)
82116
82156
  });
82117
82157
  const runtimeModuleLoaders = /* @__PURE__ */ Object.assign({
82118
82158
  "../buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/runtime.vue": () => Promise.resolve().then(() => _stubVue),
@@ -82121,7 +82161,8 @@ const runtimeModuleLoaders = /* @__PURE__ */ Object.assign({
82121
82161
  "../buttons/2026-04-21/com.shwfed.actions.button.navigation/runtime.vue": () => Promise.resolve().then(() => _stubVue),
82122
82162
  "../buttons/2026-05-11/com.shwfed.actions.button.modal.layout/runtime.vue": () => Promise.resolve().then(() => _stubVue),
82123
82163
  "../buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/runtime.vue": () => Promise.resolve().then(() => _stubVue),
82124
- "../buttons/2026-05-21/com.shwfed.actions.button.http.download/runtime.vue": () => Promise.resolve().then(() => _stubVue)
82164
+ "../buttons/2026-05-21/com.shwfed.actions.button.http.download/runtime.vue": () => Promise.resolve().then(() => _stubVue),
82165
+ "../buttons/2026-05-24/com.shwfed.actions.button.state.write/runtime.vue": () => Promise.resolve().then(() => _stubVue)
82125
82166
  });
82126
82167
  const configModules$3 = Object.fromEntries(
82127
82168
  Object.entries(configModuleLoaders).map(([path, loader]) => [
@@ -82400,20 +82441,20 @@ function defaultActionsConfig() {
82400
82441
  items: []
82401
82442
  };
82402
82443
  }
82403
- const type$J = "com.shwfed.block.actions";
82404
- const compatibilityDate$J = "2026-05-06";
82405
- const metadata$J = {
82444
+ const type$L = "com.shwfed.block.actions";
82445
+ const compatibilityDate$L = "2026-05-06";
82446
+ const metadata$L = {
82406
82447
  name: "操作按钮",
82407
82448
  icon: "fluent:cursor-click-20-regular",
82408
82449
  w: { initial: 8, min: 8, max: Infinity },
82409
82450
  h: { initial: 2, min: 2, max: Infinity }
82410
82451
  };
82411
- function schema$J(configure, _blockRef) {
82452
+ function schema$L(configure, _blockRef) {
82412
82453
  const ActionsSchema = ActionsConfig(configure);
82413
82454
  return Struct({
82414
82455
  id: UUID.annotations({ description: "块唯一标识" }),
82415
- type: tag(type$J),
82416
- compatibilityDate: tag(compatibilityDate$J),
82456
+ type: tag(type$L),
82457
+ compatibilityDate: tag(compatibilityDate$L),
82417
82458
  actions: ActionsSchema.annotations({
82418
82459
  title: "操作按钮配置",
82419
82460
  description: "内嵌的 Actions 组件配置"
@@ -82428,11 +82469,11 @@ function defaultBody$5() {
82428
82469
  }
82429
82470
  const __vite_glob_0_0$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82430
82471
  __proto__: null,
82431
- compatibilityDate: compatibilityDate$J,
82472
+ compatibilityDate: compatibilityDate$L,
82432
82473
  defaultBody: defaultBody$5,
82433
- metadata: metadata$J,
82434
- schema: schema$J,
82435
- type: type$J
82474
+ metadata: metadata$L,
82475
+ schema: schema$L,
82476
+ type: type$L
82436
82477
  }, Symbol.toStringTag, { value: "Module" }));
82437
82478
  function commonFieldFields(configure) {
82438
82479
  const CelBool = Expression({ configure, resultType: "bool" });
@@ -82479,18 +82520,18 @@ function derivedField(configure, resultType) {
82479
82520
  })
82480
82521
  );
82481
82522
  }
82482
- const type$I = "com.shwfed.form.field.markdown";
82483
- const compatibilityDate$I = "2026-04-22";
82484
- const metadata$I = {
82523
+ const type$K = "com.shwfed.form.field.markdown";
82524
+ const compatibilityDate$K = "2026-04-22";
82525
+ const metadata$K = {
82485
82526
  name: "Markdown",
82486
82527
  icon: "fluent:markdown-20-regular",
82487
82528
  w: { initial: 8, min: 2, max: Infinity },
82488
82529
  h: { initial: 2, min: 2, max: Infinity }
82489
82530
  };
82490
- function schema$I(configure) {
82531
+ function schema$K(configure) {
82491
82532
  return Struct({
82492
- type: Literal2(type$I),
82493
- compatibilityDate: Literal2(compatibilityDate$I),
82533
+ type: Literal2(type$K),
82534
+ compatibilityDate: Literal2(compatibilityDate$K),
82494
82535
  ...commonFieldFields(configure),
82495
82536
  content: Locale.annotations({
82496
82537
  title: "内容",
@@ -82503,24 +82544,24 @@ function schema$I(configure) {
82503
82544
  }
82504
82545
  const __vite_glob_0_0$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82505
82546
  __proto__: null,
82506
- compatibilityDate: compatibilityDate$I,
82507
- metadata: metadata$I,
82508
- schema: schema$I,
82509
- type: type$I
82547
+ compatibilityDate: compatibilityDate$K,
82548
+ metadata: metadata$K,
82549
+ schema: schema$K,
82550
+ type: type$K
82510
82551
  }, Symbol.toStringTag, { value: "Module" }));
82511
- const type$H = "com.shwfed.form.field.text";
82512
- const compatibilityDate$H = "2026-04-22";
82513
- const metadata$H = {
82552
+ const type$J = "com.shwfed.form.field.text";
82553
+ const compatibilityDate$J = "2026-04-22";
82554
+ const metadata$J = {
82514
82555
  name: "文本输入",
82515
82556
  icon: "fluent:text-field-20-regular",
82516
82557
  w: { initial: 8, min: 4, max: Infinity },
82517
82558
  h: { initial: 2, min: 2, max: 2 }
82518
82559
  };
82519
- function schema$H(configure) {
82560
+ function schema$J(configure) {
82520
82561
  const CelBool = Expression({ configure, resultType: "bool" });
82521
82562
  return Struct({
82522
- type: Literal2(type$H),
82523
- compatibilityDate: Literal2(compatibilityDate$H),
82563
+ type: Literal2(type$J),
82564
+ compatibilityDate: Literal2(compatibilityDate$J),
82524
82565
  ...commonFieldFields(configure),
82525
82566
  label: optional(Locale.annotations({
82526
82567
  title: "标签",
@@ -82555,24 +82596,24 @@ function schema$H(configure) {
82555
82596
  }
82556
82597
  const __vite_glob_0_1$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82557
82598
  __proto__: null,
82558
- compatibilityDate: compatibilityDate$H,
82559
- metadata: metadata$H,
82560
- schema: schema$H,
82561
- type: type$H
82599
+ compatibilityDate: compatibilityDate$J,
82600
+ metadata: metadata$J,
82601
+ schema: schema$J,
82602
+ type: type$J
82562
82603
  }, Symbol.toStringTag, { value: "Module" }));
82563
- const type$G = "com.shwfed.form.field.textarea";
82564
- const compatibilityDate$G = "2026-04-22";
82565
- const metadata$G = {
82604
+ const type$I = "com.shwfed.form.field.textarea";
82605
+ const compatibilityDate$I = "2026-04-22";
82606
+ const metadata$I = {
82566
82607
  name: "多行文本输入",
82567
82608
  icon: "fluent:text-description-20-regular",
82568
82609
  w: { initial: 8, min: 4, max: Infinity },
82569
82610
  h: { initial: 3, min: 2, max: Infinity, grow: true }
82570
82611
  };
82571
- function schema$G(configure) {
82612
+ function schema$I(configure) {
82572
82613
  const CelBool = Expression({ configure, resultType: "bool" });
82573
82614
  return Struct({
82574
- type: Literal2(type$G),
82575
- compatibilityDate: Literal2(compatibilityDate$G),
82615
+ type: Literal2(type$I),
82616
+ compatibilityDate: Literal2(compatibilityDate$I),
82576
82617
  ...commonFieldFields(configure),
82577
82618
  label: optional(Locale.annotations({
82578
82619
  title: "标签",
@@ -82611,25 +82652,25 @@ function schema$G(configure) {
82611
82652
  }
82612
82653
  const __vite_glob_0_2$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82613
82654
  __proto__: null,
82614
- compatibilityDate: compatibilityDate$G,
82615
- metadata: metadata$G,
82616
- schema: schema$G,
82617
- type: type$G
82655
+ compatibilityDate: compatibilityDate$I,
82656
+ metadata: metadata$I,
82657
+ schema: schema$I,
82658
+ type: type$I
82618
82659
  }, Symbol.toStringTag, { value: "Module" }));
82619
- const type$F = "com.shwfed.form.field.actions";
82620
- const compatibilityDate$F = "2026-04-24";
82621
- const metadata$F = {
82660
+ const type$H = "com.shwfed.form.field.actions";
82661
+ const compatibilityDate$H = "2026-04-24";
82662
+ const metadata$H = {
82622
82663
  name: "操作",
82623
82664
  icon: "fluent:cursor-click-20-regular",
82624
82665
  w: { initial: 8, min: 4, max: Infinity },
82625
82666
  h: { initial: 2, min: 2, max: Infinity }
82626
82667
  };
82627
- function schema$F(configure) {
82668
+ function schema$H(configure) {
82628
82669
  const { fields: actionFields } = ActionSchemaFields(configure);
82629
82670
  const { size: _size, groups, items: items2, ...rest } = actionFields;
82630
82671
  return Struct({
82631
- type: Literal2(type$F),
82632
- compatibilityDate: Literal2(compatibilityDate$F),
82672
+ type: Literal2(type$H),
82673
+ compatibilityDate: Literal2(compatibilityDate$H),
82633
82674
  ...commonFieldFields(configure),
82634
82675
  ...rest,
82635
82676
  // Form's add-field factory creates new fields with only { type, compatibilityDate, id },
@@ -82643,14 +82684,14 @@ function schema$F(configure) {
82643
82684
  }
82644
82685
  const __vite_glob_0_3$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82645
82686
  __proto__: null,
82646
- compatibilityDate: compatibilityDate$F,
82647
- metadata: metadata$F,
82648
- schema: schema$F,
82649
- type: type$F
82687
+ compatibilityDate: compatibilityDate$H,
82688
+ metadata: metadata$H,
82689
+ schema: schema$H,
82690
+ type: type$H
82650
82691
  }, Symbol.toStringTag, { value: "Module" }));
82651
- const type$E = "com.shwfed.form.field.combobox.single";
82652
- const compatibilityDate$E = "2026-04-24";
82653
- const metadata$E = {
82692
+ const type$G = "com.shwfed.form.field.combobox.single";
82693
+ const compatibilityDate$G = "2026-04-24";
82694
+ const metadata$G = {
82654
82695
  name: "下拉单选",
82655
82696
  icon: "fluent:chevron-down-20-regular",
82656
82697
  w: { initial: 8, min: 4, max: Infinity },
@@ -82662,15 +82703,15 @@ function configureWithOption$1(configure) {
82662
82703
  env.registerVariable("option", "dyn", { description: "当前选项" });
82663
82704
  };
82664
82705
  }
82665
- const isListType$2 = (actual) => actual === "dyn" || actual.startsWith("list");
82666
- function schema$E(configure) {
82706
+ const isListType$3 = (actual) => actual === "dyn" || actual.startsWith("list");
82707
+ function schema$G(configure) {
82667
82708
  const CelBool = Expression({ configure, resultType: "bool" });
82668
- const CelOptions = Expression({ configure, resultType: isListType$2 });
82709
+ const CelOptions = Expression({ configure, resultType: isListType$3 });
82669
82710
  const CelOptionValue = Expression({ configure: configureWithOption$1(configure), resultType: "dyn" });
82670
82711
  const LocaleOptionLabel = LocaleMarkdown({ configure: configureWithOption$1(configure) });
82671
82712
  return Struct({
82672
- type: Literal2(type$E),
82673
- compatibilityDate: Literal2(compatibilityDate$E),
82713
+ type: Literal2(type$G),
82714
+ compatibilityDate: Literal2(compatibilityDate$G),
82674
82715
  ...commonFieldFields(configure),
82675
82716
  label: optional(Locale.annotations({
82676
82717
  title: "标签",
@@ -82717,14 +82758,14 @@ function schema$E(configure) {
82717
82758
  }
82718
82759
  const __vite_glob_0_4$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82719
82760
  __proto__: null,
82720
- compatibilityDate: compatibilityDate$E,
82721
- metadata: metadata$E,
82722
- schema: schema$E,
82723
- type: type$E
82761
+ compatibilityDate: compatibilityDate$G,
82762
+ metadata: metadata$G,
82763
+ schema: schema$G,
82764
+ type: type$G
82724
82765
  }, Symbol.toStringTag, { value: "Module" }));
82725
- const type$D = "com.shwfed.form.field.date";
82726
- const compatibilityDate$D = "2026-04-27";
82727
- const metadata$D = {
82766
+ const type$F = "com.shwfed.form.field.date";
82767
+ const compatibilityDate$F = "2026-04-27";
82768
+ const metadata$F = {
82728
82769
  name: "日期",
82729
82770
  icon: "fluent:calendar-ltr-20-regular",
82730
82771
  w: { initial: 8, min: 4, max: Infinity },
@@ -82746,12 +82787,12 @@ function presetSchema$5(configure) {
82746
82787
  title: "DateFieldPreset"
82747
82788
  });
82748
82789
  }
82749
- function schema$D(configure) {
82790
+ function schema$F(configure) {
82750
82791
  const CelBool = Expression({ configure, resultType: "bool" });
82751
82792
  const Preset = presetSchema$5(configure);
82752
82793
  return Struct({
82753
- type: Literal2(type$D),
82754
- compatibilityDate: Literal2(compatibilityDate$D),
82794
+ type: Literal2(type$F),
82795
+ compatibilityDate: Literal2(compatibilityDate$F),
82755
82796
  ...commonFieldFields(configure),
82756
82797
  label: optional(Locale.annotations({
82757
82798
  title: "标签",
@@ -82798,14 +82839,14 @@ function schema$D(configure) {
82798
82839
  }
82799
82840
  const __vite_glob_0_5$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82800
82841
  __proto__: null,
82801
- compatibilityDate: compatibilityDate$D,
82802
- metadata: metadata$D,
82842
+ compatibilityDate: compatibilityDate$F,
82843
+ metadata: metadata$F,
82803
82844
  presetSchema: presetSchema$5,
82804
- schema: schema$D,
82805
- type: type$D
82845
+ schema: schema$F,
82846
+ type: type$F
82806
82847
  }, Symbol.toStringTag, { value: "Module" }));
82807
- const type$C = "com.shwfed.form.field.daterange";
82808
- const compatibilityDate$C = "2026-04-27";
82848
+ const type$E = "com.shwfed.form.field.daterange";
82849
+ const compatibilityDate$E = "2026-04-27";
82809
82850
  const BindingPath$4 = String$.pipe(minLength(1));
82810
82851
  const SplitBinding$4 = Tuple(BindingPath$4, BindingPath$4).pipe(
82811
82852
  filter(([a, b]) => a !== b, {
@@ -82816,7 +82857,7 @@ const bindingSchema$4 = Union2(BindingPath$4, SplitBinding$4).annotations({
82816
82857
  title: "绑定路径",
82817
82858
  description: "写入表单状态的 `dot-prop` 路径;填写单个路径时写入 `[start, end]` 字符串数组,例如 `event.range`;填写 `[起始路径, 结束路径]` 元组时分别写入两端;留空则为非受控字段"
82818
82859
  });
82819
- const metadata$C = {
82860
+ const metadata$E = {
82820
82861
  name: "日期范围",
82821
82862
  icon: "fluent:calendar-arrow-right-20-regular",
82822
82863
  w: { initial: 10, min: 10, max: Infinity },
@@ -82842,12 +82883,12 @@ function presetSchema$4(configure) {
82842
82883
  title: "DateRangeFieldPreset"
82843
82884
  });
82844
82885
  }
82845
- function schema$C(configure) {
82886
+ function schema$E(configure) {
82846
82887
  const CelBool = Expression({ configure, resultType: "bool" });
82847
82888
  const Preset = presetSchema$4(configure);
82848
82889
  return Struct({
82849
- type: Literal2(type$C),
82850
- compatibilityDate: Literal2(compatibilityDate$C),
82890
+ type: Literal2(type$E),
82891
+ compatibilityDate: Literal2(compatibilityDate$E),
82851
82892
  ...commonFieldFields(configure),
82852
82893
  label: optional(Locale.annotations({
82853
82894
  title: "标签",
@@ -82906,16 +82947,16 @@ function defaults$8() {
82906
82947
  }
82907
82948
  const __vite_glob_0_6$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82908
82949
  __proto__: null,
82909
- compatibilityDate: compatibilityDate$C,
82950
+ compatibilityDate: compatibilityDate$E,
82910
82951
  defaults: defaults$8,
82911
- metadata: metadata$C,
82952
+ metadata: metadata$E,
82912
82953
  presetSchema: presetSchema$4,
82913
- schema: schema$C,
82914
- type: type$C
82954
+ schema: schema$E,
82955
+ type: type$E
82915
82956
  }, Symbol.toStringTag, { value: "Module" }));
82916
- const type$B = "com.shwfed.form.field.datetime";
82917
- const compatibilityDate$B = "2026-04-27";
82918
- const metadata$B = {
82957
+ const type$D = "com.shwfed.form.field.datetime";
82958
+ const compatibilityDate$D = "2026-04-27";
82959
+ const metadata$D = {
82919
82960
  name: "日期时间",
82920
82961
  icon: "fluent:calendar-clock-20-regular",
82921
82962
  w: { initial: 8, min: 4, max: Infinity },
@@ -82947,12 +82988,12 @@ function presetSchema$3(configure) {
82947
82988
  title: "DateTimeFieldPreset"
82948
82989
  });
82949
82990
  }
82950
- function schema$B(configure) {
82991
+ function schema$D(configure) {
82951
82992
  const CelBool = Expression({ configure, resultType: "bool" });
82952
82993
  const Preset = presetSchema$3(configure);
82953
82994
  return Struct({
82954
- type: Literal2(type$B),
82955
- compatibilityDate: Literal2(compatibilityDate$B),
82995
+ type: Literal2(type$D),
82996
+ compatibilityDate: Literal2(compatibilityDate$D),
82956
82997
  ...commonFieldFields(configure),
82957
82998
  label: optional(Locale.annotations({
82958
82999
  title: "标签",
@@ -83010,14 +83051,14 @@ const __vite_glob_0_7$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
83010
83051
  HOUR_CYCLE_OPTIONS: HOUR_CYCLE_OPTIONS$3,
83011
83052
  TIME_GRANULARITIES: TIME_GRANULARITIES$3,
83012
83053
  TIME_GRANULARITY_OPTIONS: TIME_GRANULARITY_OPTIONS$3,
83013
- compatibilityDate: compatibilityDate$B,
83014
- metadata: metadata$B,
83054
+ compatibilityDate: compatibilityDate$D,
83055
+ metadata: metadata$D,
83015
83056
  presetSchema: presetSchema$3,
83016
- schema: schema$B,
83017
- type: type$B
83057
+ schema: schema$D,
83058
+ type: type$D
83018
83059
  }, Symbol.toStringTag, { value: "Module" }));
83019
- const type$A = "com.shwfed.form.field.datetimerange";
83020
- const compatibilityDate$A = "2026-04-27";
83060
+ const type$C = "com.shwfed.form.field.datetimerange";
83061
+ const compatibilityDate$C = "2026-04-27";
83021
83062
  const BindingPath$3 = String$.pipe(minLength(1));
83022
83063
  const SplitBinding$3 = Tuple(BindingPath$3, BindingPath$3).pipe(
83023
83064
  filter(([a, b]) => a !== b, {
@@ -83028,7 +83069,7 @@ const bindingSchema$3 = Union2(BindingPath$3, SplitBinding$3).annotations({
83028
83069
  title: "绑定路径",
83029
83070
  description: "写入表单状态的 `dot-prop` 路径;填写单个路径时写入 `[start, end]` 字符串数组,例如 `event.range`;填写 `[起始路径, 结束路径]` 元组时分别写入两端;留空则为非受控字段"
83030
83071
  });
83031
- const metadata$A = {
83072
+ const metadata$C = {
83032
83073
  name: "日期时间范围",
83033
83074
  icon: "fluent:calendar-clock-20-regular",
83034
83075
  w: { initial: 14, min: 14, max: Infinity },
@@ -83064,12 +83105,12 @@ function presetSchema$2(configure) {
83064
83105
  title: "DateTimeRangeFieldPreset"
83065
83106
  });
83066
83107
  }
83067
- function schema$A(configure) {
83108
+ function schema$C(configure) {
83068
83109
  const CelBool = Expression({ configure, resultType: "bool" });
83069
83110
  const Preset = presetSchema$2(configure);
83070
83111
  return Struct({
83071
- type: Literal2(type$A),
83072
- compatibilityDate: Literal2(compatibilityDate$A),
83112
+ type: Literal2(type$C),
83113
+ compatibilityDate: Literal2(compatibilityDate$C),
83073
83114
  ...commonFieldFields(configure),
83074
83115
  label: optional(Locale.annotations({
83075
83116
  title: "标签",
@@ -83139,16 +83180,16 @@ const __vite_glob_0_8$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
83139
83180
  HOUR_CYCLE_OPTIONS: HOUR_CYCLE_OPTIONS$2,
83140
83181
  TIME_GRANULARITIES: TIME_GRANULARITIES$2,
83141
83182
  TIME_GRANULARITY_OPTIONS: TIME_GRANULARITY_OPTIONS$2,
83142
- compatibilityDate: compatibilityDate$A,
83183
+ compatibilityDate: compatibilityDate$C,
83143
83184
  defaults: defaults$7,
83144
- metadata: metadata$A,
83185
+ metadata: metadata$C,
83145
83186
  presetSchema: presetSchema$2,
83146
- schema: schema$A,
83147
- type: type$A
83187
+ schema: schema$C,
83188
+ type: type$C
83148
83189
  }, Symbol.toStringTag, { value: "Module" }));
83149
- const type$z = "com.shwfed.form.field.time";
83150
- const compatibilityDate$z = "2026-04-27";
83151
- const metadata$z = {
83190
+ const type$B = "com.shwfed.form.field.time";
83191
+ const compatibilityDate$B = "2026-04-27";
83192
+ const metadata$B = {
83152
83193
  name: "时间",
83153
83194
  icon: "fluent:clock-20-regular",
83154
83195
  w: { initial: 8, min: 4, max: Infinity },
@@ -83164,11 +83205,11 @@ const HOUR_CYCLE_OPTIONS$1 = [
83164
83205
  { value: 24, label: "24 小时制" },
83165
83206
  { value: 12, label: "12 小时制" }
83166
83207
  ];
83167
- function schema$z(configure) {
83208
+ function schema$B(configure) {
83168
83209
  const CelBool = Expression({ configure, resultType: "bool" });
83169
83210
  return Struct({
83170
- type: Literal2(type$z),
83171
- compatibilityDate: Literal2(compatibilityDate$z),
83211
+ type: Literal2(type$B),
83212
+ compatibilityDate: Literal2(compatibilityDate$B),
83172
83213
  ...commonFieldFields(configure),
83173
83214
  label: optional(Locale.annotations({
83174
83215
  title: "标签",
@@ -83214,13 +83255,13 @@ const __vite_glob_0_9$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
83214
83255
  HOUR_CYCLE_OPTIONS: HOUR_CYCLE_OPTIONS$1,
83215
83256
  TIME_GRANULARITIES: TIME_GRANULARITIES$1,
83216
83257
  TIME_GRANULARITY_OPTIONS: TIME_GRANULARITY_OPTIONS$1,
83217
- compatibilityDate: compatibilityDate$z,
83218
- metadata: metadata$z,
83219
- schema: schema$z,
83220
- type: type$z
83258
+ compatibilityDate: compatibilityDate$B,
83259
+ metadata: metadata$B,
83260
+ schema: schema$B,
83261
+ type: type$B
83221
83262
  }, Symbol.toStringTag, { value: "Module" }));
83222
- const type$y = "com.shwfed.form.field.timerange";
83223
- const compatibilityDate$y = "2026-04-27";
83263
+ const type$A = "com.shwfed.form.field.timerange";
83264
+ const compatibilityDate$A = "2026-04-27";
83224
83265
  const BindingPath$2 = String$.pipe(minLength(1));
83225
83266
  const SplitBinding$2 = Tuple(BindingPath$2, BindingPath$2).pipe(
83226
83267
  filter(([a, b]) => a !== b, {
@@ -83231,7 +83272,7 @@ const bindingSchema$2 = Union2(BindingPath$2, SplitBinding$2).annotations({
83231
83272
  title: "绑定路径",
83232
83273
  description: "写入表单状态的 `dot-prop` 路径;填写单个路径时写入 `[start, end]` 字符串数组,例如 `meeting.timeRange`;填写 `[起始路径, 结束路径]` 元组时分别写入两端;留空则为非受控字段"
83233
83274
  });
83234
- const metadata$y = {
83275
+ const metadata$A = {
83235
83276
  name: "时间范围",
83236
83277
  icon: "fluent:clock-arrow-download-20-regular",
83237
83278
  w: { initial: 14, min: 14, max: Infinity },
@@ -83247,11 +83288,11 @@ const HOUR_CYCLE_OPTIONS = [
83247
83288
  { value: 24, label: "24 小时制" },
83248
83289
  { value: 12, label: "12 小时制" }
83249
83290
  ];
83250
- function schema$y(configure) {
83291
+ function schema$A(configure) {
83251
83292
  const CelBool = Expression({ configure, resultType: "bool" });
83252
83293
  return Struct({
83253
- type: Literal2(type$y),
83254
- compatibilityDate: Literal2(compatibilityDate$y),
83294
+ type: Literal2(type$A),
83295
+ compatibilityDate: Literal2(compatibilityDate$A),
83255
83296
  ...commonFieldFields(configure),
83256
83297
  label: optional(Locale.annotations({
83257
83298
  title: "标签",
@@ -83301,26 +83342,26 @@ const __vite_glob_0_10$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
83301
83342
  HOUR_CYCLE_OPTIONS,
83302
83343
  TIME_GRANULARITIES,
83303
83344
  TIME_GRANULARITY_OPTIONS,
83304
- compatibilityDate: compatibilityDate$y,
83345
+ compatibilityDate: compatibilityDate$A,
83305
83346
  defaults: defaults$6,
83306
- metadata: metadata$y,
83307
- schema: schema$y,
83308
- type: type$y
83347
+ metadata: metadata$A,
83348
+ schema: schema$A,
83349
+ type: type$A
83309
83350
  }, Symbol.toStringTag, { value: "Module" }));
83310
- const type$x = "com.shwfed.form.field.number";
83311
- const compatibilityDate$x = "2026-04-28";
83312
- const metadata$x = {
83351
+ const type$z = "com.shwfed.form.field.number";
83352
+ const compatibilityDate$z = "2026-04-28";
83353
+ const metadata$z = {
83313
83354
  name: "数值输入",
83314
83355
  icon: "fluent:number-symbol-20-regular",
83315
83356
  w: { initial: 8, min: 4, max: Infinity },
83316
83357
  h: { initial: 2, min: 2, max: 2 }
83317
83358
  };
83318
- function schema$x(configure) {
83359
+ function schema$z(configure) {
83319
83360
  const CelBool = Expression({ configure, resultType: "bool" });
83320
83361
  const CelNumber = Expression({ configure, resultType: "number" });
83321
83362
  return Struct({
83322
- type: Literal2(type$x),
83323
- compatibilityDate: Literal2(compatibilityDate$x),
83363
+ type: Literal2(type$z),
83364
+ compatibilityDate: Literal2(compatibilityDate$z),
83324
83365
  ...commonFieldFields(configure),
83325
83366
  label: optional(Locale.annotations({
83326
83367
  title: "标签",
@@ -83379,13 +83420,13 @@ function schema$x(configure) {
83379
83420
  }
83380
83421
  const __vite_glob_0_11$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
83381
83422
  __proto__: null,
83382
- compatibilityDate: compatibilityDate$x,
83383
- metadata: metadata$x,
83384
- schema: schema$x,
83385
- type: type$x
83423
+ compatibilityDate: compatibilityDate$z,
83424
+ metadata: metadata$z,
83425
+ schema: schema$z,
83426
+ type: type$z
83386
83427
  }, Symbol.toStringTag, { value: "Module" }));
83387
- const type$w = "com.shwfed.form.field.numberrange";
83388
- const compatibilityDate$w = "2026-04-28";
83428
+ const type$y = "com.shwfed.form.field.numberrange";
83429
+ const compatibilityDate$y = "2026-04-28";
83389
83430
  const BindingPath$1 = String$.pipe(minLength(1));
83390
83431
  const SplitBinding$1 = Tuple(BindingPath$1, BindingPath$1).pipe(
83391
83432
  filter(([a, b]) => a !== b, {
@@ -83396,18 +83437,18 @@ const bindingSchema$1 = Union2(BindingPath$1, SplitBinding$1).annotations({
83396
83437
  title: "绑定路径",
83397
83438
  description: "写入表单状态的 `dot-prop` 路径;填写单个路径时写入 `[start, end]` 数值数组,例如 `score.range`;填写 `[起始路径, 结束路径]` 元组时分别写入两端;留空则为非受控字段"
83398
83439
  });
83399
- const metadata$w = {
83440
+ const metadata$y = {
83400
83441
  name: "数值范围",
83401
83442
  icon: "fluent:arrow-bidirectional-left-right-20-regular",
83402
83443
  w: { initial: 8, min: 4, max: Infinity },
83403
83444
  h: { initial: 2, min: 2, max: 2 }
83404
83445
  };
83405
- function schema$w(configure) {
83446
+ function schema$y(configure) {
83406
83447
  const CelBool = Expression({ configure, resultType: "bool" });
83407
83448
  const CelNumber = Expression({ configure, resultType: "number" });
83408
83449
  return Struct({
83409
- type: Literal2(type$w),
83410
- compatibilityDate: Literal2(compatibilityDate$w),
83450
+ type: Literal2(type$y),
83451
+ compatibilityDate: Literal2(compatibilityDate$y),
83411
83452
  ...commonFieldFields(configure),
83412
83453
  label: optional(Locale.annotations({
83413
83454
  title: "标签",
@@ -83474,25 +83515,25 @@ function defaults$5() {
83474
83515
  }
83475
83516
  const __vite_glob_0_12$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
83476
83517
  __proto__: null,
83477
- compatibilityDate: compatibilityDate$w,
83518
+ compatibilityDate: compatibilityDate$y,
83478
83519
  defaults: defaults$5,
83479
- metadata: metadata$w,
83480
- schema: schema$w,
83481
- type: type$w
83520
+ metadata: metadata$y,
83521
+ schema: schema$y,
83522
+ type: type$y
83482
83523
  }, Symbol.toStringTag, { value: "Module" }));
83483
- const type$v = "com.shwfed.form.field.switch";
83484
- const compatibilityDate$v = "2026-04-28";
83485
- const metadata$v = {
83524
+ const type$x = "com.shwfed.form.field.switch";
83525
+ const compatibilityDate$x = "2026-04-28";
83526
+ const metadata$x = {
83486
83527
  name: "开关",
83487
83528
  icon: "fluent:toggle-left-20-regular",
83488
83529
  w: { initial: 4, min: 4, max: Infinity },
83489
83530
  h: { initial: 2, min: 2, max: 2 }
83490
83531
  };
83491
- function schema$v(configure) {
83532
+ function schema$x(configure) {
83492
83533
  const CelBool = Expression({ configure, resultType: "bool" });
83493
83534
  return Struct({
83494
- type: Literal2(type$v),
83495
- compatibilityDate: Literal2(compatibilityDate$v),
83535
+ type: Literal2(type$x),
83536
+ compatibilityDate: Literal2(compatibilityDate$x),
83496
83537
  ...commonFieldFields(configure),
83497
83538
  label: optional(Locale.annotations({
83498
83539
  title: "标签",
@@ -83530,10 +83571,10 @@ function schema$v(configure) {
83530
83571
  }
83531
83572
  const __vite_glob_0_13$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
83532
83573
  __proto__: null,
83533
- compatibilityDate: compatibilityDate$v,
83534
- metadata: metadata$v,
83535
- schema: schema$v,
83536
- type: type$v
83574
+ compatibilityDate: compatibilityDate$x,
83575
+ metadata: metadata$x,
83576
+ schema: schema$x,
83577
+ type: type$x
83537
83578
  }, Symbol.toStringTag, { value: "Module" }));
83538
83579
  const decodeCache = {};
83539
83580
  function getDecodeCache(exclude2) {
@@ -88784,15 +88825,15 @@ function interpolateMarkdown(template, $cel, context2) {
88784
88825
  }
88785
88826
  });
88786
88827
  }
88787
- const type$u = "com.shwfed.form.field.combobox.single";
88788
- const compatibilityDate$u = "2026-04-29";
88789
- const metadata$u = {
88828
+ const type$w = "com.shwfed.form.field.combobox.single";
88829
+ const compatibilityDate$w = "2026-04-29";
88830
+ const metadata$w = {
88790
88831
  name: "下拉单选(硬编码)",
88791
88832
  icon: "fluent:chevron-down-20-regular",
88792
88833
  w: { initial: 8, min: 4, max: Infinity },
88793
88834
  h: { initial: 2, min: 2, max: 2 }
88794
88835
  };
88795
- function itemSchema$3(configure) {
88836
+ function itemSchema$4(configure) {
88796
88837
  const LocaleMd = LocaleMarkdown({ configure });
88797
88838
  const TextValue = Struct({
88798
88839
  kind: Literal2("text"),
@@ -88821,12 +88862,12 @@ function itemSchema$3(configure) {
88821
88862
  title: "ComboboxSingleItem"
88822
88863
  });
88823
88864
  }
88824
- function schema$u(configure) {
88865
+ function schema$w(configure) {
88825
88866
  const CelBool = Expression({ configure, resultType: "bool" });
88826
- const Item = itemSchema$3(configure);
88867
+ const Item = itemSchema$4(configure);
88827
88868
  return Struct({
88828
- type: Literal2(type$u),
88829
- compatibilityDate: Literal2(compatibilityDate$u),
88869
+ type: Literal2(type$w),
88870
+ compatibilityDate: Literal2(compatibilityDate$w),
88830
88871
  ...commonFieldFields(configure),
88831
88872
  label: optional(Locale.annotations({
88832
88873
  title: "标签",
@@ -88918,29 +88959,29 @@ const migrate$2 = (prev, ctx) => {
88918
88959
  } = legacy;
88919
88960
  return {
88920
88961
  ...carryover,
88921
- compatibilityDate: compatibilityDate$u,
88962
+ compatibilityDate: compatibilityDate$w,
88922
88963
  items: items2
88923
88964
  };
88924
88965
  });
88925
88966
  };
88926
88967
  const __vite_glob_0_14$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
88927
88968
  __proto__: null,
88928
- compatibilityDate: compatibilityDate$u,
88929
- itemSchema: itemSchema$3,
88930
- metadata: metadata$u,
88969
+ compatibilityDate: compatibilityDate$w,
88970
+ itemSchema: itemSchema$4,
88971
+ metadata: metadata$w,
88931
88972
  migrate: migrate$2,
88932
- schema: schema$u,
88933
- type: type$u
88973
+ schema: schema$w,
88974
+ type: type$w
88934
88975
  }, Symbol.toStringTag, { value: "Module" }));
88935
- const type$t = "com.shwfed.form.field.upload";
88936
- const compatibilityDate$t = "2026-05-12";
88937
- const metadata$t = {
88976
+ const type$v = "com.shwfed.form.field.upload";
88977
+ const compatibilityDate$v = "2026-05-12";
88978
+ const metadata$v = {
88938
88979
  name: "文件上传",
88939
88980
  icon: "fluent:cloud-arrow-up-20-regular",
88940
88981
  w: { initial: 8, min: 8, max: Infinity },
88941
88982
  h: { initial: 6, min: 6, max: Infinity, grow: true }
88942
88983
  };
88943
- const JSON_VAR$1 = {
88984
+ const JSON_VAR$2 = {
88944
88985
  type: "dyn",
88945
88986
  label: "HTTP 响应体",
88946
88987
  description: "第一步 `请求` 的响应体(已解析 JSON);用于构造第二步下载请求"
@@ -88948,17 +88989,17 @@ const JSON_VAR$1 = {
88948
88989
  function configureWithJson$1(configure) {
88949
88990
  return (env) => {
88950
88991
  configure(env);
88951
- env.registerVariable("json", JSON_VAR$1.type, { description: JSON_VAR$1.description });
88992
+ env.registerVariable("json", JSON_VAR$2.type, { description: JSON_VAR$2.description });
88952
88993
  };
88953
88994
  }
88954
- function schema$t(configure) {
88995
+ function schema$v(configure) {
88955
88996
  const CelBool = Expression({ configure, resultType: "bool" });
88956
88997
  const CelHttpRequest = Expression({ configure, resultType: "HttpRequest" });
88957
88998
  const CelDownloadRequest = Expression({ configure: configureWithJson$1(configure), resultType: "HttpRequest" });
88958
88999
  const LocaleMd = LocaleMarkdown({ configure });
88959
89000
  return Struct({
88960
- type: Literal2(type$t),
88961
- compatibilityDate: Literal2(compatibilityDate$t),
89001
+ type: Literal2(type$v),
89002
+ compatibilityDate: Literal2(compatibilityDate$v),
88962
89003
  ...commonFieldFields(configure),
88963
89004
  label: optional(Locale.annotations({
88964
89005
  title: "标签",
@@ -89035,28 +89076,28 @@ function schema$t(configure) {
89035
89076
  description: "文件上传字段"
89036
89077
  });
89037
89078
  }
89038
- const __vite_glob_0_15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89079
+ const __vite_glob_0_15$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89039
89080
  __proto__: null,
89040
- JSON_VAR: JSON_VAR$1,
89041
- compatibilityDate: compatibilityDate$t,
89042
- metadata: metadata$t,
89043
- schema: schema$t,
89044
- type: type$t
89081
+ JSON_VAR: JSON_VAR$2,
89082
+ compatibilityDate: compatibilityDate$v,
89083
+ metadata: metadata$v,
89084
+ schema: schema$v,
89085
+ type: type$v
89045
89086
  }, Symbol.toStringTag, { value: "Module" }));
89046
- const type$s = "com.shwfed.form.field.combobox.single.remote";
89047
- const compatibilityDate$s = "2026-05-13";
89048
- const metadata$s = {
89087
+ const type$u = "com.shwfed.form.field.combobox.single.remote";
89088
+ const compatibilityDate$u = "2026-05-13";
89089
+ const metadata$u = {
89049
89090
  name: "下拉单选(远程)",
89050
89091
  icon: "fluent:cloud-arrow-down-20-regular",
89051
89092
  w: { initial: 8, min: 4, max: Infinity },
89052
89093
  h: { initial: 2, min: 2, max: 2 }
89053
89094
  };
89054
- const OPTION_VAR = {
89095
+ const OPTION_VAR$1 = {
89055
89096
  type: "dyn",
89056
89097
  label: "当前选项",
89057
89098
  description: "`选项` 表达式产出的数组中迭代到的单个元素"
89058
89099
  };
89059
- const JSON_VAR = {
89100
+ const JSON_VAR$1 = {
89060
89101
  type: "dyn",
89061
89102
  label: "HTTP 响应体",
89062
89103
  description: "HTTP 响应体(已解析 JSON);请求失败或尚未完成时为 `null`"
@@ -89064,25 +89105,25 @@ const JSON_VAR = {
89064
89105
  function configureWithOption(configure) {
89065
89106
  return (env) => {
89066
89107
  configure(env);
89067
- env.registerVariable("option", OPTION_VAR.type, { description: OPTION_VAR.description });
89108
+ env.registerVariable("option", OPTION_VAR$1.type, { description: OPTION_VAR$1.description });
89068
89109
  };
89069
89110
  }
89070
89111
  function configureWithJson(configure) {
89071
89112
  return (env) => {
89072
89113
  configure(env);
89073
- env.registerVariable("json", JSON_VAR.type, { description: JSON_VAR.description });
89114
+ env.registerVariable("json", JSON_VAR$1.type, { description: JSON_VAR$1.description });
89074
89115
  };
89075
89116
  }
89076
- const isListType$1 = (actual) => actual === "dyn" || actual.startsWith("list");
89077
- function schema$s(configure) {
89117
+ const isListType$2 = (actual) => actual === "dyn" || actual.startsWith("list");
89118
+ function schema$u(configure) {
89078
89119
  const CelBool = Expression({ configure, resultType: "bool" });
89079
89120
  const CelHttpRequest = Expression({ configure, resultType: "HttpRequest" });
89080
- const CelOptions = Expression({ configure: configureWithJson(configure), resultType: isListType$1 });
89121
+ const CelOptions = Expression({ configure: configureWithJson(configure), resultType: isListType$2 });
89081
89122
  const CelOptionValue = Expression({ configure: configureWithOption(configure), resultType: "dyn" });
89082
89123
  const LocaleOptionLabel = LocaleMarkdown({ configure: configureWithOption(configure) });
89083
89124
  return Struct({
89084
- type: Literal2(type$s),
89085
- compatibilityDate: Literal2(compatibilityDate$s),
89125
+ type: Literal2(type$u),
89126
+ compatibilityDate: Literal2(compatibilityDate$u),
89086
89127
  ...commonFieldFields(configure),
89087
89128
  label: optional(Locale.annotations({
89088
89129
  title: "标签",
@@ -89131,24 +89172,24 @@ function schema$s(configure) {
89131
89172
  description: "下拉单选输入(远程拉取选项)"
89132
89173
  });
89133
89174
  }
89134
- const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89175
+ const __vite_glob_0_16$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89135
89176
  __proto__: null,
89136
- JSON_VAR,
89137
- OPTION_VAR,
89138
- compatibilityDate: compatibilityDate$s,
89139
- metadata: metadata$s,
89140
- schema: schema$s,
89141
- type: type$s
89177
+ JSON_VAR: JSON_VAR$1,
89178
+ OPTION_VAR: OPTION_VAR$1,
89179
+ compatibilityDate: compatibilityDate$u,
89180
+ metadata: metadata$u,
89181
+ schema: schema$u,
89182
+ type: type$u
89142
89183
  }, Symbol.toStringTag, { value: "Module" }));
89143
- const type$r = "com.shwfed.form.field.list";
89144
- const compatibilityDate$r = "2026-05-13";
89145
- const metadata$r = {
89184
+ const type$t = "com.shwfed.form.field.list";
89185
+ const compatibilityDate$t = "2026-05-13";
89186
+ const metadata$t = {
89146
89187
  name: "列表",
89147
89188
  icon: "fluent:list-20-regular",
89148
89189
  w: { initial: 12, min: 4, max: Infinity },
89149
89190
  h: { initial: 6, min: 4, max: Infinity, grow: true }
89150
89191
  };
89151
- function schema$r(configure) {
89192
+ function schema$t(configure) {
89152
89193
  const CelBool = Expression({ configure, resultType: "bool" });
89153
89194
  const unitConfigure = (env) => {
89154
89195
  configure(env);
@@ -89162,8 +89203,8 @@ function schema$r(configure) {
89162
89203
  };
89163
89204
  const Unit = suspend(() => FormUnit(unitConfigure));
89164
89205
  return Struct({
89165
- type: Literal2(type$r),
89166
- compatibilityDate: Literal2(compatibilityDate$r),
89206
+ type: Literal2(type$t),
89207
+ compatibilityDate: Literal2(compatibilityDate$t),
89167
89208
  ...commonFieldFields(configure),
89168
89209
  label: optional(Locale.annotations({
89169
89210
  title: "标签",
@@ -89230,103 +89271,103 @@ function defaults$4() {
89230
89271
  }
89231
89272
  const __vite_glob_0_17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89232
89273
  __proto__: null,
89233
- compatibilityDate: compatibilityDate$r,
89274
+ compatibilityDate: compatibilityDate$t,
89234
89275
  defaults: defaults$4,
89235
- metadata: metadata$r,
89236
- schema: schema$r,
89237
- type: type$r
89276
+ metadata: metadata$t,
89277
+ schema: schema$t,
89278
+ type: type$t
89238
89279
  }, Symbol.toStringTag, { value: "Module" }));
89239
- const type$q = "com.shwfed.form.field.checkbox.group";
89240
- const compatibilityDate$q = "2026-05-17";
89241
- const metadata$q = {
89280
+ const type$s = "com.shwfed.form.field.checkbox.group";
89281
+ const compatibilityDate$s = "2026-05-17";
89282
+ const metadata$s = {
89242
89283
  name: "复选框组",
89243
89284
  icon: "fluent:checkbox-checked-20-regular",
89244
89285
  w: { initial: 8, min: 2, max: Infinity },
89245
89286
  h: { initial: 2, min: 2, max: 2 }
89246
89287
  };
89288
+ function itemSchema$3(configure) {
89289
+ const LocaleMd = LocaleMarkdown({ configure });
89290
+ const TextValue = Struct({
89291
+ kind: Literal2("text"),
89292
+ value: String$
89293
+ });
89294
+ const NumberValue = Struct({
89295
+ kind: Literal2("number"),
89296
+ value: Number$
89297
+ });
89298
+ const ItemValue = Union2(TextValue, NumberValue).annotations({
89299
+ title: "值",
89300
+ description: "选项绑定的值,可以是文本或数字"
89301
+ });
89302
+ return Struct({
89303
+ id: UUID.annotations({ description: "选项唯一标识,用于稳定的 v-for key" }),
89304
+ label: LocaleMd.annotations({
89305
+ title: "标签",
89306
+ description: "选项展示的本地化文本,支持 Markdown 与 `{{ form.foo }}` 插值"
89307
+ }),
89308
+ value: ItemValue,
89309
+ tooltip: optional(LocaleMd.annotations({
89310
+ title: "提示",
89311
+ description: "展示在选项标签下方的本地化提示,支持 Markdown"
89312
+ }))
89313
+ }).annotations({
89314
+ title: "CheckboxGroupItem"
89315
+ });
89316
+ }
89317
+ function schema$s(configure) {
89318
+ const CelBool = Expression({ configure, resultType: "bool" });
89319
+ const Item = itemSchema$3(configure);
89320
+ return Struct({
89321
+ type: Literal2(type$s),
89322
+ compatibilityDate: Literal2(compatibilityDate$s),
89323
+ ...commonFieldFields(configure),
89324
+ label: optional(Locale.annotations({
89325
+ title: "标签",
89326
+ description: "字段前展示的文本;留空则不渲染标签"
89327
+ })),
89328
+ tooltip: optional(Locale.annotations({
89329
+ title: "提示",
89330
+ description: "鼠标悬停在标签上时展示的说明"
89331
+ })),
89332
+ binding: optional(String$.pipe(minLength(1)).annotations({
89333
+ title: "绑定路径",
89334
+ description: "写入表单状态的 `dot-prop` 路径,例如 `user.tags`;写入值为已勾选选项值的数组;留空则为非受控字段"
89335
+ })),
89336
+ disabled: optional(CelBool.annotations({
89337
+ title: "禁用条件",
89338
+ description: "返回 `true` 时复选框仍然渲染但不可勾选"
89339
+ })),
89340
+ readonly: optional(CelBool.annotations({
89341
+ title: "只读条件",
89342
+ description: "返回 `true` 时仅以纯文本展示当前已勾选选项的标签"
89343
+ })),
89344
+ derived: derivedField(configure, "dyn"),
89345
+ items: optionalWith(Array$(Item).annotations({
89346
+ title: "选项",
89347
+ description: "复选框组可选项列表"
89348
+ }), { default: () => [] })
89349
+ }).annotations({
89350
+ title: "CheckboxGroupField",
89351
+ description: "复选框组多选输入"
89352
+ });
89353
+ }
89354
+ const __vite_glob_0_18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89355
+ __proto__: null,
89356
+ compatibilityDate: compatibilityDate$s,
89357
+ itemSchema: itemSchema$3,
89358
+ metadata: metadata$s,
89359
+ schema: schema$s,
89360
+ type: type$s
89361
+ }, Symbol.toStringTag, { value: "Module" }));
89362
+ const type$r = "com.shwfed.form.field.radio.group";
89363
+ const compatibilityDate$r = "2026-05-17";
89364
+ const metadata$r = {
89365
+ name: "单选框组",
89366
+ icon: "fluent:radio-button-20-regular",
89367
+ w: { initial: 8, min: 2, max: Infinity },
89368
+ h: { initial: 2, min: 2, max: 2 }
89369
+ };
89247
89370
  function itemSchema$2(configure) {
89248
- const LocaleMd = LocaleMarkdown({ configure });
89249
- const TextValue = Struct({
89250
- kind: Literal2("text"),
89251
- value: String$
89252
- });
89253
- const NumberValue = Struct({
89254
- kind: Literal2("number"),
89255
- value: Number$
89256
- });
89257
- const ItemValue = Union2(TextValue, NumberValue).annotations({
89258
- title: "值",
89259
- description: "选项绑定的值,可以是文本或数字"
89260
- });
89261
- return Struct({
89262
- id: UUID.annotations({ description: "选项唯一标识,用于稳定的 v-for key" }),
89263
- label: LocaleMd.annotations({
89264
- title: "标签",
89265
- description: "选项展示的本地化文本,支持 Markdown 与 `{{ form.foo }}` 插值"
89266
- }),
89267
- value: ItemValue,
89268
- tooltip: optional(LocaleMd.annotations({
89269
- title: "提示",
89270
- description: "展示在选项标签下方的本地化提示,支持 Markdown"
89271
- }))
89272
- }).annotations({
89273
- title: "CheckboxGroupItem"
89274
- });
89275
- }
89276
- function schema$q(configure) {
89277
- const CelBool = Expression({ configure, resultType: "bool" });
89278
- const Item = itemSchema$2(configure);
89279
- return Struct({
89280
- type: Literal2(type$q),
89281
- compatibilityDate: Literal2(compatibilityDate$q),
89282
- ...commonFieldFields(configure),
89283
- label: optional(Locale.annotations({
89284
- title: "标签",
89285
- description: "字段前展示的文本;留空则不渲染标签"
89286
- })),
89287
- tooltip: optional(Locale.annotations({
89288
- title: "提示",
89289
- description: "鼠标悬停在标签上时展示的说明"
89290
- })),
89291
- binding: optional(String$.pipe(minLength(1)).annotations({
89292
- title: "绑定路径",
89293
- description: "写入表单状态的 `dot-prop` 路径,例如 `user.tags`;写入值为已勾选选项值的数组;留空则为非受控字段"
89294
- })),
89295
- disabled: optional(CelBool.annotations({
89296
- title: "禁用条件",
89297
- description: "返回 `true` 时复选框仍然渲染但不可勾选"
89298
- })),
89299
- readonly: optional(CelBool.annotations({
89300
- title: "只读条件",
89301
- description: "返回 `true` 时仅以纯文本展示当前已勾选选项的标签"
89302
- })),
89303
- derived: derivedField(configure, "dyn"),
89304
- items: optionalWith(Array$(Item).annotations({
89305
- title: "选项",
89306
- description: "复选框组可选项列表"
89307
- }), { default: () => [] })
89308
- }).annotations({
89309
- title: "CheckboxGroupField",
89310
- description: "复选框组多选输入"
89311
- });
89312
- }
89313
- const __vite_glob_0_18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89314
- __proto__: null,
89315
- compatibilityDate: compatibilityDate$q,
89316
- itemSchema: itemSchema$2,
89317
- metadata: metadata$q,
89318
- schema: schema$q,
89319
- type: type$q
89320
- }, Symbol.toStringTag, { value: "Module" }));
89321
- const type$p = "com.shwfed.form.field.radio.group";
89322
- const compatibilityDate$p = "2026-05-17";
89323
- const metadata$p = {
89324
- name: "单选框组",
89325
- icon: "fluent:radio-button-20-regular",
89326
- w: { initial: 8, min: 2, max: Infinity },
89327
- h: { initial: 2, min: 2, max: 2 }
89328
- };
89329
- function itemSchema$1(configure) {
89330
89371
  const LocaleMd = LocaleMarkdown({ configure });
89331
89372
  const TextValue = Struct({
89332
89373
  kind: Literal2("text"),
@@ -89355,12 +89396,12 @@ function itemSchema$1(configure) {
89355
89396
  title: "RadioGroupItem"
89356
89397
  });
89357
89398
  }
89358
- function schema$p(configure) {
89399
+ function schema$r(configure) {
89359
89400
  const CelBool = Expression({ configure, resultType: "bool" });
89360
- const Item = itemSchema$1(configure);
89401
+ const Item = itemSchema$2(configure);
89361
89402
  return Struct({
89362
- type: Literal2(type$p),
89363
- compatibilityDate: Literal2(compatibilityDate$p),
89403
+ type: Literal2(type$r),
89404
+ compatibilityDate: Literal2(compatibilityDate$r),
89364
89405
  ...commonFieldFields(configure),
89365
89406
  label: optional(Locale.annotations({
89366
89407
  title: "标签",
@@ -89394,11 +89435,11 @@ function schema$p(configure) {
89394
89435
  }
89395
89436
  const __vite_glob_0_19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89396
89437
  __proto__: null,
89397
- compatibilityDate: compatibilityDate$p,
89398
- itemSchema: itemSchema$1,
89399
- metadata: metadata$p,
89400
- schema: schema$p,
89401
- type: type$p
89438
+ compatibilityDate: compatibilityDate$r,
89439
+ itemSchema: itemSchema$2,
89440
+ metadata: metadata$r,
89441
+ schema: schema$r,
89442
+ type: type$r
89402
89443
  }, Symbol.toStringTag, { value: "Module" }));
89403
89444
  const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;
89404
89445
  const stringToIcon = (value, validate2, allowSimpleName, provider = "") => {
@@ -90882,14 +90923,14 @@ function LocaleMarkdownWithRow(configure) {
90882
90923
  function derivedRowField(configure, resultType) {
90883
90924
  return derivedField(configureWithRow(configure), resultType);
90884
90925
  }
90885
- const type$o = "com.shwfed.table.column.actions";
90886
- const compatibilityDate$o = "2026-04-14";
90887
- const metadata$o = {
90926
+ const type$q = "com.shwfed.table.column.actions";
90927
+ const compatibilityDate$q = "2026-04-14";
90928
+ const metadata$q = {
90888
90929
  name: "操作",
90889
90930
  icon: "fluent:cursor-click-20-regular"
90890
90931
  };
90891
90932
  const registerRowVariables = registerRowVariablesIfAbsent;
90892
- function schema$o(configure) {
90933
+ function schema$q(configure) {
90893
90934
  const configureWithRow2 = (env) => {
90894
90935
  configure(env);
90895
90936
  registerRowVariables(env);
@@ -90897,8 +90938,8 @@ function schema$o(configure) {
90897
90938
  const { fields: actionFields } = ActionSchemaFields(configureWithRow2);
90898
90939
  const { size: _buttonSize, ...actionFieldsForColumn } = actionFields;
90899
90940
  return Struct({
90900
- type: Literal2(type$o),
90901
- compatibilityDate: Literal2(compatibilityDate$o),
90941
+ type: Literal2(type$q),
90942
+ compatibilityDate: Literal2(compatibilityDate$q),
90902
90943
  ...columnIdentityFields(),
90903
90944
  title: optional(Locale.annotations({ title: "标题", description: "列标题" })),
90904
90945
  size: optional(Number$.pipe(finite(), positive()).annotations({
@@ -90912,7 +90953,7 @@ function schema$o(configure) {
90912
90953
  ...actionFieldsForColumn
90913
90954
  }).annotations({ title: "ActionsRenderer", description: "操作渲染器" });
90914
90955
  }
90915
- function toColumnDef$e(value, { getLocaleText }) {
90956
+ function toColumnDef$g(value, { getLocaleText }) {
90916
90957
  return {
90917
90958
  header: value.title ? getLocaleText(value.title) : void 0,
90918
90959
  enableSorting: false,
@@ -90925,23 +90966,23 @@ function toColumnDef$e(value, { getLocaleText }) {
90925
90966
  }
90926
90967
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90927
90968
  __proto__: null,
90928
- compatibilityDate: compatibilityDate$o,
90929
- metadata: metadata$o,
90969
+ compatibilityDate: compatibilityDate$q,
90970
+ metadata: metadata$q,
90930
90971
  registerRowVariables,
90931
- schema: schema$o,
90932
- toColumnDef: toColumnDef$e,
90933
- type: type$o
90972
+ schema: schema$q,
90973
+ toColumnDef: toColumnDef$g,
90974
+ type: type$q
90934
90975
  }, Symbol.toStringTag, { value: "Module" }));
90935
- const type$n = "com.shwfed.table.column.date";
90936
- const compatibilityDate$n = "2026-04-14";
90937
- const metadata$n = {
90976
+ const type$p = "com.shwfed.table.column.date";
90977
+ const compatibilityDate$p = "2026-04-14";
90978
+ const metadata$p = {
90938
90979
  name: "日期",
90939
90980
  icon: "fluent:calendar-ltr-20-regular"
90940
90981
  };
90941
- function schema$n(configure) {
90982
+ function schema$p(configure) {
90942
90983
  return Struct({
90943
- type: Literal2(type$n),
90944
- compatibilityDate: Literal2(compatibilityDate$n),
90984
+ type: Literal2(type$p),
90985
+ compatibilityDate: Literal2(compatibilityDate$p),
90945
90986
  ...columnFields(configure),
90946
90987
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "left" }),
90947
90988
  format: String$.annotations({
@@ -90952,7 +90993,7 @@ function schema$n(configure) {
90952
90993
  })
90953
90994
  }).annotations({ title: "DateRenderer", description: "日期渲染器" });
90954
90995
  }
90955
- function toColumnDef$d(value, { getLocaleText, $cel, inheritedContext }) {
90996
+ function toColumnDef$f(value, { getLocaleText, $cel, inheritedContext }) {
90956
90997
  return {
90957
90998
  header: getLocaleText(value.title),
90958
90999
  accessorFn: (row, index) => {
@@ -90973,22 +91014,22 @@ function toColumnDef$d(value, { getLocaleText, $cel, inheritedContext }) {
90973
91014
  }
90974
91015
  const __vite_glob_0_1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90975
91016
  __proto__: null,
90976
- compatibilityDate: compatibilityDate$n,
90977
- metadata: metadata$n,
90978
- schema: schema$n,
90979
- toColumnDef: toColumnDef$d,
90980
- type: type$n
91017
+ compatibilityDate: compatibilityDate$p,
91018
+ metadata: metadata$p,
91019
+ schema: schema$p,
91020
+ toColumnDef: toColumnDef$f,
91021
+ type: type$p
90981
91022
  }, Symbol.toStringTag, { value: "Module" }));
90982
- const type$m = "com.shwfed.table.column.icon";
90983
- const compatibilityDate$m = "2026-04-14";
90984
- const metadata$m = {
91023
+ const type$o = "com.shwfed.table.column.icon";
91024
+ const compatibilityDate$o = "2026-04-14";
91025
+ const metadata$o = {
90985
91026
  name: "图标",
90986
91027
  icon: "fluent:shapes-20-regular"
90987
91028
  };
90988
- function schema$m(configure) {
91029
+ function schema$o(configure) {
90989
91030
  return Struct({
90990
- type: Literal2(type$m),
90991
- compatibilityDate: Literal2(compatibilityDate$m),
91031
+ type: Literal2(type$o),
91032
+ compatibilityDate: Literal2(compatibilityDate$o),
90992
91033
  ...columnFields(configure),
90993
91034
  accessor: CelRowAccess(configure).annotations({
90994
91035
  title: "图标",
@@ -91003,7 +91044,7 @@ function schema$m(configure) {
91003
91044
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "center" })
91004
91045
  }).annotations({ title: "IconRenderer", description: "图标渲染器" });
91005
91046
  }
91006
- function toColumnDef$c(value, { getLocaleText, $cel, inheritedContext }) {
91047
+ function toColumnDef$e(value, { getLocaleText, $cel, inheritedContext }) {
91007
91048
  return {
91008
91049
  header: getLocaleText(value.title),
91009
91050
  accessorFn: (row, index) => {
@@ -91024,25 +91065,25 @@ function toColumnDef$c(value, { getLocaleText, $cel, inheritedContext }) {
91024
91065
  }
91025
91066
  const __vite_glob_0_2$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91026
91067
  __proto__: null,
91027
- compatibilityDate: compatibilityDate$m,
91028
- metadata: metadata$m,
91029
- schema: schema$m,
91030
- toColumnDef: toColumnDef$c,
91031
- type: type$m
91068
+ compatibilityDate: compatibilityDate$o,
91069
+ metadata: metadata$o,
91070
+ schema: schema$o,
91071
+ toColumnDef: toColumnDef$e,
91072
+ type: type$o
91032
91073
  }, Symbol.toStringTag, { value: "Module" }));
91033
- const type$l = "com.shwfed.table.column.markdown";
91034
- const compatibilityDate$l = "2026-04-14";
91035
- const metadata$l = {
91074
+ const type$n = "com.shwfed.table.column.markdown";
91075
+ const compatibilityDate$n = "2026-04-14";
91076
+ const metadata$n = {
91036
91077
  name: "MD",
91037
91078
  icon: "fluent:markdown-20-regular"
91038
91079
  };
91039
91080
  const isCopyExpressionType$1 = (t) => t === "string" || t === "dyn" || t.startsWith("optional");
91040
- function schema$l(configure) {
91081
+ function schema$n(configure) {
91041
91082
  const cel = CelRowAccess(configure, { resultType: isCopyExpressionType$1 });
91042
91083
  const localeMarkdown = LocaleMarkdownWithRow(configure);
91043
91084
  return Struct({
91044
- type: Literal2(type$l),
91045
- compatibilityDate: Literal2(compatibilityDate$l),
91085
+ type: Literal2(type$n),
91086
+ compatibilityDate: Literal2(compatibilityDate$n),
91046
91087
  ...columnIdentityFields(),
91047
91088
  title: Locale.annotations({ title: "标题", description: "列标题" }),
91048
91089
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "left" }),
@@ -91068,7 +91109,7 @@ function schema$l(configure) {
91068
91109
  }))
91069
91110
  }).annotations({ title: "MarkdownRenderer", description: "MD" });
91070
91111
  }
91071
- function toColumnDef$b(value, { getLocaleText }) {
91112
+ function toColumnDef$d(value, { getLocaleText }) {
91072
91113
  return {
91073
91114
  header: getLocaleText(value.title),
91074
91115
  enableSorting: false,
@@ -91081,22 +91122,22 @@ function toColumnDef$b(value, { getLocaleText }) {
91081
91122
  }
91082
91123
  const __vite_glob_0_3$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91083
91124
  __proto__: null,
91084
- compatibilityDate: compatibilityDate$l,
91085
- metadata: metadata$l,
91086
- schema: schema$l,
91087
- toColumnDef: toColumnDef$b,
91088
- type: type$l
91125
+ compatibilityDate: compatibilityDate$n,
91126
+ metadata: metadata$n,
91127
+ schema: schema$n,
91128
+ toColumnDef: toColumnDef$d,
91129
+ type: type$n
91089
91130
  }, Symbol.toStringTag, { value: "Module" }));
91090
- const type$k = "com.shwfed.table.column.number";
91091
- const compatibilityDate$k = "2026-04-14";
91092
- const metadata$k = {
91131
+ const type$m = "com.shwfed.table.column.number";
91132
+ const compatibilityDate$m = "2026-04-14";
91133
+ const metadata$m = {
91093
91134
  name: "数值",
91094
91135
  icon: "fluent:number-symbol-20-regular"
91095
91136
  };
91096
- function schema$k(configure) {
91137
+ function schema$m(configure) {
91097
91138
  return Struct({
91098
- type: Literal2(type$k),
91099
- compatibilityDate: Literal2(compatibilityDate$k),
91139
+ type: Literal2(type$m),
91140
+ compatibilityDate: Literal2(compatibilityDate$m),
91100
91141
  ...columnFields(configure),
91101
91142
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "right" }),
91102
91143
  displayMode: optionalWith(
@@ -91116,7 +91157,7 @@ function schema$k(configure) {
91116
91157
  }))
91117
91158
  }).annotations({ title: "NumberRenderer", description: "数值渲染器" });
91118
91159
  }
91119
- function toColumnDef$a(value, { getLocaleText, $cel, inheritedContext }) {
91160
+ function toColumnDef$c(value, { getLocaleText, $cel, inheritedContext }) {
91120
91161
  return {
91121
91162
  header: getLocaleText(value.title),
91122
91163
  accessorFn: (row, index) => {
@@ -91137,24 +91178,24 @@ function toColumnDef$a(value, { getLocaleText, $cel, inheritedContext }) {
91137
91178
  }
91138
91179
  const __vite_glob_0_4$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91139
91180
  __proto__: null,
91140
- compatibilityDate: compatibilityDate$k,
91141
- metadata: metadata$k,
91142
- schema: schema$k,
91143
- toColumnDef: toColumnDef$a,
91144
- type: type$k
91181
+ compatibilityDate: compatibilityDate$m,
91182
+ metadata: metadata$m,
91183
+ schema: schema$m,
91184
+ toColumnDef: toColumnDef$c,
91185
+ type: type$m
91145
91186
  }, Symbol.toStringTag, { value: "Module" }));
91146
91187
  const __vite_glob_2_5 = {};
91147
91188
  const _stubVue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91148
91189
  __proto__: null,
91149
91190
  default: __vite_glob_2_5
91150
91191
  }, Symbol.toStringTag, { value: "Module" }));
91151
- const type$j = "com.shwfed.table.column.select";
91152
- const compatibilityDate$j = "2026-04-14";
91153
- const metadata$j = {
91192
+ const type$l = "com.shwfed.table.column.select";
91193
+ const compatibilityDate$l = "2026-04-14";
91194
+ const metadata$l = {
91154
91195
  name: "选择",
91155
91196
  icon: "fluent:checkbox-checked-20-regular"
91156
91197
  };
91157
- function schema$j(configure) {
91198
+ function schema$l(configure) {
91158
91199
  const CelRowSelectionPredicate = Expression({
91159
91200
  configure: (env) => {
91160
91201
  configure(env);
@@ -91163,8 +91204,8 @@ function schema$j(configure) {
91163
91204
  resultType: "bool"
91164
91205
  });
91165
91206
  return Struct({
91166
- type: Literal2(type$j),
91167
- compatibilityDate: Literal2(compatibilityDate$j),
91207
+ type: Literal2(type$l),
91208
+ compatibilityDate: Literal2(compatibilityDate$l),
91168
91209
  ...columnIdentityFields(),
91169
91210
  mode: optionalWith(Literal2("radio", "checkbox").annotations({
91170
91211
  title: "模式",
@@ -91184,7 +91225,7 @@ function schema$j(configure) {
91184
91225
  })
91185
91226
  }).annotations({ title: "SelectRenderer", description: "选择渲染器" });
91186
91227
  }
91187
- function toColumnDef$9(value) {
91228
+ function toColumnDef$b(value) {
91188
91229
  return {
91189
91230
  header: (ctx) => vueExports.h(__vite_glob_2_5, { column: value, ctx }),
91190
91231
  size: 40,
@@ -91195,24 +91236,24 @@ function toColumnDef$9(value) {
91195
91236
  }
91196
91237
  const __vite_glob_0_5$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91197
91238
  __proto__: null,
91198
- compatibilityDate: compatibilityDate$j,
91199
- metadata: metadata$j,
91200
- schema: schema$j,
91201
- toColumnDef: toColumnDef$9,
91202
- type: type$j
91239
+ compatibilityDate: compatibilityDate$l,
91240
+ metadata: metadata$l,
91241
+ schema: schema$l,
91242
+ toColumnDef: toColumnDef$b,
91243
+ type: type$l
91203
91244
  }, Symbol.toStringTag, { value: "Module" }));
91204
- const type$i = "com.shwfed.table.column.text";
91205
- const compatibilityDate$i = "2026-04-14";
91206
- const metadata$i = {
91245
+ const type$k = "com.shwfed.table.column.text";
91246
+ const compatibilityDate$k = "2026-04-14";
91247
+ const metadata$k = {
91207
91248
  name: "文本",
91208
91249
  icon: "fluent:text-field-20-regular"
91209
91250
  };
91210
91251
  const isCopyExpressionType = (t) => t === "string" || t === "dyn" || t.startsWith("optional");
91211
- function schema$i(configure) {
91252
+ function schema$k(configure) {
91212
91253
  const cel = CelRowAccess(configure, { resultType: isCopyExpressionType });
91213
91254
  return Struct({
91214
- type: Literal2(type$i),
91215
- compatibilityDate: Literal2(compatibilityDate$i),
91255
+ type: Literal2(type$k),
91256
+ compatibilityDate: Literal2(compatibilityDate$k),
91216
91257
  ...columnFields(configure),
91217
91258
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "left" }),
91218
91259
  displayMode: optionalWith(
@@ -91228,7 +91269,7 @@ function schema$i(configure) {
91228
91269
  }))
91229
91270
  }).annotations({ title: "TextRenderer", description: "文本渲染器" });
91230
91271
  }
91231
- function toColumnDef$8(value, { getLocaleText, $cel, inheritedContext }) {
91272
+ function toColumnDef$a(value, { getLocaleText, $cel, inheritedContext }) {
91232
91273
  return {
91233
91274
  header: getLocaleText(value.title),
91234
91275
  accessorFn: (row, index) => {
@@ -91250,19 +91291,19 @@ function toColumnDef$8(value, { getLocaleText, $cel, inheritedContext }) {
91250
91291
  }
91251
91292
  const __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91252
91293
  __proto__: null,
91253
- compatibilityDate: compatibilityDate$i,
91254
- metadata: metadata$i,
91255
- schema: schema$i,
91256
- toColumnDef: toColumnDef$8,
91257
- type: type$i
91294
+ compatibilityDate: compatibilityDate$k,
91295
+ metadata: metadata$k,
91296
+ schema: schema$k,
91297
+ toColumnDef: toColumnDef$a,
91298
+ type: type$k
91258
91299
  }, Symbol.toStringTag, { value: "Module" }));
91259
- const type$h = "com.shwfed.table.column.switch.remote";
91260
- const compatibilityDate$h = "2026-05-13";
91261
- const metadata$h = {
91300
+ const type$j = "com.shwfed.table.column.switch.remote";
91301
+ const compatibilityDate$j = "2026-05-13";
91302
+ const metadata$j = {
91262
91303
  name: "开关(远程)",
91263
91304
  icon: "fluent:toggle-left-20-regular"
91264
91305
  };
91265
- function schema$h(configure) {
91306
+ function schema$j(configure) {
91266
91307
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91267
91308
  const CelOnChange = Expression({
91268
91309
  configure: (env) => {
@@ -91280,8 +91321,8 @@ function schema$h(configure) {
91280
91321
  resultType: "string"
91281
91322
  });
91282
91323
  return Struct({
91283
- type: Literal2(type$h),
91284
- compatibilityDate: Literal2(compatibilityDate$h),
91324
+ type: Literal2(type$j),
91325
+ compatibilityDate: Literal2(compatibilityDate$j),
91285
91326
  ...columnFields(configure),
91286
91327
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "center" }),
91287
91328
  disabled: optional(CelBool.annotations({
@@ -91303,18 +91344,18 @@ function schema$h(configure) {
91303
91344
  }).annotations({ title: "SwitchRenderer", description: "开关渲染器(可编辑)" });
91304
91345
  }
91305
91346
  const migrateFrom$1 = [
91306
- { type: "com.shwfed.table.column.switch", compatibilityDate: compatibilityDate$h }
91347
+ { type: "com.shwfed.table.column.switch", compatibilityDate: compatibilityDate$j }
91307
91348
  ];
91308
91349
  const migrate$1 = (prev) => try_({
91309
91350
  try: () => {
91310
91351
  if (!prev || typeof prev !== "object") {
91311
91352
  throw new Error("开关(远程)迁移失败:原值不是对象");
91312
91353
  }
91313
- return { ...prev, type: type$h, compatibilityDate: compatibilityDate$h };
91354
+ return { ...prev, type: type$j, compatibilityDate: compatibilityDate$j };
91314
91355
  },
91315
91356
  catch: (e) => e instanceof Error ? e : new Error(String(e))
91316
91357
  });
91317
- function toColumnDef$7(value, { getLocaleText, $cel, inheritedContext }) {
91358
+ function toColumnDef$9(value, { getLocaleText, $cel, inheritedContext }) {
91318
91359
  return {
91319
91360
  header: getLocaleText(value.title),
91320
91361
  accessorFn: (row, index) => {
@@ -91336,21 +91377,21 @@ function toColumnDef$7(value, { getLocaleText, $cel, inheritedContext }) {
91336
91377
  }
91337
91378
  const __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91338
91379
  __proto__: null,
91339
- compatibilityDate: compatibilityDate$h,
91340
- metadata: metadata$h,
91380
+ compatibilityDate: compatibilityDate$j,
91381
+ metadata: metadata$j,
91341
91382
  migrate: migrate$1,
91342
91383
  migrateFrom: migrateFrom$1,
91343
- schema: schema$h,
91344
- toColumnDef: toColumnDef$7,
91345
- type: type$h
91384
+ schema: schema$j,
91385
+ toColumnDef: toColumnDef$9,
91386
+ type: type$j
91346
91387
  }, Symbol.toStringTag, { value: "Module" }));
91347
- const type$g = "com.shwfed.table.column.switch";
91348
- const compatibilityDate$g = "2026-05-13";
91349
- const metadata$g = {
91388
+ const type$i = "com.shwfed.table.column.switch";
91389
+ const compatibilityDate$i = "2026-05-13";
91390
+ const metadata$i = {
91350
91391
  name: "开关(远程)",
91351
91392
  icon: "fluent:toggle-left-20-regular"
91352
91393
  };
91353
- function schema$g(configure) {
91394
+ function schema$i(configure) {
91354
91395
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91355
91396
  const CelOnChange = Expression({
91356
91397
  configure: (env) => {
@@ -91368,8 +91409,8 @@ function schema$g(configure) {
91368
91409
  resultType: "string"
91369
91410
  });
91370
91411
  return Struct({
91371
- type: Literal2(type$g),
91372
- compatibilityDate: Literal2(compatibilityDate$g),
91412
+ type: Literal2(type$i),
91413
+ compatibilityDate: Literal2(compatibilityDate$i),
91373
91414
  ...columnFields(configure),
91374
91415
  align: optionalWith(Align.annotations({ title: "对齐" }), { default: () => "center" }),
91375
91416
  disabled: optional(CelBool.annotations({
@@ -91390,7 +91431,7 @@ function schema$g(configure) {
91390
91431
  }))
91391
91432
  }).annotations({ title: "SwitchRenderer", description: "开关渲染器(可编辑)" });
91392
91433
  }
91393
- function toColumnDef$6(value, { getLocaleText, $cel, inheritedContext }) {
91434
+ function toColumnDef$8(value, { getLocaleText, $cel, inheritedContext }) {
91394
91435
  return {
91395
91436
  header: getLocaleText(value.title),
91396
91437
  accessorFn: (row, index) => {
@@ -91412,11 +91453,11 @@ function toColumnDef$6(value, { getLocaleText, $cel, inheritedContext }) {
91412
91453
  }
91413
91454
  const __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91414
91455
  __proto__: null,
91415
- compatibilityDate: compatibilityDate$g,
91416
- metadata: metadata$g,
91417
- schema: schema$g,
91418
- toColumnDef: toColumnDef$6,
91419
- type: type$g
91456
+ compatibilityDate: compatibilityDate$i,
91457
+ metadata: metadata$i,
91458
+ schema: schema$i,
91459
+ toColumnDef: toColumnDef$8,
91460
+ type: type$i
91420
91461
  }, Symbol.toStringTag, { value: "Module" }));
91421
91462
  const isObject$1 = (value) => {
91422
91463
  const type2 = typeof value;
@@ -91615,13 +91656,13 @@ function getProperty(object2, path, value) {
91615
91656
  }
91616
91657
  return object2 === void 0 ? value : object2;
91617
91658
  }
91618
- const type$f = "com.shwfed.table.column.combobox-single";
91619
- const compatibilityDate$f = "2026-05-20";
91620
- const metadata$f = {
91659
+ const type$h = "com.shwfed.table.column.combobox-single";
91660
+ const compatibilityDate$h = "2026-05-20";
91661
+ const metadata$h = {
91621
91662
  name: "下拉单选",
91622
91663
  icon: "fluent:chevron-down-20-regular"
91623
91664
  };
91624
- function itemSchema(configure) {
91665
+ function itemSchema$1(configure) {
91625
91666
  const LocaleMd = LocaleMarkdownWithRow(configure);
91626
91667
  const TextValue = Struct({
91627
91668
  kind: Literal2("text"),
@@ -91650,12 +91691,12 @@ function itemSchema(configure) {
91650
91691
  title: "ComboboxSingleItem"
91651
91692
  });
91652
91693
  }
91653
- function schema$f(configure) {
91694
+ function schema$h(configure) {
91654
91695
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91655
- const Item = itemSchema(configure);
91696
+ const Item = itemSchema$1(configure);
91656
91697
  return Struct({
91657
- type: Literal2(type$f),
91658
- compatibilityDate: Literal2(compatibilityDate$f),
91698
+ type: Literal2(type$h),
91699
+ compatibilityDate: Literal2(compatibilityDate$h),
91659
91700
  ...editableColumnFields(),
91660
91701
  placeholder: optional(Locale.annotations({
91661
91702
  title: "占位符",
@@ -91680,7 +91721,7 @@ function schema$f(configure) {
91680
91721
  }), { default: () => [] })
91681
91722
  }).annotations({ title: "ComboboxSingleRenderer", description: "下拉单选渲染器(可编辑)" });
91682
91723
  }
91683
- function toColumnDef$5(value, { getLocaleText }) {
91724
+ function toColumnDef$7(value, { getLocaleText }) {
91684
91725
  return {
91685
91726
  header: editableHeader(getLocaleText(value.title)),
91686
91727
  // `binding` is a dot-prop path (validated non-empty); the cell renderer
@@ -91703,25 +91744,25 @@ function toColumnDef$5(value, { getLocaleText }) {
91703
91744
  }
91704
91745
  const __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91705
91746
  __proto__: null,
91706
- compatibilityDate: compatibilityDate$f,
91707
- itemSchema,
91708
- metadata: metadata$f,
91709
- schema: schema$f,
91710
- toColumnDef: toColumnDef$5,
91711
- type: type$f
91747
+ compatibilityDate: compatibilityDate$h,
91748
+ itemSchema: itemSchema$1,
91749
+ metadata: metadata$h,
91750
+ schema: schema$h,
91751
+ toColumnDef: toColumnDef$7,
91752
+ type: type$h
91712
91753
  }, Symbol.toStringTag, { value: "Module" }));
91713
- const type$e = "com.shwfed.table.column.number-input";
91714
- const compatibilityDate$e = "2026-05-20";
91715
- const metadata$e = {
91754
+ const type$g = "com.shwfed.table.column.number-input";
91755
+ const compatibilityDate$g = "2026-05-20";
91756
+ const metadata$g = {
91716
91757
  name: "数值输入",
91717
91758
  icon: "fluent:number-symbol-20-regular"
91718
91759
  };
91719
- function schema$e(configure) {
91760
+ function schema$g(configure) {
91720
91761
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91721
91762
  const CelNumber = CelRowAccess(configure, { resultType: "number" });
91722
91763
  return Struct({
91723
- type: Literal2(type$e),
91724
- compatibilityDate: Literal2(compatibilityDate$e),
91764
+ type: Literal2(type$g),
91765
+ compatibilityDate: Literal2(compatibilityDate$g),
91725
91766
  ...editableColumnFields(),
91726
91767
  placeholder: optional(Locale.annotations({
91727
91768
  title: "占位符",
@@ -91766,7 +91807,7 @@ function schema$e(configure) {
91766
91807
  derived: derivedRowField(configure, "number")
91767
91808
  }).annotations({ title: "NumberInputRenderer", description: "数值输入渲染器(可编辑)" });
91768
91809
  }
91769
- function toColumnDef$4(value, { getLocaleText }) {
91810
+ function toColumnDef$6(value, { getLocaleText }) {
91770
91811
  return {
91771
91812
  header: editableHeader(getLocaleText(value.title)),
91772
91813
  // `binding` is a dot-prop path (validated non-empty); the cell renderer
@@ -91789,23 +91830,23 @@ function toColumnDef$4(value, { getLocaleText }) {
91789
91830
  }
91790
91831
  const __vite_glob_0_10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91791
91832
  __proto__: null,
91792
- compatibilityDate: compatibilityDate$e,
91793
- metadata: metadata$e,
91794
- schema: schema$e,
91795
- toColumnDef: toColumnDef$4,
91796
- type: type$e
91833
+ compatibilityDate: compatibilityDate$g,
91834
+ metadata: metadata$g,
91835
+ schema: schema$g,
91836
+ toColumnDef: toColumnDef$6,
91837
+ type: type$g
91797
91838
  }, Symbol.toStringTag, { value: "Module" }));
91798
- const type$d = "com.shwfed.table.column.switch.local";
91799
- const compatibilityDate$d = "2026-05-20";
91800
- const metadata$d = {
91839
+ const type$f = "com.shwfed.table.column.switch.local";
91840
+ const compatibilityDate$f = "2026-05-20";
91841
+ const metadata$f = {
91801
91842
  name: "开关",
91802
91843
  icon: "fluent:toggle-left-20-regular"
91803
91844
  };
91804
- function schema$d(configure) {
91845
+ function schema$f(configure) {
91805
91846
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91806
91847
  return Struct({
91807
- type: Literal2(type$d),
91808
- compatibilityDate: Literal2(compatibilityDate$d),
91848
+ type: Literal2(type$f),
91849
+ compatibilityDate: Literal2(compatibilityDate$f),
91809
91850
  ...editableColumnFields(),
91810
91851
  hidden: optional(CelBool.annotations({
91811
91852
  title: "隐藏条件",
@@ -91831,18 +91872,18 @@ function schema$d(configure) {
91831
91872
  }).annotations({ title: "SwitchRenderer", description: "开关渲染器(可编辑、本地)" });
91832
91873
  }
91833
91874
  const migrateFrom = [
91834
- { type: "com.shwfed.table.column.switch", compatibilityDate: compatibilityDate$d }
91875
+ { type: "com.shwfed.table.column.switch", compatibilityDate: compatibilityDate$f }
91835
91876
  ];
91836
91877
  const migrate = (prev) => try_({
91837
91878
  try: () => {
91838
91879
  if (!prev || typeof prev !== "object") {
91839
91880
  throw new Error("开关(本地)迁移失败:原值不是对象");
91840
91881
  }
91841
- return { ...prev, type: type$d, compatibilityDate: compatibilityDate$d };
91882
+ return { ...prev, type: type$f, compatibilityDate: compatibilityDate$f };
91842
91883
  },
91843
91884
  catch: (e) => e instanceof Error ? e : new Error(String(e))
91844
91885
  });
91845
- function toColumnDef$3(value, { getLocaleText }) {
91886
+ function toColumnDef$5(value, { getLocaleText }) {
91846
91887
  return {
91847
91888
  header: editableHeader(getLocaleText(value.title)),
91848
91889
  // `binding` is a dot-prop path (validated non-empty); the cell renderer
@@ -91864,25 +91905,25 @@ function toColumnDef$3(value, { getLocaleText }) {
91864
91905
  }
91865
91906
  const __vite_glob_0_11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91866
91907
  __proto__: null,
91867
- compatibilityDate: compatibilityDate$d,
91868
- metadata: metadata$d,
91908
+ compatibilityDate: compatibilityDate$f,
91909
+ metadata: metadata$f,
91869
91910
  migrate,
91870
91911
  migrateFrom,
91871
- schema: schema$d,
91872
- toColumnDef: toColumnDef$3,
91873
- type: type$d
91912
+ schema: schema$f,
91913
+ toColumnDef: toColumnDef$5,
91914
+ type: type$f
91874
91915
  }, Symbol.toStringTag, { value: "Module" }));
91875
- const type$c = "com.shwfed.table.column.switch";
91876
- const compatibilityDate$c = "2026-05-20";
91877
- const metadata$c = {
91916
+ const type$e = "com.shwfed.table.column.switch";
91917
+ const compatibilityDate$e = "2026-05-20";
91918
+ const metadata$e = {
91878
91919
  name: "开关",
91879
91920
  icon: "fluent:toggle-left-20-regular"
91880
91921
  };
91881
- function schema$c(configure) {
91922
+ function schema$e(configure) {
91882
91923
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91883
91924
  return Struct({
91884
- type: Literal2(type$c),
91885
- compatibilityDate: Literal2(compatibilityDate$c),
91925
+ type: Literal2(type$e),
91926
+ compatibilityDate: Literal2(compatibilityDate$e),
91886
91927
  ...editableColumnFields(),
91887
91928
  hidden: optional(CelBool.annotations({
91888
91929
  title: "隐藏条件",
@@ -91907,7 +91948,7 @@ function schema$c(configure) {
91907
91948
  derived: derivedRowField(configure, "bool")
91908
91949
  }).annotations({ title: "SwitchRenderer", description: "开关渲染器(可编辑、本地)" });
91909
91950
  }
91910
- function toColumnDef$2(value, { getLocaleText }) {
91951
+ function toColumnDef$4(value, { getLocaleText }) {
91911
91952
  return {
91912
91953
  header: editableHeader(getLocaleText(value.title)),
91913
91954
  // `binding` is a dot-prop path (validated non-empty); the cell renderer
@@ -91929,23 +91970,23 @@ function toColumnDef$2(value, { getLocaleText }) {
91929
91970
  }
91930
91971
  const __vite_glob_0_12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91931
91972
  __proto__: null,
91932
- compatibilityDate: compatibilityDate$c,
91933
- metadata: metadata$c,
91934
- schema: schema$c,
91935
- toColumnDef: toColumnDef$2,
91936
- type: type$c
91973
+ compatibilityDate: compatibilityDate$e,
91974
+ metadata: metadata$e,
91975
+ schema: schema$e,
91976
+ toColumnDef: toColumnDef$4,
91977
+ type: type$e
91937
91978
  }, Symbol.toStringTag, { value: "Module" }));
91938
- const type$b = "com.shwfed.table.column.text-input";
91939
- const compatibilityDate$b = "2026-05-20";
91940
- const metadata$b = {
91979
+ const type$d = "com.shwfed.table.column.text-input";
91980
+ const compatibilityDate$d = "2026-05-20";
91981
+ const metadata$d = {
91941
91982
  name: "文本输入",
91942
91983
  icon: "fluent:text-field-20-regular"
91943
91984
  };
91944
- function schema$b(configure) {
91985
+ function schema$d(configure) {
91945
91986
  const CelBool = CelRowAccess(configure, { resultType: "bool" });
91946
91987
  return Struct({
91947
- type: Literal2(type$b),
91948
- compatibilityDate: Literal2(compatibilityDate$b),
91988
+ type: Literal2(type$d),
91989
+ compatibilityDate: Literal2(compatibilityDate$d),
91949
91990
  ...editableColumnFields(),
91950
91991
  placeholder: optional(Locale.annotations({
91951
91992
  title: "占位符",
@@ -91966,7 +92007,7 @@ function schema$b(configure) {
91966
92007
  derived: derivedRowField(configure, "string")
91967
92008
  }).annotations({ title: "TextInputRenderer", description: "文本输入渲染器(可编辑)" });
91968
92009
  }
91969
- function toColumnDef$1(value, { getLocaleText }) {
92010
+ function toColumnDef$3(value, { getLocaleText }) {
91970
92011
  return {
91971
92012
  header: editableHeader(getLocaleText(value.title)),
91972
92013
  // `binding` is a dot-prop path (validated non-empty); the cell renderer
@@ -91986,26 +92027,26 @@ function toColumnDef$1(value, { getLocaleText }) {
91986
92027
  }
91987
92028
  const __vite_glob_0_13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91988
92029
  __proto__: null,
91989
- compatibilityDate: compatibilityDate$b,
91990
- metadata: metadata$b,
91991
- schema: schema$b,
91992
- toColumnDef: toColumnDef$1,
91993
- type: type$b
92030
+ compatibilityDate: compatibilityDate$d,
92031
+ metadata: metadata$d,
92032
+ schema: schema$d,
92033
+ toColumnDef: toColumnDef$3,
92034
+ type: type$d
91994
92035
  }, Symbol.toStringTag, { value: "Module" }));
91995
- const type$a = "com.shwfed.table.column.drag-handle";
91996
- const compatibilityDate$a = "2026-05-21";
91997
- const metadata$a = {
92036
+ const type$c = "com.shwfed.table.column.drag-handle";
92037
+ const compatibilityDate$c = "2026-05-21";
92038
+ const metadata$c = {
91998
92039
  name: "拖拽",
91999
92040
  icon: "fluent:re-order-dots-vertical-20-regular"
92000
92041
  };
92001
- function schema$a(_configure) {
92042
+ function schema$c(_configure) {
92002
92043
  return Struct({
92003
- type: Literal2(type$a),
92004
- compatibilityDate: Literal2(compatibilityDate$a),
92044
+ type: Literal2(type$c),
92045
+ compatibilityDate: Literal2(compatibilityDate$c),
92005
92046
  ...columnIdentityFields()
92006
92047
  }).annotations({ title: "DragHandleRenderer", description: "行拖拽手柄列" });
92007
92048
  }
92008
- function toColumnDef(_value) {
92049
+ function toColumnDef$2(_value) {
92009
92050
  return {
92010
92051
  header: () => vueExports.h(Icon, {
92011
92052
  "icon": "fluent:re-order-dots-vertical-20-regular",
@@ -92020,8 +92061,278 @@ function toColumnDef(_value) {
92020
92061
  };
92021
92062
  }
92022
92063
  const __vite_glob_0_14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
92064
+ __proto__: null,
92065
+ compatibilityDate: compatibilityDate$c,
92066
+ metadata: metadata$c,
92067
+ schema: schema$c,
92068
+ toColumnDef: toColumnDef$2,
92069
+ type: type$c
92070
+ }, Symbol.toStringTag, { value: "Module" }));
92071
+ const type$b = "com.shwfed.table.column.combobox-single.remote.options-remote";
92072
+ const compatibilityDate$b = "2026-05-24";
92073
+ const metadata$b = {
92074
+ name: "下拉单选(远程·远程选项)",
92075
+ icon: "fluent:cloud-arrow-down-20-regular"
92076
+ };
92077
+ const OPTION_VAR = {
92078
+ type: "dyn",
92079
+ label: "当前选项",
92080
+ description: "`选项` 表达式产出的数组中迭代到的单个元素"
92081
+ };
92082
+ const JSON_VAR = {
92083
+ type: "dyn",
92084
+ label: "HTTP 响应体",
92085
+ description: "HTTP 响应体(已解析 JSON);请求失败或尚未完成时为 `null`"
92086
+ };
92087
+ const isListType$1 = (actual) => actual === "dyn" || actual.startsWith("list");
92088
+ function schema$b(configure) {
92089
+ const CelBool = CelRowAccess(configure, { resultType: "bool" });
92090
+ const CelRequest = Expression({
92091
+ configure: (env) => {
92092
+ configure(env);
92093
+ registerRowVariablesIfAbsent(env);
92094
+ },
92095
+ resultType: "HttpRequest"
92096
+ });
92097
+ const CelOptions = Expression({
92098
+ configure: (env) => {
92099
+ configure(env);
92100
+ registerRowVariablesIfAbsent(env);
92101
+ env.registerVariable("json", JSON_VAR.type, { description: JSON_VAR.description });
92102
+ },
92103
+ resultType: isListType$1
92104
+ });
92105
+ const CelOptionValue = Expression({
92106
+ configure: (env) => {
92107
+ configure(env);
92108
+ registerRowVariablesIfAbsent(env);
92109
+ env.registerVariable("option", OPTION_VAR.type, { description: OPTION_VAR.description });
92110
+ },
92111
+ resultType: "dyn"
92112
+ });
92113
+ const LocaleOptionLabel = LocaleMarkdown({
92114
+ configure: (env) => {
92115
+ configure(env);
92116
+ registerRowVariablesIfAbsent(env);
92117
+ env.registerVariable("option", OPTION_VAR.type, { description: OPTION_VAR.description });
92118
+ }
92119
+ });
92120
+ const CelOnChange = Expression({
92121
+ configure: (env) => {
92122
+ configure(env);
92123
+ registerRowVariablesIfAbsent(env);
92124
+ env.registerVariable("value", "dyn", { description: "用户选中的新值(与所选项的 `value` 一致;清空时为 `null`)" });
92125
+ },
92126
+ resultType: "HttpRequest"
92127
+ });
92128
+ const CelMessage = Expression({
92129
+ configure: (env) => {
92130
+ configure(env);
92131
+ env.registerVariable("json", "dyn", { description: "HTTP 响应体(已解析 JSON)" });
92132
+ },
92133
+ resultType: "string"
92134
+ });
92135
+ return Struct({
92136
+ type: Literal2(type$b),
92137
+ compatibilityDate: Literal2(compatibilityDate$b),
92138
+ ...columnFields(configure),
92139
+ placeholder: optional(Locale.annotations({
92140
+ title: "占位符",
92141
+ description: "未选中任何选项时输入框中的占位文本"
92142
+ })),
92143
+ hidden: optional(CelBool.annotations({
92144
+ title: "隐藏条件",
92145
+ description: "返回 `true` 时该行的下拉框不渲染(其余行不受影响)"
92146
+ })),
92147
+ disabled: optional(CelBool.annotations({
92148
+ title: "禁用条件",
92149
+ description: "返回 `true` 时下拉框仍然渲染但不可选择"
92150
+ })),
92151
+ readonly: optional(CelBool.annotations({
92152
+ title: "只读条件",
92153
+ description: "返回 `true` 时仅以纯文本展示当前选项的标签"
92154
+ })),
92155
+ request: CelRequest.annotations({
92156
+ title: "请求",
92157
+ description: "返回 `HttpRequest` 的 CEL 表达式;可访问 `row` 与 `index`。相同签名的请求会在该表格内自动去重"
92158
+ }),
92159
+ options: CelOptions.annotations({
92160
+ title: "选项",
92161
+ description: "从 HTTP 响应体提取选项数组的 CEL 表达式;可访问 `row`、`index` 与 `json`。例:`json.data`"
92162
+ }),
92163
+ optionValue: optionalWith(CelOptionValue.annotations({
92164
+ title: "选项值",
92165
+ description: "从当前 `option` 提取写入值的 CEL;例:`option.value`"
92166
+ }), { default: () => "option" }),
92167
+ optionLabel: optionalWith(LocaleOptionLabel.annotations({
92168
+ title: "选项标签",
92169
+ description: "每个选项展示的本地化文本,支持 `{{ string(option.foo) }}` 插值"
92170
+ }), { default: () => [{ locale: "zh", message: "" }] }),
92171
+ onChange: optional(CelOnChange.annotations({
92172
+ title: "切换请求",
92173
+ description: "用户选择后立即求值并发起的 HTTP 请求;`value` 为新值。未配置时下拉框只读"
92174
+ })),
92175
+ successMessage: optional(CelMessage.annotations({
92176
+ title: "成功消息",
92177
+ description: "请求成功后弹出的 toast 内容;未配置则静默"
92178
+ })),
92179
+ triggers: optional(Triggers.annotations({
92180
+ title: "成功后触发",
92181
+ description: "请求成功后按列表顺序冒泡的操作请求;未配置则什么都不做"
92182
+ }))
92183
+ }).annotations({
92184
+ title: "ComboboxSingleRemoteOptionsRemoteRenderer",
92185
+ description: "下拉单选渲染器(远程写入·远程选项)"
92186
+ });
92187
+ }
92188
+ function toColumnDef$1(value, { getLocaleText, $cel, inheritedContext }) {
92189
+ return {
92190
+ header: getLocaleText(value.title),
92191
+ accessorFn: (row, index) => {
92192
+ try {
92193
+ return runSync($cel(value.accessor, { ...inheritedContext, row, index }));
92194
+ } catch (e) {
92195
+ console.error("[shwfed-table] combobox-single.remote.options-remote accessor failed", e);
92196
+ return void 0;
92197
+ }
92198
+ },
92199
+ enableSorting: value.enableSorting ?? false,
92200
+ sortingFn: "basic",
92201
+ size: value.size,
92202
+ meta: {
92203
+ grow: value.grow ?? false,
92204
+ tooltip: getLocaleText(value.tooltip)
92205
+ }
92206
+ };
92207
+ }
92208
+ const __vite_glob_0_15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
92209
+ __proto__: null,
92210
+ JSON_VAR,
92211
+ OPTION_VAR,
92212
+ compatibilityDate: compatibilityDate$b,
92213
+ metadata: metadata$b,
92214
+ schema: schema$b,
92215
+ toColumnDef: toColumnDef$1,
92216
+ type: type$b
92217
+ }, Symbol.toStringTag, { value: "Module" }));
92218
+ const type$a = "com.shwfed.table.column.combobox-single.remote.options-static";
92219
+ const compatibilityDate$a = "2026-05-24";
92220
+ const metadata$a = {
92221
+ name: "下拉单选(远程·静态选项)",
92222
+ icon: "fluent:chevron-down-20-regular"
92223
+ };
92224
+ function itemSchema(configure) {
92225
+ const LocaleMd = LocaleMarkdownWithRow(configure);
92226
+ const TextValue = Struct({
92227
+ kind: Literal2("text"),
92228
+ value: String$
92229
+ });
92230
+ const NumberValue = Struct({
92231
+ kind: Literal2("number"),
92232
+ value: Number$
92233
+ });
92234
+ const ItemValue = Union2(TextValue, NumberValue).annotations({
92235
+ title: "值",
92236
+ description: "选项绑定的值,可以是文本或数字"
92237
+ });
92238
+ return Struct({
92239
+ id: UUID.annotations({ description: "选项唯一标识,用于稳定的 v-for key" }),
92240
+ label: LocaleMd.annotations({
92241
+ title: "标签",
92242
+ description: "选项展示的本地化文本,支持 Markdown 与 `{{ row.foo }}` / `{{ form.bar }}` 插值"
92243
+ }),
92244
+ value: ItemValue,
92245
+ tooltip: optional(LocaleMd.annotations({
92246
+ title: "提示",
92247
+ description: "鼠标悬停在选项上时展示的本地化提示,支持 Markdown"
92248
+ }))
92249
+ }).annotations({
92250
+ title: "ComboboxSingleRemoteOptionsStaticItem"
92251
+ });
92252
+ }
92253
+ function schema$a(configure) {
92254
+ const CelBool = CelRowAccess(configure, { resultType: "bool" });
92255
+ const Item = itemSchema(configure);
92256
+ const CelOnChange = Expression({
92257
+ configure: (env) => {
92258
+ configure(env);
92259
+ registerRowVariablesIfAbsent(env);
92260
+ env.registerVariable("value", "dyn", { description: "用户选中的新值(与所选项的 `value` 一致;清空时为 `null`)" });
92261
+ },
92262
+ resultType: "HttpRequest"
92263
+ });
92264
+ const CelMessage = Expression({
92265
+ configure: (env) => {
92266
+ configure(env);
92267
+ env.registerVariable("json", "dyn", { description: "HTTP 响应体(已解析 JSON)" });
92268
+ },
92269
+ resultType: "string"
92270
+ });
92271
+ return Struct({
92272
+ type: Literal2(type$a),
92273
+ compatibilityDate: Literal2(compatibilityDate$a),
92274
+ ...columnFields(configure),
92275
+ placeholder: optional(Locale.annotations({
92276
+ title: "占位符",
92277
+ description: "未选中任何选项时输入框中的占位文本"
92278
+ })),
92279
+ hidden: optional(CelBool.annotations({
92280
+ title: "隐藏条件",
92281
+ description: "返回 `true` 时该行的下拉框不渲染(其余行不受影响)"
92282
+ })),
92283
+ disabled: optional(CelBool.annotations({
92284
+ title: "禁用条件",
92285
+ description: "返回 `true` 时下拉框仍然渲染但不可选择"
92286
+ })),
92287
+ readonly: optional(CelBool.annotations({
92288
+ title: "只读条件",
92289
+ description: "返回 `true` 时仅以纯文本展示当前选项的标签"
92290
+ })),
92291
+ items: optionalWith(Array$(Item).annotations({
92292
+ title: "选项",
92293
+ description: "下拉框可选项列表"
92294
+ }), { default: () => [] }),
92295
+ onChange: optional(CelOnChange.annotations({
92296
+ title: "切换请求",
92297
+ description: "用户选择后立即求值并发起的 HTTP 请求;`value` 为新值。未配置时下拉框只读"
92298
+ })),
92299
+ successMessage: optional(CelMessage.annotations({
92300
+ title: "成功消息",
92301
+ description: "请求成功后弹出的 toast 内容;未配置则静默"
92302
+ })),
92303
+ triggers: optional(Triggers.annotations({
92304
+ title: "成功后触发",
92305
+ description: "请求成功后按列表顺序冒泡的操作请求;未配置则什么都不做"
92306
+ }))
92307
+ }).annotations({
92308
+ title: "ComboboxSingleRemoteOptionsStaticRenderer",
92309
+ description: "下拉单选渲染器(远程写入·静态选项)"
92310
+ });
92311
+ }
92312
+ function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
92313
+ return {
92314
+ header: getLocaleText(value.title),
92315
+ accessorFn: (row, index) => {
92316
+ try {
92317
+ return runSync($cel(value.accessor, { ...inheritedContext, row, index }));
92318
+ } catch (e) {
92319
+ console.error("[shwfed-table] combobox-single.remote.options-static accessor failed", e);
92320
+ return void 0;
92321
+ }
92322
+ },
92323
+ enableSorting: value.enableSorting ?? false,
92324
+ sortingFn: "basic",
92325
+ size: value.size,
92326
+ meta: {
92327
+ grow: value.grow ?? false,
92328
+ tooltip: getLocaleText(value.tooltip)
92329
+ }
92330
+ };
92331
+ }
92332
+ const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
92023
92333
  __proto__: null,
92024
92334
  compatibilityDate: compatibilityDate$a,
92335
+ itemSchema,
92025
92336
  metadata: metadata$a,
92026
92337
  schema: schema$a,
92027
92338
  toColumnDef,
@@ -92042,7 +92353,9 @@ const schemaModules$2 = /* @__PURE__ */ Object.assign({
92042
92353
  "../columns/2026-05-20/com.shwfed.table.column.switch.local/schema.ts": __vite_glob_0_11,
92043
92354
  "../columns/2026-05-20/com.shwfed.table.column.switch/schema.ts": __vite_glob_0_12,
92044
92355
  "../columns/2026-05-20/com.shwfed.table.column.text-input/schema.ts": __vite_glob_0_13,
92045
- "../columns/2026-05-21/com.shwfed.table.column.drag-handle/schema.ts": __vite_glob_0_14
92356
+ "../columns/2026-05-21/com.shwfed.table.column.drag-handle/schema.ts": __vite_glob_0_14,
92357
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.ts": __vite_glob_0_15,
92358
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.ts": __vite_glob_0_16
92046
92359
  });
92047
92360
  const configModules$2 = /* @__PURE__ */ Object.assign({
92048
92361
  "../columns/2026-04-14/com.shwfed.table.column.actions/config.vue": __vite_glob_2_5,
@@ -92059,7 +92372,9 @@ const configModules$2 = /* @__PURE__ */ Object.assign({
92059
92372
  "../columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue": __vite_glob_2_5,
92060
92373
  "../columns/2026-05-20/com.shwfed.table.column.switch/config.vue": __vite_glob_2_5,
92061
92374
  "../columns/2026-05-20/com.shwfed.table.column.text-input/config.vue": __vite_glob_2_5,
92062
- "../columns/2026-05-21/com.shwfed.table.column.drag-handle/config.vue": __vite_glob_2_5
92375
+ "../columns/2026-05-21/com.shwfed.table.column.drag-handle/config.vue": __vite_glob_2_5,
92376
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue": __vite_glob_2_5,
92377
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue": __vite_glob_2_5
92063
92378
  });
92064
92379
  const runtimeModules$2 = /* @__PURE__ */ Object.assign({
92065
92380
  "../columns/2026-04-14/com.shwfed.table.column.actions/runtime.vue": __vite_glob_2_5,
@@ -92076,7 +92391,9 @@ const runtimeModules$2 = /* @__PURE__ */ Object.assign({
92076
92391
  "../columns/2026-05-20/com.shwfed.table.column.switch.local/runtime.vue": __vite_glob_2_5,
92077
92392
  "../columns/2026-05-20/com.shwfed.table.column.switch/runtime.vue": __vite_glob_2_5,
92078
92393
  "../columns/2026-05-20/com.shwfed.table.column.text-input/runtime.vue": __vite_glob_2_5,
92079
- "../columns/2026-05-21/com.shwfed.table.column.drag-handle/runtime.vue": __vite_glob_2_5
92394
+ "../columns/2026-05-21/com.shwfed.table.column.drag-handle/runtime.vue": __vite_glob_2_5,
92395
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue": __vite_glob_2_5,
92396
+ "../columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue": __vite_glob_2_5
92080
92397
  });
92081
92398
  const sourceKey$1 = (type2, compatibilityDate2) => `${type2}@${compatibilityDate2}`;
92082
92399
  const registry$2 = defineRegistry({
@@ -92925,8 +93242,8 @@ const schemaModules$1 = /* @__PURE__ */ Object.assign({
92925
93242
  "../fields/2026-04-28/com.shwfed.form.field.numberrange/schema.ts": __vite_glob_0_12$1,
92926
93243
  "../fields/2026-04-28/com.shwfed.form.field.switch/schema.ts": __vite_glob_0_13$1,
92927
93244
  "../fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.ts": __vite_glob_0_14$1,
92928
- "../fields/2026-05-12/com.shwfed.form.field.upload/schema.ts": __vite_glob_0_15,
92929
- "../fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.ts": __vite_glob_0_16,
93245
+ "../fields/2026-05-12/com.shwfed.form.field.upload/schema.ts": __vite_glob_0_15$1,
93246
+ "../fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.ts": __vite_glob_0_16$1,
92930
93247
  "../fields/2026-05-13/com.shwfed.form.field.list/schema.ts": __vite_glob_0_17,
92931
93248
  "../fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.ts": __vite_glob_0_18,
92932
93249
  "../fields/2026-05-17/com.shwfed.form.field.radio.group/schema.ts": __vite_glob_0_19,
@@ -93667,6 +93984,65 @@ function PageConfig(configure) {
93667
93984
  description: "页面组件完整配置"
93668
93985
  });
93669
93986
  }
93987
+ const comboboxSingleRemote = {
93988
+ scenario: "combobox-single-remote",
93989
+ title: "表格内的下拉单选(写入服务端,选项静态或远程)",
93990
+ summary: "两个表格列渲染器:远程写入 + 静态选项 / 远程写入 + 远程选项;后者跨行去重 GET。",
93991
+ notes: [
93992
+ "两个 `type` 对应两个独立的列变体;用哪一个取决于选项是不是固定的。`onChange` 字段是两者共用的写回路径,与列里只读的 `switch.remote` 写回语义一致。",
93993
+ '`accessor` 是只读 CEL(不是 `binding`)。单元格当前值由 `accessor(row, index)` 求值得到,作为下拉框的"已选项"用于回显。写入路径完全由 `onChange` 负责 —— 服务端持久化成功后由外部刷新表格驱动 UI 更新。',
93994
+ "`onChange` 的 CEL 作用域里有 `row`、`index`、`value`(用户新选的值,与所选项 `value` 一致;点清除时为 `null`)。返回 `HttpRequest`,宿主代为发起;写请求**从不去重**,两行同时切换必然发两次。",
93995
+ "`successMessage`(可选)在响应到达后从 `json` 提取一段文本作为 toast。`triggers`(可选)通常会附一个 `{ target: <table-id>, operation: 'reload' }` 让表格本地拉新值刷新当前行。",
93996
+ "`options-remote` 变体的 `request` 是行级 CEL,可以引用 `row.*`,例如 `http.get('/api/options?for=' + string(row.kind))`。**宿主按请求签名(URL + method + 排序后 headers)做表格内级别的去重 GET**:N 行解析到相同签名 = 一次底层请求;如果 `request` 不引用 `row`,所有行天然共享同一个 in-flight 调用,初次渲染只会发 1 次。POST/PUT/PATCH/DELETE 不进去重缓存。",
93997
+ "`options-remote` 的 `options` CEL 从响应体抽出数组,作用域有 `row`、`index`、`json`;`optionValue` / `optionLabel` 以单个 `option` 为输入。`json` 在请求未完成或失败时为 `null` —— 用 `json == null ? [] : json.data` 之类的写法兜底。",
93998
+ "`<table-id>` 是该列所在 table 块的 id —— 用作 `triggers[].target` 让保存成功后通知表格自身刷新。"
93999
+ ],
94000
+ fragment: {
94001
+ columns: [
94002
+ {
94003
+ type: "com.shwfed.table.column.combobox-single.remote.options-static",
94004
+ compatibilityDate: "2026-05-24",
94005
+ id: "<role-column-id>",
94006
+ title: [{ locale: "zh", message: "角色" }],
94007
+ accessor: "row.role",
94008
+ items: [
94009
+ {
94010
+ id: "<role-option-admin-id>",
94011
+ label: [{ locale: "zh", message: "管理员" }],
94012
+ value: { kind: "text", value: "admin" }
94013
+ },
94014
+ {
94015
+ id: "<role-option-editor-id>",
94016
+ label: [{ locale: "zh", message: "编辑" }],
94017
+ value: { kind: "text", value: "editor" }
94018
+ },
94019
+ {
94020
+ id: "<role-option-viewer-id>",
94021
+ label: [{ locale: "zh", message: "只读" }],
94022
+ value: { kind: "text", value: "viewer" }
94023
+ }
94024
+ ],
94025
+ onChange: "http.patch(hostname + '/api/users/' + string(row.id))\n .header('access_token', token)\n .body({ role: value })",
94026
+ successMessage: "'已更新'",
94027
+ triggers: [{ target: "<table-id>", operation: "reload" }]
94028
+ },
94029
+ {
94030
+ type: "com.shwfed.table.column.combobox-single.remote.options-remote",
94031
+ compatibilityDate: "2026-05-24",
94032
+ id: "<status-column-id>",
94033
+ title: [{ locale: "zh", message: "状态" }],
94034
+ accessor: "row.status",
94035
+ request: "http.get(hostname + '/api/statuses').header('access_token', token)",
94036
+ options: "json.?data.orValue([])",
94037
+ optionValue: "option.value",
94038
+ optionLabel: [{ locale: "zh", message: "{{ option.name }}" }],
94039
+ onChange: "http.patch(hostname + '/api/items/' + string(row.id))\n .header('access_token', token)\n .body({ status: value })",
94040
+ successMessage: "'已更新'",
94041
+ triggers: [{ target: "<table-id>", operation: "reload" }]
94042
+ }
94043
+ ]
94044
+ }
94045
+ };
93670
94046
  const formSubmitCancel = {
93671
94047
  scenario: "form-submit-cancel",
93672
94048
  title: "模态表单底部的取消 / 保存按钮",
@@ -93841,6 +94217,7 @@ const tableSearchBar = {
93841
94217
  const EXAMPLES = [
93842
94218
  tableSearchBar,
93843
94219
  tableDefaults,
94220
+ comboboxSingleRemote,
93844
94221
  formSubmitCancel
93845
94222
  ];
93846
94223
  const isObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);