@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.
- package/dist/mcp.mjs +47 -9
- package/dist/module.json +1 -1
- package/dist/preview/assets/{config-Diuyh0Ex.js → config-BovRv7Mw.js} +1 -1
- package/dist/preview/assets/{config-rpX_Mc6I.js → config-ByTxMBcK.js} +1 -1
- package/dist/preview/assets/{config-DhsbcNzx.js → config-C7xYpB3N.js} +1 -1
- package/dist/preview/assets/{config-CZOeZ8ty.js → config-CH9wsYX8.js} +1 -1
- package/dist/preview/assets/{config-aK67Rsw5.js → config-Ch5dL5lp.js} +1 -1
- package/dist/preview/assets/{config-Bl80ye-i.js → config-D50Rl2n_.js} +1 -1
- package/dist/preview/assets/{config-BJzUh1_G.js → config-DiwVK32V.js} +1 -1
- package/dist/preview/assets/{config-6IiXCmyu.js → config-EKVeWrbS.js} +1 -1
- package/dist/preview/assets/{config-DaZD4ZSa.js → config-Q86AhjHq.js} +1 -1
- 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
- package/dist/preview/assets/index-65eB1l4r.css +1 -0
- package/dist/preview/assets/index-CIrlYN0M.js +1 -0
- package/dist/preview/assets/index-DUDlWaQI.js +661 -0
- package/dist/preview/assets/runtime-BP7zXnyG.js +1 -0
- package/dist/preview/assets/runtime-BQSwNpLC.js +1 -0
- package/dist/preview/assets/runtime-BwR_BbTu.js +1 -0
- package/dist/preview/assets/runtime-Ch3JIgUQ.js +1 -0
- package/dist/preview/assets/runtime-CjvZcU7X.js +1 -0
- package/dist/preview/assets/runtime-Cunk4vOs.js +1 -0
- package/dist/preview/assets/runtime-D34aQN00.js +1 -0
- package/dist/preview/assets/runtime-a9TOQRwD.js +1 -0
- package/dist/preview/assets/runtime-aPt-bW3F.js +1 -0
- package/dist/preview/index.html +2 -2
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/runtime.vue +7 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/runtime.vue +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +2 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +3 -0
- package/dist/runtime/components/form/ValidationRulesField.d.vue.ts +16 -0
- package/dist/runtime/components/form/ValidationRulesField.vue +207 -0
- package/dist/runtime/components/form/ValidationRulesField.vue.d.ts +16 -0
- package/dist/runtime/components/form/config.vue +32 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +30 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue +51 -9
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +22 -2
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/runtime.vue +26 -0
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +18 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue +38 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +24 -0
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +18 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +18 -0
- package/dist/runtime/components/form/index.d.vue.ts +1 -0
- package/dist/runtime/components/form/index.vue +16 -5
- package/dist/runtime/components/form/index.vue.d.ts +1 -0
- package/dist/runtime/components/form/schema.d.ts +4 -0
- package/dist/runtime/components/form/schema.js +6 -2
- package/dist/runtime/components/form/utils/common.d.ts +42 -0
- package/dist/runtime/components/form/utils/common.js +40 -2
- package/dist/runtime/components/form/utils/validation.d.ts +85 -0
- package/dist/runtime/components/form/utils/validation.js +113 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/config.vue +0 -22
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/header.vue +3 -15
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +0 -1
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +0 -4
- package/dist/runtime/components/table/config.d.vue.ts +4 -2
- package/dist/runtime/components/table/config.vue +59 -52
- package/dist/runtime/components/table/config.vue.d.ts +4 -2
- package/dist/runtime/components/table/schema.d.ts +4 -0
- package/dist/runtime/components/table/utils/shared.js +2 -2
- package/dist/runtime/components/ui/field/FieldError.vue +1 -1
- package/dist/runtime/components/ui/field/FieldMessages.d.vue.ts +9 -0
- package/dist/runtime/components/ui/field/FieldMessages.vue +21 -0
- package/dist/runtime/components/ui/field/FieldMessages.vue.d.ts +9 -0
- package/dist/runtime/components/ui/field/FieldWarning.d.vue.ts +20 -0
- package/dist/runtime/components/ui/field/FieldWarning.vue +51 -0
- package/dist/runtime/components/ui/field/FieldWarning.vue.d.ts +20 -0
- package/dist/runtime/components/ui/field/index.d.ts +2 -0
- package/dist/runtime/components/ui/field/index.js +10 -4
- package/dist/runtime/components/ui/locale/Locale.d.vue.ts +2 -0
- package/dist/runtime/components/ui/locale/Locale.vue +165 -155
- package/dist/runtime/components/ui/locale/Locale.vue.d.ts +2 -0
- package/dist/runtime/share/form-validate.d.ts +18 -0
- package/dist/runtime/share/form-validate.js +8 -0
- package/package.json +1 -1
- package/dist/preview/assets/index-2eQR4s3q.css +0 -1
- package/dist/preview/assets/index-DEF3_MKr.js +0 -659
- package/dist/preview/assets/index-Df-thth9.js +0 -1
- package/dist/preview/assets/runtime-3p1K6te5.js +0 -1
- package/dist/preview/assets/runtime-BcLnafic.js +0 -1
- package/dist/preview/assets/runtime-CSaV-359.js +0 -1
- package/dist/preview/assets/runtime-CjR8Vi5N.js +0 -1
- package/dist/preview/assets/runtime-D_fJCKX_.js +0 -1
- package/dist/preview/assets/runtime-DpeCgGEG.js +0 -1
- package/dist/preview/assets/runtime-K2a1x0TJ.js +0 -1
- package/dist/preview/assets/runtime-g9Zu3VNQ.js +0 -1
- package/dist/preview/assets/runtime-jTnh_6Dm.js +0 -1
|
@@ -7,7 +7,7 @@ import { useI18n } from "vue-i18n";
|
|
|
7
7
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
8
8
|
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
9
9
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
10
|
-
import { Field, FieldLabel } from "../../../../ui/field";
|
|
10
|
+
import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
|
|
11
11
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
|
|
12
12
|
import { Markdown } from "../../../../ui/markdown";
|
|
13
13
|
import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
|
|
@@ -17,6 +17,7 @@ import { interpolateMarkdown } from "../../../../table/utils/runtime";
|
|
|
17
17
|
import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
|
|
18
18
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
19
19
|
import { useFormState } from "../../../utils/state";
|
|
20
|
+
import { useFieldValidation } from "../../../utils/validation";
|
|
20
21
|
import {
|
|
21
22
|
findWrappedPath,
|
|
22
23
|
getWrappedChildren,
|
|
@@ -84,6 +85,12 @@ const isReadonly = computed(
|
|
|
84
85
|
() => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
|
|
85
86
|
);
|
|
86
87
|
const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
|
|
88
|
+
const { isRequired, errors, warnings, visible } = useFieldValidation({
|
|
89
|
+
fieldId: () => props.fieldId,
|
|
90
|
+
config: () => props.config,
|
|
91
|
+
$cel,
|
|
92
|
+
locale: () => locale.value
|
|
93
|
+
});
|
|
87
94
|
const uncontrolled = ref(void 0);
|
|
88
95
|
const model = computed({
|
|
89
96
|
get: () => {
|
|
@@ -330,7 +337,11 @@ const hoveredTooltip = computed(() => {
|
|
|
330
337
|
class="prose prose-xs prose-zinc"
|
|
331
338
|
/>
|
|
332
339
|
</template>
|
|
333
|
-
{{ labelText }}
|
|
340
|
+
{{ labelText }}<span
|
|
341
|
+
v-if="isRequired"
|
|
342
|
+
aria-hidden="true"
|
|
343
|
+
class="text-red-600"
|
|
344
|
+
> *</span>
|
|
334
345
|
</FieldLabel>
|
|
335
346
|
|
|
336
347
|
<div
|
|
@@ -492,5 +503,10 @@ const hoveredTooltip = computed(() => {
|
|
|
492
503
|
</div>
|
|
493
504
|
</PopoverContent>
|
|
494
505
|
</Popover>
|
|
506
|
+
<FieldMessages
|
|
507
|
+
v-if="visible"
|
|
508
|
+
:errors="errors"
|
|
509
|
+
:warnings="warnings"
|
|
510
|
+
/>
|
|
495
511
|
</Field>
|
|
496
512
|
</template>
|
|
@@ -87,6 +87,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
87
87
|
id: Schema.refine<string, typeof Schema.String>;
|
|
88
88
|
displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
89
89
|
hidden: Schema.optional<Schema.Schema<string, string, never>>;
|
|
90
|
+
required: Schema.optional<Schema.Schema<string, string, never>>;
|
|
91
|
+
validations: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
92
|
+
when: Schema.Schema<string, string, never>;
|
|
93
|
+
warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
94
|
+
message: Schema.refine<readonly [{
|
|
95
|
+
readonly locale: "zh";
|
|
96
|
+
readonly message: string;
|
|
97
|
+
}, ...{
|
|
98
|
+
readonly locale: "en" | "ja" | "ko";
|
|
99
|
+
readonly message: string;
|
|
100
|
+
}[]], Schema.TupleType<readonly [Schema.Struct<{
|
|
101
|
+
locale: Schema.Literal<["zh"]>;
|
|
102
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
103
|
+
}>], [Schema.Struct<{
|
|
104
|
+
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
105
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
106
|
+
}>]>>;
|
|
107
|
+
}>>>;
|
|
90
108
|
type: Schema.Literal<["com.shwfed.form.field.tree.combobox.single"]>;
|
|
91
109
|
compatibilityDate: Schema.Literal<["2026-05-28"]>;
|
|
92
110
|
}>;
|
|
@@ -33,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly locale: "en" | "ja" | "ko";
|
|
34
34
|
readonly message: string;
|
|
35
35
|
}[]] | undefined;
|
|
36
|
+
readonly required?: string | undefined;
|
|
36
37
|
readonly displayName?: string | undefined;
|
|
37
38
|
readonly compatibilityDate: "2026-05-28";
|
|
38
39
|
readonly readonly?: string | undefined;
|
|
@@ -56,6 +57,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
56
57
|
}[]];
|
|
57
58
|
readonly expandAll: boolean;
|
|
58
59
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
60
|
+
readonly validations?: readonly {
|
|
61
|
+
readonly message: readonly [{
|
|
62
|
+
readonly locale: "zh";
|
|
63
|
+
readonly message: string;
|
|
64
|
+
}, ...{
|
|
65
|
+
readonly locale: "en" | "ja" | "ko";
|
|
66
|
+
readonly message: string;
|
|
67
|
+
}[]];
|
|
68
|
+
readonly warning?: boolean | undefined;
|
|
69
|
+
readonly when: string;
|
|
70
|
+
}[] | undefined;
|
|
59
71
|
readonly nodeTooltip?: readonly [{
|
|
60
72
|
readonly locale: "zh";
|
|
61
73
|
readonly message: string;
|
|
@@ -96,6 +108,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
96
108
|
readonly locale: "en" | "ja" | "ko";
|
|
97
109
|
readonly message: string;
|
|
98
110
|
}[]] | undefined;
|
|
111
|
+
readonly required?: string | undefined;
|
|
99
112
|
readonly displayName?: string | undefined;
|
|
100
113
|
readonly compatibilityDate: "2026-05-28";
|
|
101
114
|
readonly readonly?: string | undefined;
|
|
@@ -119,6 +132,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
132
|
}[]];
|
|
120
133
|
readonly expandAll: boolean;
|
|
121
134
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
135
|
+
readonly validations?: readonly {
|
|
136
|
+
readonly message: readonly [{
|
|
137
|
+
readonly locale: "zh";
|
|
138
|
+
readonly message: string;
|
|
139
|
+
}, ...{
|
|
140
|
+
readonly locale: "en" | "ja" | "ko";
|
|
141
|
+
readonly message: string;
|
|
142
|
+
}[]];
|
|
143
|
+
readonly warning?: boolean | undefined;
|
|
144
|
+
readonly when: string;
|
|
145
|
+
}[] | undefined;
|
|
122
146
|
readonly nodeTooltip?: readonly [{
|
|
123
147
|
readonly locale: "zh";
|
|
124
148
|
readonly message: string;
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue
CHANGED
|
@@ -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";
|
|
@@ -522,6 +523,26 @@ function setFilterKeywords(next) {
|
|
|
522
523
|
|
|
523
524
|
<!-- 通用:隐藏 / 禁用 / 只读 + 派生值 — conventionally last -->
|
|
524
525
|
<div class="grid grid-cols-3 gap-3">
|
|
526
|
+
<Field orientation="vertical">
|
|
527
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
528
|
+
<template #tooltip>
|
|
529
|
+
<Markdown
|
|
530
|
+
:source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
|
|
531
|
+
block
|
|
532
|
+
class="prose prose-sm prose-zinc"
|
|
533
|
+
/>
|
|
534
|
+
</template>
|
|
535
|
+
{{ fieldTitle("required") }}
|
|
536
|
+
</FieldLabel>
|
|
537
|
+
<ExpressionEditor
|
|
538
|
+
:model-value="value.required ?? ''"
|
|
539
|
+
placeholder="例:form.type == 'company'"
|
|
540
|
+
result-type="bool"
|
|
541
|
+
class="min-h-10"
|
|
542
|
+
@update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
|
|
543
|
+
/>
|
|
544
|
+
</Field>
|
|
545
|
+
|
|
525
546
|
<Field orientation="vertical">
|
|
526
547
|
<FieldLabel class="text-xs text-zinc-500">
|
|
527
548
|
<template #tooltip>
|
|
@@ -601,5 +622,22 @@ function setFilterKeywords(next) {
|
|
|
601
622
|
@update:model-value="(v) => value = { ...value, derived: v }"
|
|
602
623
|
/>
|
|
603
624
|
</Field>
|
|
625
|
+
|
|
626
|
+
<Field orientation="vertical">
|
|
627
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
628
|
+
<template #tooltip>
|
|
629
|
+
<Markdown
|
|
630
|
+
:source="fieldDescription('validations')"
|
|
631
|
+
block
|
|
632
|
+
class="prose prose-sm prose-zinc"
|
|
633
|
+
/>
|
|
634
|
+
</template>
|
|
635
|
+
{{ fieldTitle("validations") }}
|
|
636
|
+
</FieldLabel>
|
|
637
|
+
<ValidationRulesField
|
|
638
|
+
:model-value="value.validations"
|
|
639
|
+
@update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
|
|
640
|
+
/>
|
|
641
|
+
</Field>
|
|
604
642
|
</div>
|
|
605
643
|
</template>
|
|
@@ -33,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly locale: "en" | "ja" | "ko";
|
|
34
34
|
readonly message: string;
|
|
35
35
|
}[]] | undefined;
|
|
36
|
+
readonly required?: string | undefined;
|
|
36
37
|
readonly displayName?: string | undefined;
|
|
37
38
|
readonly compatibilityDate: "2026-05-28";
|
|
38
39
|
readonly readonly?: string | undefined;
|
|
@@ -56,6 +57,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
56
57
|
}[]];
|
|
57
58
|
readonly expandAll: boolean;
|
|
58
59
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
60
|
+
readonly validations?: readonly {
|
|
61
|
+
readonly message: readonly [{
|
|
62
|
+
readonly locale: "zh";
|
|
63
|
+
readonly message: string;
|
|
64
|
+
}, ...{
|
|
65
|
+
readonly locale: "en" | "ja" | "ko";
|
|
66
|
+
readonly message: string;
|
|
67
|
+
}[]];
|
|
68
|
+
readonly warning?: boolean | undefined;
|
|
69
|
+
readonly when: string;
|
|
70
|
+
}[] | undefined;
|
|
59
71
|
readonly nodeTooltip?: readonly [{
|
|
60
72
|
readonly locale: "zh";
|
|
61
73
|
readonly message: string;
|
|
@@ -96,6 +108,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
96
108
|
readonly locale: "en" | "ja" | "ko";
|
|
97
109
|
readonly message: string;
|
|
98
110
|
}[]] | undefined;
|
|
111
|
+
readonly required?: string | undefined;
|
|
99
112
|
readonly displayName?: string | undefined;
|
|
100
113
|
readonly compatibilityDate: "2026-05-28";
|
|
101
114
|
readonly readonly?: string | undefined;
|
|
@@ -119,6 +132,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
132
|
}[]];
|
|
120
133
|
readonly expandAll: boolean;
|
|
121
134
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
135
|
+
readonly validations?: readonly {
|
|
136
|
+
readonly message: readonly [{
|
|
137
|
+
readonly locale: "zh";
|
|
138
|
+
readonly message: string;
|
|
139
|
+
}, ...{
|
|
140
|
+
readonly locale: "en" | "ja" | "ko";
|
|
141
|
+
readonly message: string;
|
|
142
|
+
}[]];
|
|
143
|
+
readonly warning?: boolean | undefined;
|
|
144
|
+
readonly when: string;
|
|
145
|
+
}[] | undefined;
|
|
122
146
|
readonly nodeTooltip?: readonly [{
|
|
123
147
|
readonly locale: "zh";
|
|
124
148
|
readonly message: string;
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue
CHANGED
|
@@ -8,7 +8,7 @@ import { cel as _rawCel } from "../../../../../utils/cel";
|
|
|
8
8
|
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
9
9
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
10
10
|
import { Checkbox } from "../../../../ui/checkbox";
|
|
11
|
-
import { Field, FieldLabel } from "../../../../ui/field";
|
|
11
|
+
import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
|
|
12
12
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
|
|
13
13
|
import { Markdown } from "../../../../ui/markdown";
|
|
14
14
|
import { Skeleton } from "../../../../ui/skeleton";
|
|
@@ -16,6 +16,7 @@ import { Tree as UiTree } from "../../../../ui/tree";
|
|
|
16
16
|
import { interpolateMarkdown } from "../../../../table/utils/runtime";
|
|
17
17
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
18
18
|
import { useFormState } from "../../../utils/state";
|
|
19
|
+
import { useFieldValidation } from "../../../utils/validation";
|
|
19
20
|
defineOptions({ name: "ShwfedTreeMultiFieldRuntime" });
|
|
20
21
|
const props = defineProps({
|
|
21
22
|
fieldId: { type: String, required: true },
|
|
@@ -72,6 +73,12 @@ const isReadonly = computed(
|
|
|
72
73
|
() => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
|
|
73
74
|
);
|
|
74
75
|
const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
|
|
76
|
+
const { isRequired, errors, warnings, visible } = useFieldValidation({
|
|
77
|
+
fieldId: () => props.fieldId,
|
|
78
|
+
config: () => props.config,
|
|
79
|
+
$cel,
|
|
80
|
+
locale: () => locale.value
|
|
81
|
+
});
|
|
75
82
|
const uncontrolled = ref([]);
|
|
76
83
|
const model = computed({
|
|
77
84
|
get: () => {
|
|
@@ -292,7 +299,11 @@ const readonlyText = computed(() => {
|
|
|
292
299
|
class="prose prose-xs prose-zinc"
|
|
293
300
|
/>
|
|
294
301
|
</template>
|
|
295
|
-
{{ labelText }}
|
|
302
|
+
{{ labelText }}<span
|
|
303
|
+
v-if="isRequired"
|
|
304
|
+
aria-hidden="true"
|
|
305
|
+
class="text-red-600"
|
|
306
|
+
> *</span>
|
|
296
307
|
</FieldLabel>
|
|
297
308
|
|
|
298
309
|
<div
|
|
@@ -397,5 +408,10 @@ const readonlyText = computed(() => {
|
|
|
397
408
|
</template>
|
|
398
409
|
</UiTree>
|
|
399
410
|
</template>
|
|
411
|
+
<FieldMessages
|
|
412
|
+
v-if="visible"
|
|
413
|
+
:errors="errors"
|
|
414
|
+
:warnings="warnings"
|
|
415
|
+
/>
|
|
400
416
|
</Field>
|
|
401
417
|
</template>
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts
CHANGED
|
@@ -93,6 +93,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
93
93
|
id: Schema.refine<string, typeof Schema.String>;
|
|
94
94
|
displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
95
95
|
hidden: Schema.optional<Schema.Schema<string, string, never>>;
|
|
96
|
+
required: Schema.optional<Schema.Schema<string, string, never>>;
|
|
97
|
+
validations: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
98
|
+
when: Schema.Schema<string, string, never>;
|
|
99
|
+
warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
100
|
+
message: Schema.refine<readonly [{
|
|
101
|
+
readonly locale: "zh";
|
|
102
|
+
readonly message: string;
|
|
103
|
+
}, ...{
|
|
104
|
+
readonly locale: "en" | "ja" | "ko";
|
|
105
|
+
readonly message: string;
|
|
106
|
+
}[]], Schema.TupleType<readonly [Schema.Struct<{
|
|
107
|
+
locale: Schema.Literal<["zh"]>;
|
|
108
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
109
|
+
}>], [Schema.Struct<{
|
|
110
|
+
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
111
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
112
|
+
}>]>>;
|
|
113
|
+
}>>>;
|
|
96
114
|
type: Schema.Literal<["com.shwfed.form.field.tree.multi"]>;
|
|
97
115
|
compatibilityDate: Schema.Literal<["2026-05-28"]>;
|
|
98
116
|
}>;
|
|
@@ -33,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly locale: "en" | "ja" | "ko";
|
|
34
34
|
readonly message: string;
|
|
35
35
|
}[]] | undefined;
|
|
36
|
+
readonly required?: string | undefined;
|
|
36
37
|
readonly displayName?: string | undefined;
|
|
37
38
|
readonly compatibilityDate: "2026-05-28";
|
|
38
39
|
readonly readonly?: string | undefined;
|
|
@@ -55,6 +56,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
58
|
readonly expandAll: boolean;
|
|
59
|
+
readonly validations?: readonly {
|
|
60
|
+
readonly message: readonly [{
|
|
61
|
+
readonly locale: "zh";
|
|
62
|
+
readonly message: string;
|
|
63
|
+
}, ...{
|
|
64
|
+
readonly locale: "en" | "ja" | "ko";
|
|
65
|
+
readonly message: string;
|
|
66
|
+
}[]];
|
|
67
|
+
readonly warning?: boolean | undefined;
|
|
68
|
+
readonly when: string;
|
|
69
|
+
}[] | undefined;
|
|
58
70
|
readonly nodeTooltip?: readonly [{
|
|
59
71
|
readonly locale: "zh";
|
|
60
72
|
readonly message: string;
|
|
@@ -95,6 +107,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
95
107
|
readonly locale: "en" | "ja" | "ko";
|
|
96
108
|
readonly message: string;
|
|
97
109
|
}[]] | undefined;
|
|
110
|
+
readonly required?: string | undefined;
|
|
98
111
|
readonly displayName?: string | undefined;
|
|
99
112
|
readonly compatibilityDate: "2026-05-28";
|
|
100
113
|
readonly readonly?: string | undefined;
|
|
@@ -117,6 +130,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
130
|
readonly message: string;
|
|
118
131
|
}[]];
|
|
119
132
|
readonly expandAll: boolean;
|
|
133
|
+
readonly validations?: readonly {
|
|
134
|
+
readonly message: readonly [{
|
|
135
|
+
readonly locale: "zh";
|
|
136
|
+
readonly message: string;
|
|
137
|
+
}, ...{
|
|
138
|
+
readonly locale: "en" | "ja" | "ko";
|
|
139
|
+
readonly message: string;
|
|
140
|
+
}[]];
|
|
141
|
+
readonly warning?: boolean | undefined;
|
|
142
|
+
readonly when: string;
|
|
143
|
+
}[] | undefined;
|
|
120
144
|
readonly nodeTooltip?: readonly [{
|
|
121
145
|
readonly locale: "zh";
|
|
122
146
|
readonly message: string;
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue
CHANGED
|
@@ -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";
|
|
@@ -477,6 +478,26 @@ function setFilterKeywords(next) {
|
|
|
477
478
|
|
|
478
479
|
<!-- 通用:隐藏 / 禁用 / 只读 + 派生值 — conventionally last -->
|
|
479
480
|
<div class="grid grid-cols-3 gap-3">
|
|
481
|
+
<Field orientation="vertical">
|
|
482
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
483
|
+
<template #tooltip>
|
|
484
|
+
<Markdown
|
|
485
|
+
:source="fieldDescription('required') ?? '\u8FD4\u56DE `true` \u65F6\u663E\u793A\u5FC5\u586B\u661F\u53F7\u5E76\u8981\u6C42\u975E\u7A7A'"
|
|
486
|
+
block
|
|
487
|
+
class="prose prose-sm prose-zinc"
|
|
488
|
+
/>
|
|
489
|
+
</template>
|
|
490
|
+
{{ fieldTitle("required") }}
|
|
491
|
+
</FieldLabel>
|
|
492
|
+
<ExpressionEditor
|
|
493
|
+
:model-value="value.required ?? ''"
|
|
494
|
+
placeholder="例:form.type == 'company'"
|
|
495
|
+
result-type="bool"
|
|
496
|
+
class="min-h-10"
|
|
497
|
+
@update:model-value="(v) => value = { ...value, required: v.length > 0 ? v : void 0 }"
|
|
498
|
+
/>
|
|
499
|
+
</Field>
|
|
500
|
+
|
|
480
501
|
<Field orientation="vertical">
|
|
481
502
|
<FieldLabel class="text-xs text-zinc-500">
|
|
482
503
|
<template #tooltip>
|
|
@@ -556,5 +577,22 @@ function setFilterKeywords(next) {
|
|
|
556
577
|
@update:model-value="(v) => value = { ...value, derived: v }"
|
|
557
578
|
/>
|
|
558
579
|
</Field>
|
|
580
|
+
|
|
581
|
+
<Field orientation="vertical">
|
|
582
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
583
|
+
<template #tooltip>
|
|
584
|
+
<Markdown
|
|
585
|
+
:source="fieldDescription('validations')"
|
|
586
|
+
block
|
|
587
|
+
class="prose prose-sm prose-zinc"
|
|
588
|
+
/>
|
|
589
|
+
</template>
|
|
590
|
+
{{ fieldTitle("validations") }}
|
|
591
|
+
</FieldLabel>
|
|
592
|
+
<ValidationRulesField
|
|
593
|
+
:model-value="value.validations"
|
|
594
|
+
@update:model-value="(v) => value = { ...value, validations: v.length > 0 ? v : void 0 }"
|
|
595
|
+
/>
|
|
596
|
+
</Field>
|
|
559
597
|
</div>
|
|
560
598
|
</template>
|
|
@@ -33,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
33
|
readonly locale: "en" | "ja" | "ko";
|
|
34
34
|
readonly message: string;
|
|
35
35
|
}[]] | undefined;
|
|
36
|
+
readonly required?: string | undefined;
|
|
36
37
|
readonly displayName?: string | undefined;
|
|
37
38
|
readonly compatibilityDate: "2026-05-28";
|
|
38
39
|
readonly readonly?: string | undefined;
|
|
@@ -55,6 +56,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
58
|
readonly expandAll: boolean;
|
|
59
|
+
readonly validations?: readonly {
|
|
60
|
+
readonly message: readonly [{
|
|
61
|
+
readonly locale: "zh";
|
|
62
|
+
readonly message: string;
|
|
63
|
+
}, ...{
|
|
64
|
+
readonly locale: "en" | "ja" | "ko";
|
|
65
|
+
readonly message: string;
|
|
66
|
+
}[]];
|
|
67
|
+
readonly warning?: boolean | undefined;
|
|
68
|
+
readonly when: string;
|
|
69
|
+
}[] | undefined;
|
|
58
70
|
readonly nodeTooltip?: readonly [{
|
|
59
71
|
readonly locale: "zh";
|
|
60
72
|
readonly message: string;
|
|
@@ -95,6 +107,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
95
107
|
readonly locale: "en" | "ja" | "ko";
|
|
96
108
|
readonly message: string;
|
|
97
109
|
}[]] | undefined;
|
|
110
|
+
readonly required?: string | undefined;
|
|
98
111
|
readonly displayName?: string | undefined;
|
|
99
112
|
readonly compatibilityDate: "2026-05-28";
|
|
100
113
|
readonly readonly?: string | undefined;
|
|
@@ -117,6 +130,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
130
|
readonly message: string;
|
|
118
131
|
}[]];
|
|
119
132
|
readonly expandAll: boolean;
|
|
133
|
+
readonly validations?: readonly {
|
|
134
|
+
readonly message: readonly [{
|
|
135
|
+
readonly locale: "zh";
|
|
136
|
+
readonly message: string;
|
|
137
|
+
}, ...{
|
|
138
|
+
readonly locale: "en" | "ja" | "ko";
|
|
139
|
+
readonly message: string;
|
|
140
|
+
}[]];
|
|
141
|
+
readonly warning?: boolean | undefined;
|
|
142
|
+
readonly when: string;
|
|
143
|
+
}[] | undefined;
|
|
120
144
|
readonly nodeTooltip?: readonly [{
|
|
121
145
|
readonly locale: "zh";
|
|
122
146
|
readonly message: string;
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue
CHANGED
|
@@ -7,7 +7,7 @@ import { useI18n } from "vue-i18n";
|
|
|
7
7
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
8
8
|
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
9
9
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
10
|
-
import { Field, FieldLabel } from "../../../../ui/field";
|
|
10
|
+
import { Field, FieldLabel, FieldMessages } from "../../../../ui/field";
|
|
11
11
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
|
|
12
12
|
import { Markdown } from "../../../../ui/markdown";
|
|
13
13
|
import { Skeleton } from "../../../../ui/skeleton";
|
|
@@ -15,6 +15,7 @@ import { Tree as UiTree } from "../../../../ui/tree";
|
|
|
15
15
|
import { interpolateMarkdown } from "../../../../table/utils/runtime";
|
|
16
16
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
17
17
|
import { useFormState } from "../../../utils/state";
|
|
18
|
+
import { useFieldValidation } from "../../../utils/validation";
|
|
18
19
|
defineOptions({ name: "ShwfedTreeSingleFieldRuntime" });
|
|
19
20
|
const props = defineProps({
|
|
20
21
|
fieldId: { type: String, required: true },
|
|
@@ -68,6 +69,12 @@ const isReadonly = computed(
|
|
|
68
69
|
() => props.config.readonly != null ? evalBool(props.config.readonly, "readonly") : formReadonly.value
|
|
69
70
|
);
|
|
70
71
|
const effectiveReadonly = computed(() => isReadonly.value || props.config.derived?.mode === "formula");
|
|
72
|
+
const { isRequired, errors, warnings, visible } = useFieldValidation({
|
|
73
|
+
fieldId: () => props.fieldId,
|
|
74
|
+
config: () => props.config,
|
|
75
|
+
$cel,
|
|
76
|
+
locale: () => locale.value
|
|
77
|
+
});
|
|
71
78
|
const uncontrolled = ref(void 0);
|
|
72
79
|
const model = computed({
|
|
73
80
|
get: () => {
|
|
@@ -288,7 +295,11 @@ const readonlyText = computed(() => {
|
|
|
288
295
|
class="prose prose-xs prose-zinc"
|
|
289
296
|
/>
|
|
290
297
|
</template>
|
|
291
|
-
{{ labelText }}
|
|
298
|
+
{{ labelText }}<span
|
|
299
|
+
v-if="isRequired"
|
|
300
|
+
aria-hidden="true"
|
|
301
|
+
class="text-red-600"
|
|
302
|
+
> *</span>
|
|
292
303
|
</FieldLabel>
|
|
293
304
|
|
|
294
305
|
<div
|
|
@@ -391,5 +402,10 @@ const readonlyText = computed(() => {
|
|
|
391
402
|
</template>
|
|
392
403
|
</UiTree>
|
|
393
404
|
</template>
|
|
405
|
+
<FieldMessages
|
|
406
|
+
v-if="visible"
|
|
407
|
+
:errors="errors"
|
|
408
|
+
:warnings="warnings"
|
|
409
|
+
/>
|
|
394
410
|
</Field>
|
|
395
411
|
</template>
|
package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts
CHANGED
|
@@ -89,6 +89,24 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
89
89
|
id: Schema.refine<string, typeof Schema.String>;
|
|
90
90
|
displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
91
91
|
hidden: Schema.optional<Schema.Schema<string, string, never>>;
|
|
92
|
+
required: Schema.optional<Schema.Schema<string, string, never>>;
|
|
93
|
+
validations: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
94
|
+
when: Schema.Schema<string, string, never>;
|
|
95
|
+
warning: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
96
|
+
message: Schema.refine<readonly [{
|
|
97
|
+
readonly locale: "zh";
|
|
98
|
+
readonly message: string;
|
|
99
|
+
}, ...{
|
|
100
|
+
readonly locale: "en" | "ja" | "ko";
|
|
101
|
+
readonly message: string;
|
|
102
|
+
}[]], Schema.TupleType<readonly [Schema.Struct<{
|
|
103
|
+
locale: Schema.Literal<["zh"]>;
|
|
104
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
105
|
+
}>], [Schema.Struct<{
|
|
106
|
+
locale: Schema.Literal<["ja", "en", "ko"]>;
|
|
107
|
+
message: Schema.SchemaClass<string, string, never>;
|
|
108
|
+
}>]>>;
|
|
109
|
+
}>>>;
|
|
92
110
|
type: Schema.Literal<["com.shwfed.form.field.tree.single"]>;
|
|
93
111
|
compatibilityDate: Schema.Literal<["2026-05-28"]>;
|
|
94
112
|
}>;
|
|
@@ -13,6 +13,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
13
13
|
seeded: Promise<void>;
|
|
14
14
|
flush: () => void;
|
|
15
15
|
settled: () => Promise<void>;
|
|
16
|
+
validate: () => Promise<boolean>;
|
|
16
17
|
undo: () => void;
|
|
17
18
|
redo: () => void;
|
|
18
19
|
canUndo: import("vue").Ref<boolean, boolean>;
|
|
@@ -14,8 +14,10 @@ import { provideCommitBus } from "./utils/commit-bus";
|
|
|
14
14
|
import { provideDerivedQuiescence, useDerived } from "./utils/derived";
|
|
15
15
|
import { useFormHistory } from "./utils/history";
|
|
16
16
|
import { evaluateInitial } from "./utils/initial";
|
|
17
|
+
import { provideFormValidate } from "../../share/form-validate";
|
|
17
18
|
import { provideFormReadonly } from "./utils/readonly";
|
|
18
19
|
import { provideFormState } from "./utils/state";
|
|
20
|
+
import { provideValidation } from "./utils/validation";
|
|
19
21
|
defineOptions({ name: "ShwfedForm" });
|
|
20
22
|
const state = defineModel({ type: Object, ...{ default: () => ({}) } });
|
|
21
23
|
const config = defineModel("config", { type: Object, ...{ required: true } });
|
|
@@ -82,11 +84,18 @@ useDerived({
|
|
|
82
84
|
formState,
|
|
83
85
|
quiescence
|
|
84
86
|
});
|
|
87
|
+
const validation = provideValidation({
|
|
88
|
+
flush: commitBus.flushAll,
|
|
89
|
+
seeded,
|
|
90
|
+
settled: quiescence.settled
|
|
91
|
+
});
|
|
92
|
+
provideFormValidate(validation.validate);
|
|
85
93
|
const formHistory = useFormHistory(state, { quiescence, seeded, dirty: formState.dirty });
|
|
86
94
|
defineExpose({
|
|
87
95
|
seeded,
|
|
88
96
|
flush: commitBus.flushAll,
|
|
89
97
|
settled: quiescence.settled,
|
|
98
|
+
validate: validation.validate,
|
|
90
99
|
undo: formHistory.undo,
|
|
91
100
|
redo: formHistory.redo,
|
|
92
101
|
canUndo: formHistory.canUndo,
|
|
@@ -113,10 +122,12 @@ function isHidden(field) {
|
|
|
113
122
|
|
|
114
123
|
<template>
|
|
115
124
|
<ClientOnly>
|
|
116
|
-
<
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
<div :style="config.style">
|
|
126
|
+
<FormUnitRenderer
|
|
127
|
+
:unit="unit"
|
|
128
|
+
:evaluate-media="evaluateMedia"
|
|
129
|
+
:is-hidden="isHidden"
|
|
130
|
+
/>
|
|
131
|
+
</div>
|
|
121
132
|
</ClientOnly>
|
|
122
133
|
</template>
|
|
@@ -13,6 +13,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
13
13
|
seeded: Promise<void>;
|
|
14
14
|
flush: () => void;
|
|
15
15
|
settled: () => Promise<void>;
|
|
16
|
+
validate: () => Promise<boolean>;
|
|
16
17
|
undo: () => void;
|
|
17
18
|
redo: () => void;
|
|
18
19
|
canUndo: import("vue").Ref<boolean, boolean>;
|
|
@@ -80,6 +80,7 @@ export declare function FormUnit(configure: (env: Environment) => void): Schema.
|
|
|
80
80
|
*/
|
|
81
81
|
export declare function registerFormVariablesIfAbsent(env: Environment): void;
|
|
82
82
|
export declare function FormConfig(configure: (env: Environment) => void): Schema.refine<{
|
|
83
|
+
readonly style?: string | undefined;
|
|
83
84
|
readonly initial?: {
|
|
84
85
|
readonly data: string;
|
|
85
86
|
readonly request?: string | undefined;
|
|
@@ -146,8 +147,10 @@ export declare function FormConfig(configure: (env: Environment) => void): Schem
|
|
|
146
147
|
data: Schema.Schema<string, string, never>;
|
|
147
148
|
}>>>;
|
|
148
149
|
readonly: Schema.optional<Schema.Schema<string, string, never>>;
|
|
150
|
+
style: Schema.optional<typeof Schema.String>;
|
|
149
151
|
}>>;
|
|
150
152
|
export declare function createFormConfig(body: Omit<Schema.Schema.Type<ReturnType<typeof FormConfig>>, 'kind'>): {
|
|
153
|
+
style?: string | undefined;
|
|
151
154
|
initial?: {
|
|
152
155
|
readonly data: string;
|
|
153
156
|
readonly request?: string | undefined;
|
|
@@ -188,4 +191,5 @@ export type FormConfigValue = Readonly<{
|
|
|
188
191
|
kind: typeof KIND;
|
|
189
192
|
initial?: InitialSource;
|
|
190
193
|
readonly?: string;
|
|
194
|
+
style?: string;
|
|
191
195
|
}> & FormUnitValue;
|