@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
@@ -147,6 +147,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
147
147
  id: Schema.refine<string, typeof Schema.String>;
148
148
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
149
149
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
150
+ required: Schema.optional<Schema.Schema<string, string, never>>;
151
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
152
+ when: Schema.Schema<string, string, never>;
153
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
154
+ message: Schema.refine<readonly [{
155
+ readonly locale: "zh";
156
+ readonly message: string;
157
+ }, ...{
158
+ readonly locale: "en" | "ja" | "ko";
159
+ readonly message: string;
160
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
161
+ locale: Schema.Literal<["zh"]>;
162
+ message: Schema.SchemaClass<string, string, never>;
163
+ }>], [Schema.Struct<{
164
+ locale: Schema.Literal<["ja", "en", "ko"]>;
165
+ message: Schema.SchemaClass<string, string, never>;
166
+ }>]>>;
167
+ }>>>;
150
168
  type: Schema.Literal<["com.shwfed.form.field.actions"]>;
151
169
  compatibilityDate: Schema.Literal<["2026-04-24"]>;
152
170
  }>;
@@ -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-04-24";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -39,6 +40,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
39
40
  readonly expression: string;
40
41
  } | undefined;
41
42
  readonly options: string;
43
+ readonly validations?: readonly {
44
+ readonly message: readonly [{
45
+ readonly locale: "zh";
46
+ readonly message: string;
47
+ }, ...{
48
+ readonly locale: "en" | "ja" | "ko";
49
+ readonly message: string;
50
+ }[]];
51
+ readonly warning?: boolean | undefined;
52
+ readonly when: string;
53
+ }[] | undefined;
42
54
  readonly optionValue: string;
43
55
  readonly optionLabel: readonly [{
44
56
  readonly locale: "zh";
@@ -68,6 +80,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
68
80
  readonly locale: "en" | "ja" | "ko";
69
81
  readonly message: string;
70
82
  }[]] | undefined;
83
+ readonly required?: string | undefined;
71
84
  readonly displayName?: string | undefined;
72
85
  readonly compatibilityDate: "2026-04-24";
73
86
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -85,6 +98,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
98
  readonly expression: string;
86
99
  } | undefined;
87
100
  readonly options: string;
101
+ readonly validations?: readonly {
102
+ readonly message: readonly [{
103
+ readonly locale: "zh";
104
+ readonly message: string;
105
+ }, ...{
106
+ readonly locale: "en" | "ja" | "ko";
107
+ readonly message: string;
108
+ }[]];
109
+ readonly warning?: boolean | undefined;
110
+ readonly when: string;
111
+ }[] | undefined;
88
112
  readonly optionValue: string;
89
113
  readonly optionLabel: readonly [{
90
114
  readonly locale: "zh";
@@ -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-04-24";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -39,6 +40,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
39
40
  readonly expression: string;
40
41
  } | undefined;
41
42
  readonly options: string;
43
+ readonly validations?: readonly {
44
+ readonly message: readonly [{
45
+ readonly locale: "zh";
46
+ readonly message: string;
47
+ }, ...{
48
+ readonly locale: "en" | "ja" | "ko";
49
+ readonly message: string;
50
+ }[]];
51
+ readonly warning?: boolean | undefined;
52
+ readonly when: string;
53
+ }[] | undefined;
42
54
  readonly optionValue: string;
43
55
  readonly optionLabel: readonly [{
44
56
  readonly locale: "zh";
@@ -68,6 +80,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
68
80
  readonly locale: "en" | "ja" | "ko";
69
81
  readonly message: string;
70
82
  }[]] | undefined;
83
+ readonly required?: string | undefined;
71
84
  readonly displayName?: string | undefined;
72
85
  readonly compatibilityDate: "2026-04-24";
73
86
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -85,6 +98,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
85
98
  readonly expression: string;
86
99
  } | undefined;
87
100
  readonly options: string;
101
+ readonly validations?: readonly {
102
+ readonly message: readonly [{
103
+ readonly locale: "zh";
104
+ readonly message: string;
105
+ }, ...{
106
+ readonly locale: "en" | "ja" | "ko";
107
+ readonly message: string;
108
+ }[]];
109
+ readonly warning?: boolean | undefined;
110
+ readonly when: string;
111
+ }[] | undefined;
88
112
  readonly optionValue: string;
89
113
  readonly optionLabel: readonly [{
90
114
  readonly locale: "zh";
@@ -73,6 +73,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
73
73
  id: Schema.refine<string, typeof Schema.String>;
74
74
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
75
75
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
76
+ required: Schema.optional<Schema.Schema<string, string, never>>;
77
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
78
+ when: Schema.Schema<string, string, never>;
79
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
80
+ message: Schema.refine<readonly [{
81
+ readonly locale: "zh";
82
+ readonly message: string;
83
+ }, ...{
84
+ readonly locale: "en" | "ja" | "ko";
85
+ readonly message: string;
86
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
87
+ locale: Schema.Literal<["zh"]>;
88
+ message: Schema.SchemaClass<string, string, never>;
89
+ }>], [Schema.Struct<{
90
+ locale: Schema.Literal<["ja", "en", "ko"]>;
91
+ message: Schema.SchemaClass<string, string, never>;
92
+ }>]>>;
93
+ }>>>;
76
94
  type: Schema.Literal<["com.shwfed.form.field.combobox.single"]>;
77
95
  compatibilityDate: Schema.Literal<["2026-04-24"]>;
78
96
  }>;
@@ -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-04-27";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -40,6 +41,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
41
  } | undefined;
41
42
  readonly format?: string | undefined;
42
43
  readonly valueFormat?: string | undefined;
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 presets?: readonly {
44
56
  readonly label: readonly [{
45
57
  readonly locale: "zh";
@@ -72,6 +84,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
72
84
  readonly locale: "en" | "ja" | "ko";
73
85
  readonly message: string;
74
86
  }[]] | undefined;
87
+ readonly required?: string | undefined;
75
88
  readonly displayName?: string | undefined;
76
89
  readonly compatibilityDate: "2026-04-27";
77
90
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -90,6 +103,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
103
  } | undefined;
91
104
  readonly format?: string | undefined;
92
105
  readonly valueFormat?: string | undefined;
106
+ readonly validations?: readonly {
107
+ readonly message: readonly [{
108
+ readonly locale: "zh";
109
+ readonly message: string;
110
+ }, ...{
111
+ readonly locale: "en" | "ja" | "ko";
112
+ readonly message: string;
113
+ }[]];
114
+ readonly warning?: boolean | undefined;
115
+ readonly when: string;
116
+ }[] | undefined;
93
117
  readonly presets?: readonly {
94
118
  readonly label: readonly [{
95
119
  readonly locale: "zh";
@@ -5,6 +5,7 @@ import { format as formatDate } from "date-fns";
5
5
  import { Button } from "../../../../ui/button";
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, InputGroupText } from "../../../../ui/input-group";
10
11
  import { Locale as LocaleField } from "../../../../ui/locale";
@@ -410,6 +411,26 @@ const valueFormatExample = computed(() => previewFormat(value.value.valueFormat
410
411
  </Field>
411
412
 
412
413
  <div class="grid grid-cols-3 gap-3">
414
+ <Field orientation="vertical">
415
+ <FieldLabel class="text-xs text-zinc-500">
416
+ <template #tooltip>
417
+ <Markdown
418
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
419
+ block
420
+ class="prose prose-sm prose-zinc"
421
+ />
422
+ </template>
423
+ {{ fieldTitle("required") }}
424
+ </FieldLabel>
425
+ <ExpressionEditor
426
+ :model-value="value.required ?? ''"
427
+ placeholder="例:form.type == 'company'"
428
+ result-type="bool"
429
+ class="min-h-10"
430
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
431
+ />
432
+ </Field>
433
+
413
434
  <Field orientation="vertical">
414
435
  <FieldLabel class="text-xs text-zinc-500">
415
436
  <template #tooltip>
@@ -489,5 +510,22 @@ const valueFormatExample = computed(() => previewFormat(value.value.valueFormat
489
510
  @update:model-value="(v) => value = { ...value, derived: v }"
490
511
  />
491
512
  </Field>
513
+
514
+ <Field orientation="vertical">
515
+ <FieldLabel class="text-xs text-zinc-500">
516
+ <template #tooltip>
517
+ <Markdown
518
+ :source="fieldDescription('validations')"
519
+ block
520
+ class="prose prose-sm prose-zinc"
521
+ />
522
+ </template>
523
+ {{ fieldTitle("validations") }}
524
+ </FieldLabel>
525
+ <ValidationRulesField
526
+ :model-value="value.validations"
527
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
528
+ />
529
+ </Field>
492
530
  </div>
493
531
  </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-04-27";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -40,6 +41,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
41
  } | undefined;
41
42
  readonly format?: string | undefined;
42
43
  readonly valueFormat?: string | undefined;
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 presets?: readonly {
44
56
  readonly label: readonly [{
45
57
  readonly locale: "zh";
@@ -72,6 +84,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
72
84
  readonly locale: "en" | "ja" | "ko";
73
85
  readonly message: string;
74
86
  }[]] | undefined;
87
+ readonly required?: string | undefined;
75
88
  readonly displayName?: string | undefined;
76
89
  readonly compatibilityDate: "2026-04-27";
77
90
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -90,6 +103,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
90
103
  } | undefined;
91
104
  readonly format?: string | undefined;
92
105
  readonly valueFormat?: string | undefined;
106
+ readonly validations?: readonly {
107
+ readonly message: readonly [{
108
+ readonly locale: "zh";
109
+ readonly message: string;
110
+ }, ...{
111
+ readonly locale: "en" | "ja" | "ko";
112
+ readonly message: string;
113
+ }[]];
114
+ readonly warning?: boolean | undefined;
115
+ readonly when: string;
116
+ }[] | undefined;
93
117
  readonly presets?: readonly {
94
118
  readonly label: readonly [{
95
119
  readonly locale: "zh";
@@ -7,9 +7,10 @@ import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
8
  import { getLocalizedText } from "../../../../../share/locale";
9
9
  import { DatePicker, DATE_PICKER_DEFAULT_FORMATS } from "../../../../ui/date-picker";
10
- import { Field, FieldLabel } from "../../../../ui/field";
10
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
12
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
13
+ import { useFieldValidation } from "../../../utils/validation";
13
14
  import { useFormReadonly } from "../../../utils/readonly";
14
15
  import { useFormState } from "../../../utils/state";
15
16
  defineOptions({ name: "ShwfedDateFieldRuntime" });
@@ -79,6 +80,12 @@ const model = computed({
79
80
  setAt(path, next);
80
81
  }
81
82
  });
83
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
84
+ fieldId: () => props.fieldId,
85
+ config: () => props.config,
86
+ $cel,
87
+ locale: () => locale.value
88
+ });
82
89
  </script>
83
90
 
84
91
  <template>
@@ -100,7 +107,11 @@ const model = computed({
100
107
  class="prose prose-xs prose-zinc"
101
108
  />
102
109
  </template>
103
- {{ labelText }}
110
+ {{ labelText }}<span
111
+ v-if="isRequired"
112
+ aria-hidden="true"
113
+ class="text-red-600"
114
+ > *</span>
104
115
  </FieldLabel>
105
116
  <div
106
117
  v-if="effectiveReadonly"
@@ -119,5 +130,10 @@ const model = computed({
119
130
  :disabled="isDisabled"
120
131
  :shortcuts="shortcuts"
121
132
  />
133
+ <FieldMessages
134
+ v-if="visible"
135
+ :errors="errors"
136
+ :warnings="warnings"
137
+ />
122
138
  </Field>
123
139
  </template>
@@ -73,6 +73,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
73
73
  id: Schema.refine<string, typeof Schema.String>;
74
74
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
75
75
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
76
+ required: Schema.optional<Schema.Schema<string, string, never>>;
77
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
78
+ when: Schema.Schema<string, string, never>;
79
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
80
+ message: Schema.refine<readonly [{
81
+ readonly locale: "zh";
82
+ readonly message: string;
83
+ }, ...{
84
+ readonly locale: "en" | "ja" | "ko";
85
+ readonly message: string;
86
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
87
+ locale: Schema.Literal<["zh"]>;
88
+ message: Schema.SchemaClass<string, string, never>;
89
+ }>], [Schema.Struct<{
90
+ locale: Schema.Literal<["ja", "en", "ko"]>;
91
+ message: Schema.SchemaClass<string, string, never>;
92
+ }>]>>;
93
+ }>>>;
76
94
  type: Schema.Literal<["com.shwfed.form.field.date"]>;
77
95
  compatibilityDate: Schema.Literal<["2026-04-27"]>;
78
96
  }>;
@@ -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-04-27";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -49,6 +50,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
49
50
  readonly locale: "en" | "ja" | "ko";
50
51
  readonly message: string;
51
52
  }[]] | undefined;
53
+ readonly validations?: readonly {
54
+ readonly message: readonly [{
55
+ readonly locale: "zh";
56
+ readonly message: string;
57
+ }, ...{
58
+ readonly locale: "en" | "ja" | "ko";
59
+ readonly message: string;
60
+ }[]];
61
+ readonly warning?: boolean | undefined;
62
+ readonly when: string;
63
+ }[] | undefined;
52
64
  readonly presets?: readonly {
53
65
  readonly label: readonly [{
54
66
  readonly locale: "zh";
@@ -82,6 +94,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
94
  readonly locale: "en" | "ja" | "ko";
83
95
  readonly message: string;
84
96
  }[]] | undefined;
97
+ readonly required?: string | undefined;
85
98
  readonly displayName?: string | undefined;
86
99
  readonly compatibilityDate: "2026-04-27";
87
100
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -109,6 +122,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
109
122
  readonly locale: "en" | "ja" | "ko";
110
123
  readonly message: string;
111
124
  }[]] | undefined;
125
+ readonly validations?: readonly {
126
+ readonly message: readonly [{
127
+ readonly locale: "zh";
128
+ readonly message: string;
129
+ }, ...{
130
+ readonly locale: "en" | "ja" | "ko";
131
+ readonly message: string;
132
+ }[]];
133
+ readonly warning?: boolean | undefined;
134
+ readonly when: string;
135
+ }[] | undefined;
112
136
  readonly presets?: readonly {
113
137
  readonly label: readonly [{
114
138
  readonly locale: "zh";
@@ -5,6 +5,7 @@ import { computed } from "vue";
5
5
  import { Button } from "../../../../ui/button";
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 { IconPicker } from "../../../../ui/icon-picker";
10
11
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupNumberField, InputGroupText } from "../../../../ui/input-group";
@@ -591,6 +592,26 @@ const valueFormatExample = computed(() => previewFormat(value.value.valueFormat
591
592
  </Field>
592
593
 
593
594
  <div class="grid grid-cols-3 gap-3">
595
+ <Field orientation="vertical">
596
+ <FieldLabel class="text-xs text-zinc-500">
597
+ <template #tooltip>
598
+ <Markdown
599
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
600
+ block
601
+ class="prose prose-sm prose-zinc"
602
+ />
603
+ </template>
604
+ {{ fieldTitle("required") }}
605
+ </FieldLabel>
606
+ <ExpressionEditor
607
+ :model-value="value.required ?? ''"
608
+ placeholder="例:form.type == 'company'"
609
+ result-type="bool"
610
+ class="min-h-10"
611
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
612
+ />
613
+ </Field>
614
+
594
615
  <Field orientation="vertical">
595
616
  <FieldLabel class="text-xs text-zinc-500">
596
617
  <template #tooltip>
@@ -670,5 +691,22 @@ const valueFormatExample = computed(() => previewFormat(value.value.valueFormat
670
691
  @update:model-value="(v) => value = { ...value, derived: v }"
671
692
  />
672
693
  </Field>
694
+
695
+ <Field orientation="vertical">
696
+ <FieldLabel class="text-xs text-zinc-500">
697
+ <template #tooltip>
698
+ <Markdown
699
+ :source="fieldDescription('validations')"
700
+ block
701
+ class="prose prose-sm prose-zinc"
702
+ />
703
+ </template>
704
+ {{ fieldTitle("validations") }}
705
+ </FieldLabel>
706
+ <ValidationRulesField
707
+ :model-value="value.validations"
708
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
709
+ />
710
+ </Field>
673
711
  </div>
674
712
  </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-04-27";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -49,6 +50,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
49
50
  readonly locale: "en" | "ja" | "ko";
50
51
  readonly message: string;
51
52
  }[]] | undefined;
53
+ readonly validations?: readonly {
54
+ readonly message: readonly [{
55
+ readonly locale: "zh";
56
+ readonly message: string;
57
+ }, ...{
58
+ readonly locale: "en" | "ja" | "ko";
59
+ readonly message: string;
60
+ }[]];
61
+ readonly warning?: boolean | undefined;
62
+ readonly when: string;
63
+ }[] | undefined;
52
64
  readonly presets?: readonly {
53
65
  readonly label: readonly [{
54
66
  readonly locale: "zh";
@@ -82,6 +94,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
82
94
  readonly locale: "en" | "ja" | "ko";
83
95
  readonly message: string;
84
96
  }[]] | undefined;
97
+ readonly required?: string | undefined;
85
98
  readonly displayName?: string | undefined;
86
99
  readonly compatibilityDate: "2026-04-27";
87
100
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -109,6 +122,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
109
122
  readonly locale: "en" | "ja" | "ko";
110
123
  readonly message: string;
111
124
  }[]] | undefined;
125
+ readonly validations?: readonly {
126
+ readonly message: readonly [{
127
+ readonly locale: "zh";
128
+ readonly message: string;
129
+ }, ...{
130
+ readonly locale: "en" | "ja" | "ko";
131
+ readonly message: string;
132
+ }[]];
133
+ readonly warning?: boolean | undefined;
134
+ readonly when: string;
135
+ }[] | undefined;
112
136
  readonly presets?: readonly {
113
137
  readonly label: readonly [{
114
138
  readonly locale: "zh";
@@ -7,9 +7,10 @@ import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
8
  import { getLocalizedText } from "../../../../../share/locale";
9
9
  import { DATE_RANGE_PICKER_DEFAULT_FORMATS, DateRangePicker } from "../../../../ui/date-range-picker";
10
- import { Field, FieldLabel } from "../../../../ui/field";
10
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
12
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
13
+ import { useFieldValidation } from "../../../utils/validation";
13
14
  import { useFormReadonly } from "../../../utils/readonly";
14
15
  import { useFormState } from "../../../utils/state";
15
16
  defineOptions({ name: "ShwfedDateRangeFieldRuntime" });
@@ -104,6 +105,12 @@ const model = computed({
104
105
  setAt(binding[1], next?.[1]);
105
106
  }
106
107
  });
108
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
109
+ fieldId: () => props.fieldId,
110
+ config: () => props.config,
111
+ $cel,
112
+ locale: () => locale.value
113
+ });
107
114
  const readonlyText = computed(() => {
108
115
  const v = model.value;
109
116
  if (!v) return "\u2014";
@@ -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"
@@ -152,5 +163,10 @@ const readonlyText = computed(() => {
152
163
  :disabled="isDisabled"
153
164
  :shortcuts="shortcuts"
154
165
  />
166
+ <FieldMessages
167
+ v-if="visible"
168
+ :errors="errors"
169
+ :warnings="warnings"
170
+ />
155
171
  </Field>
156
172
  </template>
@@ -84,6 +84,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
84
84
  id: Schema.refine<string, typeof Schema.String>;
85
85
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
86
86
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
87
+ required: Schema.optional<Schema.Schema<string, string, never>>;
88
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
89
+ when: Schema.Schema<string, string, never>;
90
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
91
+ message: Schema.refine<readonly [{
92
+ readonly locale: "zh";
93
+ readonly message: string;
94
+ }, ...{
95
+ readonly locale: "en" | "ja" | "ko";
96
+ readonly message: string;
97
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
98
+ locale: Schema.Literal<["zh"]>;
99
+ message: Schema.SchemaClass<string, string, never>;
100
+ }>], [Schema.Struct<{
101
+ locale: Schema.Literal<["ja", "en", "ko"]>;
102
+ message: Schema.SchemaClass<string, string, never>;
103
+ }>]>>;
104
+ }>>>;
87
105
  type: Schema.Literal<["com.shwfed.form.field.daterange"]>;
88
106
  compatibilityDate: Schema.Literal<["2026-04-27"]>;
89
107
  }>;