@shwfed/config 2.3.27 → 2.3.29

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 (178) hide show
  1. package/dist/mcp.mjs +3963 -1597
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-CRqRJ0oF.js → config-6IiXCmyu.js} +1 -1
  4. package/dist/preview/assets/{config-C45AT0tt.js → config-BJzUh1_G.js} +1 -1
  5. package/dist/preview/assets/{config-CIcy6Jwg.js → config-Bl80ye-i.js} +1 -1
  6. package/dist/preview/assets/{config-D0YS2Bpj.js → config-CZOeZ8ty.js} +1 -1
  7. package/dist/preview/assets/{config-l3KurfL5.js → config-DaZD4ZSa.js} +1 -1
  8. package/dist/preview/assets/{config-D-i-AFgH.js → config-DhsbcNzx.js} +1 -1
  9. package/dist/preview/assets/{config-CXaH7a2G.js → config-Diuyh0Ex.js} +1 -1
  10. package/dist/preview/assets/{config-Bv_hUugV.js → config-aK67Rsw5.js} +1 -1
  11. package/dist/preview/assets/{config-DrpESRR5.js → config-rpX_Mc6I.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-Ck8Pbwem.js → definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js} +1 -1
  13. package/dist/preview/assets/index-2eQR4s3q.css +1 -0
  14. package/dist/preview/assets/index-DEF3_MKr.js +659 -0
  15. package/dist/preview/assets/index-Df-thth9.js +1 -0
  16. package/dist/preview/assets/{runtime-Df715bRA.js → runtime-3p1K6te5.js} +1 -1
  17. package/dist/preview/assets/{runtime-D42ecZyC.js → runtime-BcLnafic.js} +1 -1
  18. package/dist/preview/assets/{runtime-D6twt5H_.js → runtime-CSaV-359.js} +1 -1
  19. package/dist/preview/assets/{runtime-z_QPMN-R.js → runtime-CjR8Vi5N.js} +1 -1
  20. package/dist/preview/assets/{runtime-CvuGnDIa.js → runtime-D_fJCKX_.js} +1 -1
  21. package/dist/preview/assets/{runtime-tobnPKdV.js → runtime-DpeCgGEG.js} +1 -1
  22. package/dist/preview/assets/{runtime-CmCvUWLV.js → runtime-K2a1x0TJ.js} +1 -1
  23. package/dist/preview/assets/{runtime-BSASeqgI.js → runtime-g9Zu3VNQ.js} +1 -1
  24. package/dist/preview/assets/{runtime-DUyUjFqF.js → runtime-jTnh_6Dm.js} +1 -1
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/block-layout-editor/index.d.vue.ts +10 -2
  27. package/dist/runtime/components/block-layout-editor/index.vue +44 -8
  28. package/dist/runtime/components/block-layout-editor/index.vue.d.ts +10 -2
  29. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.d.vue.ts +2 -0
  30. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue +57 -3
  31. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue.d.ts +2 -0
  32. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.d.vue.ts +2 -0
  33. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.vue +1 -0
  34. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.vue.d.ts +2 -0
  35. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +2 -0
  36. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.js +4 -0
  37. package/dist/runtime/components/config/config.vue +35 -0
  38. package/dist/runtime/components/config/use-editor.d.ts +11 -1
  39. package/dist/runtime/components/config/use-editor.js +27 -1
  40. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +4 -4
  41. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +4 -4
  42. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +127 -0
  43. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue +593 -0
  44. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +127 -0
  45. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.d.vue.ts +8 -0
  46. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue +465 -0
  47. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue.d.ts +8 -0
  48. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +95 -0
  49. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.js +112 -0
  50. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +125 -0
  51. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue +525 -0
  52. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +125 -0
  53. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.d.vue.ts +8 -0
  54. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue +460 -0
  55. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue.d.ts +8 -0
  56. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +92 -0
  57. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.js +104 -0
  58. package/dist/runtime/components/form/fields/2026-05-26/tree-combobox-shared.d.ts +35 -0
  59. package/dist/runtime/components/form/fields/2026-05-26/tree-combobox-shared.js +31 -0
  60. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.d.vue.ts +163 -0
  61. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue +745 -0
  62. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue.d.ts +163 -0
  63. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.d.vue.ts +8 -0
  64. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +383 -0
  65. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue.d.ts +8 -0
  66. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +264 -0
  67. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.js +183 -0
  68. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.d.vue.ts +163 -0
  69. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue +745 -0
  70. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue.d.ts +163 -0
  71. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.d.vue.ts +8 -0
  72. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +402 -0
  73. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue.d.ts +8 -0
  74. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +264 -0
  75. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.js +209 -0
  76. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +129 -0
  77. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue +618 -0
  78. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +129 -0
  79. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.d.vue.ts +8 -0
  80. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +501 -0
  81. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue.d.ts +8 -0
  82. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +99 -0
  83. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.js +133 -0
  84. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +127 -0
  85. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue +550 -0
  86. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +127 -0
  87. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.d.vue.ts +8 -0
  88. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +496 -0
  89. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue.d.ts +8 -0
  90. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +96 -0
  91. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.js +125 -0
  92. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +133 -0
  93. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue +605 -0
  94. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +133 -0
  95. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.d.vue.ts +8 -0
  96. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +401 -0
  97. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue.d.ts +8 -0
  98. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +102 -0
  99. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.js +142 -0
  100. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +131 -0
  101. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue +560 -0
  102. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +131 -0
  103. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.d.vue.ts +8 -0
  104. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +395 -0
  105. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue.d.ts +8 -0
  106. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +96 -0
  107. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.js +118 -0
  108. package/dist/runtime/components/form/fields/2026-05-28/tree-combobox-shared.d.ts +35 -0
  109. package/dist/runtime/components/form/fields/2026-05-28/tree-combobox-shared.js +31 -0
  110. package/dist/runtime/components/form/unit-config.vue +45 -1
  111. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +131 -0
  112. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +607 -0
  113. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +131 -0
  114. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
  115. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue +447 -0
  116. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
  117. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +90 -0
  118. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.js +143 -0
  119. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +129 -0
  120. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +538 -0
  121. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +129 -0
  122. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
  123. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue +429 -0
  124. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
  125. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +87 -0
  126. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.js +135 -0
  127. package/dist/runtime/components/table/columns/2026-05-27/tree-combobox-shared.d.ts +35 -0
  128. package/dist/runtime/components/table/columns/2026-05-27/tree-combobox-shared.js +31 -0
  129. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +183 -0
  130. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue +931 -0
  131. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +183 -0
  132. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.d.vue.ts +9 -0
  133. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.vue +463 -0
  134. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.vue.d.ts +9 -0
  135. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +283 -0
  136. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.js +275 -0
  137. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +183 -0
  138. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue +931 -0
  139. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +183 -0
  140. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.d.vue.ts +9 -0
  141. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.vue +414 -0
  142. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.vue.d.ts +9 -0
  143. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +283 -0
  144. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.js +275 -0
  145. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +133 -0
  146. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue +632 -0
  147. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +133 -0
  148. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
  149. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.vue +461 -0
  150. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
  151. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +93 -0
  152. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +161 -0
  153. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +131 -0
  154. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue +563 -0
  155. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +131 -0
  156. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
  157. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.vue +443 -0
  158. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
  159. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +90 -0
  160. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +153 -0
  161. package/dist/runtime/components/table/columns/2026-05-28/tree-combobox-shared.d.ts +35 -0
  162. package/dist/runtime/components/table/columns/2026-05-28/tree-combobox-shared.js +31 -0
  163. package/dist/runtime/components/table/config.vue +16 -16
  164. package/dist/runtime/components/ui/command/CommandItem.d.vue.ts +7 -0
  165. package/dist/runtime/components/ui/command/CommandItem.vue +13 -4
  166. package/dist/runtime/components/ui/command/CommandItem.vue.d.ts +7 -0
  167. package/dist/runtime/components/ui/tree/Tree.d.vue.ts +2 -0
  168. package/dist/runtime/components/ui/tree/Tree.vue +7 -2
  169. package/dist/runtime/components/ui/tree/Tree.vue.d.ts +2 -0
  170. package/dist/runtime/components/ui/tree/TreeNode.vue +16 -26
  171. package/dist/runtime/share/clipboard.d.ts +26 -0
  172. package/dist/runtime/share/clipboard.js +82 -0
  173. package/dist/runtime/share/layout.d.ts +4 -0
  174. package/dist/runtime/share/layout.js +35 -0
  175. package/package.json +1 -1
  176. package/dist/preview/assets/index-BCE-G4Ha.css +0 -1
  177. package/dist/preview/assets/index-C3Ycah5_.js +0 -643
  178. package/dist/preview/assets/index-hWT4_I5k.js +0 -1
@@ -0,0 +1,131 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly size?: number | undefined;
8
+ readonly disabled?: string | undefined;
9
+ readonly type: "com.shwfed.table.column.tree-combobox-multi";
10
+ readonly id: string;
11
+ readonly title: readonly [{
12
+ readonly locale: "zh";
13
+ readonly message: string;
14
+ }, ...{
15
+ readonly locale: "en" | "ja" | "ko";
16
+ readonly message: string;
17
+ }[]];
18
+ readonly hidden?: string | undefined;
19
+ readonly tooltip?: readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]] | undefined;
26
+ readonly compatibilityDate: "2026-05-27";
27
+ readonly groupId?: string | undefined;
28
+ readonly placeholder?: readonly [{
29
+ readonly locale: "zh";
30
+ readonly message: string;
31
+ }, ...{
32
+ readonly locale: "en" | "ja" | "ko";
33
+ readonly message: string;
34
+ }[]] | undefined;
35
+ readonly readonly?: string | undefined;
36
+ readonly grow?: boolean | undefined;
37
+ readonly binding: string;
38
+ readonly derived?: {
39
+ readonly mode: "formula" | "prefill";
40
+ readonly expression: string;
41
+ } | undefined;
42
+ readonly dataSource: {
43
+ readonly data: string;
44
+ readonly request?: string | undefined;
45
+ };
46
+ readonly nodeKey: string;
47
+ readonly nodeChildren: string;
48
+ readonly nodeLabel: readonly [{
49
+ readonly locale: "zh";
50
+ readonly message: string;
51
+ }, ...{
52
+ readonly locale: "en" | "ja" | "ko";
53
+ readonly message: string;
54
+ }[]];
55
+ readonly expandAll: boolean;
56
+ readonly cascade: "independent" | "cascade-down" | "cascade-both";
57
+ readonly enableSorting?: boolean | undefined;
58
+ readonly nodeTooltip?: readonly [{
59
+ readonly locale: "zh";
60
+ readonly message: string;
61
+ }, ...{
62
+ readonly locale: "en" | "ja" | "ko";
63
+ readonly message: string;
64
+ }[]] | undefined;
65
+ readonly nodeSelectable?: string | undefined;
66
+ }) => any;
67
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
68
+ "onUpdate:modelValue"?: ((value: {
69
+ readonly size?: number | undefined;
70
+ readonly disabled?: string | undefined;
71
+ readonly type: "com.shwfed.table.column.tree-combobox-multi";
72
+ readonly id: string;
73
+ readonly title: readonly [{
74
+ readonly locale: "zh";
75
+ readonly message: string;
76
+ }, ...{
77
+ readonly locale: "en" | "ja" | "ko";
78
+ readonly message: string;
79
+ }[]];
80
+ readonly hidden?: string | undefined;
81
+ readonly tooltip?: readonly [{
82
+ readonly locale: "zh";
83
+ readonly message: string;
84
+ }, ...{
85
+ readonly locale: "en" | "ja" | "ko";
86
+ readonly message: string;
87
+ }[]] | undefined;
88
+ readonly compatibilityDate: "2026-05-27";
89
+ readonly groupId?: string | undefined;
90
+ readonly placeholder?: readonly [{
91
+ readonly locale: "zh";
92
+ readonly message: string;
93
+ }, ...{
94
+ readonly locale: "en" | "ja" | "ko";
95
+ readonly message: string;
96
+ }[]] | undefined;
97
+ readonly readonly?: string | undefined;
98
+ readonly grow?: boolean | undefined;
99
+ readonly binding: string;
100
+ readonly derived?: {
101
+ readonly mode: "formula" | "prefill";
102
+ readonly expression: string;
103
+ } | undefined;
104
+ readonly dataSource: {
105
+ readonly data: string;
106
+ readonly request?: string | undefined;
107
+ };
108
+ readonly nodeKey: string;
109
+ readonly nodeChildren: string;
110
+ readonly nodeLabel: readonly [{
111
+ readonly locale: "zh";
112
+ readonly message: string;
113
+ }, ...{
114
+ readonly locale: "en" | "ja" | "ko";
115
+ readonly message: string;
116
+ }[]];
117
+ readonly expandAll: boolean;
118
+ readonly cascade: "independent" | "cascade-down" | "cascade-both";
119
+ readonly enableSorting?: boolean | undefined;
120
+ readonly nodeTooltip?: readonly [{
121
+ readonly locale: "zh";
122
+ readonly message: string;
123
+ }, ...{
124
+ readonly locale: "en" | "ja" | "ko";
125
+ readonly message: string;
126
+ }[]] | undefined;
127
+ readonly nodeSelectable?: string | undefined;
128
+ }) => any) | undefined;
129
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
130
+ declare const _default: typeof __VLS_export;
131
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { CellContext } from '@tanstack/vue-table';
2
+ import type { Value } from './schema.js';
3
+ type __VLS_Props = {
4
+ column: Value;
5
+ ctx: CellContext<unknown, unknown>;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,447 @@
1
+ <script setup>
2
+ import { Icon } from "@iconify/vue";
3
+ import { Effect, Fiber, Option } from "effect";
4
+ import { computed, ref, shallowRef, watch } from "vue";
5
+ import { useI18n } from "vue-i18n";
6
+ import { cel as _rawCel } from "../../../../../utils/cel";
7
+ import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { getLocalizedText } from "../../../../../share/locale";
9
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
10
+ import { Markdown } from "../../../../ui/markdown";
11
+ import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
12
+ import { Skeleton } from "../../../../ui/skeleton";
13
+ import { Tree as UiTree } from "../../../../ui/tree";
14
+ import { useFormState } from "../../../../form/utils/state";
15
+ import { interpolateMarkdown } from "../../../utils/runtime";
16
+ import { useSharedFetchLayer } from "../../../utils/shared-fetch";
17
+ import {
18
+ findWrappedPath,
19
+ getWrappedChildren,
20
+ wrapStructuralAll
21
+ } from "../tree-combobox-shared";
22
+ defineOptions({ name: "ShwfedTableTreeComboboxMultiRendererRuntime" });
23
+ const props = defineProps({
24
+ column: { type: null, required: true },
25
+ ctx: { type: Object, required: true }
26
+ });
27
+ const { locale, t } = useI18n({
28
+ inheritLocale: true,
29
+ messages: {
30
+ zh: {
31
+ "tree-combobox-multi-placeholder": "\u8BF7\u9009\u62E9",
32
+ "tree-combobox-multi-search-placeholder": "\u641C\u7D22\u2026",
33
+ "tree-combobox-multi-empty": "\u65E0\u53EF\u9009\u9879",
34
+ "tree-combobox-multi-load-error": "\u52A0\u8F7D\u5931\u8D25",
35
+ "tree-combobox-multi-retry": "\u91CD\u8BD5"
36
+ },
37
+ en: {
38
+ "tree-combobox-multi-placeholder": "Select\u2026",
39
+ "tree-combobox-multi-search-placeholder": "Search\u2026",
40
+ "tree-combobox-multi-empty": "No options",
41
+ "tree-combobox-multi-load-error": "Failed to load",
42
+ "tree-combobox-multi-retry": "Retry"
43
+ },
44
+ ja: {
45
+ "tree-combobox-multi-placeholder": "\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044",
46
+ "tree-combobox-multi-search-placeholder": "\u691C\u7D22\u2026",
47
+ "tree-combobox-multi-empty": "\u9078\u629E\u80A2\u306A\u3057",
48
+ "tree-combobox-multi-load-error": "\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
49
+ "tree-combobox-multi-retry": "\u518D\u8A66\u884C"
50
+ }
51
+ }
52
+ });
53
+ const formState = useFormState();
54
+ const inherited = injectCELContext();
55
+ const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
56
+ const sharedFetchLayer = useSharedFetchLayer();
57
+ const row = computed(() => props.ctx.row.original);
58
+ const rowIndex = computed(() => props.ctx.row.index);
59
+ const placeholderText = computed(
60
+ () => props.column.placeholder ? getLocalizedText(props.column.placeholder, locale.value) : t("tree-combobox-multi-placeholder")
61
+ );
62
+ function evalBool(expression, label) {
63
+ if (!expression) return false;
64
+ try {
65
+ return Effect.runSync($cel(expression, { row: row.value, index: rowIndex.value })) === true;
66
+ } catch (e) {
67
+ console.error(`[shwfed-table] tree-combobox-multi ${label} failed`, e);
68
+ return false;
69
+ }
70
+ }
71
+ const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
72
+ const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
73
+ const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
74
+ const effectiveReadonly = computed(
75
+ () => isReadonly.value || props.column.derived?.mode === "formula"
76
+ );
77
+ const committedKeys = computed(() => {
78
+ const raw = formState.getAt(props.column.binding);
79
+ return Array.isArray(raw) ? raw.map((v) => String(v)) : [];
80
+ });
81
+ function commit(next) {
82
+ formState.setAt(props.column.binding, next.map((v) => String(v)));
83
+ }
84
+ function nodeCtx(raw) {
85
+ return { row: row.value, index: rowIndex.value, node: raw };
86
+ }
87
+ function nodeKey(raw) {
88
+ try {
89
+ return String(Effect.runSync($cel(props.column.nodeKey, nodeCtx(raw))));
90
+ } catch (e) {
91
+ console.error("[shwfed-table] tree-combobox-multi nodeKey failed", e);
92
+ return "";
93
+ }
94
+ }
95
+ function nodeChildrenList(raw) {
96
+ let v;
97
+ try {
98
+ v = Effect.runSync($cel(props.column.nodeChildren, nodeCtx(raw)));
99
+ } catch (e) {
100
+ console.error("[shwfed-table] tree-combobox-multi nodeChildren failed", e);
101
+ return void 0;
102
+ }
103
+ if (v == null) return void 0;
104
+ if (!Array.isArray(v)) return void 0;
105
+ return v;
106
+ }
107
+ function safeInterpolate(tpl, raw) {
108
+ try {
109
+ return interpolateMarkdown(tpl, $cel, nodeCtx(raw));
110
+ } catch (e) {
111
+ console.error("[shwfed-table] tree-combobox-multi node interpolation failed", e);
112
+ return tpl;
113
+ }
114
+ }
115
+ function wrappedLabelText(w) {
116
+ const tpl = getLocalizedText(props.column.nodeLabel, locale.value) ?? "";
117
+ return tpl ? safeInterpolate(tpl, w.raw) : "";
118
+ }
119
+ function wrappedTooltipText(w) {
120
+ if (!props.column.nodeTooltip) return void 0;
121
+ const tpl = getLocalizedText(props.column.nodeTooltip, locale.value);
122
+ return tpl ? safeInterpolate(tpl, w.raw) : void 0;
123
+ }
124
+ function wrappedSelectable(w, _depth) {
125
+ if (isDisabled.value) return false;
126
+ const expr = props.column.nodeSelectable;
127
+ if (!expr) return true;
128
+ try {
129
+ return Effect.runSync($cel(expr, nodeCtx(w.raw)));
130
+ } catch {
131
+ return false;
132
+ }
133
+ }
134
+ const rawRoots = shallowRef([]);
135
+ const loading = ref(false);
136
+ const fetchError = ref(null);
137
+ async function fetchTree() {
138
+ const dataSource = props.column.dataSource;
139
+ if (!dataSource) {
140
+ rawRoots.value = [];
141
+ return;
142
+ }
143
+ const effect = Effect.gen(function* () {
144
+ let jsonOpt = Option.none();
145
+ if (dataSource.request) {
146
+ const builder = yield* $cel(dataSource.request, {
147
+ row: row.value,
148
+ index: rowIndex.value
149
+ });
150
+ const response = yield* builder.json();
151
+ jsonOpt = Option.some(response);
152
+ }
153
+ const dataRaw = yield* $cel(dataSource.data, {
154
+ row: row.value,
155
+ index: rowIndex.value,
156
+ json: jsonOpt
157
+ });
158
+ return Array.isArray(dataRaw) ? dataRaw : [];
159
+ });
160
+ const program = Effect.gen(function* () {
161
+ const showMaskFiber = yield* Effect.fork(
162
+ Effect.sync(() => {
163
+ loading.value = true;
164
+ }).pipe(Effect.delay("30 millis"))
165
+ );
166
+ return yield* Effect.ensuring(effect, Fiber.interrupt(showMaskFiber));
167
+ }).pipe(
168
+ Effect.ensuring(Effect.sync(() => {
169
+ loading.value = false;
170
+ }))
171
+ );
172
+ try {
173
+ const result = await Effect.runPromise(Effect.provide(program, sharedFetchLayer));
174
+ rawRoots.value = result;
175
+ fetchError.value = null;
176
+ } catch (e) {
177
+ console.warn("[shwfed-table] tree-combobox-multi dataSource fetch failed", e);
178
+ fetchError.value = e;
179
+ }
180
+ }
181
+ watch(
182
+ () => [props.column.dataSource?.request, props.column.dataSource?.data],
183
+ () => {
184
+ void fetchTree();
185
+ },
186
+ { immediate: true }
187
+ );
188
+ const roots = computed(
189
+ () => wrapStructuralAll(rawRoots.value, {
190
+ nodeKey,
191
+ nodeChildren: nodeChildrenList
192
+ })
193
+ );
194
+ const pendingKeys = ref(null);
195
+ const open = ref(false);
196
+ watch(open, (next, prev) => {
197
+ if (!prev && next) {
198
+ pendingKeys.value = [...committedKeys.value];
199
+ return;
200
+ }
201
+ if (prev && !next && pendingKeys.value !== null) {
202
+ commit(pendingKeys.value);
203
+ pendingKeys.value = null;
204
+ }
205
+ });
206
+ const displayKeys = computed(
207
+ () => pendingKeys.value ?? committedKeys.value
208
+ );
209
+ function handleUpdate(next) {
210
+ const arr = Array.isArray(next) ? next : [];
211
+ pendingKeys.value = arr;
212
+ }
213
+ function labelForKey(k) {
214
+ const path = findWrappedPath(roots.value, k);
215
+ if (!path || path.length === 0) return null;
216
+ const leaf = path[path.length - 1];
217
+ return wrappedLabelText(leaf);
218
+ }
219
+ const triggerLabel = computed(() => {
220
+ const arr = displayKeys.value;
221
+ if (arr.length === 0) return "";
222
+ const head = labelForKey(arr[0]);
223
+ if (head === null || head.length === 0) return "";
224
+ if (arr.length === 1) return head;
225
+ return `${head} +${arr.length - 1}`;
226
+ });
227
+ const initialExpanded = computed(() => {
228
+ if (!props.column.expandAll) return [];
229
+ const out = [];
230
+ const stack = [...roots.value];
231
+ while (stack.length) {
232
+ const n = stack.pop();
233
+ if (n.kind === "branch") {
234
+ out.push(n.key);
235
+ stack.push(...n.children);
236
+ }
237
+ }
238
+ return out;
239
+ });
240
+ const filterQuery = ref("");
241
+ function filterPredicate(w, query) {
242
+ const q = query.trim().toLowerCase();
243
+ if (!q) return true;
244
+ return wrappedLabelText(w).trim().toLowerCase().includes(q);
245
+ }
246
+ const showClear = computed(
247
+ () => !isDisabled.value && !loading.value && displayKeys.value.length > 0
248
+ );
249
+ function handleClear() {
250
+ pendingKeys.value = null;
251
+ commit([]);
252
+ open.value = false;
253
+ }
254
+ const hoveredKey = ref(null);
255
+ watch(open, (isOpen) => {
256
+ if (!isOpen) hoveredKey.value = null;
257
+ });
258
+ function collectTooltipNodes(out, siblings) {
259
+ for (const n of siblings) {
260
+ if (wrappedTooltipText(n)) out.push(n.key);
261
+ if (n.kind === "branch") collectTooltipNodes(out, n.children);
262
+ }
263
+ }
264
+ const anyHasTooltip = computed(() => {
265
+ if (!props.column.nodeTooltip) return false;
266
+ const out = [];
267
+ collectTooltipNodes(out, roots.value);
268
+ return out.length > 0;
269
+ });
270
+ const hoveredTooltip = computed(() => {
271
+ const k = hoveredKey.value;
272
+ if (!k) return void 0;
273
+ const path = findWrappedPath(roots.value, k);
274
+ if (!path || path.length === 0) return void 0;
275
+ return wrappedTooltipText(path[path.length - 1]);
276
+ });
277
+ </script>
278
+
279
+ <template>
280
+ <div class="p-[0.125rem] w-full">
281
+ <span
282
+ v-if="isHidden"
283
+ class="block h-7 w-full"
284
+ />
285
+ <span
286
+ v-else-if="effectiveReadonly"
287
+ class="flex items-center h-7 w-full px-2 text-[0.75rem] text-zinc-700 truncate"
288
+ >
289
+ {{ triggerLabel || "\u2014" }}
290
+ </span>
291
+ <Popover
292
+ v-else
293
+ v-model:open="open"
294
+ >
295
+ <PopoverAnchor as-child>
296
+ <InputGroup
297
+ class="group/tree-combobox-multi h-7 rounded border-zinc-200/30 hover:border-zinc-200 focus-within:border-zinc-200 transition-colors ease-out duration-180"
298
+ :data-disabled="isDisabled ? 'true' : void 0"
299
+ >
300
+ <PopoverTrigger as-child>
301
+ <InputGroupInput
302
+ :model-value="triggerLabel"
303
+ :disabled="isDisabled"
304
+ :placeholder="placeholderText"
305
+ class="h-7 text-[0.75rem] md:text-[0.75rem] px-2 cursor-pointer text-left"
306
+ readonly
307
+ />
308
+ </PopoverTrigger>
309
+ <InputGroupAddon
310
+ v-if="loading"
311
+ align="inline-end"
312
+ data-slot="tree-combobox-multi-loading"
313
+ class="text-zinc-400"
314
+ >
315
+ <Icon
316
+ icon="fluent:spinner-ios-20-regular"
317
+ class="size-3 animate-spin"
318
+ />
319
+ </InputGroupAddon>
320
+ <InputGroupAddon
321
+ v-else-if="showClear"
322
+ align="inline-end"
323
+ class="[@media(hover:hover)]:opacity-0 transition-opacity group-hover/tree-combobox-multi:opacity-100 focus-within:opacity-100"
324
+ >
325
+ <InputGroupButton
326
+ size="icon-xs"
327
+ data-slot="tree-combobox-multi-clear"
328
+ class="size-4 text-zinc-500 hover:text-zinc-700"
329
+ tabindex="-1"
330
+ @mousedown.prevent
331
+ @click.stop="handleClear"
332
+ >
333
+ <Icon
334
+ icon="fluent:dismiss-20-regular"
335
+ class="size-3"
336
+ />
337
+ </InputGroupButton>
338
+ </InputGroupAddon>
339
+ </InputGroup>
340
+ </PopoverAnchor>
341
+ <PopoverContent
342
+ class="p-0"
343
+ :style="{ width: 'var(--reka-popover-trigger-width)' }"
344
+ >
345
+ <div
346
+ data-slot="tree-combobox-multi-search"
347
+ class="flex h-7 items-center gap-2 border-b border-zinc-200 px-2"
348
+ >
349
+ <Icon
350
+ icon="fluent:search-20-filled"
351
+ class="size-3 shrink-0 opacity-50"
352
+ />
353
+ <input
354
+ v-model="filterQuery"
355
+ :disabled="isDisabled"
356
+ :placeholder="t('tree-combobox-multi-search-placeholder')"
357
+ class="flex h-7 w-full bg-transparent text-[0.75rem] outline-hidden placeholder:text-zinc-500 disabled:cursor-not-allowed disabled:opacity-50"
358
+ >
359
+ </div>
360
+ <div class="flex flex-col p-1">
361
+ <div
362
+ v-if="fetchError && roots.length === 0"
363
+ class="min-h-7 px-2 py-1 text-[0.75rem] text-red-500"
364
+ >
365
+ {{ t("tree-combobox-multi-load-error") }}
366
+ </div>
367
+ <div
368
+ v-else-if="loading && roots.length === 0"
369
+ class="flex flex-col gap-1 px-2 py-1"
370
+ aria-busy="true"
371
+ >
372
+ <Skeleton class="h-4 w-2/3" />
373
+ <Skeleton class="h-4 w-1/2" />
374
+ <Skeleton class="h-4 w-3/5" />
375
+ </div>
376
+
377
+ <UiTree
378
+ v-else
379
+ :roots="roots"
380
+ :get-key="(w) => w.key"
381
+ :get-children="getWrappedChildren"
382
+ selection-mode="multi"
383
+ :cascade="column.cascade ?? 'independent'"
384
+ :model-value="displayKeys"
385
+ :selectable="wrappedSelectable"
386
+ :filter-predicate="filterPredicate"
387
+ :filter-query="filterQuery"
388
+ :initial-expanded="initialExpanded"
389
+ :show-focused-row="false"
390
+ :class="isDisabled ? 'pointer-events-none opacity-60' : void 0"
391
+ class="max-h-72 overflow-y-auto"
392
+ @update:model-value="handleUpdate"
393
+ >
394
+ <template #node="{ node, selected }">
395
+ <span
396
+ class="flex flex-1 min-w-0 items-center justify-between gap-2"
397
+ @mouseenter="hoveredKey = node.key"
398
+ @focusin="hoveredKey = node.key"
399
+ >
400
+ <Markdown
401
+ :source="wrappedLabelText(node)"
402
+ class="prose prose-xs prose-zinc text-zinc-700 min-w-0"
403
+ />
404
+ <Icon
405
+ v-if="selected"
406
+ icon="fluent:checkmark-20-regular"
407
+ class="size-3 shrink-0 text-zinc-700"
408
+ />
409
+ </span>
410
+ </template>
411
+
412
+ <template #empty>
413
+ <div class="min-h-7 px-2 py-1 text-[0.75rem] text-zinc-400">
414
+ {{ t("tree-combobox-multi-empty") }}
415
+ </div>
416
+ </template>
417
+
418
+ <template #error="{ error, retry }">
419
+ <span class="inline-flex items-center gap-1 text-xs text-red-500">
420
+ {{ t("tree-combobox-multi-load-error") }}
421
+ <button
422
+ type="button"
423
+ class="underline hover:text-red-600"
424
+ @click.stop="retry"
425
+ >
426
+ {{ t("tree-combobox-multi-retry") }}
427
+ </button>
428
+ <span class="sr-only">{{ String(error) }}</span>
429
+ </span>
430
+ </template>
431
+ </UiTree>
432
+ </div>
433
+ <div
434
+ v-if="anyHasTooltip && hoveredTooltip"
435
+ data-slot="tree-combobox-multi-tooltip"
436
+ class="border-t border-zinc-200 px-2 py-1.5"
437
+ >
438
+ <Markdown
439
+ :source="hoveredTooltip"
440
+ block
441
+ class="prose prose-xs prose-zinc"
442
+ />
443
+ </div>
444
+ </PopoverContent>
445
+ </Popover>
446
+ </div>
447
+ </template>
@@ -0,0 +1,9 @@
1
+ import type { CellContext } from '@tanstack/vue-table';
2
+ import type { Value } from './schema.js';
3
+ type __VLS_Props = {
4
+ column: Value;
5
+ ctx: CellContext<unknown, unknown>;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,90 @@
1
+ import { Schema } from 'effect';
2
+ import type { ColumnDef } from '@tanstack/vue-table';
3
+ import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
4
+ import type { ColumnDefDeps } from '../../../utils/resolve.js';
5
+ export declare const type: "com.shwfed.table.column.tree-combobox-multi";
6
+ export declare const compatibilityDate: "2026-05-27";
7
+ export declare const metadata: {
8
+ readonly name: "下拉树(多选)";
9
+ readonly icon: "fluent:tree-evergreen-20-regular";
10
+ };
11
+ export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
12
+ placeholder: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
13
+ locale: Schema.Literal<["zh"]>;
14
+ message: Schema.SchemaClass<string, string, never>;
15
+ }>], [Schema.Struct<{
16
+ locale: Schema.Literal<["ja", "en", "ko"]>;
17
+ message: Schema.SchemaClass<string, string, never>;
18
+ }>]>>;
19
+ hidden: Schema.optional<Schema.Schema<string, string, never>>;
20
+ disabled: Schema.optional<Schema.Schema<string, string, never>>;
21
+ readonly: Schema.optional<Schema.Schema<string, string, never>>;
22
+ derived: Schema.optional<Schema.Struct<{
23
+ mode: Schema.Literal<["formula", "prefill"]>;
24
+ expression: Schema.Schema<string, string, never>;
25
+ }>>;
26
+ dataSource: Schema.Struct<{
27
+ request: Schema.optional<Schema.Schema<string, string, never>>;
28
+ data: Schema.Schema<string, string, never>;
29
+ }>;
30
+ nodeKey: Schema.Schema<string, string, never>;
31
+ nodeChildren: Schema.Schema<string, string, never>;
32
+ nodeLabel: Schema.refine<readonly [{
33
+ readonly locale: "zh";
34
+ readonly message: string;
35
+ }, ...{
36
+ readonly locale: "en" | "ja" | "ko";
37
+ readonly message: string;
38
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
39
+ locale: Schema.Literal<["zh"]>;
40
+ message: Schema.SchemaClass<string, string, never>;
41
+ }>], [Schema.Struct<{
42
+ locale: Schema.Literal<["ja", "en", "ko"]>;
43
+ message: Schema.SchemaClass<string, string, never>;
44
+ }>]>>;
45
+ nodeTooltip: Schema.optional<Schema.refine<readonly [{
46
+ readonly locale: "zh";
47
+ readonly message: string;
48
+ }, ...{
49
+ readonly locale: "en" | "ja" | "ko";
50
+ readonly message: string;
51
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
52
+ locale: Schema.Literal<["zh"]>;
53
+ message: Schema.SchemaClass<string, string, never>;
54
+ }>], [Schema.Struct<{
55
+ locale: Schema.Literal<["ja", "en", "ko"]>;
56
+ message: Schema.SchemaClass<string, string, never>;
57
+ }>]>>>;
58
+ nodeSelectable: Schema.optional<Schema.Schema<string, string, never>>;
59
+ cascade: Schema.optionalWith<Schema.Literal<["independent", "cascade-down", "cascade-both"]>, {
60
+ default: () => "independent";
61
+ }>;
62
+ expandAll: Schema.optionalWith<typeof Schema.Boolean, {
63
+ default: () => false;
64
+ }>;
65
+ title: Schema.TupleType<readonly [Schema.Struct<{
66
+ locale: Schema.Literal<["zh"]>;
67
+ message: Schema.SchemaClass<string, string, never>;
68
+ }>], [Schema.Struct<{
69
+ locale: Schema.Literal<["ja", "en", "ko"]>;
70
+ message: Schema.SchemaClass<string, string, never>;
71
+ }>]>;
72
+ binding: Schema.refine<string, typeof Schema.String>;
73
+ enableSorting: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
74
+ size: Schema.optional<Schema.refine<number, Schema.filter<typeof Schema.Number>>>;
75
+ grow: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
76
+ tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
77
+ locale: Schema.Literal<["zh"]>;
78
+ message: Schema.SchemaClass<string, string, never>;
79
+ }>], [Schema.Struct<{
80
+ locale: Schema.Literal<["ja", "en", "ko"]>;
81
+ message: Schema.SchemaClass<string, string, never>;
82
+ }>]>>;
83
+ id: Schema.refine<string, typeof Schema.String>;
84
+ groupId: Schema.optional<typeof Schema.UUID>;
85
+ type: Schema.Literal<["com.shwfed.table.column.tree-combobox-multi"]>;
86
+ compatibilityDate: Schema.Literal<["2026-05-27"]>;
87
+ }>;
88
+ export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
89
+ export declare function defaults(): Partial<Value>;
90
+ export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;