@shwfed/config 2.4.0 → 2.4.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 (219) hide show
  1. package/dist/mcp.mjs +43 -5
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-CZ0f5xdI.js → config-BovRv7Mw.js} +1 -1
  4. package/dist/preview/assets/{config-BcQQl4v6.js → config-ByTxMBcK.js} +1 -1
  5. package/dist/preview/assets/{config-Ddh8pxIi.js → config-C7xYpB3N.js} +1 -1
  6. package/dist/preview/assets/{config-Bi9F-Jdh.js → config-CH9wsYX8.js} +1 -1
  7. package/dist/preview/assets/{config-C32yfrlg.js → config-Ch5dL5lp.js} +1 -1
  8. package/dist/preview/assets/{config-D9xGgFnF.js → config-D50Rl2n_.js} +1 -1
  9. package/dist/preview/assets/{config-CHHX7vhb.js → config-DiwVK32V.js} +1 -1
  10. package/dist/preview/assets/{config-BdFIFUa_.js → config-EKVeWrbS.js} +1 -1
  11. package/dist/preview/assets/{config-Bxkq2ZRm.js → config-Q86AhjHq.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js → definition.vue_vue_type_script_setup_true_lang-D8NPPbjZ.js} +1 -1
  13. package/dist/preview/assets/index-65eB1l4r.css +1 -0
  14. package/dist/preview/assets/index-CIrlYN0M.js +1 -0
  15. package/dist/preview/assets/index-DUDlWaQI.js +661 -0
  16. package/dist/preview/assets/runtime-BP7zXnyG.js +1 -0
  17. package/dist/preview/assets/runtime-BQSwNpLC.js +1 -0
  18. package/dist/preview/assets/runtime-BwR_BbTu.js +1 -0
  19. package/dist/preview/assets/runtime-Ch3JIgUQ.js +1 -0
  20. package/dist/preview/assets/runtime-CjvZcU7X.js +1 -0
  21. package/dist/preview/assets/runtime-Cunk4vOs.js +1 -0
  22. package/dist/preview/assets/runtime-D34aQN00.js +1 -0
  23. package/dist/preview/assets/runtime-a9TOQRwD.js +1 -0
  24. package/dist/preview/assets/runtime-aPt-bW3F.js +1 -0
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/runtime.vue +7 -4
  27. package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/runtime.vue +6 -0
  28. package/dist/runtime/components/form/ValidationRulesField.d.vue.ts +16 -0
  29. package/dist/runtime/components/form/ValidationRulesField.vue +207 -0
  30. package/dist/runtime/components/form/ValidationRulesField.vue.d.ts +16 -0
  31. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.d.vue.ts +24 -0
  32. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.vue.d.ts +24 -0
  33. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +18 -0
  34. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +24 -0
  35. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +38 -0
  36. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +24 -0
  37. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +18 -2
  38. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +18 -0
  39. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +24 -0
  40. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue +38 -0
  41. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +24 -0
  42. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +18 -2
  43. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +18 -0
  44. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.d.vue.ts +24 -0
  45. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.vue.d.ts +24 -0
  46. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -0
  47. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  48. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  49. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  50. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +24 -0
  51. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +38 -0
  52. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +24 -0
  53. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +18 -2
  54. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +18 -0
  55. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +24 -0
  56. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +38 -0
  57. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +24 -0
  58. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +18 -2
  59. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +18 -0
  60. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +24 -0
  61. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +38 -0
  62. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +24 -0
  63. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +18 -2
  64. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +18 -0
  65. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +24 -0
  66. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +38 -0
  67. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +24 -0
  68. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +18 -2
  69. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +18 -0
  70. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +24 -0
  71. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue +38 -0
  72. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +24 -0
  73. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +18 -2
  74. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +18 -0
  75. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +24 -0
  76. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue +38 -0
  77. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +24 -0
  78. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +18 -2
  79. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +18 -0
  80. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +24 -0
  81. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +38 -0
  82. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +24 -0
  83. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +18 -2
  84. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +18 -0
  85. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +24 -0
  86. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue +38 -0
  87. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +24 -0
  88. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +18 -2
  89. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +18 -0
  90. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +24 -0
  91. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue +38 -0
  92. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +24 -0
  93. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +18 -2
  94. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +18 -0
  95. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  96. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  97. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  98. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.d.vue.ts +24 -0
  99. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue +38 -0
  100. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue.d.ts +24 -0
  101. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +18 -2
  102. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +18 -0
  103. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +24 -0
  104. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue +38 -0
  105. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +24 -0
  106. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +18 -2
  107. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +18 -0
  108. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +24 -0
  109. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue +38 -0
  110. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +24 -0
  111. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +18 -2
  112. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +30 -0
  113. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.d.vue.ts +24 -0
  114. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue +38 -0
  115. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue.d.ts +24 -0
  116. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +18 -2
  117. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +18 -0
  118. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.d.vue.ts +24 -0
  119. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue +38 -0
  120. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue.d.ts +24 -0
  121. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +18 -2
  122. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +18 -0
  123. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.d.vue.ts +24 -0
  124. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue +51 -9
  125. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue.d.ts +24 -0
  126. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +22 -2
  127. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +18 -0
  128. package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/runtime.vue +26 -0
  129. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  130. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  131. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  132. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +24 -0
  133. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +38 -0
  134. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +24 -0
  135. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +18 -2
  136. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +18 -0
  137. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +24 -0
  138. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +38 -0
  139. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +24 -0
  140. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +18 -2
  141. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +18 -0
  142. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  143. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  144. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  145. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  146. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  147. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  148. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  149. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  150. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  151. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  152. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue +38 -0
  153. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  154. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +18 -2
  155. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  156. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  157. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue +38 -0
  158. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  159. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +18 -2
  160. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  161. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  162. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue +38 -0
  163. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  164. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +18 -2
  165. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  166. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  167. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue +38 -0
  168. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  169. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +18 -2
  170. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  171. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  172. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue +38 -0
  173. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  174. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +18 -2
  175. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  176. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +24 -0
  177. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue +38 -0
  178. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +24 -0
  179. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +18 -2
  180. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +18 -0
  181. package/dist/runtime/components/form/index.d.vue.ts +1 -0
  182. package/dist/runtime/components/form/index.vue +9 -0
  183. package/dist/runtime/components/form/index.vue.d.ts +1 -0
  184. package/dist/runtime/components/form/schema.js +2 -2
  185. package/dist/runtime/components/form/utils/common.d.ts +42 -0
  186. package/dist/runtime/components/form/utils/common.js +40 -2
  187. package/dist/runtime/components/form/utils/validation.d.ts +85 -0
  188. package/dist/runtime/components/form/utils/validation.js +113 -0
  189. package/dist/runtime/components/table/config.d.vue.ts +4 -2
  190. package/dist/runtime/components/table/config.vue +5 -0
  191. package/dist/runtime/components/table/config.vue.d.ts +4 -2
  192. package/dist/runtime/components/table/utils/shared.js +2 -2
  193. package/dist/runtime/components/ui/field/FieldError.vue +1 -1
  194. package/dist/runtime/components/ui/field/FieldMessages.d.vue.ts +9 -0
  195. package/dist/runtime/components/ui/field/FieldMessages.vue +21 -0
  196. package/dist/runtime/components/ui/field/FieldMessages.vue.d.ts +9 -0
  197. package/dist/runtime/components/ui/field/FieldWarning.d.vue.ts +20 -0
  198. package/dist/runtime/components/ui/field/FieldWarning.vue +51 -0
  199. package/dist/runtime/components/ui/field/FieldWarning.vue.d.ts +20 -0
  200. package/dist/runtime/components/ui/field/index.d.ts +2 -0
  201. package/dist/runtime/components/ui/field/index.js +10 -4
  202. package/dist/runtime/components/ui/locale/Locale.d.vue.ts +2 -0
  203. package/dist/runtime/components/ui/locale/Locale.vue +165 -155
  204. package/dist/runtime/components/ui/locale/Locale.vue.d.ts +2 -0
  205. package/dist/runtime/share/form-validate.d.ts +18 -0
  206. package/dist/runtime/share/form-validate.js +8 -0
  207. package/package.json +1 -1
  208. package/dist/preview/assets/index-BqOX70Hd.css +0 -1
  209. package/dist/preview/assets/index-D-VR1i8D.js +0 -659
  210. package/dist/preview/assets/index-ihZGlPdX.js +0 -1
  211. package/dist/preview/assets/runtime-Bn8mqeDH.js +0 -1
  212. package/dist/preview/assets/runtime-Cc_Wk3o-.js +0 -1
  213. package/dist/preview/assets/runtime-CttAjIgg.js +0 -1
  214. package/dist/preview/assets/runtime-Cx4f2UTl.js +0 -1
  215. package/dist/preview/assets/runtime-D1dESjXR.js +0 -1
  216. package/dist/preview/assets/runtime-DIEP1Xbh.js +0 -1
  217. package/dist/preview/assets/runtime-DKceWuBx.js +0 -1
  218. package/dist/preview/assets/runtime-Dhid9O5c.js +0 -1
  219. package/dist/preview/assets/runtime-YMiqi6WY.js +0 -1
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-26";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -53,6 +54,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
54
  }[]];
54
55
  readonly expandAll: boolean;
55
56
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
57
+ readonly validations?: readonly {
58
+ readonly message: readonly [{
59
+ readonly locale: "zh";
60
+ readonly message: string;
61
+ }, ...{
62
+ readonly locale: "en" | "ja" | "ko";
63
+ readonly message: string;
64
+ }[]];
65
+ readonly warning?: boolean | undefined;
66
+ readonly when: string;
67
+ }[] | undefined;
56
68
  readonly nodeTooltip?: readonly [{
57
69
  readonly locale: "zh";
58
70
  readonly message: string;
@@ -82,6 +94,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
94
  readonly locale: "en" | "ja" | "ko";
83
95
  readonly message: string;
84
96
  }[]] | undefined;
97
+ readonly required?: string | undefined;
85
98
  readonly displayName?: string | undefined;
86
99
  readonly compatibilityDate: "2026-05-26";
87
100
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -113,6 +126,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
113
126
  }[]];
114
127
  readonly expandAll: boolean;
115
128
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
129
+ readonly validations?: readonly {
130
+ readonly message: readonly [{
131
+ readonly locale: "zh";
132
+ readonly message: string;
133
+ }, ...{
134
+ readonly locale: "en" | "ja" | "ko";
135
+ readonly message: string;
136
+ }[]];
137
+ readonly warning?: boolean | undefined;
138
+ readonly when: string;
139
+ }[] | undefined;
116
140
  readonly nodeTooltip?: readonly [{
117
141
  readonly locale: "zh";
118
142
  readonly message: string;
@@ -88,6 +88,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
88
88
  id: Schema.refine<string, typeof Schema.String>;
89
89
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
90
90
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
91
+ required: Schema.optional<Schema.Schema<string, string, never>>;
92
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
93
+ when: Schema.Schema<string, string, never>;
94
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
95
+ message: Schema.refine<readonly [{
96
+ readonly locale: "zh";
97
+ readonly message: string;
98
+ }, ...{
99
+ readonly locale: "en" | "ja" | "ko";
100
+ readonly message: string;
101
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
102
+ locale: Schema.Literal<["zh"]>;
103
+ message: Schema.SchemaClass<string, string, never>;
104
+ }>], [Schema.Struct<{
105
+ locale: Schema.Literal<["ja", "en", "ko"]>;
106
+ message: Schema.SchemaClass<string, string, never>;
107
+ }>]>>;
108
+ }>>>;
91
109
  type: Schema.Literal<["com.shwfed.form.field.tree.combobox.multi"]>;
92
110
  compatibilityDate: Schema.Literal<["2026-05-26"]>;
93
111
  }>;
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-26";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -52,6 +53,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
52
53
  readonly message: string;
53
54
  }[]];
54
55
  readonly expandAll: boolean;
56
+ readonly validations?: readonly {
57
+ readonly message: readonly [{
58
+ readonly locale: "zh";
59
+ readonly message: string;
60
+ }, ...{
61
+ readonly locale: "en" | "ja" | "ko";
62
+ readonly message: string;
63
+ }[]];
64
+ readonly warning?: boolean | undefined;
65
+ readonly when: string;
66
+ }[] | undefined;
55
67
  readonly nodeTooltip?: readonly [{
56
68
  readonly locale: "zh";
57
69
  readonly message: string;
@@ -81,6 +93,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
81
93
  readonly locale: "en" | "ja" | "ko";
82
94
  readonly message: string;
83
95
  }[]] | undefined;
96
+ readonly required?: string | undefined;
84
97
  readonly displayName?: string | undefined;
85
98
  readonly compatibilityDate: "2026-05-26";
86
99
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -111,6 +124,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
111
124
  readonly message: string;
112
125
  }[]];
113
126
  readonly expandAll: boolean;
127
+ readonly validations?: readonly {
128
+ readonly message: readonly [{
129
+ readonly locale: "zh";
130
+ readonly message: string;
131
+ }, ...{
132
+ readonly locale: "en" | "ja" | "ko";
133
+ readonly message: string;
134
+ }[]];
135
+ readonly warning?: boolean | undefined;
136
+ readonly when: string;
137
+ }[] | undefined;
114
138
  readonly nodeTooltip?: readonly [{
115
139
  readonly locale: "zh";
116
140
  readonly message: string;
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-26";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -52,6 +53,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
52
53
  readonly message: string;
53
54
  }[]];
54
55
  readonly expandAll: boolean;
56
+ readonly validations?: readonly {
57
+ readonly message: readonly [{
58
+ readonly locale: "zh";
59
+ readonly message: string;
60
+ }, ...{
61
+ readonly locale: "en" | "ja" | "ko";
62
+ readonly message: string;
63
+ }[]];
64
+ readonly warning?: boolean | undefined;
65
+ readonly when: string;
66
+ }[] | undefined;
55
67
  readonly nodeTooltip?: readonly [{
56
68
  readonly locale: "zh";
57
69
  readonly message: string;
@@ -81,6 +93,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
81
93
  readonly locale: "en" | "ja" | "ko";
82
94
  readonly message: string;
83
95
  }[]] | undefined;
96
+ readonly required?: string | undefined;
84
97
  readonly displayName?: string | undefined;
85
98
  readonly compatibilityDate: "2026-05-26";
86
99
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -111,6 +124,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
111
124
  readonly message: string;
112
125
  }[]];
113
126
  readonly expandAll: boolean;
127
+ readonly validations?: readonly {
128
+ readonly message: readonly [{
129
+ readonly locale: "zh";
130
+ readonly message: string;
131
+ }, ...{
132
+ readonly locale: "en" | "ja" | "ko";
133
+ readonly message: string;
134
+ }[]];
135
+ readonly warning?: boolean | undefined;
136
+ readonly when: string;
137
+ }[] | undefined;
114
138
  readonly nodeTooltip?: readonly [{
115
139
  readonly locale: "zh";
116
140
  readonly message: string;
@@ -85,6 +85,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
85
85
  id: Schema.refine<string, typeof Schema.String>;
86
86
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
87
87
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
88
+ required: Schema.optional<Schema.Schema<string, string, never>>;
89
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
90
+ when: Schema.Schema<string, string, never>;
91
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
92
+ message: Schema.refine<readonly [{
93
+ readonly locale: "zh";
94
+ readonly message: string;
95
+ }, ...{
96
+ readonly locale: "en" | "ja" | "ko";
97
+ readonly message: string;
98
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
99
+ locale: Schema.Literal<["zh"]>;
100
+ message: Schema.SchemaClass<string, string, never>;
101
+ }>], [Schema.Struct<{
102
+ locale: Schema.Literal<["ja", "en", "ko"]>;
103
+ message: Schema.SchemaClass<string, string, never>;
104
+ }>]>>;
105
+ }>>>;
88
106
  type: Schema.Literal<["com.shwfed.form.field.tree.combobox.single"]>;
89
107
  compatibilityDate: Schema.Literal<["2026-05-26"]>;
90
108
  }>;
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -79,6 +80,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
80
  readonly keywords?: readonly string[] | undefined;
80
81
  }[];
81
82
  };
83
+ readonly validations?: readonly {
84
+ readonly message: readonly [{
85
+ readonly locale: "zh";
86
+ readonly message: string;
87
+ }, ...{
88
+ readonly locale: "en" | "ja" | "ko";
89
+ readonly message: string;
90
+ }[]];
91
+ readonly warning?: boolean | undefined;
92
+ readonly when: string;
93
+ }[] | undefined;
82
94
  }) => any;
83
95
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
84
96
  "onUpdate:modelValue"?: ((value: {
@@ -100,6 +112,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
112
  readonly locale: "en" | "ja" | "ko";
101
113
  readonly message: string;
102
114
  }[]] | undefined;
115
+ readonly required?: string | undefined;
103
116
  readonly displayName?: string | undefined;
104
117
  readonly compatibilityDate: "2026-05-28";
105
118
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -157,6 +170,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
157
170
  readonly keywords?: readonly string[] | undefined;
158
171
  }[];
159
172
  };
173
+ readonly validations?: readonly {
174
+ readonly message: readonly [{
175
+ readonly locale: "zh";
176
+ readonly message: string;
177
+ }, ...{
178
+ readonly locale: "en" | "ja" | "ko";
179
+ readonly message: string;
180
+ }[]];
181
+ readonly warning?: boolean | undefined;
182
+ readonly when: string;
183
+ }[] | undefined;
160
184
  }) => any) | undefined;
161
185
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
162
186
  declare const _default: typeof __VLS_export;
@@ -5,6 +5,7 @@ import { Button } from "../../../../ui/button";
5
5
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../../../ui/dropdown-menu";
6
6
  import { ExpressionEditor } from "../../../../ui/expression-editor";
7
7
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
8
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
8
9
  import { Field, FieldLabel } from "../../../../ui/field";
9
10
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupNumberField } from "../../../../ui/input-group";
10
11
  import { Locale as LocaleField } from "../../../../ui/locale";
@@ -662,6 +663,26 @@ function setItemKeywords(index, text) {
662
663
  </Field>
663
664
 
664
665
  <div class="grid grid-cols-3 gap-3">
666
+ <Field orientation="vertical">
667
+ <FieldLabel class="text-xs text-zinc-500">
668
+ <template #tooltip>
669
+ <Markdown
670
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
671
+ block
672
+ class="prose prose-sm prose-zinc"
673
+ />
674
+ </template>
675
+ {{ fieldTitle("required") }}
676
+ </FieldLabel>
677
+ <ExpressionEditor
678
+ :model-value="value.required ?? ''"
679
+ placeholder="例:form.type == 'company'"
680
+ result-type="bool"
681
+ class="min-h-10"
682
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
683
+ />
684
+ </Field>
685
+
665
686
  <Field orientation="vertical">
666
687
  <FieldLabel class="text-xs text-zinc-500">
667
688
  <template #tooltip>
@@ -741,5 +762,22 @@ function setItemKeywords(index, text) {
741
762
  @update:model-value="(v) => value = { ...value, derived: v }"
742
763
  />
743
764
  </Field>
765
+
766
+ <Field orientation="vertical">
767
+ <FieldLabel class="text-xs text-zinc-500">
768
+ <template #tooltip>
769
+ <Markdown
770
+ :source="fieldDescription('validations')"
771
+ block
772
+ class="prose prose-sm prose-zinc"
773
+ />
774
+ </template>
775
+ {{ fieldTitle("validations") }}
776
+ </FieldLabel>
777
+ <ValidationRulesField
778
+ :model-value="value.validations"
779
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
780
+ />
781
+ </Field>
744
782
  </div>
745
783
  </template>
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -79,6 +80,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
80
  readonly keywords?: readonly string[] | undefined;
80
81
  }[];
81
82
  };
83
+ readonly validations?: readonly {
84
+ readonly message: readonly [{
85
+ readonly locale: "zh";
86
+ readonly message: string;
87
+ }, ...{
88
+ readonly locale: "en" | "ja" | "ko";
89
+ readonly message: string;
90
+ }[]];
91
+ readonly warning?: boolean | undefined;
92
+ readonly when: string;
93
+ }[] | undefined;
82
94
  }) => any;
83
95
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
84
96
  "onUpdate:modelValue"?: ((value: {
@@ -100,6 +112,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
112
  readonly locale: "en" | "ja" | "ko";
101
113
  readonly message: string;
102
114
  }[]] | undefined;
115
+ readonly required?: string | undefined;
103
116
  readonly displayName?: string | undefined;
104
117
  readonly compatibilityDate: "2026-05-28";
105
118
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -157,6 +170,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
157
170
  readonly keywords?: readonly string[] | undefined;
158
171
  }[];
159
172
  };
173
+ readonly validations?: readonly {
174
+ readonly message: readonly [{
175
+ readonly locale: "zh";
176
+ readonly message: string;
177
+ }, ...{
178
+ readonly locale: "en" | "ja" | "ko";
179
+ readonly message: string;
180
+ }[]];
181
+ readonly warning?: boolean | undefined;
182
+ readonly when: string;
183
+ }[] | undefined;
160
184
  }) => any) | undefined;
161
185
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
162
186
  declare const _default: typeof __VLS_export;
@@ -17,13 +17,14 @@ import {
17
17
  CommandItem,
18
18
  CommandList
19
19
  } from "../../../../ui/command";
20
- import { Field, FieldLabel } from "../../../../ui/field";
20
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
21
21
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
22
22
  import { Markdown } from "../../../../ui/markdown";
23
23
  import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
24
24
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
25
25
  import { useFormReadonly } from "../../../utils/readonly";
26
26
  import { useFormState } from "../../../utils/state";
27
+ import { useFieldValidation } from "../../../utils/validation";
27
28
  defineOptions({ name: "ShwfedComboboxMultiFieldRuntime" });
28
29
  const props = defineProps({
29
30
  fieldId: { type: String, required: true },
@@ -77,6 +78,12 @@ const isReadonly = computed(
77
78
  () => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
78
79
  );
79
80
  const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
81
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
82
+ fieldId: () => props.fieldId,
83
+ config: () => props.config,
84
+ $cel,
85
+ locale: () => locale.value
86
+ });
80
87
  const isStatic = computed(() => props.config.options.kind === "static");
81
88
  function safeInterpolate(tpl, ctx) {
82
89
  try {
@@ -279,7 +286,11 @@ function handleClear() {
279
286
  class="prose prose-xs prose-zinc"
280
287
  />
281
288
  </template>
282
- {{ labelText }}
289
+ {{ labelText }}<span
290
+ v-if="isRequired"
291
+ aria-hidden="true"
292
+ class="text-red-600"
293
+ > *</span>
283
294
  </FieldLabel>
284
295
  <div
285
296
  v-if="effectiveReadonly"
@@ -379,5 +390,10 @@ function handleClear() {
379
390
  </Command>
380
391
  </PopoverContent>
381
392
  </Popover>
393
+ <FieldMessages
394
+ v-if="visible"
395
+ :errors="errors"
396
+ :warnings="warnings"
397
+ />
382
398
  </Field>
383
399
  </template>
@@ -255,6 +255,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
255
255
  id: Schema.refine<string, typeof Schema.String>;
256
256
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
257
257
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
258
+ required: Schema.optional<Schema.Schema<string, string, never>>;
259
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
260
+ when: Schema.Schema<string, string, never>;
261
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
262
+ message: Schema.refine<readonly [{
263
+ readonly locale: "zh";
264
+ readonly message: string;
265
+ }, ...{
266
+ readonly locale: "en" | "ja" | "ko";
267
+ readonly message: string;
268
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
269
+ locale: Schema.Literal<["zh"]>;
270
+ message: Schema.SchemaClass<string, string, never>;
271
+ }>], [Schema.Struct<{
272
+ locale: Schema.Literal<["ja", "en", "ko"]>;
273
+ message: Schema.SchemaClass<string, string, never>;
274
+ }>]>>;
275
+ }>>>;
258
276
  type: Schema.Literal<["com.shwfed.form.field.combobox.multi"]>;
259
277
  compatibilityDate: Schema.Literal<["2026-05-28"]>;
260
278
  }>;
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -79,6 +80,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
80
  readonly keywords?: readonly string[] | undefined;
80
81
  }[];
81
82
  };
83
+ readonly validations?: readonly {
84
+ readonly message: readonly [{
85
+ readonly locale: "zh";
86
+ readonly message: string;
87
+ }, ...{
88
+ readonly locale: "en" | "ja" | "ko";
89
+ readonly message: string;
90
+ }[]];
91
+ readonly warning?: boolean | undefined;
92
+ readonly when: string;
93
+ }[] | undefined;
82
94
  }) => any;
83
95
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
84
96
  "onUpdate:modelValue"?: ((value: {
@@ -100,6 +112,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
112
  readonly locale: "en" | "ja" | "ko";
101
113
  readonly message: string;
102
114
  }[]] | undefined;
115
+ readonly required?: string | undefined;
103
116
  readonly displayName?: string | undefined;
104
117
  readonly compatibilityDate: "2026-05-28";
105
118
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -157,6 +170,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
157
170
  readonly keywords?: readonly string[] | undefined;
158
171
  }[];
159
172
  };
173
+ readonly validations?: readonly {
174
+ readonly message: readonly [{
175
+ readonly locale: "zh";
176
+ readonly message: string;
177
+ }, ...{
178
+ readonly locale: "en" | "ja" | "ko";
179
+ readonly message: string;
180
+ }[]];
181
+ readonly warning?: boolean | undefined;
182
+ readonly when: string;
183
+ }[] | undefined;
160
184
  }) => any) | undefined;
161
185
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
162
186
  declare const _default: typeof __VLS_export;
@@ -5,6 +5,7 @@ import { Button } from "../../../../ui/button";
5
5
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../../../ui/dropdown-menu";
6
6
  import { ExpressionEditor } from "../../../../ui/expression-editor";
7
7
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
8
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
8
9
  import { Field, FieldLabel } from "../../../../ui/field";
9
10
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupNumberField } from "../../../../ui/input-group";
10
11
  import { Locale as LocaleField } from "../../../../ui/locale";
@@ -662,6 +663,26 @@ function setItemKeywords(index, text) {
662
663
  </Field>
663
664
 
664
665
  <div class="grid grid-cols-3 gap-3">
666
+ <Field orientation="vertical">
667
+ <FieldLabel class="text-xs text-zinc-500">
668
+ <template #tooltip>
669
+ <Markdown
670
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
671
+ block
672
+ class="prose prose-sm prose-zinc"
673
+ />
674
+ </template>
675
+ {{ fieldTitle("required") }}
676
+ </FieldLabel>
677
+ <ExpressionEditor
678
+ :model-value="value.required ?? ''"
679
+ placeholder="例:form.type == 'company'"
680
+ result-type="bool"
681
+ class="min-h-10"
682
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
683
+ />
684
+ </Field>
685
+
665
686
  <Field orientation="vertical">
666
687
  <FieldLabel class="text-xs text-zinc-500">
667
688
  <template #tooltip>
@@ -741,5 +762,22 @@ function setItemKeywords(index, text) {
741
762
  @update:model-value="(v) => value = { ...value, derived: v }"
742
763
  />
743
764
  </Field>
765
+
766
+ <Field orientation="vertical">
767
+ <FieldLabel class="text-xs text-zinc-500">
768
+ <template #tooltip>
769
+ <Markdown
770
+ :source="fieldDescription('validations')"
771
+ block
772
+ class="prose prose-sm prose-zinc"
773
+ />
774
+ </template>
775
+ {{ fieldTitle("validations") }}
776
+ </FieldLabel>
777
+ <ValidationRulesField
778
+ :model-value="value.validations"
779
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
780
+ />
781
+ </Field>
744
782
  </div>
745
783
  </template>
@@ -22,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
22
22
  readonly locale: "en" | "ja" | "ko";
23
23
  readonly message: string;
24
24
  }[]] | undefined;
25
+ readonly required?: string | undefined;
25
26
  readonly displayName?: string | undefined;
26
27
  readonly compatibilityDate: "2026-05-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -79,6 +80,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
80
  readonly keywords?: readonly string[] | undefined;
80
81
  }[];
81
82
  };
83
+ readonly validations?: readonly {
84
+ readonly message: readonly [{
85
+ readonly locale: "zh";
86
+ readonly message: string;
87
+ }, ...{
88
+ readonly locale: "en" | "ja" | "ko";
89
+ readonly message: string;
90
+ }[]];
91
+ readonly warning?: boolean | undefined;
92
+ readonly when: string;
93
+ }[] | undefined;
82
94
  }) => any;
83
95
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
84
96
  "onUpdate:modelValue"?: ((value: {
@@ -100,6 +112,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
112
  readonly locale: "en" | "ja" | "ko";
101
113
  readonly message: string;
102
114
  }[]] | undefined;
115
+ readonly required?: string | undefined;
103
116
  readonly displayName?: string | undefined;
104
117
  readonly compatibilityDate: "2026-05-28";
105
118
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -157,6 +170,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
157
170
  readonly keywords?: readonly string[] | undefined;
158
171
  }[];
159
172
  };
173
+ readonly validations?: readonly {
174
+ readonly message: readonly [{
175
+ readonly locale: "zh";
176
+ readonly message: string;
177
+ }, ...{
178
+ readonly locale: "en" | "ja" | "ko";
179
+ readonly message: string;
180
+ }[]];
181
+ readonly warning?: boolean | undefined;
182
+ readonly when: string;
183
+ }[] | undefined;
160
184
  }) => any) | undefined;
161
185
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
162
186
  declare const _default: typeof __VLS_export;
@@ -17,13 +17,14 @@ import {
17
17
  CommandItem,
18
18
  CommandList
19
19
  } from "../../../../ui/command";
20
- import { Field, FieldLabel } from "../../../../ui/field";
20
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
21
21
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
22
22
  import { Markdown } from "../../../../ui/markdown";
23
23
  import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
24
24
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
25
25
  import { useFormReadonly } from "../../../utils/readonly";
26
26
  import { useFormState } from "../../../utils/state";
27
+ import { useFieldValidation } from "../../../utils/validation";
27
28
  defineOptions({ name: "ShwfedComboboxSingleFieldRuntime" });
28
29
  const props = defineProps({
29
30
  fieldId: { type: String, required: true },
@@ -77,6 +78,12 @@ const isReadonly = computed(
77
78
  () => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
78
79
  );
79
80
  const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
81
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
82
+ fieldId: () => props.fieldId,
83
+ config: () => props.config,
84
+ $cel,
85
+ locale: () => locale.value
86
+ });
80
87
  const isStatic = computed(() => props.config.options.kind === "static");
81
88
  function safeInterpolate(tpl, ctx) {
82
89
  try {
@@ -287,7 +294,11 @@ const anyHasTooltip = computed(
287
294
  class="prose prose-xs prose-zinc"
288
295
  />
289
296
  </template>
290
- {{ labelText }}
297
+ {{ labelText }}<span
298
+ v-if="isRequired"
299
+ aria-hidden="true"
300
+ class="text-red-600"
301
+ > *</span>
291
302
  </FieldLabel>
292
303
  <div
293
304
  v-if="effectiveReadonly"
@@ -398,5 +409,10 @@ const anyHasTooltip = computed(
398
409
  </Command>
399
410
  </PopoverContent>
400
411
  </Popover>
412
+ <FieldMessages
413
+ v-if="visible"
414
+ :errors="errors"
415
+ :warnings="warnings"
416
+ />
401
417
  </Field>
402
418
  </template>