@shwfed/config 2.10.3 → 2.10.5

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 (159) hide show
  1. package/dist/mcp.mjs +1600 -1317
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-sT5i_dnE.js → FieldGroup.vue_vue_type_script_setup_true_lang-D-COryaS.js} +1 -1
  4. package/dist/preview/assets/{badge-ZFj45FMd.js → badge-Sb01O_E2.js} +1 -1
  5. package/dist/preview/assets/{config-3rP_f_3o.js → config-99L3dMcP.js} +1 -1
  6. package/dist/preview/assets/{config-cD091sze.js → config-BgJWNJ-L.js} +1 -1
  7. package/dist/preview/assets/{config-CEBzJOHo.js → config-BjSI3yTw.js} +1 -1
  8. package/dist/preview/assets/{config-BBvebIQw.js → config-BzMW9qCl.js} +1 -1
  9. package/dist/preview/assets/{config-BLesYihN.js → config-CEM0BCax.js} +1 -1
  10. package/dist/preview/assets/{config-D1uMzMiN.js → config-CtKXZjQl.js} +1 -1
  11. package/dist/preview/assets/{config-CSR1JNVB.js → config-CyRpAiSg.js} +1 -1
  12. package/dist/preview/assets/{config-Rz0II9u6.js → config-Cz3VQcLY.js} +1 -1
  13. package/dist/preview/assets/{config-2iinn_1E.js → config-D6BiWm3q.js} +1 -1
  14. package/dist/preview/assets/{config-lskK7grq.js → config-DA1Knc1V.js} +1 -1
  15. package/dist/preview/assets/{config-DfVc2Iy9.js → config-DGBuMIqU.js} +1 -1
  16. package/dist/preview/assets/{config-BwDPPmtn.js → config-DK0wxXG_.js} +1 -1
  17. package/dist/preview/assets/{config-DZPLqFqt.js → config-Du8kzY9H.js} +1 -1
  18. package/dist/preview/assets/{config-CgM75jSO.js → config-n4AGAnL-.js} +1 -1
  19. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-Ce_NeQUa.js → definition.vue_vue_type_script_setup_true_lang-BtOF0dda.js} +1 -1
  20. package/dist/preview/assets/{index-_KA5_QIV.js → index-BOnw60vg.js} +1 -1
  21. package/dist/preview/assets/index-BZlqSG2R.js +763 -0
  22. package/dist/preview/assets/index-D3Az3yzR.css +1 -0
  23. package/dist/preview/assets/index-Rj5bF6fM.js +1 -0
  24. package/dist/preview/assets/{item-CBFJ6f6b.js → item-D7avZRKo.js} +1 -1
  25. package/dist/preview/assets/{runtime-DO9HS0Rb.js → runtime-BWlX7BAG.js} +1 -1
  26. package/dist/preview/assets/{runtime-BKqyqEeD.js → runtime-Bek88ifk.js} +1 -1
  27. package/dist/preview/assets/{runtime-CIc3k_jd.js → runtime-C9kOkTYc.js} +1 -1
  28. package/dist/preview/assets/{runtime-Q_isegB9.js → runtime-CSrgcLuC.js} +1 -1
  29. package/dist/preview/assets/{runtime-jWibKv1T.js → runtime-CWTz9Iy4.js} +1 -1
  30. package/dist/preview/assets/{runtime-Cu0RJn8g.js → runtime-D-HZWcV-.js} +1 -1
  31. package/dist/preview/assets/{runtime-CvMryNNx.js → runtime-DMsPs0Pz.js} +1 -1
  32. package/dist/preview/assets/{runtime-BIGEoc5L.js → runtime-DOqVHcvv.js} +1 -1
  33. package/dist/preview/assets/{runtime-DQXLscBz.js → runtime-Dhl0NpTL.js} +1 -1
  34. package/dist/preview/assets/{runtime-enspc5HG.js → runtime-Dxb1-gUN.js} +1 -1
  35. package/dist/preview/assets/{schema-meta-B5tln_XH.js → schema-meta-DXS0vi6v.js} +1 -1
  36. package/dist/preview/index.html +2 -2
  37. package/dist/runtime/components/block-layout-editor/index.vue +8 -0
  38. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +1 -0
  39. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.js +5 -1
  40. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.d.vue.ts +223 -0
  41. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.vue +496 -0
  42. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.vue.d.ts +223 -0
  43. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/node-actions.d.vue.ts +10 -0
  44. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/node-actions.vue +25 -0
  45. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/node-actions.vue.d.ts +10 -0
  46. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.d.vue.ts +228 -0
  47. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.vue +355 -0
  48. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.vue.d.ts +228 -0
  49. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.d.ts +227 -0
  50. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.js +130 -0
  51. package/dist/runtime/components/config/utils/resolve.d.ts +16 -0
  52. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +134 -0
  53. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +78 -2
  54. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +134 -0
  55. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +24 -0
  56. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +132 -0
  57. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +14 -1
  58. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +134 -0
  59. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +77 -2
  60. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +134 -0
  61. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +24 -0
  62. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +132 -0
  63. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +14 -1
  64. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +22 -22
  65. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +22 -22
  66. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.js +2 -1
  67. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +22 -22
  68. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +22 -22
  69. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.js +2 -1
  70. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +22 -22
  71. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +22 -22
  72. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.js +2 -1
  73. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +22 -22
  74. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +22 -22
  75. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.js +2 -1
  76. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +22 -22
  77. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +22 -22
  78. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.js +2 -1
  79. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +22 -22
  80. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +22 -22
  81. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.js +2 -1
  82. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +22 -22
  83. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +22 -22
  84. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.js +2 -1
  85. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/runtime.vue +3 -3
  86. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/runtime.vue +54 -2
  87. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  88. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  89. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -2
  90. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -2
  91. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
  92. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
  93. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  94. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  95. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -2
  96. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -2
  97. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
  98. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
  99. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  100. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  101. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
  102. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
  103. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  104. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  105. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
  106. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
  107. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  108. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  109. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.js +2 -1
  110. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  111. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  112. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.js +2 -1
  113. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  114. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  115. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  116. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  117. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  118. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  119. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +2 -1
  120. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  121. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  122. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +2 -1
  123. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  124. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  125. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  126. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  127. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  128. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  129. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +2 -1
  130. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  131. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  132. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +2 -1
  133. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.d.vue.ts +10 -0
  134. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +543 -0
  135. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue.d.ts +10 -0
  136. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.d.vue.ts +9 -0
  137. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.vue +110 -0
  138. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.vue.d.ts +9 -0
  139. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +76 -0
  140. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +89 -0
  141. package/dist/runtime/components/ui/tree/Tree.d.vue.ts +13 -0
  142. package/dist/runtime/components/ui/tree/Tree.vue +8 -1
  143. package/dist/runtime/components/ui/tree/Tree.vue.d.ts +13 -0
  144. package/dist/runtime/components/ui/tree/TreeNode.d.vue.ts +2 -0
  145. package/dist/runtime/components/ui/tree/TreeNode.vue +5 -2
  146. package/dist/runtime/components/ui/tree/TreeNode.vue.d.ts +2 -0
  147. package/dist/runtime/share/slot-renderer.d.vue.ts +5 -0
  148. package/dist/runtime/share/slot-renderer.vue +43 -28
  149. package/dist/runtime/share/slot-renderer.vue.d.ts +5 -0
  150. package/dist/runtime/share/tree-node-var.d.ts +25 -0
  151. package/dist/runtime/share/tree-node-var.js +10 -0
  152. package/dist/runtime/vendor/cel-js/CLAUDE.md +1 -1
  153. package/dist/runtime/vendor/cel-js/PROMPT.md +6 -0
  154. package/dist/runtime/vendor/cel-js/lib/http-builtins.d.ts +0 -14
  155. package/dist/runtime/vendor/cel-js/lib/http-builtins.js +17 -0
  156. package/package.json +1 -1
  157. package/dist/preview/assets/index-Zc4Mcm3J.js +0 -761
  158. package/dist/preview/assets/index-pkoEF5dC.css +0 -1
  159. package/dist/preview/assets/index-snO3CfdE.js +0 -1
@@ -50,6 +50,73 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
50
50
  readonly warning?: boolean | undefined;
51
51
  readonly when: string;
52
52
  }[] | undefined;
53
+ readonly addon?: {
54
+ readonly size: "default" | "sm" | "xs";
55
+ readonly style?: string | undefined;
56
+ readonly gap: number;
57
+ readonly items: readonly (import("../../../../actions/schema.js").RegistryItemValue | {
58
+ readonly disabled?: string | undefined;
59
+ readonly id: string;
60
+ readonly title: readonly [{
61
+ readonly locale: "zh";
62
+ readonly message: string;
63
+ }, ...{
64
+ readonly locale: "en" | "ja" | "ko";
65
+ readonly message: string;
66
+ }[]];
67
+ readonly icon?: string | undefined;
68
+ readonly hidden?: string | undefined;
69
+ readonly tooltip?: readonly [{
70
+ readonly locale: "zh";
71
+ readonly message: string;
72
+ }, ...{
73
+ readonly locale: "en" | "ja" | "ko";
74
+ readonly message: string;
75
+ }[]] | undefined;
76
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
77
+ readonly action?: any;
78
+ readonly groupId: string;
79
+ readonly hideTitle?: boolean | undefined;
80
+ } | {
81
+ readonly id: string;
82
+ readonly title: readonly [{
83
+ readonly locale: "zh";
84
+ readonly message: string;
85
+ }, ...{
86
+ readonly locale: "en" | "ja" | "ko";
87
+ readonly message: string;
88
+ }[]];
89
+ readonly icon?: string | undefined;
90
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
91
+ readonly disabled?: string | undefined;
92
+ readonly id: string;
93
+ readonly title: readonly [{
94
+ readonly locale: "zh";
95
+ readonly message: string;
96
+ }, ...{
97
+ readonly locale: "en" | "ja" | "ko";
98
+ readonly message: string;
99
+ }[]];
100
+ readonly icon?: string | undefined;
101
+ readonly hidden?: string | undefined;
102
+ readonly tooltip?: readonly [{
103
+ readonly locale: "zh";
104
+ readonly message: string;
105
+ }, ...{
106
+ readonly locale: "en" | "ja" | "ko";
107
+ readonly message: string;
108
+ }[]] | undefined;
109
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
110
+ readonly action?: any;
111
+ })[];
112
+ readonly groupId: string;
113
+ readonly hideTitle?: boolean | undefined;
114
+ })[];
115
+ readonly groups: readonly {
116
+ readonly id: string;
117
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
118
+ }[];
119
+ } | undefined;
53
120
  }) => any;
54
121
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
55
122
  "onUpdate:modelValue"?: ((value: {
@@ -99,6 +166,73 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
99
166
  readonly warning?: boolean | undefined;
100
167
  readonly when: string;
101
168
  }[] | undefined;
169
+ readonly addon?: {
170
+ readonly size: "default" | "sm" | "xs";
171
+ readonly style?: string | undefined;
172
+ readonly gap: number;
173
+ readonly items: readonly (import("../../../../actions/schema.js").RegistryItemValue | {
174
+ readonly disabled?: string | undefined;
175
+ readonly id: string;
176
+ readonly title: readonly [{
177
+ readonly locale: "zh";
178
+ readonly message: string;
179
+ }, ...{
180
+ readonly locale: "en" | "ja" | "ko";
181
+ readonly message: string;
182
+ }[]];
183
+ readonly icon?: string | undefined;
184
+ readonly hidden?: string | undefined;
185
+ readonly tooltip?: readonly [{
186
+ readonly locale: "zh";
187
+ readonly message: string;
188
+ }, ...{
189
+ readonly locale: "en" | "ja" | "ko";
190
+ readonly message: string;
191
+ }[]] | undefined;
192
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
193
+ readonly action?: any;
194
+ readonly groupId: string;
195
+ readonly hideTitle?: boolean | undefined;
196
+ } | {
197
+ readonly id: string;
198
+ readonly title: readonly [{
199
+ readonly locale: "zh";
200
+ readonly message: string;
201
+ }, ...{
202
+ readonly locale: "en" | "ja" | "ko";
203
+ readonly message: string;
204
+ }[]];
205
+ readonly icon?: string | undefined;
206
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
207
+ readonly disabled?: string | undefined;
208
+ readonly id: string;
209
+ readonly title: readonly [{
210
+ readonly locale: "zh";
211
+ readonly message: string;
212
+ }, ...{
213
+ readonly locale: "en" | "ja" | "ko";
214
+ readonly message: string;
215
+ }[]];
216
+ readonly icon?: string | undefined;
217
+ readonly hidden?: string | undefined;
218
+ readonly tooltip?: readonly [{
219
+ readonly locale: "zh";
220
+ readonly message: string;
221
+ }, ...{
222
+ readonly locale: "en" | "ja" | "ko";
223
+ readonly message: string;
224
+ }[]] | undefined;
225
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
226
+ readonly action?: any;
227
+ })[];
228
+ readonly groupId: string;
229
+ readonly hideTitle?: boolean | undefined;
230
+ })[];
231
+ readonly groups: readonly {
232
+ readonly id: string;
233
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
234
+ }[];
235
+ } | undefined;
102
236
  }) => any) | undefined;
103
237
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
104
238
  declare const _default: typeof __VLS_export;
@@ -9,6 +9,7 @@ import { getLocalizedText } from "../../../../../share/locale";
9
9
  import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
10
10
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
+ import ShwfedActions from "../../../../actions/components/group.vue";
12
13
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
13
14
  import { useFieldValue } from "../../../utils/field-value";
14
15
  import { useFieldValidation } from "../../../utils/validation";
@@ -56,6 +57,18 @@ const { isRequired, errors, warnings, visible } = useFieldValidation({
56
57
  $cel,
57
58
  locale: () => locale.value
58
59
  });
60
+ const addonConfig = computed(() => {
61
+ const addon = props.config.addon;
62
+ if (!addon || addon.items.length === 0) return null;
63
+ return {
64
+ kind: "shwfed.component.action",
65
+ size: addon.size ?? "xs",
66
+ gap: addon.gap,
67
+ style: addon.style,
68
+ groups: addon.groups.map((group) => ({ ...group, variant: group.variant ?? "ghost" })),
69
+ items: addon.items
70
+ };
71
+ });
59
72
  const showClear = computed(() => !isDisabled.value && draft.value.length > 0);
60
73
  function handleClear() {
61
74
  draft.value = "";
@@ -123,6 +136,13 @@ function handleClear() {
123
136
  <Icon icon="fluent:dismiss-20-regular" />
124
137
  </InputGroupButton>
125
138
  </InputGroupAddon>
139
+ <InputGroupAddon
140
+ v-if="addonConfig"
141
+ align="inline-end"
142
+ class="field-addon-actions"
143
+ >
144
+ <ShwfedActions :config="addonConfig" />
145
+ </InputGroupAddon>
126
146
  </InputGroup>
127
147
  <FieldMessages
128
148
  v-if="visible"
@@ -131,3 +151,7 @@ function handleClear() {
131
151
  />
132
152
  </Field>
133
153
  </template>
154
+
155
+ <style scoped>
156
+ .field-addon-actions :deep([data-slot=buttons]){align-items:center;gap:.125rem}.field-addon-actions :deep([data-slot=buttons-dropdown-trigger]),.field-addon-actions :deep([data-slot=buttons-item]){border-radius:.125rem;color:#71717a;height:1.5rem;min-width:1.5rem;padding:0}.field-addon-actions :deep([data-slot=buttons-dropdown-trigger]:hover:not(:disabled)),.field-addon-actions :deep([data-slot=buttons-item]:hover:not(:disabled)){color:#3f3f46}
157
+ </style>
@@ -46,6 +46,138 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
46
46
  mode: Schema.Literal<["formula", "prefill"]>;
47
47
  expression: Schema.Schema<string, string, never>;
48
48
  }>>;
49
+ addon: Schema.optional<Schema.Struct<{
50
+ groups: Schema.optionalWith<Schema.Array$<Schema.Struct<{
51
+ id: Schema.refine<string, typeof Schema.String>;
52
+ variant: Schema.optional<Schema.Literal<["default", "primary", "destructive", "ghost", "link"]>>;
53
+ }>>, {
54
+ default: () => never[];
55
+ }>;
56
+ items: Schema.optionalWith<Schema.Array$<Schema.Schema<import("../../../../actions/schema.js").RegistryItemValue | {
57
+ readonly disabled?: string | undefined;
58
+ readonly id: string;
59
+ readonly title: readonly [{
60
+ readonly locale: "zh";
61
+ readonly message: string;
62
+ }, ...{
63
+ readonly locale: "en" | "ja" | "ko";
64
+ readonly message: string;
65
+ }[]];
66
+ readonly icon?: string | undefined;
67
+ readonly hidden?: string | undefined;
68
+ readonly tooltip?: readonly [{
69
+ readonly locale: "zh";
70
+ readonly message: string;
71
+ }, ...{
72
+ readonly locale: "en" | "ja" | "ko";
73
+ readonly message: string;
74
+ }[]] | undefined;
75
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
76
+ readonly action?: any;
77
+ readonly groupId: string;
78
+ readonly hideTitle?: boolean | undefined;
79
+ } | {
80
+ readonly id: string;
81
+ readonly title: readonly [{
82
+ readonly locale: "zh";
83
+ readonly message: string;
84
+ }, ...{
85
+ readonly locale: "en" | "ja" | "ko";
86
+ readonly message: string;
87
+ }[]];
88
+ readonly icon?: string | undefined;
89
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
90
+ readonly disabled?: string | undefined;
91
+ readonly id: string;
92
+ readonly title: readonly [{
93
+ readonly locale: "zh";
94
+ readonly message: string;
95
+ }, ...{
96
+ readonly locale: "en" | "ja" | "ko";
97
+ readonly message: string;
98
+ }[]];
99
+ readonly icon?: string | undefined;
100
+ readonly hidden?: string | undefined;
101
+ readonly tooltip?: readonly [{
102
+ readonly locale: "zh";
103
+ readonly message: string;
104
+ }, ...{
105
+ readonly locale: "en" | "ja" | "ko";
106
+ readonly message: string;
107
+ }[]] | undefined;
108
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
109
+ readonly action?: any;
110
+ })[];
111
+ readonly groupId: string;
112
+ readonly hideTitle?: boolean | undefined;
113
+ }, import("../../../../actions/schema.js").RegistryItemValue | {
114
+ readonly id: string;
115
+ readonly title: readonly [{
116
+ readonly locale: "zh";
117
+ readonly message: string;
118
+ }, ...{
119
+ readonly locale: "en" | "ja" | "ko";
120
+ readonly message: string;
121
+ }[]];
122
+ readonly groupId: string;
123
+ readonly disabled?: string | undefined;
124
+ readonly icon?: string | undefined;
125
+ readonly hidden?: string | undefined;
126
+ readonly tooltip?: readonly [{
127
+ readonly locale: "zh";
128
+ readonly message: string;
129
+ }, ...{
130
+ readonly locale: "en" | "ja" | "ko";
131
+ readonly message: string;
132
+ }[]] | undefined;
133
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
134
+ readonly action?: any;
135
+ readonly hideTitle?: boolean | undefined;
136
+ } | {
137
+ readonly id: string;
138
+ readonly title: readonly [{
139
+ readonly locale: "zh";
140
+ readonly message: string;
141
+ }, ...{
142
+ readonly locale: "en" | "ja" | "ko";
143
+ readonly message: string;
144
+ }[]];
145
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
146
+ readonly id: string;
147
+ readonly title: readonly [{
148
+ readonly locale: "zh";
149
+ readonly message: string;
150
+ }, ...{
151
+ readonly locale: "en" | "ja" | "ko";
152
+ readonly message: string;
153
+ }[]];
154
+ readonly disabled?: string | undefined;
155
+ readonly icon?: string | undefined;
156
+ readonly hidden?: string | undefined;
157
+ readonly tooltip?: readonly [{
158
+ readonly locale: "zh";
159
+ readonly message: string;
160
+ }, ...{
161
+ readonly locale: "en" | "ja" | "ko";
162
+ readonly message: string;
163
+ }[]] | undefined;
164
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
165
+ readonly action?: any;
166
+ })[];
167
+ readonly groupId: string;
168
+ readonly icon?: string | undefined;
169
+ readonly hideTitle?: boolean | undefined;
170
+ }, never>>, {
171
+ default: () => never[];
172
+ }>;
173
+ size: Schema.optionalWith<Schema.Literal<["default", "sm", "xs"]>, {
174
+ default: () => "default";
175
+ }>;
176
+ gap: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
177
+ default: () => number;
178
+ }>;
179
+ style: Schema.optional<typeof Schema.String>;
180
+ }>>;
49
181
  id: Schema.refine<string, typeof Schema.String>;
50
182
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
51
183
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
@@ -1,7 +1,19 @@
1
1
  import { Schema } from "effect";
2
2
  import { Expression } from "../../../../../share/expression.js";
3
3
  import { Locale } from "../../../../../share/locale.js";
4
+ import { ActionSchemaFields } from "../../../../actions/schema.js";
4
5
  import { commonFieldFields, derivedField, FieldOrientationSchema } from "../../../utils/common.js";
6
+ function AddonActions(configure) {
7
+ const { groups, items, ...rest } = ActionSchemaFields(configure).fields;
8
+ return Schema.Struct({
9
+ ...rest,
10
+ groups: Schema.optionalWith(groups, { default: () => [] }),
11
+ items: Schema.optionalWith(items, { default: () => [] })
12
+ }).annotations({
13
+ title: "\u8F93\u5165\u6846\u5185\u6309\u94AE",
14
+ description: "\u5728\u8F93\u5165\u6846\u53F3\u4FA7\u5185\u5D4C\u4E00\u7EC4\u64CD\u4F5C\u6309\u94AE"
15
+ });
16
+ }
5
17
  export const type = "com.shwfed.form.field.text";
6
18
  export const compatibilityDate = "2026-04-22";
7
19
  export const metadata = {
@@ -41,7 +53,8 @@ export function schema(configure) {
41
53
  title: "\u53EA\u8BFB\u6761\u4EF6",
42
54
  description: "\u8FD4\u56DE `true` \u65F6\u4EC5\u4EE5\u7EAF\u6587\u672C\u5C55\u793A\u5F53\u524D\u503C"
43
55
  })),
44
- derived: derivedField(configure, "string")
56
+ derived: derivedField(configure, "string"),
57
+ addon: Schema.optional(AddonActions(configure))
45
58
  }).annotations({
46
59
  title: "TextField",
47
60
  description: "\u5355\u884C\u6587\u672C\u8F93\u5165"
@@ -53,6 +53,73 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
53
  readonly warning?: boolean | undefined;
54
54
  readonly when: string;
55
55
  }[] | undefined;
56
+ readonly addon?: {
57
+ readonly size: "default" | "sm" | "xs";
58
+ readonly style?: string | undefined;
59
+ readonly gap: number;
60
+ readonly items: readonly (import("../../../../actions/schema.js").RegistryItemValue | {
61
+ readonly disabled?: string | undefined;
62
+ readonly id: string;
63
+ readonly title: readonly [{
64
+ readonly locale: "zh";
65
+ readonly message: string;
66
+ }, ...{
67
+ readonly locale: "en" | "ja" | "ko";
68
+ readonly message: string;
69
+ }[]];
70
+ readonly icon?: string | undefined;
71
+ readonly hidden?: string | undefined;
72
+ readonly tooltip?: readonly [{
73
+ readonly locale: "zh";
74
+ readonly message: string;
75
+ }, ...{
76
+ readonly locale: "en" | "ja" | "ko";
77
+ readonly message: string;
78
+ }[]] | undefined;
79
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
80
+ readonly action?: any;
81
+ readonly groupId: string;
82
+ readonly hideTitle?: boolean | undefined;
83
+ } | {
84
+ readonly id: string;
85
+ readonly title: readonly [{
86
+ readonly locale: "zh";
87
+ readonly message: string;
88
+ }, ...{
89
+ readonly locale: "en" | "ja" | "ko";
90
+ readonly message: string;
91
+ }[]];
92
+ readonly icon?: string | undefined;
93
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
94
+ readonly disabled?: string | undefined;
95
+ readonly id: string;
96
+ readonly title: readonly [{
97
+ readonly locale: "zh";
98
+ readonly message: string;
99
+ }, ...{
100
+ readonly locale: "en" | "ja" | "ko";
101
+ readonly message: string;
102
+ }[]];
103
+ readonly icon?: string | undefined;
104
+ readonly hidden?: string | undefined;
105
+ readonly tooltip?: readonly [{
106
+ readonly locale: "zh";
107
+ readonly message: string;
108
+ }, ...{
109
+ readonly locale: "en" | "ja" | "ko";
110
+ readonly message: string;
111
+ }[]] | undefined;
112
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
113
+ readonly action?: any;
114
+ })[];
115
+ readonly groupId: string;
116
+ readonly hideTitle?: boolean | undefined;
117
+ })[];
118
+ readonly groups: readonly {
119
+ readonly id: string;
120
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
121
+ }[];
122
+ } | undefined;
56
123
  readonly precision?: number | undefined;
57
124
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
58
125
  readonly valueAsString?: boolean | undefined;
@@ -108,6 +175,73 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
175
  readonly warning?: boolean | undefined;
109
176
  readonly when: string;
110
177
  }[] | undefined;
178
+ readonly addon?: {
179
+ readonly size: "default" | "sm" | "xs";
180
+ readonly style?: string | undefined;
181
+ readonly gap: number;
182
+ readonly items: readonly (import("../../../../actions/schema.js").RegistryItemValue | {
183
+ readonly disabled?: string | undefined;
184
+ readonly id: string;
185
+ readonly title: readonly [{
186
+ readonly locale: "zh";
187
+ readonly message: string;
188
+ }, ...{
189
+ readonly locale: "en" | "ja" | "ko";
190
+ readonly message: string;
191
+ }[]];
192
+ readonly icon?: string | undefined;
193
+ readonly hidden?: string | undefined;
194
+ readonly tooltip?: readonly [{
195
+ readonly locale: "zh";
196
+ readonly message: string;
197
+ }, ...{
198
+ readonly locale: "en" | "ja" | "ko";
199
+ readonly message: string;
200
+ }[]] | undefined;
201
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
202
+ readonly action?: any;
203
+ readonly groupId: string;
204
+ readonly hideTitle?: boolean | undefined;
205
+ } | {
206
+ readonly id: string;
207
+ readonly title: readonly [{
208
+ readonly locale: "zh";
209
+ readonly message: string;
210
+ }, ...{
211
+ readonly locale: "en" | "ja" | "ko";
212
+ readonly message: string;
213
+ }[]];
214
+ readonly icon?: string | undefined;
215
+ readonly items: readonly (import("../../../../actions/schema.js").RegistrySubItemValue | {
216
+ readonly disabled?: string | undefined;
217
+ readonly id: string;
218
+ readonly title: readonly [{
219
+ readonly locale: "zh";
220
+ readonly message: string;
221
+ }, ...{
222
+ readonly locale: "en" | "ja" | "ko";
223
+ readonly message: string;
224
+ }[]];
225
+ readonly icon?: string | undefined;
226
+ readonly hidden?: string | undefined;
227
+ readonly tooltip?: readonly [{
228
+ readonly locale: "zh";
229
+ readonly message: string;
230
+ }, ...{
231
+ readonly locale: "en" | "ja" | "ko";
232
+ readonly message: string;
233
+ }[]] | undefined;
234
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
235
+ readonly action?: any;
236
+ })[];
237
+ readonly groupId: string;
238
+ readonly hideTitle?: boolean | undefined;
239
+ })[];
240
+ readonly groups: readonly {
241
+ readonly id: string;
242
+ readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
243
+ }[];
244
+ } | undefined;
111
245
  readonly precision?: number | undefined;
112
246
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
113
247
  readonly valueAsString?: boolean | undefined;
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { computed } from "vue";
2
+ import { computed, inject, onBeforeUnmount, ref, watch } from "vue";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import {
5
5
  DropdownMenu,
@@ -10,6 +10,7 @@ import {
10
10
  import { ExpressionEditor } from "../../../../ui/expression-editor";
11
11
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
12
12
  import ValidationRulesField from "../../../ValidationRulesField.vue";
13
+ import { Button } from "../../../../ui/button";
13
14
  import { Field, FieldLabel } from "../../../../ui/field";
14
15
  import {
15
16
  InputGroup,
@@ -20,6 +21,7 @@ import {
20
21
  } from "../../../../ui/input-group";
21
22
  import { Locale as LocaleField } from "../../../../ui/locale";
22
23
  import { Markdown } from "../../../../ui/markdown";
24
+ import ActionsConfigEditor from "../../../../actions/config.vue";
23
25
  import {
24
26
  Select,
25
27
  SelectContent,
@@ -29,6 +31,8 @@ import {
29
31
  } from "../../../../ui/select";
30
32
  import { Switch } from "../../../../ui/switch";
31
33
  import { getStructFieldDescription, getStructFieldTitle } from "../../../schema";
34
+ import { FORM_FIELD_LAYOUT_KEY } from "../../../field-layout";
35
+ import { BREADCRUMB_EXTENSION_KEY } from "../../../../config/breadcrumb-extension";
32
36
  import { DEFAULT_FIELD_ORIENTATION, FIELD_ORIENTATION_OPTIONS } from "../../../utils/common";
33
37
  import { schema } from "./schema";
34
38
  defineOptions({ name: "ShwfedNumberFieldConfig" });
@@ -37,6 +41,47 @@ const fieldSchema = schema(() => {
37
41
  });
38
42
  const fieldTitle = (f) => getStructFieldTitle(fieldSchema, f) ?? f;
39
43
  const fieldDescription = (f) => getStructFieldDescription(fieldSchema, f);
44
+ const layout = inject(FORM_FIELD_LAYOUT_KEY, null);
45
+ const breadcrumbExt = inject(BREADCRUMB_EXTENSION_KEY, null);
46
+ const editingAddon = ref(false);
47
+ function closeAddon() {
48
+ editingAddon.value = false;
49
+ }
50
+ const addonCrumb = breadcrumbExt?.add();
51
+ watch(editingAddon, (on) => {
52
+ if (layout) layout.fullPane.value = on;
53
+ if (addonCrumb) {
54
+ addonCrumb.label.value = on ? "\u8F93\u5165\u6846\u5185\u6309\u94AE" : null;
55
+ addonCrumb.back.value = on ? closeAddon : null;
56
+ }
57
+ });
58
+ onBeforeUnmount(() => {
59
+ if (layout) layout.fullPane.value = false;
60
+ addonCrumb?.dispose();
61
+ });
62
+ const addonItemCount = computed(() => value.value.addon?.items.length ?? 0);
63
+ const addonValue = computed({
64
+ get: () => ({
65
+ kind: "shwfed.component.action",
66
+ size: value.value.addon?.size ?? "xs",
67
+ gap: value.value.addon?.gap ?? 4,
68
+ style: value.value.addon?.style,
69
+ groups: value.value.addon?.groups ?? [],
70
+ items: value.value.addon?.items ?? []
71
+ }),
72
+ set: (next) => {
73
+ const { size, gap, style, groups, items } = next;
74
+ if (groups.length === 0 && items.length === 0) {
75
+ const { addon: _omit, ...rest } = value.value;
76
+ value.value = rest;
77
+ return;
78
+ }
79
+ value.value = {
80
+ ...value.value,
81
+ addon: { size, gap, groups, items, ...style === void 0 ? {} : { style } }
82
+ };
83
+ }
84
+ });
40
85
  const ROUNDING_MODE_OPTIONS = [
41
86
  { value: "round", label: "\u56DB\u820D\u4E94\u5165" },
42
87
  { value: "floor", label: "\u5411\u4E0B\u53D6\u6574" },
@@ -89,7 +134,16 @@ function onValueAsStringChange(next) {
89
134
  </script>
90
135
 
91
136
  <template>
92
- <div class="flex flex-col gap-3">
137
+ <ActionsConfigEditor
138
+ v-if="editingAddon"
139
+ v-model="addonValue"
140
+ hide-size
141
+ />
142
+
143
+ <div
144
+ v-else
145
+ class="flex flex-col gap-3"
146
+ >
93
147
  <div class="grid grid-cols-2 gap-3">
94
148
  <Field orientation="vertical">
95
149
  <FieldLabel class="text-xs text-zinc-500">
@@ -491,5 +545,26 @@ function onValueAsStringChange(next) {
491
545
  @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
492
546
  />
493
547
  </Field>
548
+
549
+ <Field orientation="vertical">
550
+ <FieldLabel class="text-xs text-zinc-500">
551
+ <template #tooltip>
552
+ <Markdown
553
+ :source="fieldDescription('addon')"
554
+ block
555
+ class="prose prose-sm prose-zinc"
556
+ />
557
+ </template>
558
+ {{ fieldTitle("addon") }}
559
+ </FieldLabel>
560
+ <Button
561
+ type="button"
562
+ class="w-full justify-center"
563
+ @click="editingAddon = true"
564
+ >
565
+ <Icon icon="fluent:add-20-regular" />
566
+ <span>{{ addonItemCount > 0 ? "\u914D\u7F6E\u6309\u94AE" : "\u6DFB\u52A0\u6309\u94AE" }}</span>
567
+ </Button>
568
+ </Field>
494
569
  </div>
495
570
  </template>