@shwfed/config 2.4.1 → 2.5.1

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 (166) hide show
  1. package/dist/mcp.mjs +222 -45
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-ByTxMBcK.js → config-2hrRmW-I.js} +1 -1
  4. package/dist/preview/assets/{config-Q86AhjHq.js → config-BfzthOw9.js} +1 -1
  5. package/dist/preview/assets/{config-C7xYpB3N.js → config-BsgSoDjY.js} +1 -1
  6. package/dist/preview/assets/{config-CH9wsYX8.js → config-CaLzEMyt.js} +1 -1
  7. package/dist/preview/assets/{config-D50Rl2n_.js → config-DKtPKn2s.js} +1 -1
  8. package/dist/preview/assets/{config-BovRv7Mw.js → config-DdgZWox9.js} +1 -1
  9. package/dist/preview/assets/{config-Ch5dL5lp.js → config-h_LH1CT_.js} +1 -1
  10. package/dist/preview/assets/{config-DiwVK32V.js → config-nsiwkAq8.js} +1 -1
  11. package/dist/preview/assets/{config-EKVeWrbS.js → config-zxVo1EOM.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-D8NPPbjZ.js → definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js} +1 -1
  13. package/dist/preview/assets/index-C0NJ1FZp.js +1 -0
  14. package/dist/preview/assets/index-C5dK4QAf.js +668 -0
  15. package/dist/preview/assets/{index-65eB1l4r.css → index-nvAUAYGM.css} +1 -1
  16. package/dist/preview/assets/{runtime-D34aQN00.js → runtime-527oKJb4.js} +1 -1
  17. package/dist/preview/assets/{runtime-BP7zXnyG.js → runtime-BLhH77F7.js} +1 -1
  18. package/dist/preview/assets/{runtime-a9TOQRwD.js → runtime-BRWnAaFs.js} +1 -1
  19. package/dist/preview/assets/{runtime-BwR_BbTu.js → runtime-CEXA5ttw.js} +1 -1
  20. package/dist/preview/assets/{runtime-Cunk4vOs.js → runtime-CZZWuLu9.js} +1 -1
  21. package/dist/preview/assets/{runtime-Ch3JIgUQ.js → runtime-DOLtY37Y.js} +1 -1
  22. package/dist/preview/assets/{runtime-BQSwNpLC.js → runtime-DZqXButD.js} +1 -1
  23. package/dist/preview/assets/{runtime-aPt-bW3F.js → runtime-MJo092Ed.js} +1 -1
  24. package/dist/preview/assets/{runtime-CjvZcU7X.js → runtime-i3-6DCWP.js} +1 -1
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +1 -1
  27. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +2 -2
  28. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +2 -2
  29. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +2 -2
  30. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +2 -2
  31. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +2 -2
  32. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +2 -2
  33. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +20 -20
  34. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +20 -20
  35. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +20 -20
  36. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +20 -20
  37. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +20 -20
  38. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +20 -20
  39. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +20 -20
  40. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +20 -20
  41. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +20 -20
  42. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +20 -20
  43. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +20 -20
  44. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +20 -20
  45. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +20 -20
  46. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +20 -20
  47. package/dist/runtime/components/form/index.vue +5 -18
  48. package/dist/runtime/components/form/schema.d.ts +2 -10
  49. package/dist/runtime/components/form/schema.js +2 -5
  50. package/dist/runtime/components/form/utils/cel-scope.d.ts +12 -3
  51. package/dist/runtime/components/form/utils/cel-scope.js +17 -18
  52. package/dist/runtime/components/form/utils/form-vars.d.ts +19 -0
  53. package/dist/runtime/components/form/utils/form-vars.js +5 -0
  54. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts +1 -0
  55. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.js +8 -0
  56. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/config.vue +20 -8
  57. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +2 -0
  58. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.js +8 -0
  59. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/config.vue +21 -8
  60. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +2 -0
  61. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.js +7 -0
  62. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.d.ts +1 -0
  63. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.js +7 -0
  64. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/config.vue +21 -8
  65. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +2 -0
  66. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.js +8 -0
  67. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +1 -0
  68. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +5 -0
  69. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/config.vue +21 -8
  70. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +2 -0
  71. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.js +7 -0
  72. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/config.vue +21 -8
  73. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.d.ts +1 -0
  74. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/config.vue +21 -8
  75. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +2 -0
  76. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.js +7 -0
  77. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  78. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue +20 -8
  79. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  80. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  81. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +20 -7
  82. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +2 -0
  83. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +7 -0
  84. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/config.vue +20 -8
  85. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +1 -0
  86. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +20 -8
  87. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +2 -0
  88. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +7 -0
  89. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +20 -8
  90. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +2 -0
  91. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +7 -0
  92. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +6 -4
  93. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue +21 -8
  94. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +6 -4
  95. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +1 -0
  96. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +4 -2
  97. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue +20 -8
  98. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +4 -2
  99. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +1 -0
  100. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  101. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  102. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  103. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  104. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +6 -4
  105. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue +21 -8
  106. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +6 -4
  107. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +1 -0
  108. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +4 -2
  109. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue +20 -8
  110. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +4 -2
  111. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +1 -0
  112. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +4 -2
  113. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  114. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +4 -2
  115. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  116. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +6 -4
  117. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue +20 -8
  118. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +6 -4
  119. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.d.ts +1 -0
  120. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +4 -2
  121. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue +20 -8
  122. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +4 -2
  123. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  124. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +6 -4
  125. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue +20 -8
  126. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +6 -4
  127. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.d.ts +1 -0
  128. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -6
  129. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +20 -7
  130. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -6
  131. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  132. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +6 -4
  133. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +20 -7
  134. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +6 -4
  135. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  136. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +6 -4
  137. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  138. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +6 -4
  139. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +2 -0
  140. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.js +10 -1
  141. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +6 -4
  142. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue +20 -8
  143. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +6 -4
  144. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +2 -0
  145. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.js +10 -1
  146. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -6
  147. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue +20 -7
  148. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -6
  149. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  150. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +3 -0
  151. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +6 -4
  152. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue +20 -7
  153. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +6 -4
  154. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  155. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +3 -0
  156. package/dist/runtime/components/table/config.vue +24 -103
  157. package/dist/runtime/components/table/index.vue +22 -2
  158. package/dist/runtime/components/table/schema.d.ts +4 -2
  159. package/dist/runtime/components/table/schema.js +69 -13
  160. package/dist/runtime/components/table/utils/resolve.d.ts +14 -0
  161. package/dist/runtime/components/table/utils/resolve.js +2 -1
  162. package/dist/runtime/components/table/utils/shared.d.ts +2 -0
  163. package/dist/runtime/components/table/utils/shared.js +10 -2
  164. package/package.json +1 -1
  165. package/dist/preview/assets/index-CIrlYN0M.js +0 -1
  166. package/dist/preview/assets/index-DUDlWaQI.js +0 -661
@@ -46,16 +46,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
46
46
  readonly data: string;
47
47
  readonly request?: string | undefined;
48
48
  };
49
- readonly nodeKey: string;
50
- readonly nodeChildren: string;
51
- readonly nodeLabel: readonly [{
52
- readonly locale: "zh";
53
- readonly message: string;
54
- }, ...{
55
- readonly locale: "en" | "ja" | "ko";
56
- readonly message: string;
57
- }[]];
58
- readonly expandAll: boolean;
59
49
  readonly validations?: readonly {
60
50
  readonly message: readonly [{
61
51
  readonly locale: "zh";
@@ -67,6 +57,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
57
  readonly warning?: boolean | undefined;
68
58
  readonly when: string;
69
59
  }[] | undefined;
60
+ readonly nodeKey: string;
61
+ readonly nodeChildren: string;
62
+ readonly nodeLabel: readonly [{
63
+ readonly locale: "zh";
64
+ readonly message: string;
65
+ }, ...{
66
+ readonly locale: "en" | "ja" | "ko";
67
+ readonly message: string;
68
+ }[]];
70
69
  readonly nodeTooltip?: readonly [{
71
70
  readonly locale: "zh";
72
71
  readonly message: string;
@@ -75,6 +74,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
75
74
  readonly message: string;
76
75
  }[]] | undefined;
77
76
  readonly nodeSelectable?: string | undefined;
77
+ readonly expandAll: boolean;
78
78
  }) => any;
79
79
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
80
80
  "onUpdate:modelValue"?: ((value: {
@@ -120,16 +120,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
120
  readonly data: string;
121
121
  readonly request?: string | undefined;
122
122
  };
123
- readonly nodeKey: string;
124
- readonly nodeChildren: string;
125
- readonly nodeLabel: readonly [{
126
- readonly locale: "zh";
127
- readonly message: string;
128
- }, ...{
129
- readonly locale: "en" | "ja" | "ko";
130
- readonly message: string;
131
- }[]];
132
- readonly expandAll: boolean;
133
123
  readonly validations?: readonly {
134
124
  readonly message: readonly [{
135
125
  readonly locale: "zh";
@@ -141,6 +131,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
141
131
  readonly warning?: boolean | undefined;
142
132
  readonly when: string;
143
133
  }[] | undefined;
134
+ readonly nodeKey: string;
135
+ readonly nodeChildren: string;
136
+ readonly nodeLabel: readonly [{
137
+ readonly locale: "zh";
138
+ readonly message: string;
139
+ }, ...{
140
+ readonly locale: "en" | "ja" | "ko";
141
+ readonly message: string;
142
+ }[]];
144
143
  readonly nodeTooltip?: readonly [{
145
144
  readonly locale: "zh";
146
145
  readonly message: string;
@@ -149,6 +148,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
149
148
  readonly message: string;
150
149
  }[]] | undefined;
151
150
  readonly nodeSelectable?: string | undefined;
151
+ readonly expandAll: boolean;
152
152
  }) => any) | undefined;
153
153
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
154
154
  declare const _default: typeof __VLS_export;
@@ -10,6 +10,7 @@ import {
10
10
  provideCELContext
11
11
  } from "../../utils/cel-context";
12
12
  import FormUnitRenderer from "./FormUnitRenderer.vue";
13
+ import { buildFormRuntimeScope } from "./utils/cel-scope";
13
14
  import { provideCommitBus } from "./utils/commit-bus";
14
15
  import { provideDerivedQuiescence, useDerived } from "./utils/derived";
15
16
  import { useFormHistory } from "./utils/history";
@@ -27,24 +28,10 @@ const props = defineProps({
27
28
  const configure = props.configure ?? (() => {
28
29
  });
29
30
  void configure;
30
- provideCELContext({
31
- form: {
32
- type: "dyn",
33
- label: "form",
34
- description: "\u5F53\u524D\u8868\u5355\u72B6\u6001",
35
- value: () => state.value ?? {}
36
- },
37
- // Same thunk pattern: `now` stays live (fresh Date at click time, not at
38
- // provide time). Must be a `TZDate`: CEL's type registry maps the `Date`
39
- // type to the `TZDate` constructor exactly, so a plain `new Date()` fails
40
- // the constructor lookup.
41
- now: {
42
- type: "Date",
43
- label: "now",
44
- description: "\u5F53\u524D\u65E5\u671F/\u65F6\u95F4",
45
- value: () => new TZDate()
46
- }
47
- });
31
+ provideCELContext(buildFormRuntimeScope({
32
+ form: () => state.value ?? {},
33
+ now: () => new TZDate()
34
+ }));
48
35
  const inherited = injectCELContext();
49
36
  const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
50
37
  const formState = provideFormState(state);
@@ -1,6 +1,7 @@
1
1
  import { Schema } from 'effect';
2
2
  import type { Environment } from '../../vendor/cel-js/lib/index.js';
3
3
  import type { InitialSource } from './utils/initial.js';
4
+ import { registerFormVariablesIfAbsent } from './utils/form-vars.js';
4
5
  import { type LayoutSetValue } from '../../share/layout.js';
5
6
  export { commonFieldFields } from './utils/common.js';
6
7
  export { getStructFieldTitle, getStructFieldDescription } from './utils/schema-meta.js';
@@ -69,16 +70,7 @@ export declare function FormUnit(configure: (env: Environment) => void): Schema.
69
70
  }>;
70
71
  }>>>;
71
72
  }>>;
72
- /**
73
- * Register the form-wide `now` / `form` live variables on `env`, skipping any
74
- * already declared. Idempotent so it composes safely from either side: a
75
- * `FormConfig` nested inside another (the `table` form field embeds a table
76
- * whose `query` is its own sub-form, and the embedding `configure` advertises
77
- * the same pair) would otherwise register `form` twice on one env and the CEL
78
- * registry throws `'form' is already registered`. Mirrors
79
- * `registerRowVariablesIfAbsent`.
80
- */
81
- export declare function registerFormVariablesIfAbsent(env: Environment): void;
73
+ export { registerFormVariablesIfAbsent };
82
74
  export declare function FormConfig(configure: (env: Environment) => void): Schema.refine<{
83
75
  readonly style?: string | undefined;
84
76
  readonly initial?: {
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "effect";
2
2
  import { Expression } from "../../share/expression.js";
3
3
  import { allFieldSchemas } from "./utils/resolve.js";
4
+ import { registerFormVariablesIfAbsent } from "./utils/form-vars.js";
4
5
  import { md } from "../../share/markdown.js";
5
6
  import {
6
7
  LayoutSet,
@@ -37,11 +38,7 @@ export function FormUnit(configure) {
37
38
  description: "\u4E00\u7EC4\u8868\u5355\u5B57\u6BB5\u53CA\u5176\u5E03\u5C40"
38
39
  });
39
40
  }
40
- export function registerFormVariablesIfAbsent(env) {
41
- const declared = new Set(env.getDefinitions().variables.map((v) => v.name));
42
- if (!declared.has("now")) env.registerVariable("now", "Date", { label: "\u5F53\u524D\u65F6\u95F4", description: "\u5F53\u524D\u65E5\u671F/\u65F6\u95F4" });
43
- if (!declared.has("form")) env.registerVariable("form", "dyn", { label: "\u8868\u5355\u503C", description: "\u5F53\u524D\u8868\u5355\u72B6\u6001" });
44
- }
41
+ export { registerFormVariablesIfAbsent };
45
42
  export function FormConfig(configure) {
46
43
  const formConfigure = (env) => {
47
44
  registerFormVariablesIfAbsent(env);
@@ -2,12 +2,21 @@ import { Environment } from '../../../vendor/cel-js/lib/index.js';
2
2
  import type { CELContext } from '../../../utils/cel-context.js';
3
3
  /**
4
4
  * Builds the CEL variable scope advertised to a form's expression editors and
5
- * AI assists. Seeds the form-wide `form` / `now` live variables, then probes a
6
- * throwaway `Environment` with the host's `configure` to surface any
7
- * host-registered variables (their type / label / description).
5
+ * AI assists. Probes the form-wide `form` / `now` registrar
6
+ * (`registerFormVariablesIfAbsent` the single source of truth, also feeding
7
+ * every field's expression validator) plus the host's `configure` to surface
8
+ * host-registered variables.
8
9
  *
9
10
  * Values are left `undefined` — this scope is for designer-time advertising
10
11
  * and prompt rendering, never evaluation. Extracted from `form/config.vue` so
11
12
  * the field-list AI button can reuse the exact same scope.
12
13
  */
13
14
  export declare function buildFormCelScope(configure: (env: Environment) => void): CELContext;
15
+ /**
16
+ * Builds the runtime form-wide scope provided by `form/index.vue`. The `form` /
17
+ * `now` metadata (type/label/description) is probed from the same
18
+ * `registerFormVariablesIfAbsent` registrar as the designer scope above, so the
19
+ * two can't drift; `values` overlays the live evaluation thunks the designer
20
+ * scope leaves `undefined`, keyed by variable name.
21
+ */
22
+ export declare function buildFormRuntimeScope(values: Record<string, () => unknown>): CELContext;
@@ -1,24 +1,10 @@
1
1
  import { Environment } from "../../../vendor/cel-js/lib/index.js";
2
- export function buildFormCelScope(configure) {
2
+ import { registerFormVariablesIfAbsent } from "./form-vars.js";
3
+ function probeCELContext(register) {
3
4
  const probe = new Environment({ unlistedVariablesAreDyn: false });
4
5
  const baseline = new Set(probe.getDefinitions().variables.map((v) => v.name));
5
- configure(probe);
6
- const out = {
7
- form: {
8
- type: "dyn",
9
- label: "\u8868\u5355\u503C",
10
- description: "\u5F53\u524D\u8868\u5355\u72B6\u6001",
11
- value: void 0
12
- },
13
- // Mirrors the runtime `now` binding in `form/index.vue`. Editors and
14
- // prompts never evaluate, so we leave `value` undefined.
15
- now: {
16
- type: "Date",
17
- label: "now",
18
- description: "\u5F53\u524D\u65E5\u671F/\u65F6\u95F4",
19
- value: void 0
20
- }
21
- };
6
+ register(probe);
7
+ const out = {};
22
8
  for (const v of probe.getDefinitions().variables) {
23
9
  if (baseline.has(v.name)) continue;
24
10
  out[v.name] = {
@@ -30,3 +16,16 @@ export function buildFormCelScope(configure) {
30
16
  }
31
17
  return out;
32
18
  }
19
+ export function buildFormCelScope(configure) {
20
+ return probeCELContext((env) => {
21
+ registerFormVariablesIfAbsent(env);
22
+ configure(env);
23
+ });
24
+ }
25
+ export function buildFormRuntimeScope(values) {
26
+ const out = probeCELContext(registerFormVariablesIfAbsent);
27
+ for (const [name, value] of Object.entries(values)) {
28
+ if (out[name]) out[name].value = value;
29
+ }
30
+ return out;
31
+ }
@@ -0,0 +1,19 @@
1
+ import type { Environment } from '../../../vendor/cel-js/lib/index.js';
2
+ /**
3
+ * Register the form-wide `now` / `form` live variables on `env`, skipping any
4
+ * already declared. Idempotent so it composes safely from either side: a
5
+ * `FormConfig` nested inside another (the `table` form field embeds a table
6
+ * whose `query` is its own sub-form, and the embedding `configure` advertises
7
+ * the same pair) would otherwise register `form` twice on one env and the CEL
8
+ * registry throws `'form' is already registered`. Mirrors
9
+ * `registerRowVariablesIfAbsent`.
10
+ *
11
+ * This is the single source of truth for the `form` / `now` metadata: the
12
+ * schema's expression validators register it here, the designer-time picker
13
+ * probes it (`buildFormCelScope`), and the runtime scope derives its
14
+ * type/label/description from it too (`buildFormRuntimeScope`). Lives in this
15
+ * dependency-light module — not `schema.ts` — so the scope helpers can import it
16
+ * without pulling `utils/resolve` (and its `import.meta.glob`) into per-folder
17
+ * unit tests. `schema.ts` re-exports it for existing call sites.
18
+ */
19
+ export declare function registerFormVariablesIfAbsent(env: Environment): void;
@@ -0,0 +1,5 @@
1
+ export function registerFormVariablesIfAbsent(env) {
2
+ const declared = new Set(env.getDefinitions().variables.map((v) => v.name));
3
+ if (!declared.has("now")) env.registerVariable("now", "Date", { label: "\u5F53\u524D\u65F6\u95F4", description: "\u5F53\u524D\u65E5\u671F/\u65F6\u95F4" });
4
+ if (!declared.has("form")) env.registerVariable("form", "dyn", { label: "\u8868\u5355\u503C", description: "\u5F53\u524D\u8868\u5355\u72B6\u6001" });
5
+ }
@@ -149,4 +149,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
149
149
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
150
150
  }>;
151
151
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
152
+ export declare function defaults(): Partial<Value>;
152
153
  export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -32,6 +32,14 @@ export function schema(configure) {
32
32
  ...actionFieldsForColumn
33
33
  }).annotations({ title: "ActionsRenderer", description: "\u64CD\u4F5C\u6E32\u67D3\u5668" });
34
34
  }
35
+ export function defaults() {
36
+ return {
37
+ title: [{ locale: "zh", message: "" }],
38
+ size: 200,
39
+ groups: [],
40
+ items: []
41
+ };
42
+ }
35
43
  export function toColumnDef(value, { getLocaleText }) {
36
44
  return {
37
45
  header: value.title ? getLocaleText(value.title) : void 0,
@@ -3,7 +3,6 @@ import { computed } from "vue";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import { format as formatDate } from "date-fns";
5
5
  import { Input } from "../../../../ui/input";
6
- import { Switch } from "../../../../ui/switch";
7
6
  import { Separator } from "../../../../ui/separator";
8
7
  import { Field, FieldLabel } from "../../../../ui/field";
9
8
  import { Locale } from "../../../../ui/locale";
@@ -199,14 +198,10 @@ const dateFormatExample = computed(() => {
199
198
  <Separator />
200
199
  <div class="flex flex-wrap gap-x-8 gap-y-3">
201
200
  <Field
202
- orientation="horizontal"
203
- class="w-auto gap-2"
201
+ orientation="vertical"
202
+ class="w-full max-w-xs"
204
203
  >
205
- <Switch
206
- :model-value="value.enableSorting ?? false"
207
- @update:model-value="(v) => value.enableSorting = v"
208
- />
209
- <FieldLabel class="text-sm text-zinc-600">
204
+ <FieldLabel class="text-xs text-zinc-500">
210
205
  <template
211
206
  v-if="fieldDescription('enableSorting')"
212
207
  #tooltip
@@ -219,6 +214,23 @@ const dateFormatExample = computed(() => {
219
214
  </template>
220
215
  {{ fieldTitle("enableSorting") }}
221
216
  </FieldLabel>
217
+ <InputGroup>
218
+ <InputGroupInput
219
+ :model-value="value.sortKey"
220
+ placeholder="例:created_at"
221
+ @update:model-value="(v) => value.sortKey = v || void 0"
222
+ />
223
+ <InputGroupAddon align="inline-end">
224
+ <InputGroupButton
225
+ :variant="value.enableSorting ? 'primary' : 'ghost'"
226
+ size="xs"
227
+ @click="value.enableSorting = !value.enableSorting"
228
+ >
229
+ <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
230
+ {{ fieldTitle("enableSorting") }}
231
+ </InputGroupButton>
232
+ </InputGroupAddon>
233
+ </InputGroup>
222
234
  </Field>
223
235
  </div>
224
236
  </div>
@@ -22,6 +22,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
22
22
  }>]>;
23
23
  accessor: Schema.Schema<string, string, never>;
24
24
  enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
25
+ sortKey: Schema.optional<Schema.refine<string, typeof Schema.String>>;
25
26
  size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
26
27
  grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
27
28
  tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
@@ -37,4 +38,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
37
38
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
38
39
  }>;
39
40
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
41
+ export declare function defaults(): Partial<Value>;
40
42
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -21,6 +21,14 @@ export function schema(configure) {
21
21
  })
22
22
  }).annotations({ title: "DateRenderer", description: "\u65E5\u671F\u6E32\u67D3\u5668" });
23
23
  }
24
+ export function defaults() {
25
+ return {
26
+ title: [{ locale: "zh", message: "" }],
27
+ accessor: "",
28
+ format: "yyyy-MM-dd",
29
+ size: 120
30
+ };
31
+ }
24
32
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
25
33
  return {
26
34
  header: getLocaleText(value.title),
@@ -2,7 +2,6 @@
2
2
  import { computed } from "vue";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import { ExpressionEditor } from "../../../../ui/expression-editor";
5
- import { Switch } from "../../../../ui/switch";
6
5
  import { Separator } from "../../../../ui/separator";
7
6
  import { Field, FieldLabel } from "../../../../ui/field";
8
7
  import { Locale } from "../../../../ui/locale";
@@ -10,6 +9,7 @@ import {
10
9
  InputGroup,
11
10
  InputGroupAddon,
12
11
  InputGroupButton,
12
+ InputGroupInput,
13
13
  InputGroupNumberField
14
14
  } from "../../../../ui/input-group";
15
15
  import {
@@ -189,14 +189,10 @@ const ROW_VARS = {
189
189
  <Separator />
190
190
  <div class="flex flex-wrap gap-x-8 gap-y-3">
191
191
  <Field
192
- orientation="horizontal"
193
- class="w-auto gap-2"
192
+ orientation="vertical"
193
+ class="w-full max-w-xs"
194
194
  >
195
- <Switch
196
- :model-value="value.enableSorting ?? false"
197
- @update:model-value="(v) => value.enableSorting = v"
198
- />
199
- <FieldLabel class="text-sm text-zinc-600">
195
+ <FieldLabel class="text-xs text-zinc-500">
200
196
  <template
201
197
  v-if="fieldDescription('enableSorting')"
202
198
  #tooltip
@@ -209,6 +205,23 @@ const ROW_VARS = {
209
205
  </template>
210
206
  {{ fieldTitle("enableSorting") }}
211
207
  </FieldLabel>
208
+ <InputGroup>
209
+ <InputGroupInput
210
+ :model-value="value.sortKey"
211
+ placeholder="例:created_at"
212
+ @update:model-value="(v) => value.sortKey = v || void 0"
213
+ />
214
+ <InputGroupAddon align="inline-end">
215
+ <InputGroupButton
216
+ :variant="value.enableSorting ? 'primary' : 'ghost'"
217
+ size="xs"
218
+ @click="value.enableSorting = !value.enableSorting"
219
+ >
220
+ <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
221
+ {{ fieldTitle("enableSorting") }}
222
+ </InputGroupButton>
223
+ </InputGroupAddon>
224
+ </InputGroup>
212
225
  </Field>
213
226
  </div>
214
227
  </div>
@@ -22,6 +22,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
22
22
  message: Schema.SchemaClass<string, string, never>;
23
23
  }>]>;
24
24
  enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
25
+ sortKey: Schema.optional<Schema.refine<string, typeof Schema.String>>;
25
26
  size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
26
27
  grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
27
28
  tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
@@ -37,4 +38,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
37
38
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
38
39
  }>;
39
40
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
41
+ export declare function defaults(): Partial<Value>;
40
42
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -24,6 +24,13 @@ export function schema(configure) {
24
24
  align: Schema.optionalWith(Align.annotations({ title: "\u5BF9\u9F50" }), { default: () => "center" })
25
25
  }).annotations({ title: "IconRenderer", description: "\u56FE\u6807\u6E32\u67D3\u5668" });
26
26
  }
27
+ export function defaults() {
28
+ return {
29
+ title: [{ locale: "zh", message: "" }],
30
+ accessor: "",
31
+ size: 120
32
+ };
33
+ }
27
34
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
28
35
  return {
29
36
  header: getLocaleText(value.title),
@@ -48,4 +48,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
48
48
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
49
49
  }>;
50
50
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
51
+ export declare function defaults(): Partial<Value>;
51
52
  export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -39,6 +39,13 @@ export function schema(configure) {
39
39
  }))
40
40
  }).annotations({ title: "MarkdownRenderer", description: "MD" });
41
41
  }
42
+ export function defaults() {
43
+ return {
44
+ title: [{ locale: "zh", message: "" }],
45
+ markdown: [{ locale: "zh", message: "" }],
46
+ size: 120
47
+ };
48
+ }
42
49
  export function toColumnDef(value, { getLocaleText }) {
43
50
  return {
44
51
  header: getLocaleText(value.title),
@@ -2,7 +2,6 @@
2
2
  import { computed } from "vue";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import { Input } from "../../../../ui/input";
5
- import { Switch } from "../../../../ui/switch";
6
5
  import { Separator } from "../../../../ui/separator";
7
6
  import { Field, FieldLabel } from "../../../../ui/field";
8
7
  import { Locale } from "../../../../ui/locale";
@@ -10,6 +9,7 @@ import {
10
9
  InputGroup,
11
10
  InputGroupAddon,
12
11
  InputGroupButton,
12
+ InputGroupInput,
13
13
  InputGroupNumberField
14
14
  } from "../../../../ui/input-group";
15
15
  import {
@@ -267,14 +267,10 @@ function onPreserveDigitsChange(v) {
267
267
  <Separator />
268
268
  <div class="flex flex-wrap gap-x-8 gap-y-3">
269
269
  <Field
270
- orientation="horizontal"
271
- class="w-auto gap-2"
270
+ orientation="vertical"
271
+ class="w-full max-w-xs"
272
272
  >
273
- <Switch
274
- :model-value="value.enableSorting ?? false"
275
- @update:model-value="(v) => value.enableSorting = v"
276
- />
277
- <FieldLabel class="text-sm text-zinc-600">
273
+ <FieldLabel class="text-xs text-zinc-500">
278
274
  <template
279
275
  v-if="fieldDescription('enableSorting')"
280
276
  #tooltip
@@ -287,6 +283,23 @@ function onPreserveDigitsChange(v) {
287
283
  </template>
288
284
  {{ fieldTitle("enableSorting") }}
289
285
  </FieldLabel>
286
+ <InputGroup>
287
+ <InputGroupInput
288
+ :model-value="value.sortKey"
289
+ placeholder="例:created_at"
290
+ @update:model-value="(v) => value.sortKey = v || void 0"
291
+ />
292
+ <InputGroupAddon align="inline-end">
293
+ <InputGroupButton
294
+ :variant="value.enableSorting ? 'primary' : 'ghost'"
295
+ size="xs"
296
+ @click="value.enableSorting = !value.enableSorting"
297
+ >
298
+ <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
299
+ {{ fieldTitle("enableSorting") }}
300
+ </InputGroupButton>
301
+ </InputGroupAddon>
302
+ </InputGroup>
290
303
  </Field>
291
304
  </div>
292
305
  </div>
@@ -26,6 +26,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
26
26
  }>]>;
27
27
  accessor: Schema.Schema<string, string, never>;
28
28
  enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
29
+ sortKey: Schema.optional<Schema.refine<string, typeof Schema.String>>;
29
30
  size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
30
31
  grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
31
32
  tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
@@ -41,4 +42,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
41
42
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
42
43
  }>;
43
44
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
45
+ export declare function defaults(): Partial<Value>;
44
46
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -29,6 +29,14 @@ export function schema(configure) {
29
29
  }))
30
30
  }).annotations({ title: "NumberRenderer", description: "\u6570\u503C\u6E32\u67D3\u5668" });
31
31
  }
32
+ export function defaults() {
33
+ return {
34
+ title: [{ locale: "zh", message: "" }],
35
+ accessor: "",
36
+ size: 120,
37
+ align: "right"
38
+ };
39
+ }
32
40
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
33
41
  return {
34
42
  header: getLocaleText(value.title),
@@ -19,4 +19,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
19
19
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
20
20
  }>;
21
21
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
22
+ export declare function defaults(): Partial<Value>;
22
23
  export declare function toColumnDef(value: Value): Partial<ColumnDef<unknown, unknown>>;
@@ -35,6 +35,11 @@ export function schema(configure) {
35
35
  })
36
36
  }).annotations({ title: "SelectRenderer", description: "\u9009\u62E9\u6E32\u67D3\u5668" });
37
37
  }
38
+ export function defaults() {
39
+ return {
40
+ mode: "checkbox"
41
+ };
42
+ }
38
43
  export function toColumnDef(value) {
39
44
  return {
40
45
  header: (ctx) => h(Header, { column: value, ctx }),
@@ -3,7 +3,6 @@ import { computed } from "vue";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import { Input } from "../../../../ui/input";
5
5
  import { ExpressionEditor } from "../../../../ui/expression-editor";
6
- import { Switch } from "../../../../ui/switch";
7
6
  import { Separator } from "../../../../ui/separator";
8
7
  import { Field, FieldLabel } from "../../../../ui/field";
9
8
  import { Locale } from "../../../../ui/locale";
@@ -11,6 +10,7 @@ import {
11
10
  InputGroup,
12
11
  InputGroupAddon,
13
12
  InputGroupButton,
13
+ InputGroupInput,
14
14
  InputGroupNumberField
15
15
  } from "../../../../ui/input-group";
16
16
  import {
@@ -229,14 +229,10 @@ const copyExpressionModel = computed({
229
229
  <Separator />
230
230
  <div class="flex flex-wrap gap-x-8 gap-y-3">
231
231
  <Field
232
- orientation="horizontal"
233
- class="w-auto gap-2"
232
+ orientation="vertical"
233
+ class="w-full max-w-xs"
234
234
  >
235
- <Switch
236
- :model-value="value.enableSorting ?? false"
237
- @update:model-value="(v) => value.enableSorting = v"
238
- />
239
- <FieldLabel class="text-sm text-zinc-600">
235
+ <FieldLabel class="text-xs text-zinc-500">
240
236
  <template
241
237
  v-if="fieldDescription('enableSorting')"
242
238
  #tooltip
@@ -249,6 +245,23 @@ const copyExpressionModel = computed({
249
245
  </template>
250
246
  {{ fieldTitle("enableSorting") }}
251
247
  </FieldLabel>
248
+ <InputGroup>
249
+ <InputGroupInput
250
+ :model-value="value.sortKey"
251
+ placeholder="例:created_at"
252
+ @update:model-value="(v) => value.sortKey = v || void 0"
253
+ />
254
+ <InputGroupAddon align="inline-end">
255
+ <InputGroupButton
256
+ :variant="value.enableSorting ? 'primary' : 'ghost'"
257
+ size="xs"
258
+ @click="value.enableSorting = !value.enableSorting"
259
+ >
260
+ <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
261
+ {{ fieldTitle("enableSorting") }}
262
+ </InputGroupButton>
263
+ </InputGroupAddon>
264
+ </InputGroup>
252
265
  </Field>
253
266
  </div>
254
267
  </div>