@shwfed/config 2.3.29 → 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 (236) hide show
  1. package/dist/mcp.mjs +47 -9
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-Diuyh0Ex.js → config-BovRv7Mw.js} +1 -1
  4. package/dist/preview/assets/{config-rpX_Mc6I.js → config-ByTxMBcK.js} +1 -1
  5. package/dist/preview/assets/{config-DhsbcNzx.js → config-C7xYpB3N.js} +1 -1
  6. package/dist/preview/assets/{config-CZOeZ8ty.js → config-CH9wsYX8.js} +1 -1
  7. package/dist/preview/assets/{config-aK67Rsw5.js → config-Ch5dL5lp.js} +1 -1
  8. package/dist/preview/assets/{config-Bl80ye-i.js → config-D50Rl2n_.js} +1 -1
  9. package/dist/preview/assets/{config-BJzUh1_G.js → config-DiwVK32V.js} +1 -1
  10. package/dist/preview/assets/{config-6IiXCmyu.js → config-EKVeWrbS.js} +1 -1
  11. package/dist/preview/assets/{config-DaZD4ZSa.js → config-Q86AhjHq.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-C_jU8d47.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/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +2 -0
  29. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +2 -0
  30. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +2 -0
  31. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +2 -0
  32. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +2 -0
  33. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +2 -0
  34. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +2 -0
  35. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +2 -0
  36. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +2 -0
  37. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +3 -0
  38. package/dist/runtime/components/form/ValidationRulesField.d.vue.ts +16 -0
  39. package/dist/runtime/components/form/ValidationRulesField.vue +207 -0
  40. package/dist/runtime/components/form/ValidationRulesField.vue.d.ts +16 -0
  41. package/dist/runtime/components/form/config.vue +32 -0
  42. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.d.vue.ts +24 -0
  43. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.vue.d.ts +24 -0
  44. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +18 -0
  45. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +24 -0
  46. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +38 -0
  47. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +24 -0
  48. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +18 -2
  49. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +18 -0
  50. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +24 -0
  51. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue +38 -0
  52. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +24 -0
  53. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +18 -2
  54. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +18 -0
  55. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.d.vue.ts +24 -0
  56. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.vue.d.ts +24 -0
  57. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -0
  58. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  59. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  60. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  61. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +24 -0
  62. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +38 -0
  63. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +24 -0
  64. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +18 -2
  65. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +18 -0
  66. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +24 -0
  67. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +38 -0
  68. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +24 -0
  69. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +18 -2
  70. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +18 -0
  71. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +24 -0
  72. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +38 -0
  73. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +24 -0
  74. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +18 -2
  75. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +18 -0
  76. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +24 -0
  77. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +38 -0
  78. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +24 -0
  79. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +18 -2
  80. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +18 -0
  81. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +24 -0
  82. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue +38 -0
  83. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +24 -0
  84. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +18 -2
  85. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +18 -0
  86. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +24 -0
  87. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue +38 -0
  88. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +24 -0
  89. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +18 -2
  90. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +18 -0
  91. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +24 -0
  92. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +38 -0
  93. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +24 -0
  94. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +18 -2
  95. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +18 -0
  96. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +24 -0
  97. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue +38 -0
  98. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +24 -0
  99. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +18 -2
  100. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +18 -0
  101. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +24 -0
  102. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue +38 -0
  103. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +24 -0
  104. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +18 -2
  105. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +18 -0
  106. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  107. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  108. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  109. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.d.vue.ts +24 -0
  110. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue +38 -0
  111. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue.d.ts +24 -0
  112. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +18 -2
  113. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +18 -0
  114. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +24 -0
  115. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue +38 -0
  116. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +24 -0
  117. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +18 -2
  118. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +18 -0
  119. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +24 -0
  120. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue +38 -0
  121. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +24 -0
  122. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +18 -2
  123. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +30 -0
  124. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.d.vue.ts +24 -0
  125. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue +38 -0
  126. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue.d.ts +24 -0
  127. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +18 -2
  128. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +18 -0
  129. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.d.vue.ts +24 -0
  130. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue +38 -0
  131. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue.d.ts +24 -0
  132. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +18 -2
  133. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +18 -0
  134. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.d.vue.ts +24 -0
  135. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue +51 -9
  136. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue.d.ts +24 -0
  137. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +22 -2
  138. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +18 -0
  139. package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/runtime.vue +26 -0
  140. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  141. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  142. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  143. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +24 -0
  144. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +38 -0
  145. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +24 -0
  146. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +18 -2
  147. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +18 -0
  148. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +24 -0
  149. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +38 -0
  150. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +24 -0
  151. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +18 -2
  152. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +18 -0
  153. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  154. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  155. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  156. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  157. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  158. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  159. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  160. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  161. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  162. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  163. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue +38 -0
  164. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  165. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +18 -2
  166. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  167. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  168. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue +38 -0
  169. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  170. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +18 -2
  171. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  172. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  173. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue +38 -0
  174. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  175. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +18 -2
  176. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  177. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  178. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue +38 -0
  179. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  180. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +18 -2
  181. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  182. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  183. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue +38 -0
  184. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  185. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +18 -2
  186. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  187. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +24 -0
  188. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue +38 -0
  189. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +24 -0
  190. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +18 -2
  191. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +18 -0
  192. package/dist/runtime/components/form/index.d.vue.ts +1 -0
  193. package/dist/runtime/components/form/index.vue +16 -5
  194. package/dist/runtime/components/form/index.vue.d.ts +1 -0
  195. package/dist/runtime/components/form/schema.d.ts +4 -0
  196. package/dist/runtime/components/form/schema.js +6 -2
  197. package/dist/runtime/components/form/utils/common.d.ts +42 -0
  198. package/dist/runtime/components/form/utils/common.js +40 -2
  199. package/dist/runtime/components/form/utils/validation.d.ts +85 -0
  200. package/dist/runtime/components/form/utils/validation.js +113 -0
  201. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/config.vue +0 -22
  202. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/header.vue +3 -15
  203. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +0 -1
  204. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +0 -4
  205. package/dist/runtime/components/table/config.d.vue.ts +4 -2
  206. package/dist/runtime/components/table/config.vue +59 -52
  207. package/dist/runtime/components/table/config.vue.d.ts +4 -2
  208. package/dist/runtime/components/table/schema.d.ts +4 -0
  209. package/dist/runtime/components/table/utils/shared.js +2 -2
  210. package/dist/runtime/components/ui/field/FieldError.vue +1 -1
  211. package/dist/runtime/components/ui/field/FieldMessages.d.vue.ts +9 -0
  212. package/dist/runtime/components/ui/field/FieldMessages.vue +21 -0
  213. package/dist/runtime/components/ui/field/FieldMessages.vue.d.ts +9 -0
  214. package/dist/runtime/components/ui/field/FieldWarning.d.vue.ts +20 -0
  215. package/dist/runtime/components/ui/field/FieldWarning.vue +51 -0
  216. package/dist/runtime/components/ui/field/FieldWarning.vue.d.ts +20 -0
  217. package/dist/runtime/components/ui/field/index.d.ts +2 -0
  218. package/dist/runtime/components/ui/field/index.js +10 -4
  219. package/dist/runtime/components/ui/locale/Locale.d.vue.ts +2 -0
  220. package/dist/runtime/components/ui/locale/Locale.vue +165 -155
  221. package/dist/runtime/components/ui/locale/Locale.vue.d.ts +2 -0
  222. package/dist/runtime/share/form-validate.d.ts +18 -0
  223. package/dist/runtime/share/form-validate.js +8 -0
  224. package/package.json +1 -1
  225. package/dist/preview/assets/index-2eQR4s3q.css +0 -1
  226. package/dist/preview/assets/index-DEF3_MKr.js +0 -659
  227. package/dist/preview/assets/index-Df-thth9.js +0 -1
  228. package/dist/preview/assets/runtime-3p1K6te5.js +0 -1
  229. package/dist/preview/assets/runtime-BcLnafic.js +0 -1
  230. package/dist/preview/assets/runtime-CSaV-359.js +0 -1
  231. package/dist/preview/assets/runtime-CjR8Vi5N.js +0 -1
  232. package/dist/preview/assets/runtime-D_fJCKX_.js +0 -1
  233. package/dist/preview/assets/runtime-DpeCgGEG.js +0 -1
  234. package/dist/preview/assets/runtime-K2a1x0TJ.js +0 -1
  235. package/dist/preview/assets/runtime-g9Zu3VNQ.js +0 -1
  236. package/dist/preview/assets/runtime-jTnh_6Dm.js +0 -1
@@ -9,9 +9,10 @@ import { cel as _rawCel } from "../../../../../utils/cel";
9
9
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
10
10
  import { getLocalizedText } from "../../../../../share/locale";
11
11
  import { Button } from "../../../../ui/button";
12
- import { Field, FieldLabel } from "../../../../ui/field";
12
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
13
13
  import { Markdown } from "../../../../ui/markdown";
14
14
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
15
+ import { useFieldValidation } from "../../../utils/validation";
15
16
  import { useFormReadonly } from "../../../utils/readonly";
16
17
  import { useFormState } from "../../../utils/state";
17
18
  const ICONS = {
@@ -113,6 +114,12 @@ const formReadonly = useFormReadonly();
113
114
  const isReadonly = computed(
114
115
  () => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
115
116
  );
117
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
118
+ fieldId: () => props.fieldId,
119
+ config: () => props.config,
120
+ $cel,
121
+ locale: () => locale.value
122
+ });
116
123
  const uncontrolled = ref([]);
117
124
  const files = computed({
118
125
  get: () => {
@@ -267,7 +274,11 @@ async function onDownloadTemplate() {
267
274
  class="prose prose-xs prose-zinc"
268
275
  />
269
276
  </template>
270
- {{ labelText }}
277
+ {{ labelText }}<span
278
+ v-if="isRequired"
279
+ aria-hidden="true"
280
+ class="text-red-600"
281
+ > *</span>
271
282
  </FieldLabel>
272
283
 
273
284
  <div
@@ -387,5 +398,10 @@ async function onDownloadTemplate() {
387
398
  </Button>
388
399
  </div>
389
400
  </div>
401
+ <FieldMessages
402
+ v-if="visible"
403
+ :errors="errors"
404
+ :warnings="warnings"
405
+ />
390
406
  </Field>
391
407
  </template>
@@ -81,6 +81,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
81
81
  id: Schema.refine<string, typeof Schema.String>;
82
82
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
83
83
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
84
+ required: Schema.optional<Schema.Schema<string, string, never>>;
85
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
86
+ when: Schema.Schema<string, string, never>;
87
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
88
+ message: Schema.refine<readonly [{
89
+ readonly locale: "zh";
90
+ readonly message: string;
91
+ }, ...{
92
+ readonly locale: "en" | "ja" | "ko";
93
+ readonly message: string;
94
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
95
+ locale: Schema.Literal<["zh"]>;
96
+ message: Schema.SchemaClass<string, string, never>;
97
+ }>], [Schema.Struct<{
98
+ locale: Schema.Literal<["ja", "en", "ko"]>;
99
+ message: Schema.SchemaClass<string, string, never>;
100
+ }>]>>;
101
+ }>>>;
84
102
  type: Schema.Literal<["com.shwfed.form.field.upload"]>;
85
103
  compatibilityDate: Schema.Literal<["2026-05-12"]>;
86
104
  }>;
@@ -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-13";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -40,6 +41,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
41
  readonly expression: string;
41
42
  } | undefined;
42
43
  readonly options: string;
44
+ readonly validations?: readonly {
45
+ readonly message: readonly [{
46
+ readonly locale: "zh";
47
+ readonly message: string;
48
+ }, ...{
49
+ readonly locale: "en" | "ja" | "ko";
50
+ readonly message: string;
51
+ }[]];
52
+ readonly warning?: boolean | undefined;
53
+ readonly when: string;
54
+ }[] | undefined;
43
55
  readonly optionValue: string;
44
56
  readonly optionLabel: readonly [{
45
57
  readonly locale: "zh";
@@ -69,6 +81,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
69
81
  readonly locale: "en" | "ja" | "ko";
70
82
  readonly message: string;
71
83
  }[]] | undefined;
84
+ readonly required?: string | undefined;
72
85
  readonly displayName?: string | undefined;
73
86
  readonly compatibilityDate: "2026-05-13";
74
87
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -87,6 +100,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
87
100
  readonly expression: string;
88
101
  } | undefined;
89
102
  readonly options: string;
103
+ readonly validations?: readonly {
104
+ readonly message: readonly [{
105
+ readonly locale: "zh";
106
+ readonly message: string;
107
+ }, ...{
108
+ readonly locale: "en" | "ja" | "ko";
109
+ readonly message: string;
110
+ }[]];
111
+ readonly warning?: boolean | undefined;
112
+ readonly when: string;
113
+ }[] | undefined;
90
114
  readonly optionValue: string;
91
115
  readonly optionLabel: readonly [{
92
116
  readonly locale: "zh";
@@ -2,6 +2,7 @@
2
2
  import { computed } from "vue";
3
3
  import { ExpressionEditor } from "../../../../ui/expression-editor";
4
4
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
5
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
5
6
  import { Field, FieldLabel } from "../../../../ui/field";
6
7
  import { InputGroup, InputGroupInput } from "../../../../ui/input-group";
7
8
  import { Locale as LocaleField } from "../../../../ui/locale";
@@ -271,6 +272,26 @@ const pathText = computed({
271
272
  </div>
272
273
 
273
274
  <div class="grid grid-cols-3 gap-3">
275
+ <Field orientation="vertical">
276
+ <FieldLabel class="text-xs text-zinc-500">
277
+ <template #tooltip>
278
+ <Markdown
279
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
280
+ block
281
+ class="prose prose-sm prose-zinc"
282
+ />
283
+ </template>
284
+ {{ fieldTitle("required") }}
285
+ </FieldLabel>
286
+ <ExpressionEditor
287
+ :model-value="value.required ?? ''"
288
+ placeholder="例:form.type == 'company'"
289
+ result-type="bool"
290
+ class="min-h-10"
291
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
292
+ />
293
+ </Field>
294
+
274
295
  <Field orientation="vertical">
275
296
  <FieldLabel class="text-xs text-zinc-500">
276
297
  <template #tooltip>
@@ -350,5 +371,22 @@ const pathText = computed({
350
371
  @update:model-value="(v) => value = { ...value, derived: v }"
351
372
  />
352
373
  </Field>
374
+
375
+ <Field orientation="vertical">
376
+ <FieldLabel class="text-xs text-zinc-500">
377
+ <template #tooltip>
378
+ <Markdown
379
+ :source="fieldDescription('validations')"
380
+ block
381
+ class="prose prose-sm prose-zinc"
382
+ />
383
+ </template>
384
+ {{ fieldTitle("validations") }}
385
+ </FieldLabel>
386
+ <ValidationRulesField
387
+ :model-value="value.validations"
388
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
389
+ />
390
+ </Field>
353
391
  </div>
354
392
  </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-13";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -40,6 +41,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
41
  readonly expression: string;
41
42
  } | undefined;
42
43
  readonly options: string;
44
+ readonly validations?: readonly {
45
+ readonly message: readonly [{
46
+ readonly locale: "zh";
47
+ readonly message: string;
48
+ }, ...{
49
+ readonly locale: "en" | "ja" | "ko";
50
+ readonly message: string;
51
+ }[]];
52
+ readonly warning?: boolean | undefined;
53
+ readonly when: string;
54
+ }[] | undefined;
43
55
  readonly optionValue: string;
44
56
  readonly optionLabel: readonly [{
45
57
  readonly locale: "zh";
@@ -69,6 +81,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
69
81
  readonly locale: "en" | "ja" | "ko";
70
82
  readonly message: string;
71
83
  }[]] | undefined;
84
+ readonly required?: string | undefined;
72
85
  readonly displayName?: string | undefined;
73
86
  readonly compatibilityDate: "2026-05-13";
74
87
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -87,6 +100,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
87
100
  readonly expression: string;
88
101
  } | undefined;
89
102
  readonly options: string;
103
+ readonly validations?: readonly {
104
+ readonly message: readonly [{
105
+ readonly locale: "zh";
106
+ readonly message: string;
107
+ }, ...{
108
+ readonly locale: "en" | "ja" | "ko";
109
+ readonly message: string;
110
+ }[]];
111
+ readonly warning?: boolean | undefined;
112
+ readonly when: string;
113
+ }[] | undefined;
90
114
  readonly optionValue: string;
91
115
  readonly optionLabel: readonly [{
92
116
  readonly locale: "zh";
@@ -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;