@shwfed/config 2.4.0 → 2.5.0

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 (315) hide show
  1. package/dist/mcp.mjs +128 -27
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-Bxkq2ZRm.js → config-BkytEQN5.js} +1 -1
  4. package/dist/preview/assets/{config-BdFIFUa_.js → config-CK011_jJ.js} +1 -1
  5. package/dist/preview/assets/{config-BcQQl4v6.js → config-C_bBX0wD.js} +1 -1
  6. package/dist/preview/assets/{config-CHHX7vhb.js → config-Cbn8o9BY.js} +1 -1
  7. package/dist/preview/assets/{config-CZ0f5xdI.js → config-DYL6kHr3.js} +1 -1
  8. package/dist/preview/assets/{config-Ddh8pxIi.js → config-Dx0zHfGt.js} +1 -1
  9. package/dist/preview/assets/{config-D9xGgFnF.js → config-E-DM6b5t.js} +1 -1
  10. package/dist/preview/assets/{config-C32yfrlg.js → config-PjseWUbC.js} +1 -1
  11. package/dist/preview/assets/{config-Bi9F-Jdh.js → config-dwcdYHd4.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js → definition.vue_vue_type_script_setup_true_lang-uJFJXxli.js} +1 -1
  13. package/dist/preview/assets/index-7MVXgV5n.css +1 -0
  14. package/dist/preview/assets/index-CmPiZG_4.js +1 -0
  15. package/dist/preview/assets/index-x-77enex.js +668 -0
  16. package/dist/preview/assets/runtime-BRMGkqSr.js +1 -0
  17. package/dist/preview/assets/runtime-CHLboM_z.js +1 -0
  18. package/dist/preview/assets/runtime-CeHdesjP.js +1 -0
  19. package/dist/preview/assets/runtime-D4_9FCLy.js +1 -0
  20. package/dist/preview/assets/runtime-DHBTDws7.js +1 -0
  21. package/dist/preview/assets/runtime-DJHpCLnr.js +1 -0
  22. package/dist/preview/assets/runtime-DKq86fZU.js +1 -0
  23. package/dist/preview/assets/runtime-DjpjaNec.js +1 -0
  24. package/dist/preview/assets/runtime-ZQryOEKm.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.table/schema.d.ts +1 -1
  29. package/dist/runtime/components/form/ValidationRulesField.d.vue.ts +16 -0
  30. package/dist/runtime/components/form/ValidationRulesField.vue +207 -0
  31. package/dist/runtime/components/form/ValidationRulesField.vue.d.ts +16 -0
  32. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.d.vue.ts +24 -0
  33. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.vue.d.ts +24 -0
  34. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +18 -0
  35. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +24 -0
  36. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +38 -0
  37. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +24 -0
  38. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +18 -2
  39. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +18 -0
  40. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +24 -0
  41. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue +38 -0
  42. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +24 -0
  43. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +18 -2
  44. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +18 -0
  45. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.d.vue.ts +24 -0
  46. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.vue.d.ts +24 -0
  47. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -0
  48. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  49. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  50. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  51. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +24 -0
  52. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +38 -0
  53. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +24 -0
  54. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +18 -2
  55. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +18 -0
  56. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +24 -0
  57. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +38 -0
  58. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +24 -0
  59. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +18 -2
  60. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +18 -0
  61. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +24 -0
  62. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +38 -0
  63. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +24 -0
  64. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +18 -2
  65. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +18 -0
  66. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +24 -0
  67. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +38 -0
  68. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +24 -0
  69. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +18 -2
  70. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +18 -0
  71. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +24 -0
  72. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue +38 -0
  73. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +24 -0
  74. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +18 -2
  75. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +18 -0
  76. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +24 -0
  77. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue +38 -0
  78. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +24 -0
  79. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +18 -2
  80. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +18 -0
  81. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +24 -0
  82. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +38 -0
  83. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +24 -0
  84. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +18 -2
  85. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +18 -0
  86. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +24 -0
  87. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue +38 -0
  88. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +24 -0
  89. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +18 -2
  90. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +18 -0
  91. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +24 -0
  92. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue +38 -0
  93. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +24 -0
  94. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +18 -2
  95. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +18 -0
  96. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  97. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  98. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  99. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.d.vue.ts +24 -0
  100. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue +38 -0
  101. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue.d.ts +24 -0
  102. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +18 -2
  103. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +18 -0
  104. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +24 -0
  105. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue +38 -0
  106. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +24 -0
  107. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +18 -2
  108. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +18 -0
  109. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +24 -0
  110. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue +38 -0
  111. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +24 -0
  112. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +18 -2
  113. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +30 -0
  114. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.d.vue.ts +24 -0
  115. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue +38 -0
  116. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue.d.ts +24 -0
  117. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +18 -2
  118. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +18 -0
  119. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.d.vue.ts +24 -0
  120. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue +38 -0
  121. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue.d.ts +24 -0
  122. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +18 -2
  123. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +18 -0
  124. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.d.vue.ts +24 -0
  125. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue +51 -9
  126. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue.d.ts +24 -0
  127. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +22 -2
  128. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +18 -0
  129. package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/runtime.vue +26 -0
  130. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  131. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  132. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  133. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +24 -0
  134. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +38 -0
  135. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +24 -0
  136. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +18 -2
  137. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +18 -0
  138. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +24 -0
  139. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +38 -0
  140. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +24 -0
  141. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +18 -2
  142. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +18 -0
  143. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  144. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  145. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  146. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  147. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  148. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  149. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  150. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  151. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  152. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
  153. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue +38 -0
  154. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
  155. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +18 -2
  156. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
  157. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
  158. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue +38 -0
  159. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
  160. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +18 -2
  161. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
  162. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
  163. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue +38 -0
  164. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
  165. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +18 -2
  166. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
  167. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
  168. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue +38 -0
  169. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
  170. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +18 -2
  171. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
  172. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
  173. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue +38 -0
  174. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
  175. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +18 -2
  176. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
  177. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +24 -0
  178. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue +38 -0
  179. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +24 -0
  180. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +18 -2
  181. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +18 -0
  182. package/dist/runtime/components/form/index.d.vue.ts +1 -0
  183. package/dist/runtime/components/form/index.vue +14 -18
  184. package/dist/runtime/components/form/index.vue.d.ts +1 -0
  185. package/dist/runtime/components/form/schema.d.ts +2 -10
  186. package/dist/runtime/components/form/schema.js +2 -5
  187. package/dist/runtime/components/form/utils/cel-scope.d.ts +12 -3
  188. package/dist/runtime/components/form/utils/cel-scope.js +17 -18
  189. package/dist/runtime/components/form/utils/common.d.ts +42 -0
  190. package/dist/runtime/components/form/utils/common.js +40 -2
  191. package/dist/runtime/components/form/utils/form-vars.d.ts +19 -0
  192. package/dist/runtime/components/form/utils/form-vars.js +5 -0
  193. package/dist/runtime/components/form/utils/validation.d.ts +85 -0
  194. package/dist/runtime/components/form/utils/validation.js +113 -0
  195. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/config.vue +20 -8
  196. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +1 -0
  197. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/config.vue +20 -8
  198. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +1 -0
  199. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/config.vue +20 -8
  200. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +1 -0
  201. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/config.vue +20 -8
  202. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +1 -0
  203. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/config.vue +20 -8
  204. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.d.ts +1 -0
  205. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/config.vue +20 -8
  206. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +1 -0
  207. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  208. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue +20 -8
  209. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  210. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  211. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +20 -7
  212. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +1 -0
  213. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/config.vue +20 -8
  214. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +1 -0
  215. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +20 -8
  216. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +1 -0
  217. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +20 -8
  218. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +1 -0
  219. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -0
  220. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue +20 -8
  221. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -0
  222. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +1 -0
  223. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -0
  224. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue +20 -8
  225. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -0
  226. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +1 -0
  227. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  228. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  229. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  230. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  231. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -0
  232. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue +20 -8
  233. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -0
  234. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +1 -0
  235. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -0
  236. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue +20 -8
  237. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -0
  238. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +1 -0
  239. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  240. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  241. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  242. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  243. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -0
  244. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue +20 -8
  245. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -0
  246. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.d.ts +1 -0
  247. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  248. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue +20 -8
  249. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  250. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  251. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -0
  252. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue +20 -8
  253. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -0
  254. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.d.ts +1 -0
  255. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
  256. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +20 -7
  257. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
  258. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  259. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
  260. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +20 -7
  261. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
  262. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  263. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  264. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue +20 -8
  265. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  266. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  267. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.js +2 -1
  268. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  269. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue +20 -8
  270. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  271. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  272. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.js +2 -1
  273. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
  274. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue +20 -7
  275. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
  276. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  277. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
  278. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue +20 -7
  279. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
  280. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  281. package/dist/runtime/components/table/config.d.vue.ts +4 -2
  282. package/dist/runtime/components/table/config.vue +25 -45
  283. package/dist/runtime/components/table/config.vue.d.ts +4 -2
  284. package/dist/runtime/components/table/index.vue +22 -2
  285. package/dist/runtime/components/table/schema.d.ts +4 -2
  286. package/dist/runtime/components/table/schema.js +69 -13
  287. package/dist/runtime/components/table/utils/shared.d.ts +2 -0
  288. package/dist/runtime/components/table/utils/shared.js +12 -4
  289. package/dist/runtime/components/ui/field/FieldError.vue +1 -1
  290. package/dist/runtime/components/ui/field/FieldMessages.d.vue.ts +9 -0
  291. package/dist/runtime/components/ui/field/FieldMessages.vue +21 -0
  292. package/dist/runtime/components/ui/field/FieldMessages.vue.d.ts +9 -0
  293. package/dist/runtime/components/ui/field/FieldWarning.d.vue.ts +20 -0
  294. package/dist/runtime/components/ui/field/FieldWarning.vue +51 -0
  295. package/dist/runtime/components/ui/field/FieldWarning.vue.d.ts +20 -0
  296. package/dist/runtime/components/ui/field/index.d.ts +2 -0
  297. package/dist/runtime/components/ui/field/index.js +10 -4
  298. package/dist/runtime/components/ui/locale/Locale.d.vue.ts +2 -0
  299. package/dist/runtime/components/ui/locale/Locale.vue +165 -155
  300. package/dist/runtime/components/ui/locale/Locale.vue.d.ts +2 -0
  301. package/dist/runtime/share/form-validate.d.ts +18 -0
  302. package/dist/runtime/share/form-validate.js +8 -0
  303. package/package.json +1 -1
  304. package/dist/preview/assets/index-BqOX70Hd.css +0 -1
  305. package/dist/preview/assets/index-D-VR1i8D.js +0 -659
  306. package/dist/preview/assets/index-ihZGlPdX.js +0 -1
  307. package/dist/preview/assets/runtime-Bn8mqeDH.js +0 -1
  308. package/dist/preview/assets/runtime-Cc_Wk3o-.js +0 -1
  309. package/dist/preview/assets/runtime-CttAjIgg.js +0 -1
  310. package/dist/preview/assets/runtime-Cx4f2UTl.js +0 -1
  311. package/dist/preview/assets/runtime-D1dESjXR.js +0 -1
  312. package/dist/preview/assets/runtime-DIEP1Xbh.js +0 -1
  313. package/dist/preview/assets/runtime-DKceWuBx.js +0 -1
  314. package/dist/preview/assets/runtime-Dhid9O5c.js +0 -1
  315. package/dist/preview/assets/runtime-YMiqi6WY.js +0 -1
@@ -6,9 +6,10 @@ import { cel as _rawCel } from "../../../../../utils/cel";
6
6
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
7
7
  import { getLocalizedText } from "../../../../../share/locale";
8
8
  import { DateRangePicker } from "../../../../ui/date-range-picker";
9
- import { Field, FieldLabel } from "../../../../ui/field";
9
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
10
10
  import { Markdown } from "../../../../ui/markdown";
11
11
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
12
+ import { useFieldValidation } from "../../../utils/validation";
12
13
  import { useFormReadonly } from "../../../utils/readonly";
13
14
  import { useFormState } from "../../../utils/state";
14
15
  defineOptions({ name: "ShwfedTimeRangeFieldRuntime" });
@@ -74,6 +75,12 @@ const model = computed({
74
75
  setAt(binding[1], next?.[1]);
75
76
  }
76
77
  });
78
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
79
+ fieldId: () => props.fieldId,
80
+ config: () => props.config,
81
+ $cel,
82
+ locale: () => locale.value
83
+ });
77
84
  const readonlyText = computed(() => {
78
85
  const v = model.value;
79
86
  if (!v) return "\u2014";
@@ -100,7 +107,11 @@ const readonlyText = 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 readonlyText = computed(() => {
119
130
  :hour-cycle="config.hourCycle"
120
131
  :disabled="isDisabled"
121
132
  />
133
+ <FieldMessages
134
+ v-if="visible"
135
+ :errors="errors"
136
+ :warnings="warnings"
137
+ />
122
138
  </Field>
123
139
  </template>
@@ -56,6 +56,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
56
56
  id: Schema.refine<string, typeof Schema.String>;
57
57
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
58
58
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
59
+ required: Schema.optional<Schema.Schema<string, string, never>>;
60
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
61
+ when: Schema.Schema<string, string, never>;
62
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
63
+ message: Schema.refine<readonly [{
64
+ readonly locale: "zh";
65
+ readonly message: string;
66
+ }, ...{
67
+ readonly locale: "en" | "ja" | "ko";
68
+ readonly message: string;
69
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
70
+ locale: Schema.Literal<["zh"]>;
71
+ message: Schema.SchemaClass<string, string, never>;
72
+ }>], [Schema.Struct<{
73
+ locale: Schema.Literal<["ja", "en", "ko"]>;
74
+ message: Schema.SchemaClass<string, string, never>;
75
+ }>]>>;
76
+ }>>>;
59
77
  type: Schema.Literal<["com.shwfed.form.field.timerange"]>;
60
78
  compatibilityDate: Schema.Literal<["2026-04-27"]>;
61
79
  }>;
@@ -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-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -41,6 +42,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
41
42
  readonly mode: "formula" | "prefill";
42
43
  readonly expression: string;
43
44
  } | undefined;
45
+ readonly validations?: readonly {
46
+ readonly message: readonly [{
47
+ readonly locale: "zh";
48
+ readonly message: string;
49
+ }, ...{
50
+ readonly locale: "en" | "ja" | "ko";
51
+ readonly message: string;
52
+ }[]];
53
+ readonly warning?: boolean | undefined;
54
+ readonly when: string;
55
+ }[] | undefined;
44
56
  readonly precision?: number | undefined;
45
57
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
46
58
  readonly valueAsString?: boolean | undefined;
@@ -65,6 +77,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
65
77
  readonly locale: "en" | "ja" | "ko";
66
78
  readonly message: string;
67
79
  }[]] | undefined;
80
+ readonly required?: string | undefined;
68
81
  readonly displayName?: string | undefined;
69
82
  readonly compatibilityDate: "2026-04-28";
70
83
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -84,6 +97,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
84
97
  readonly mode: "formula" | "prefill";
85
98
  readonly expression: string;
86
99
  } | undefined;
100
+ readonly validations?: readonly {
101
+ readonly message: readonly [{
102
+ readonly locale: "zh";
103
+ readonly message: string;
104
+ }, ...{
105
+ readonly locale: "en" | "ja" | "ko";
106
+ readonly message: string;
107
+ }[]];
108
+ readonly warning?: boolean | undefined;
109
+ readonly when: string;
110
+ }[] | undefined;
87
111
  readonly precision?: number | undefined;
88
112
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
89
113
  readonly valueAsString?: boolean | undefined;
@@ -9,6 +9,7 @@ import {
9
9
  } from "../../../../ui/dropdown-menu";
10
10
  import { ExpressionEditor } from "../../../../ui/expression-editor";
11
11
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
12
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
12
13
  import { Field, FieldLabel } from "../../../../ui/field";
13
14
  import {
14
15
  InputGroup,
@@ -374,6 +375,26 @@ function onValueAsStringChange(next) {
374
375
  </div>
375
376
 
376
377
  <div class="grid grid-cols-3 gap-3">
378
+ <Field orientation="vertical">
379
+ <FieldLabel class="text-xs text-zinc-500">
380
+ <template #tooltip>
381
+ <Markdown
382
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
383
+ block
384
+ class="prose prose-sm prose-zinc"
385
+ />
386
+ </template>
387
+ {{ fieldTitle("required") }}
388
+ </FieldLabel>
389
+ <ExpressionEditor
390
+ :model-value="value.required ?? ''"
391
+ placeholder="例:form.type == 'company'"
392
+ result-type="bool"
393
+ class="min-h-10"
394
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
395
+ />
396
+ </Field>
397
+
377
398
  <Field orientation="vertical">
378
399
  <FieldLabel class="text-xs text-zinc-500">
379
400
  <template #tooltip>
@@ -453,5 +474,22 @@ function onValueAsStringChange(next) {
453
474
  @update:model-value="(v) => value = { ...value, derived: v }"
454
475
  />
455
476
  </Field>
477
+
478
+ <Field orientation="vertical">
479
+ <FieldLabel class="text-xs text-zinc-500">
480
+ <template #tooltip>
481
+ <Markdown
482
+ :source="fieldDescription('validations')"
483
+ block
484
+ class="prose prose-sm prose-zinc"
485
+ />
486
+ </template>
487
+ {{ fieldTitle("validations") }}
488
+ </FieldLabel>
489
+ <ValidationRulesField
490
+ :model-value="value.validations"
491
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
492
+ />
493
+ </Field>
456
494
  </div>
457
495
  </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-28";
27
28
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -41,6 +42,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
41
42
  readonly mode: "formula" | "prefill";
42
43
  readonly expression: string;
43
44
  } | undefined;
45
+ readonly validations?: readonly {
46
+ readonly message: readonly [{
47
+ readonly locale: "zh";
48
+ readonly message: string;
49
+ }, ...{
50
+ readonly locale: "en" | "ja" | "ko";
51
+ readonly message: string;
52
+ }[]];
53
+ readonly warning?: boolean | undefined;
54
+ readonly when: string;
55
+ }[] | undefined;
44
56
  readonly precision?: number | undefined;
45
57
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
46
58
  readonly valueAsString?: boolean | undefined;
@@ -65,6 +77,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
65
77
  readonly locale: "en" | "ja" | "ko";
66
78
  readonly message: string;
67
79
  }[]] | undefined;
80
+ readonly required?: string | undefined;
68
81
  readonly displayName?: string | undefined;
69
82
  readonly compatibilityDate: "2026-04-28";
70
83
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -84,6 +97,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
84
97
  readonly mode: "formula" | "prefill";
85
98
  readonly expression: string;
86
99
  } | undefined;
100
+ readonly validations?: readonly {
101
+ readonly message: readonly [{
102
+ readonly locale: "zh";
103
+ readonly message: string;
104
+ }, ...{
105
+ readonly locale: "en" | "ja" | "ko";
106
+ readonly message: string;
107
+ }[]];
108
+ readonly warning?: boolean | undefined;
109
+ readonly when: string;
110
+ }[] | undefined;
87
111
  readonly precision?: number | undefined;
88
112
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
89
113
  readonly valueAsString?: boolean | undefined;
@@ -6,11 +6,12 @@ import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
8
  import { getLocalizedText } from "../../../../../share/locale";
9
- import { Field, FieldLabel } from "../../../../ui/field";
9
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
10
10
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupNumberField } from "../../../../ui/input-group";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
12
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
13
13
  import { useFieldValue } from "../../../utils/field-value";
14
+ import { useFieldValidation } from "../../../utils/validation";
14
15
  import { useFormReadonly } from "../../../utils/readonly";
15
16
  import { useFormState } from "../../../utils/state";
16
17
  defineOptions({ name: "ShwfedNumberFieldRuntime" });
@@ -56,6 +57,12 @@ const isReadonly = computed(
56
57
  const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
57
58
  const minValue = computed(() => evalNumber(props.config.min, "min"));
58
59
  const maxValue = computed(() => evalNumber(props.config.max, "max"));
60
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
61
+ fieldId: () => props.fieldId,
62
+ config: () => props.config,
63
+ $cel,
64
+ locale: () => locale.value
65
+ });
59
66
  const formatOptions = computed(() => ({
60
67
  useGrouping: false,
61
68
  maximumFractionDigits: 20
@@ -124,7 +131,11 @@ async function onBlur() {
124
131
  class="prose prose-xs prose-zinc"
125
132
  />
126
133
  </template>
127
- {{ labelText }}
134
+ {{ labelText }}<span
135
+ v-if="isRequired"
136
+ aria-hidden="true"
137
+ class="text-red-600"
138
+ > *</span>
128
139
  </FieldLabel>
129
140
  <div
130
141
  v-if="effectiveReadonly"
@@ -168,5 +179,10 @@ async function onBlur() {
168
179
  </InputGroupButton>
169
180
  </InputGroupAddon>
170
181
  </InputGroup>
182
+ <FieldMessages
183
+ v-if="visible"
184
+ :errors="errors"
185
+ :warnings="warnings"
186
+ />
171
187
  </Field>
172
188
  </template>
@@ -55,6 +55,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
55
55
  id: Schema.refine<string, typeof Schema.String>;
56
56
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
57
57
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
58
+ required: Schema.optional<Schema.Schema<string, string, never>>;
59
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
60
+ when: Schema.Schema<string, string, never>;
61
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
62
+ message: Schema.refine<readonly [{
63
+ readonly locale: "zh";
64
+ readonly message: string;
65
+ }, ...{
66
+ readonly locale: "en" | "ja" | "ko";
67
+ readonly message: string;
68
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
69
+ locale: Schema.Literal<["zh"]>;
70
+ message: Schema.SchemaClass<string, string, never>;
71
+ }>], [Schema.Struct<{
72
+ locale: Schema.Literal<["ja", "en", "ko"]>;
73
+ message: Schema.SchemaClass<string, string, never>;
74
+ }>]>>;
75
+ }>>>;
58
76
  type: Schema.Literal<["com.shwfed.form.field.number"]>;
59
77
  compatibilityDate: Schema.Literal<["2026-04-28"]>;
60
78
  }>;
@@ -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-28";
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 precision?: number | undefined;
53
65
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
54
66
  readonly valueAsString?: boolean | undefined;
@@ -73,6 +85,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
73
85
  readonly locale: "en" | "ja" | "ko";
74
86
  readonly message: string;
75
87
  }[]] | undefined;
88
+ readonly required?: string | undefined;
76
89
  readonly displayName?: string | undefined;
77
90
  readonly compatibilityDate: "2026-04-28";
78
91
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -100,6 +113,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
113
  readonly locale: "en" | "ja" | "ko";
101
114
  readonly message: string;
102
115
  }[]] | undefined;
116
+ readonly validations?: readonly {
117
+ readonly message: readonly [{
118
+ readonly locale: "zh";
119
+ readonly message: string;
120
+ }, ...{
121
+ readonly locale: "en" | "ja" | "ko";
122
+ readonly message: string;
123
+ }[]];
124
+ readonly warning?: boolean | undefined;
125
+ readonly when: string;
126
+ }[] | undefined;
103
127
  readonly precision?: number | undefined;
104
128
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
105
129
  readonly valueAsString?: boolean | undefined;
@@ -9,6 +9,7 @@ import {
9
9
  } from "../../../../ui/dropdown-menu";
10
10
  import { ExpressionEditor } from "../../../../ui/expression-editor";
11
11
  import DerivedValueEditor from "../../../DerivedValueEditor.vue";
12
+ import ValidationRulesField from "../../../ValidationRulesField.vue";
12
13
  import { Field, FieldLabel } from "../../../../ui/field";
13
14
  import { IconPicker } from "../../../../ui/icon-picker";
14
15
  import {
@@ -502,6 +503,26 @@ function onValueAsStringChange(next) {
502
503
  </div>
503
504
 
504
505
  <div class="grid grid-cols-3 gap-3">
506
+ <Field orientation="vertical">
507
+ <FieldLabel class="text-xs text-zinc-500">
508
+ <template #tooltip>
509
+ <Markdown
510
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
511
+ block
512
+ class="prose prose-sm prose-zinc"
513
+ />
514
+ </template>
515
+ {{ fieldTitle("required") }}
516
+ </FieldLabel>
517
+ <ExpressionEditor
518
+ :model-value="value.required ?? ''"
519
+ placeholder="例:form.type == 'company'"
520
+ result-type="bool"
521
+ class="min-h-10"
522
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
523
+ />
524
+ </Field>
525
+
505
526
  <Field orientation="vertical">
506
527
  <FieldLabel class="text-xs text-zinc-500">
507
528
  <template #tooltip>
@@ -581,5 +602,22 @@ function onValueAsStringChange(next) {
581
602
  @update:model-value="(v) => value = { ...value, derived: v }"
582
603
  />
583
604
  </Field>
605
+
606
+ <Field orientation="vertical">
607
+ <FieldLabel class="text-xs text-zinc-500">
608
+ <template #tooltip>
609
+ <Markdown
610
+ :source="fieldDescription('validations')"
611
+ block
612
+ class="prose prose-sm prose-zinc"
613
+ />
614
+ </template>
615
+ {{ fieldTitle("validations") }}
616
+ </FieldLabel>
617
+ <ValidationRulesField
618
+ :model-value="value.validations"
619
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
620
+ />
621
+ </Field>
584
622
  </div>
585
623
  </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-28";
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 precision?: number | undefined;
53
65
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
54
66
  readonly valueAsString?: boolean | undefined;
@@ -73,6 +85,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
73
85
  readonly locale: "en" | "ja" | "ko";
74
86
  readonly message: string;
75
87
  }[]] | undefined;
88
+ readonly required?: string | undefined;
76
89
  readonly displayName?: string | undefined;
77
90
  readonly compatibilityDate: "2026-04-28";
78
91
  readonly orientation?: "vertical" | "floating" | undefined;
@@ -100,6 +113,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
113
  readonly locale: "en" | "ja" | "ko";
101
114
  readonly message: string;
102
115
  }[]] | undefined;
116
+ readonly validations?: readonly {
117
+ readonly message: readonly [{
118
+ readonly locale: "zh";
119
+ readonly message: string;
120
+ }, ...{
121
+ readonly locale: "en" | "ja" | "ko";
122
+ readonly message: string;
123
+ }[]];
124
+ readonly warning?: boolean | undefined;
125
+ readonly when: string;
126
+ }[] | undefined;
103
127
  readonly precision?: number | undefined;
104
128
  readonly roundingMode?: "round" | "floor" | "ceil" | undefined;
105
129
  readonly valueAsString?: boolean | undefined;
@@ -6,11 +6,12 @@ import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
8
  import { getLocalizedText } from "../../../../../share/locale";
9
- import { Field, FieldLabel } from "../../../../ui/field";
9
+ import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
10
10
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupNumberField } from "../../../../ui/input-group";
11
11
  import { Markdown } from "../../../../ui/markdown";
12
12
  import { useCommitBus } from "../../../utils/commit-bus";
13
13
  import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
14
+ import { useFieldValidation } from "../../../utils/validation";
14
15
  import { useFormReadonly } from "../../../utils/readonly";
15
16
  import { useFormState } from "../../../utils/state";
16
17
  defineOptions({ name: "ShwfedNumberRangeFieldRuntime" });
@@ -59,6 +60,12 @@ const isReadonly = computed(
59
60
  const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
60
61
  const minValue = computed(() => evalNumber(props.config.min, "min"));
61
62
  const maxValue = computed(() => evalNumber(props.config.max, "max"));
63
+ const { isRequired, errors, warnings, visible } = useFieldValidation({
64
+ fieldId: () => props.fieldId,
65
+ config: () => props.config,
66
+ $cel,
67
+ locale: () => locale.value
68
+ });
62
69
  const formatOptions = computed(() => ({
63
70
  useGrouping: false,
64
71
  maximumFractionDigits: 20
@@ -206,7 +213,11 @@ const readonlyText = computed(() => {
206
213
  class="prose prose-xs prose-zinc"
207
214
  />
208
215
  </template>
209
- {{ labelText }}
216
+ {{ labelText }}<span
217
+ v-if="isRequired"
218
+ aria-hidden="true"
219
+ class="text-red-600"
220
+ > *</span>
210
221
  </FieldLabel>
211
222
  <div
212
223
  v-if="effectiveReadonly"
@@ -265,5 +276,10 @@ const readonlyText = computed(() => {
265
276
  </InputGroupButton>
266
277
  </InputGroupAddon>
267
278
  </InputGroup>
279
+ <FieldMessages
280
+ v-if="visible"
281
+ :errors="errors"
282
+ :warnings="warnings"
283
+ />
268
284
  </Field>
269
285
  </template>
@@ -63,6 +63,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
63
63
  id: Schema.refine<string, typeof Schema.String>;
64
64
  displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
65
65
  hidden: Schema.optional<Schema.Schema<string, string, never>>;
66
+ required: Schema.optional<Schema.Schema<string, string, never>>;
67
+ validations: Schema.optional<Schema.Array$<Schema.Struct<{
68
+ when: Schema.Schema<string, string, never>;
69
+ warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
70
+ message: Schema.refine<readonly [{
71
+ readonly locale: "zh";
72
+ readonly message: string;
73
+ }, ...{
74
+ readonly locale: "en" | "ja" | "ko";
75
+ readonly message: string;
76
+ }[]], Schema.TupleType<readonly [Schema.Struct<{
77
+ locale: Schema.Literal<["zh"]>;
78
+ message: Schema.SchemaClass<string, string, never>;
79
+ }>], [Schema.Struct<{
80
+ locale: Schema.Literal<["ja", "en", "ko"]>;
81
+ message: Schema.SchemaClass<string, string, never>;
82
+ }>]>>;
83
+ }>>>;
66
84
  type: Schema.Literal<["com.shwfed.form.field.numberrange"]>;
67
85
  compatibilityDate: Schema.Literal<["2026-04-28"]>;
68
86
  }>;
@@ -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-28";
27
28
  readonly readonly?: string | undefined;
@@ -30,6 +31,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
30
31
  readonly mode: "formula" | "prefill";
31
32
  readonly expression: string;
32
33
  } | undefined;
34
+ readonly validations?: readonly {
35
+ readonly message: readonly [{
36
+ readonly locale: "zh";
37
+ readonly message: string;
38
+ }, ...{
39
+ readonly locale: "en" | "ja" | "ko";
40
+ readonly message: string;
41
+ }[]];
42
+ readonly warning?: boolean | undefined;
43
+ readonly when: string;
44
+ }[] | undefined;
33
45
  readonly trueLabel?: readonly [{
34
46
  readonly locale: "zh";
35
47
  readonly message: string;
@@ -65,6 +77,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
65
77
  readonly locale: "en" | "ja" | "ko";
66
78
  readonly message: string;
67
79
  }[]] | undefined;
80
+ readonly required?: string | undefined;
68
81
  readonly displayName?: string | undefined;
69
82
  readonly compatibilityDate: "2026-04-28";
70
83
  readonly readonly?: string | undefined;
@@ -73,6 +86,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
73
86
  readonly mode: "formula" | "prefill";
74
87
  readonly expression: string;
75
88
  } | undefined;
89
+ readonly validations?: readonly {
90
+ readonly message: readonly [{
91
+ readonly locale: "zh";
92
+ readonly message: string;
93
+ }, ...{
94
+ readonly locale: "en" | "ja" | "ko";
95
+ readonly message: string;
96
+ }[]];
97
+ readonly warning?: boolean | undefined;
98
+ readonly when: string;
99
+ }[] | undefined;
76
100
  readonly trueLabel?: readonly [{
77
101
  readonly locale: "zh";
78
102
  readonly message: string;
@@ -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";
@@ -164,6 +165,26 @@ const pathText = computed({
164
165
  </div>
165
166
 
166
167
  <div class="grid grid-cols-3 gap-3">
168
+ <Field orientation="vertical">
169
+ <FieldLabel class="text-xs text-zinc-500">
170
+ <template #tooltip>
171
+ <Markdown
172
+ :source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
173
+ block
174
+ class="prose prose-sm prose-zinc"
175
+ />
176
+ </template>
177
+ {{ fieldTitle("required") }}
178
+ </FieldLabel>
179
+ <ExpressionEditor
180
+ :model-value="value.required ?? ''"
181
+ placeholder="例:form.type == 'company'"
182
+ result-type="bool"
183
+ class="min-h-10"
184
+ @update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
185
+ />
186
+ </Field>
187
+
167
188
  <Field orientation="vertical">
168
189
  <FieldLabel class="text-xs text-zinc-500">
169
190
  <template #tooltip>
@@ -243,5 +264,22 @@ const pathText = computed({
243
264
  @update:model-value="(v) => value = { ...value, derived: v }"
244
265
  />
245
266
  </Field>
267
+
268
+ <Field orientation="vertical">
269
+ <FieldLabel class="text-xs text-zinc-500">
270
+ <template #tooltip>
271
+ <Markdown
272
+ :source="fieldDescription('validations')"
273
+ block
274
+ class="prose prose-sm prose-zinc"
275
+ />
276
+ </template>
277
+ {{ fieldTitle("validations") }}
278
+ </FieldLabel>
279
+ <ValidationRulesField
280
+ :model-value="value.validations"
281
+ @update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
282
+ />
283
+ </Field>
246
284
  </div>
247
285
  </template>