@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
@@ -17,11 +17,12 @@ 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 } 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
+ import { useFieldValidation } from "../../../utils/validation";
25
26
  import { useFormReadonly } from "../../../utils/readonly";
26
27
  import { useFormState } from "../../../utils/state";
27
28
  defineOptions({ name: "ShwfedComboboxSingleRemoteFieldRuntime" });
@@ -68,6 +69,12 @@ function evalBool(expression, label) {
68
69
  return false;
69
70
  }
70
71
  }
72
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
73
+ fieldId: () => props.fieldId,
74
+ config: () => props.config,
75
+ $cel,
76
+ locale: () => locale.value
77
+ });
71
78
  const isDisabled = computed(() => evalBool(props.config.disabled, "disabled"));
72
79
  const formReadonly = useFormReadonly();
73
80
  const isReadonly = computed(
@@ -222,7 +229,11 @@ function handleClear() {
222
229
  class="prose prose-xs prose-zinc"
223
230
  />
224
231
  </template>
225
- {{ labelText }}
232
+ {{ labelText }}<span
233
+ v-if="isRequired"
234
+ aria-hidden="true"
235
+ class="text-red-600"
236
+ > *</span>
226
237
  </FieldLabel>
227
238
  <div
228
239
  v-if="effectiveReadonly"
@@ -335,5 +346,10 @@ function handleClear() {
335
346
  </Command>
336
347
  </PopoverContent>
337
348
  </Popover>
349
+ <FieldMessages
350
+ v-if="visible"
351
+ :errors="errors"
352
+ :warnings="warnings"
353
+ />
338
354
  </Field>
339
355
  </template>
@@ -82,6 +82,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
82
82
  id: Schema.refine<string, typeof Schema.String>;
83
83
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
84
84
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
85
+ required: Schema.optional<Schema.Schema<string, string, never>>;
86
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
87
+ when: Schema.Schema<string, string, never>;
88
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
89
+ message: Schema.refine<readonly [{
90
+ readonly locale: "zh";
91
+ readonly message: string;
92
+ }, ...{
93
+ readonly locale: "en" | "ja" | "ko";
94
+ readonly message: string;
95
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
96
+ locale: Schema.Literal<["zh"]>;
97
+ message: Schema.SchemaClass<string, string, never>;
98
+ }>], [Schema.Struct<{
99
+ locale: Schema.Literal<["ja", "en", "ko"]>;
100
+ message: Schema.SchemaClass<string, string, never>;
101
+ }>]>>;
102
+ }>>>;
85
103
  type: Schema.Literal<["com.shwfed.form.field.combobox.single.remote"]>;
86
104
  compatibilityDate: Schema.Literal<["2026-05-13"]>;
87
105
  }>;
@@ -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 locale?: readonly [{
26
27
  readonly locale: "zh";
27
28
  readonly message: string;
@@ -42,6 +43,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
42
43
  }>[];
43
44
  }>;
44
45
  readonly binding?: string | undefined;
46
+ readonly validations?: readonly {
47
+ readonly message: readonly [{
48
+ readonly locale: "zh";
49
+ readonly message: string;
50
+ }, ...{
51
+ readonly locale: "en" | "ja" | "ko";
52
+ readonly message: string;
53
+ }[]];
54
+ readonly warning?: boolean | undefined;
55
+ readonly when: string;
56
+ }[] | undefined;
45
57
  readonly addLabel?: readonly [{
46
58
  readonly locale: "zh";
47
59
  readonly message: string;
@@ -78,6 +90,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
78
90
  readonly locale: "en" | "ja" | "ko";
79
91
  readonly message: string;
80
92
  }[]] | undefined;
93
+ readonly required?: string | undefined;
81
94
  readonly locale?: readonly [{
82
95
  readonly locale: "zh";
83
96
  readonly message: string;
@@ -98,6 +111,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
111
  }>[];
99
112
  }>;
100
113
  readonly binding?: string | undefined;
114
+ readonly validations?: readonly {
115
+ readonly message: readonly [{
116
+ readonly locale: "zh";
117
+ readonly message: string;
118
+ }, ...{
119
+ readonly locale: "en" | "ja" | "ko";
120
+ readonly message: string;
121
+ }[]];
122
+ readonly warning?: boolean | undefined;
123
+ readonly when: string;
124
+ }[] | undefined;
101
125
  readonly addLabel?: readonly [{
102
126
  readonly locale: "zh";
103
127
  readonly message: string;
@@ -1,6 +1,7 @@
1
1
  <script setup>
2
2
  import { computed, inject, onBeforeUnmount, onMounted, ref } from "vue";
3
3
  import { ExpressionEditor } from "../../../../ui/expression-editor";
4
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
4
5
  import { Field, FieldLabel } from "../../../../ui/field";
5
6
  import {
6
7
  InputGroup,
@@ -324,6 +325,26 @@ const reorderable = computed({
324
325
  </div>
325
326
 
326
327
  <div class="grid grid-cols-2 gap-3">
328
+ <Field orientation="vertical">
329
+ <FieldLabel class="text-xs text-zinc-500">
330
+ <template #tooltip>
331
+ <Markdown
332
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
333
+ block
334
+ class="prose prose-sm prose-zinc"
335
+ />
336
+ </template>
337
+ {{ fieldTitle("required") }}
338
+ </FieldLabel>
339
+ <ExpressionEditor
340
+ :model-value="value.required ?? ''"
341
+ placeholder="例:form.type == 'company'"
342
+ result-type="bool"
343
+ class="min-h-10"
344
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
345
+ />
346
+ </Field>
347
+
327
348
  <Field orientation="vertical">
328
349
  <FieldLabel class="text-xs text-zinc-500">
329
350
  <template #tooltip>
@@ -364,6 +385,23 @@ const reorderable = computed({
364
385
  />
365
386
  </Field>
366
387
  </div>
388
+
389
+ <Field orientation="vertical">
390
+ <FieldLabel class="text-xs text-zinc-500">
391
+ <template #tooltip>
392
+ <Markdown
393
+ :source="fieldDescription('validations')"
394
+ block
395
+ class="prose prose-sm prose-zinc"
396
+ />
397
+ </template>
398
+ {{ fieldTitle("validations") }}
399
+ </FieldLabel>
400
+ <ValidationRulesField
401
+ :model-value="value.validations"
402
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
403
+ />
404
+ </Field>
367
405
  </div>
368
406
  </template>
369
407
  </ShwfedFormUnitConfig>
@@ -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 locale?: readonly [{
26
27
  readonly locale: "zh";
27
28
  readonly message: string;
@@ -42,6 +43,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
42
43
  }>[];
43
44
  }>;
44
45
  readonly binding?: string | undefined;
46
+ readonly validations?: readonly {
47
+ readonly message: readonly [{
48
+ readonly locale: "zh";
49
+ readonly message: string;
50
+ }, ...{
51
+ readonly locale: "en" | "ja" | "ko";
52
+ readonly message: string;
53
+ }[]];
54
+ readonly warning?: boolean | undefined;
55
+ readonly when: string;
56
+ }[] | undefined;
45
57
  readonly addLabel?: readonly [{
46
58
  readonly locale: "zh";
47
59
  readonly message: string;
@@ -78,6 +90,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
78
90
  readonly locale: "en" | "ja" | "ko";
79
91
  readonly message: string;
80
92
  }[]] | undefined;
93
+ readonly required?: string | undefined;
81
94
  readonly locale?: readonly [{
82
95
  readonly locale: "zh";
83
96
  readonly message: string;
@@ -98,6 +111,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
111
  }>[];
99
112
  }>;
100
113
  readonly binding?: string | undefined;
114
+ readonly validations?: readonly {
115
+ readonly message: readonly [{
116
+ readonly locale: "zh";
117
+ readonly message: string;
118
+ }, ...{
119
+ readonly locale: "en" | "ja" | "ko";
120
+ readonly message: string;
121
+ }[]];
122
+ readonly warning?: boolean | undefined;
123
+ readonly when: string;
124
+ }[] | undefined;
101
125
  readonly addLabel?: readonly [{
102
126
  readonly locale: "zh";
103
127
  readonly message: string;
@@ -11,9 +11,10 @@ import {
11
11
  useTreeDnd
12
12
  } from "../../../../../composables/useTreeDnd";
13
13
  import { Button } from "../../../../ui/button";
14
- import { Field, FieldLabel } from "../../../../ui/field";
14
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
15
15
  import { InputGroupButton } from "../../../../ui/input-group";
16
16
  import { Markdown } from "../../../../ui/markdown";
17
+ import { useFieldValidation } from "../../../utils/validation";
17
18
  import { SELF_BINDING, useFormState } from "../../../utils/state";
18
19
  import Row from "./row.vue";
19
20
  defineOptions({ name: "ShwfedListFieldRuntime" });
@@ -43,6 +44,12 @@ function evalBool(expression, label) {
43
44
  return false;
44
45
  }
45
46
  }
47
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
48
+ fieldId: () => props.fieldId,
49
+ config: () => props.config,
50
+ $cel,
51
+ locale: () => locale.value
52
+ });
46
53
  const isDisabled = computed(() => evalBool(props.config.disabled, "disabled"));
47
54
  const reorderable = computed(() => props.config.reorderable ?? true);
48
55
  const isScalarRow = computed(() => {
@@ -213,7 +220,11 @@ function rowConfig(i) {
213
220
  class="prose prose-xs prose-zinc"
214
221
  />
215
222
  </template>
216
- {{ labelText }}
223
+ {{ labelText }}<span
224
+ v-if="isRequired"
225
+ aria-hidden="true"
226
+ class="text-red-600"
227
+ > *</span>
217
228
  </FieldLabel>
218
229
 
219
230
  <div class="flex flex-col gap-3">
@@ -309,6 +320,11 @@ function rowConfig(i) {
309
320
  <span>{{ addLabelText }}</span>
310
321
  </Button>
311
322
  </div>
323
+ <FieldMessages
324
+ v-if="visible"
325
+ :errors="errors"
326
+ :warnings="warnings"
327
+ />
312
328
  </Field>
313
329
  </template>
314
330
 
@@ -36,6 +36,7 @@ export declare function schema(configure: (env: Environment) => void): Schema.re
36
36
  readonly locale: "en" | "ja" | "ko";
37
37
  readonly message: string;
38
38
  }[]] | undefined;
39
+ readonly required?: string | undefined;
39
40
  readonly locale?: readonly [{
40
41
  readonly locale: "zh";
41
42
  readonly message: string;
@@ -52,6 +53,17 @@ export declare function schema(configure: (env: Environment) => void): Schema.re
52
53
  layouts: ReadonlyArray<import("../../../schema.js").LayoutSetValue>;
53
54
  }>;
54
55
  readonly binding?: string | undefined;
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 addLabel?: readonly [{
56
68
  readonly locale: "zh";
57
69
  readonly message: string;
@@ -118,6 +130,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.re
118
130
  id: Schema.refine<string, typeof Schema.String>;
119
131
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
120
132
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
133
+ required: Schema.optional<Schema.Schema<string, string, never>>;
134
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
135
+ when: Schema.Schema<string, string, never>;
136
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
137
+ message: Schema.refine<readonly [{
138
+ readonly locale: "zh";
139
+ readonly message: string;
140
+ }, ...{
141
+ readonly locale: "en" | "ja" | "ko";
142
+ readonly message: string;
143
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
144
+ locale: Schema.Literal<["zh"]>;
145
+ message: Schema.SchemaClass<string, string, never>;
146
+ }>], [Schema.Struct<{
147
+ locale: Schema.Literal<["ja", "en", "ko"]>;
148
+ message: Schema.SchemaClass<string, string, never>;
149
+ }>]>>;
150
+ }>>>;
121
151
  type: Schema.Literal<["com.shwfed.form.field.list"]>;
122
152
  compatibilityDate: Schema.Literal<["2026-05-13"]>;
123
153
  }>>;
@@ -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-17";
27
28
  readonly items: readonly {
@@ -54,6 +55,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
55
  readonly mode: "formula" | "prefill";
55
56
  readonly expression: string;
56
57
  } | undefined;
58
+ readonly validations?: readonly {
59
+ readonly message: readonly [{
60
+ readonly locale: "zh";
61
+ readonly message: string;
62
+ }, ...{
63
+ readonly locale: "en" | "ja" | "ko";
64
+ readonly message: string;
65
+ }[]];
66
+ readonly warning?: boolean | undefined;
67
+ readonly when: string;
68
+ }[] | undefined;
57
69
  }) => any;
58
70
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
59
71
  "onUpdate:modelValue"?: ((value: {
@@ -75,6 +87,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
75
87
  readonly locale: "en" | "ja" | "ko";
76
88
  readonly message: string;
77
89
  }[]] | undefined;
90
+ readonly required?: string | undefined;
78
91
  readonly displayName?: string | undefined;
79
92
  readonly compatibilityDate: "2026-05-17";
80
93
  readonly items: readonly {
@@ -107,6 +120,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
120
  readonly mode: "formula" | "prefill";
108
121
  readonly expression: string;
109
122
  } | undefined;
123
+ readonly validations?: readonly {
124
+ readonly message: readonly [{
125
+ readonly locale: "zh";
126
+ readonly message: string;
127
+ }, ...{
128
+ readonly locale: "en" | "ja" | "ko";
129
+ readonly message: string;
130
+ }[]];
131
+ readonly warning?: boolean | undefined;
132
+ readonly when: string;
133
+ }[] | undefined;
110
134
  }) => any) | undefined;
111
135
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
112
136
  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";
@@ -343,6 +344,26 @@ function setItemTooltip(index, tooltip) {
343
344
  </Field>
344
345
 
345
346
  <div class="grid grid-cols-3 gap-3">
347
+ <Field orientation="vertical">
348
+ <FieldLabel class="text-xs text-zinc-500">
349
+ <template #tooltip>
350
+ <Markdown
351
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
352
+ block
353
+ class="prose prose-sm prose-zinc"
354
+ />
355
+ </template>
356
+ {{ fieldTitle("required") }}
357
+ </FieldLabel>
358
+ <ExpressionEditor
359
+ :model-value="value.required ?? ''"
360
+ placeholder="例:form.type == 'company'"
361
+ result-type="bool"
362
+ class="min-h-10"
363
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
364
+ />
365
+ </Field>
366
+
346
367
  <Field orientation="vertical">
347
368
  <FieldLabel class="text-xs text-zinc-500">
348
369
  <template #tooltip>
@@ -422,5 +443,22 @@ function setItemTooltip(index, tooltip) {
422
443
  @update:model-value="(v) => value = { ...value, derived: v }"
423
444
  />
424
445
  </Field>
446
+
447
+ <Field orientation="vertical">
448
+ <FieldLabel class="text-xs text-zinc-500">
449
+ <template #tooltip>
450
+ <Markdown
451
+ :source="fieldDescription('validations')"
452
+ block
453
+ class="prose prose-sm prose-zinc"
454
+ />
455
+ </template>
456
+ {{ fieldTitle("validations") }}
457
+ </FieldLabel>
458
+ <ValidationRulesField
459
+ :model-value="value.validations"
460
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
461
+ />
462
+ </Field>
425
463
  </div>
426
464
  </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-17";
27
28
  readonly items: readonly {
@@ -54,6 +55,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
55
  readonly mode: "formula" | "prefill";
55
56
  readonly expression: string;
56
57
  } | undefined;
58
+ readonly validations?: readonly {
59
+ readonly message: readonly [{
60
+ readonly locale: "zh";
61
+ readonly message: string;
62
+ }, ...{
63
+ readonly locale: "en" | "ja" | "ko";
64
+ readonly message: string;
65
+ }[]];
66
+ readonly warning?: boolean | undefined;
67
+ readonly when: string;
68
+ }[] | undefined;
57
69
  }) => any;
58
70
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
59
71
  "onUpdate:modelValue"?: ((value: {
@@ -75,6 +87,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
75
87
  readonly locale: "en" | "ja" | "ko";
76
88
  readonly message: string;
77
89
  }[]] | undefined;
90
+ readonly required?: string | undefined;
78
91
  readonly displayName?: string | undefined;
79
92
  readonly compatibilityDate: "2026-05-17";
80
93
  readonly items: readonly {
@@ -107,6 +120,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
120
  readonly mode: "formula" | "prefill";
108
121
  readonly expression: string;
109
122
  } | undefined;
123
+ readonly validations?: readonly {
124
+ readonly message: readonly [{
125
+ readonly locale: "zh";
126
+ readonly message: string;
127
+ }, ...{
128
+ readonly locale: "en" | "ja" | "ko";
129
+ readonly message: string;
130
+ }[]];
131
+ readonly warning?: boolean | undefined;
132
+ readonly when: string;
133
+ }[] | undefined;
110
134
  }) => any) | undefined;
111
135
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
112
136
  declare const _default: typeof __VLS_export;
@@ -7,8 +7,9 @@ import { celBindings, injectCELContext } from "../../../../../utils/cel-context"
7
7
  import { interpolateMarkdown } from "../../../../table/utils/runtime";
8
8
  import { getLocalizedText } from "../../../../../share/locale";
9
9
  import { Checkbox } from "../../../../ui/checkbox";
10
- import { Field, FieldLabel } from "../../../../ui/field";
10
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
+ import { useFieldValidation } from "../../../utils/validation";
12
13
  import { useFormReadonly } from "../../../utils/readonly";
13
14
  import { useFormState } from "../../../utils/state";
14
15
  defineOptions({ name: "ShwfedCheckboxGroupFieldRuntime" });
@@ -40,6 +41,12 @@ function evalBool(expression, label) {
40
41
  return false;
41
42
  }
42
43
  }
44
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
45
+ fieldId: () => props.fieldId,
46
+ config: () => props.config,
47
+ $cel,
48
+ locale: () => locale.value
49
+ });
43
50
  const isDisabled = computed(() => evalBool(props.config.disabled, "disabled"));
44
51
  const formReadonly = useFormReadonly();
45
52
  const isReadonly = computed(
@@ -130,7 +137,11 @@ const readonlyText = computed(() => {
130
137
  class="prose prose-xs prose-zinc"
131
138
  />
132
139
  </template>
133
- {{ labelText }}
140
+ {{ labelText }}<span
141
+ v-if="isRequired"
142
+ aria-hidden="true"
143
+ class="text-red-600"
144
+ > *</span>
134
145
  </FieldLabel>
135
146
  <div
136
147
  v-if="effectiveReadonly"
@@ -172,5 +183,10 @@ const readonlyText = computed(() => {
172
183
  </span>
173
184
  </label>
174
185
  </div>
186
+ <FieldMessages
187
+ v-if="visible"
188
+ :errors="errors"
189
+ :warnings="warnings"
190
+ />
175
191
  </Field>
176
192
  </template>
@@ -115,6 +115,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
115
115
  id: Schema.refine<string, typeof Schema.String>;
116
116
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
117
117
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
118
+ required: Schema.optional<Schema.Schema<string, string, never>>;
119
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
120
+ when: Schema.Schema<string, string, never>;
121
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
122
+ message: Schema.refine<readonly [{
123
+ readonly locale: "zh";
124
+ readonly message: string;
125
+ }, ...{
126
+ readonly locale: "en" | "ja" | "ko";
127
+ readonly message: string;
128
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
129
+ locale: Schema.Literal<["zh"]>;
130
+ message: Schema.SchemaClass<string, string, never>;
131
+ }>], [Schema.Struct<{
132
+ locale: Schema.Literal<["ja", "en", "ko"]>;
133
+ message: Schema.SchemaClass<string, string, never>;
134
+ }>]>>;
135
+ }>>>;
118
136
  type: Schema.Literal<["com.shwfed.form.field.checkbox.group"]>;
119
137
  compatibilityDate: Schema.Literal<["2026-05-17"]>;
120
138
  }>;
@@ -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-17";
27
28
  readonly items: readonly {
@@ -54,6 +55,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
55
  readonly mode: "formula" | "prefill";
55
56
  readonly expression: string;
56
57
  } | undefined;
58
+ readonly validations?: readonly {
59
+ readonly message: readonly [{
60
+ readonly locale: "zh";
61
+ readonly message: string;
62
+ }, ...{
63
+ readonly locale: "en" | "ja" | "ko";
64
+ readonly message: string;
65
+ }[]];
66
+ readonly warning?: boolean | undefined;
67
+ readonly when: string;
68
+ }[] | undefined;
57
69
  }) => any;
58
70
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
59
71
  "onUpdate:modelValue"?: ((value: {
@@ -75,6 +87,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
75
87
  readonly locale: "en" | "ja" | "ko";
76
88
  readonly message: string;
77
89
  }[]] | undefined;
90
+ readonly required?: string | undefined;
78
91
  readonly displayName?: string | undefined;
79
92
  readonly compatibilityDate: "2026-05-17";
80
93
  readonly items: readonly {
@@ -107,6 +120,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
120
  readonly mode: "formula" | "prefill";
108
121
  readonly expression: string;
109
122
  } | undefined;
123
+ readonly validations?: readonly {
124
+ readonly message: readonly [{
125
+ readonly locale: "zh";
126
+ readonly message: string;
127
+ }, ...{
128
+ readonly locale: "en" | "ja" | "ko";
129
+ readonly message: string;
130
+ }[]];
131
+ readonly warning?: boolean | undefined;
132
+ readonly when: string;
133
+ }[] | undefined;
110
134
  }) => any) | undefined;
111
135
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
112
136
  declare const _default: typeof __VLS_export;