@shwfed/config 1.1.5 → 2.0.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/module.d.mts +2 -19
- package/dist/module.json +1 -1
- package/dist/module.mjs +15 -34
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/config.d.vue.ts +36 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/config.vue +45 -8
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/config.vue.d.ts +36 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/runtime.vue +15 -9
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/schema.d.ts +17 -1
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/schema.js +23 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/config.d.vue.ts +36 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/config.vue +39 -5
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/config.vue.d.ts +36 -4
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/runtime.vue +15 -9
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/schema.d.ts +17 -1
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/schema.js +23 -5
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.prototype/config.vue +1 -0
- package/dist/runtime/components/actions/buttons/2026-04-21/com.shwfed.actions.button.navigation/config.d.vue.ts +2 -2
- package/dist/runtime/components/actions/buttons/2026-04-21/com.shwfed.actions.button.navigation/config.vue.d.ts +2 -2
- package/dist/runtime/components/actions/buttons/2026-04-21/com.shwfed.actions.button.navigation/runtime.vue +2 -3
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/config.d.vue.ts +1 -1
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/config.vue +44 -10
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/config.vue.d.ts +1 -1
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/runtime.vue +24 -7
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +6 -1
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.js +6 -3
- package/dist/runtime/components/actions/buttons/{2026-04-27/com.shwfed.actions.button.table.reset → 2026-05-15/com.shwfed.actions.button.event.dispatch}/config.d.vue.ts +13 -5
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/config.vue +32 -0
- package/dist/runtime/components/actions/buttons/{2026-04-27/com.shwfed.actions.button.table.reset → 2026-05-15/com.shwfed.actions.button.event.dispatch}/config.vue.d.ts +13 -5
- package/dist/runtime/components/actions/buttons/{2026-04-27/com.shwfed.actions.button.table.search → 2026-05-15/com.shwfed.actions.button.event.dispatch}/runtime.vue +5 -7
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.d.ts +17 -0
- package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.js +18 -0
- package/dist/runtime/components/actions/components/group.vue +2 -3
- package/dist/runtime/components/actions/components/triggers-field.d.vue.ts +17 -0
- package/dist/runtime/components/actions/components/triggers-field.vue +209 -0
- package/dist/runtime/components/actions/components/triggers-field.vue.d.ts +17 -0
- package/dist/runtime/components/actions/config.vue +51 -1
- package/dist/runtime/components/actions/schema.d.ts +4 -0
- package/dist/runtime/components/actions/schema.js +6 -0
- package/dist/runtime/components/actions/utils/resolve.d.ts +25 -1
- package/dist/runtime/components/actions/utils/resolve.js +37 -9
- package/dist/runtime/components/app.vue +1 -1
- package/dist/runtime/components/block-layout-editor/index.vue +11 -11
- package/dist/runtime/components/block-layout-editor/sidebar.vue +0 -4
- 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 +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +7 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.d.vue.ts +1 -1
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue +16 -2
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue.d.ts +1 -1
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.vue +1 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +18 -9
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.js +8 -4
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/config.d.vue.ts +77 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/config.vue +535 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/config.vue.d.ts +77 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/runtime.d.vue.ts +77 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/runtime.vue +233 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/runtime.vue.d.ts +77 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/schema.d.ts +134 -0
- package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.line/schema.js +142 -0
- package/dist/runtime/components/config/index.vue +1 -1
- package/dist/runtime/components/config/use-editor.js +4 -3
- package/dist/runtime/components/form/DerivedValueEditor.d.vue.ts +19 -0
- package/dist/runtime/components/form/DerivedValueEditor.vue +77 -0
- package/dist/runtime/components/form/DerivedValueEditor.vue.d.ts +19 -0
- package/dist/runtime/components/form/config.vue +58 -24
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +29 -31
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +3 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +24 -26
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.js +3 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/runtime.vue +15 -7
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +12 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +37 -38
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +10 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +33 -22
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +14 -6
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.js +3 -2
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue +21 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/config.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/runtime.vue +14 -7
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/config.vue +1 -0
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +13 -8
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +10 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue +25 -1
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +10 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +102 -44
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +14 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.js +14 -5
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue +1 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/row.vue +22 -5
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +7 -4
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.js +7 -1
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.d.vue.ts +113 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue +426 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/config.vue.d.ts +113 -0
- package/dist/runtime/components/{actions/buttons/2026-04-27/com.shwfed.actions.button.table.search → form/fields/2026-05-17/com.shwfed.form.field.checkbox.group}/runtime.d.vue.ts +1 -1
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +176 -0
- package/dist/runtime/components/{actions/buttons/2026-04-27/com.shwfed.actions.button.table.search → form/fields/2026-05-17/com.shwfed.form.field.checkbox.group}/runtime.vue.d.ts +1 -1
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +121 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.js +78 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.d.vue.ts +113 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue +426 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/config.vue.d.ts +113 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +159 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +121 -0
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.js +78 -0
- package/dist/runtime/components/form/index.d.vue.ts +6 -0
- package/dist/runtime/components/form/index.vue +41 -6
- package/dist/runtime/components/form/index.vue.d.ts +6 -0
- package/dist/runtime/components/form/schema.d.ts +5 -1
- package/dist/runtime/components/form/schema.js +13 -1
- package/dist/runtime/components/form/unit-config.d.vue.ts +0 -3
- package/dist/runtime/components/form/unit-config.vue +4 -10
- package/dist/runtime/components/form/unit-config.vue.d.ts +0 -3
- package/dist/runtime/components/form/utils/commit-bus.d.ts +26 -0
- package/dist/runtime/components/form/utils/commit-bus.js +27 -0
- package/dist/runtime/components/form/utils/common.d.ts +27 -0
- package/dist/runtime/components/form/utils/common.js +31 -0
- package/dist/runtime/components/form/utils/derived.d.ts +72 -0
- package/dist/runtime/components/form/utils/derived.js +116 -0
- package/dist/runtime/components/form/utils/field-value.d.ts +35 -0
- package/dist/runtime/components/form/utils/field-value.js +40 -0
- package/dist/runtime/components/form/utils/history.d.ts +36 -0
- package/dist/runtime/components/form/utils/history.js +74 -0
- package/dist/runtime/components/form/utils/readonly.d.ts +8 -0
- package/dist/runtime/components/form/utils/readonly.js +9 -0
- package/dist/runtime/components/form/utils/state.d.ts +27 -1
- package/dist/runtime/components/form/utils/state.js +16 -8
- package/dist/runtime/components/table/ai/columns-button.vue +3 -4
- package/dist/runtime/components/table/ai/data-source-button.vue +3 -4
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/runtime.vue +2 -3
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/runtime.vue +2 -3
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/runtime.vue +2 -3
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/runtime.vue +2 -3
- package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/runtime.vue +11 -6
- package/dist/runtime/components/table/config.vue +46 -2
- package/dist/runtime/components/table/index.d.vue.ts +4 -0
- package/dist/runtime/components/table/index.vue +28 -22
- package/dist/runtime/components/table/index.vue.d.ts +4 -0
- package/dist/runtime/components/table/schema.d.ts +33 -0
- package/dist/runtime/components/table/schema.js +21 -0
- package/dist/runtime/components/table/utils/instance.d.ts +2 -0
- package/dist/runtime/components/table/utils/instance.js +8 -0
- package/dist/runtime/components/ui/date-picker/DatePickerInput.vue +2 -2
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue +2 -2
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue +2 -2
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue +2 -2
- package/dist/runtime/components/ui/expression-editor/ExpressionEditor.d.vue.ts +13 -1
- package/dist/runtime/components/ui/expression-editor/ExpressionEditor.vue +11 -3
- package/dist/runtime/components/ui/expression-editor/ExpressionEditor.vue.d.ts +13 -1
- package/dist/runtime/components/ui/locale/Locale.vue +2 -2
- package/dist/runtime/components/ui/radio-group/RadioGroup.d.vue.ts +22 -0
- package/dist/runtime/components/ui/radio-group/RadioGroup.vue +32 -0
- package/dist/runtime/components/ui/radio-group/RadioGroup.vue.d.ts +22 -0
- package/dist/runtime/components/ui/radio-group/RadioGroupItem.d.vue.ts +8 -0
- package/dist/runtime/components/ui/radio-group/RadioGroupItem.vue +36 -0
- package/dist/runtime/components/ui/radio-group/RadioGroupItem.vue.d.ts +8 -0
- package/dist/runtime/components/ui/radio-group/index.d.ts +2 -0
- package/dist/runtime/components/ui/radio-group/index.js +2 -0
- package/dist/runtime/composables/useOverlay.d.ts +1 -5
- package/dist/runtime/composables/useOverlay.js +4 -3
- package/dist/runtime/composables/useTranslateLocale.js +1 -2
- package/dist/runtime/share/event-bus.d.ts +118 -0
- package/dist/runtime/share/event-bus.js +55 -0
- package/dist/runtime/share/expression.d.ts +7 -0
- package/dist/runtime/share/expression.js +3 -1
- package/dist/runtime/share/layout.d.ts +1 -0
- package/dist/runtime/share/layout.js +3 -2
- package/dist/runtime/share/slot-renderer.vue +6 -4
- package/dist/runtime/{plugins → utils}/ai/cel-prompt.d.ts +1 -1
- package/dist/runtime/{plugins → utils}/ai/index.d.ts +1 -6
- package/dist/runtime/{plugins → utils}/ai/index.js +5 -14
- package/dist/runtime/utils/cel.d.ts +5 -0
- package/dist/runtime/utils/cel.js +42 -0
- package/dist/runtime/vendor/cel-js/CLAUDE.md +8 -2
- package/dist/runtime/vendor/cel-js/PROMPT.md +35 -10
- package/dist/runtime/vendor/cel-js/lib/functions.js +63 -1
- package/dist/runtime/vendor/cel-js/lib/http-builder.d.ts +35 -0
- package/dist/runtime/{plugins/http/builder.js → vendor/cel-js/lib/http-builder.js} +25 -23
- package/dist/runtime/vendor/cel-js/lib/http-builtins.d.ts +9 -10
- package/dist/runtime/vendor/cel-js/lib/http-builtins.js +53 -13
- package/dist/types.d.mts +7 -1
- package/package.json +1 -1
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.reset/config.vue +0 -10
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.reset/runtime.vue +0 -25
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.reset/schema.d.ts +0 -13
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.reset/schema.js +0 -16
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.search/config.d.vue.ts +0 -17
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.search/config.vue +0 -10
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.search/config.vue.d.ts +0 -17
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.search/schema.d.ts +0 -13
- package/dist/runtime/components/actions/buttons/2026-04-27/com.shwfed.actions.button.table.search/schema.js +0 -16
- package/dist/runtime/components/table/utils/host.d.ts +0 -9
- package/dist/runtime/components/table/utils/host.js +0 -8
- package/dist/runtime/composables/useCel.d.ts +0 -16
- package/dist/runtime/composables/useCel.js +0 -8
- package/dist/runtime/middleware/token.d.ts +0 -2
- package/dist/runtime/middleware/token.js +0 -20
- package/dist/runtime/plugins/cel/http.d.ts +0 -8
- package/dist/runtime/plugins/cel/http.js +0 -49
- package/dist/runtime/plugins/cel/index.d.ts +0 -9
- package/dist/runtime/plugins/cel/index.js +0 -59
- package/dist/runtime/plugins/http/builder.d.ts +0 -14
- package/dist/runtime/plugins/http/index.d.ts +0 -19
- package/dist/runtime/plugins/http/index.js +0 -35
- package/dist/runtime/plugins/toast/index.d.ts +0 -108
- package/dist/runtime/plugins/toast/index.js +0 -10
- package/dist/runtime/types.d.ts +0 -25
- /package/dist/runtime/components/actions/buttons/{2026-04-27/com.shwfed.actions.button.table.reset → 2026-05-15/com.shwfed.actions.button.event.dispatch}/runtime.d.vue.ts +0 -0
- /package/dist/runtime/components/actions/buttons/{2026-04-27/com.shwfed.actions.button.table.reset → 2026-05-15/com.shwfed.actions.button.event.dispatch}/runtime.vue.d.ts +0 -0
- /package/dist/runtime/{plugins → utils}/ai/cel-prompt.js +0 -0
- /package/dist/runtime/{plugins/cel/context.d.ts → utils/cel-context.d.ts} +0 -0
- /package/dist/runtime/{plugins/cel/context.js → utils/cel-context.js} +0 -0
|
@@ -4,10 +4,16 @@ type __VLS_ModelProps = {
|
|
|
4
4
|
};
|
|
5
5
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
"update:modelValue": (value: {
|
|
7
|
+
readonly onError?: readonly {
|
|
8
|
+
readonly target: string;
|
|
9
|
+
readonly operation: string;
|
|
10
|
+
}[] | undefined;
|
|
7
11
|
readonly type: "com.shwfed.actions.button.http.request.json.confirm";
|
|
8
12
|
readonly icon?: string | undefined;
|
|
9
13
|
readonly color?: string | undefined;
|
|
10
14
|
readonly compatibilityDate: "2026-04-18";
|
|
15
|
+
readonly messageExpression?: string | undefined;
|
|
16
|
+
readonly resultExpression?: string | undefined;
|
|
11
17
|
readonly markdown: readonly [{
|
|
12
18
|
readonly locale: "zh";
|
|
13
19
|
readonly message: string;
|
|
@@ -16,15 +22,31 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
16
22
|
readonly message: string;
|
|
17
23
|
}[]];
|
|
18
24
|
readonly expression: string;
|
|
19
|
-
readonly
|
|
20
|
-
|
|
25
|
+
readonly onSuccess?: readonly {
|
|
26
|
+
readonly target: string;
|
|
27
|
+
readonly operation: string;
|
|
28
|
+
}[] | undefined;
|
|
29
|
+
readonly onWarning?: readonly {
|
|
30
|
+
readonly target: string;
|
|
31
|
+
readonly operation: string;
|
|
32
|
+
}[] | undefined;
|
|
33
|
+
readonly onInfo?: readonly {
|
|
34
|
+
readonly target: string;
|
|
35
|
+
readonly operation: string;
|
|
36
|
+
}[] | undefined;
|
|
21
37
|
}) => any;
|
|
22
38
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
23
39
|
"onUpdate:modelValue"?: ((value: {
|
|
40
|
+
readonly onError?: readonly {
|
|
41
|
+
readonly target: string;
|
|
42
|
+
readonly operation: string;
|
|
43
|
+
}[] | undefined;
|
|
24
44
|
readonly type: "com.shwfed.actions.button.http.request.json.confirm";
|
|
25
45
|
readonly icon?: string | undefined;
|
|
26
46
|
readonly color?: string | undefined;
|
|
27
47
|
readonly compatibilityDate: "2026-04-18";
|
|
48
|
+
readonly messageExpression?: string | undefined;
|
|
49
|
+
readonly resultExpression?: string | undefined;
|
|
28
50
|
readonly markdown: readonly [{
|
|
29
51
|
readonly locale: "zh";
|
|
30
52
|
readonly message: string;
|
|
@@ -33,8 +55,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
33
55
|
readonly message: string;
|
|
34
56
|
}[]];
|
|
35
57
|
readonly expression: string;
|
|
36
|
-
readonly
|
|
37
|
-
|
|
58
|
+
readonly onSuccess?: readonly {
|
|
59
|
+
readonly target: string;
|
|
60
|
+
readonly operation: string;
|
|
61
|
+
}[] | undefined;
|
|
62
|
+
readonly onWarning?: readonly {
|
|
63
|
+
readonly target: string;
|
|
64
|
+
readonly operation: string;
|
|
65
|
+
}[] | undefined;
|
|
66
|
+
readonly onInfo?: readonly {
|
|
67
|
+
readonly target: string;
|
|
68
|
+
readonly operation: string;
|
|
69
|
+
}[] | undefined;
|
|
38
70
|
}) => any) | undefined;
|
|
39
71
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
72
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { useNuxtApp } from "#app";
|
|
3
2
|
import { Effect } from "effect";
|
|
4
3
|
import { useI18n } from "vue-i18n";
|
|
4
|
+
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
5
5
|
import { reject } from "../../../../../composables/useOverlay";
|
|
6
|
-
import { celBindings, injectCELContext } from "../../../../../
|
|
6
|
+
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
7
7
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
8
|
+
import { useEventChannel } from "../../../../../share/event-bus";
|
|
8
9
|
import ShwfedActionDefinition from "../../../components/definition.vue";
|
|
9
10
|
import { executeHttpRequest, interpolateMarkdown } from "../../../utils/resolve";
|
|
10
11
|
defineOptions({ name: "ShwfedHttpRequestConfirmActionRuntime" });
|
|
@@ -13,19 +14,24 @@ const props = defineProps({
|
|
|
13
14
|
config: { type: null, required: true }
|
|
14
15
|
});
|
|
15
16
|
const { locale } = useI18n();
|
|
16
|
-
const { $cel: _rawCel } = useNuxtApp();
|
|
17
17
|
const inherited = injectCELContext();
|
|
18
18
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
19
|
+
const channel = useEventChannel();
|
|
19
20
|
const effect = Effect.gen(function* () {
|
|
20
21
|
const raw = getLocalizedText(props.config.markdown, locale.value) ?? "";
|
|
21
22
|
const content = interpolateMarkdown(raw, $cel);
|
|
22
23
|
if (yield* reject({ content, icon: props.config.icon, color: props.config.color })) return;
|
|
23
|
-
yield* executeHttpRequest(
|
|
24
|
-
props.config.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
yield* executeHttpRequest(props.config.expression, $cel, {
|
|
25
|
+
messageExpression: props.config.messageExpression,
|
|
26
|
+
resultExpression: props.config.resultExpression,
|
|
27
|
+
channel,
|
|
28
|
+
triggers: {
|
|
29
|
+
success: props.config.onSuccess,
|
|
30
|
+
warning: props.config.onWarning,
|
|
31
|
+
error: props.config.onError,
|
|
32
|
+
info: props.config.onInfo
|
|
33
|
+
}
|
|
34
|
+
});
|
|
29
35
|
});
|
|
30
36
|
</script>
|
|
31
37
|
|
|
@@ -20,6 +20,22 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
|
|
|
20
20
|
icon: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
21
21
|
color: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
22
22
|
messageExpression: Schema.optional<Schema.Schema<string, string, never>>;
|
|
23
|
-
|
|
23
|
+
resultExpression: Schema.optional<Schema.Schema<string, string, never>>;
|
|
24
|
+
onSuccess: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
25
|
+
target: Schema.refine<string, typeof Schema.String>;
|
|
26
|
+
operation: Schema.SchemaClass<string, string, never>;
|
|
27
|
+
}>>>;
|
|
28
|
+
onWarning: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
29
|
+
target: Schema.refine<string, typeof Schema.String>;
|
|
30
|
+
operation: Schema.SchemaClass<string, string, never>;
|
|
31
|
+
}>>>;
|
|
32
|
+
onError: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
33
|
+
target: Schema.refine<string, typeof Schema.String>;
|
|
34
|
+
operation: Schema.SchemaClass<string, string, never>;
|
|
35
|
+
}>>>;
|
|
36
|
+
onInfo: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
37
|
+
target: Schema.refine<string, typeof Schema.String>;
|
|
38
|
+
operation: Schema.SchemaClass<string, string, never>;
|
|
39
|
+
}>>>;
|
|
24
40
|
}>;
|
|
25
41
|
export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
2
|
import { Expression } from "../../../../../share/expression.js";
|
|
3
|
+
import { Triggers } from "../../../../../share/event-bus.js";
|
|
3
4
|
import { Locale } from "../../../../../share/locale.js";
|
|
4
5
|
import { md } from "../../../../../share/markdown.js";
|
|
5
6
|
export const type = "com.shwfed.actions.button.http.request.json.confirm";
|
|
@@ -47,13 +48,30 @@ export function schema(configure) {
|
|
|
47
48
|
不配置则不显示。
|
|
48
49
|
`
|
|
49
50
|
})),
|
|
50
|
-
|
|
51
|
-
title: "\
|
|
51
|
+
resultExpression: Schema.optional(CelMessage.annotations({
|
|
52
|
+
title: "\u6267\u884C\u7ED3\u679C",
|
|
52
53
|
description: md`
|
|
53
|
-
|
|
54
|
-
支持 \`'success' | '
|
|
55
|
-
|
|
54
|
+
在响应体解析为 JSON 后对其求值,返回 \`string\`。
|
|
55
|
+
支持 \`'success' | 'warning' | 'error' | 'info'\`;其他值按 \`success\` 处理。不配置则按 \`success\` 处理。
|
|
56
|
+
|
|
57
|
+
它同时决定 toast 的样式,以及请求完成后执行下方哪一组操作。
|
|
56
58
|
`
|
|
59
|
+
})),
|
|
60
|
+
onSuccess: Schema.optional(Triggers.annotations({
|
|
61
|
+
title: "\u6210\u529F",
|
|
62
|
+
description: "\u300C\u6267\u884C\u7ED3\u679C\u300D\u4E3A `success` \u65F6\uFF0C\u8BF7\u6C42\u5B8C\u6210\u540E\u6267\u884C\u7684\u64CD\u4F5C"
|
|
63
|
+
})),
|
|
64
|
+
onWarning: Schema.optional(Triggers.annotations({
|
|
65
|
+
title: "\u8B66\u544A",
|
|
66
|
+
description: "\u300C\u6267\u884C\u7ED3\u679C\u300D\u4E3A `warning` \u65F6\uFF0C\u8BF7\u6C42\u5B8C\u6210\u540E\u6267\u884C\u7684\u64CD\u4F5C"
|
|
67
|
+
})),
|
|
68
|
+
onError: Schema.optional(Triggers.annotations({
|
|
69
|
+
title: "\u9519\u8BEF",
|
|
70
|
+
description: "\u300C\u6267\u884C\u7ED3\u679C\u300D\u4E3A `error` \u65F6\uFF0C\u8BF7\u6C42\u5B8C\u6210\u540E\u6267\u884C\u7684\u64CD\u4F5C"
|
|
71
|
+
})),
|
|
72
|
+
onInfo: Schema.optional(Triggers.annotations({
|
|
73
|
+
title: "\u4FE1\u606F",
|
|
74
|
+
description: "\u300C\u6267\u884C\u7ED3\u679C\u300D\u4E3A `info` \u65F6\uFF0C\u8BF7\u6C42\u5B8C\u6210\u540E\u6267\u884C\u7684\u64CD\u4F5C"
|
|
57
75
|
}))
|
|
58
76
|
}).annotations({
|
|
59
77
|
title: "HttpRequestConfirmAction",
|
|
@@ -14,6 +14,7 @@ const PICKER_ENTRIES = (() => {
|
|
|
14
14
|
const byType = /* @__PURE__ */ new Map();
|
|
15
15
|
for (const a of BUTTONS) {
|
|
16
16
|
if (a.type === prototypeType) continue;
|
|
17
|
+
if (a.deprecated) continue;
|
|
17
18
|
const prev = byType.get(a.type);
|
|
18
19
|
if (!prev || a.compatibilityDate > prev.compatibilityDate) {
|
|
19
20
|
byType.set(a.type, {
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
6
6
|
"update:modelValue": (value: {
|
|
7
7
|
readonly type: "com.shwfed.actions.button.navigation";
|
|
8
8
|
readonly mode: "_blank" | "_self";
|
|
9
|
-
readonly compatibilityDate: "2026-04-21";
|
|
10
9
|
readonly url: string;
|
|
10
|
+
readonly compatibilityDate: "2026-04-21";
|
|
11
11
|
}) => any;
|
|
12
12
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
13
13
|
"onUpdate:modelValue"?: ((value: {
|
|
14
14
|
readonly type: "com.shwfed.actions.button.navigation";
|
|
15
15
|
readonly mode: "_blank" | "_self";
|
|
16
|
-
readonly compatibilityDate: "2026-04-21";
|
|
17
16
|
readonly url: string;
|
|
17
|
+
readonly compatibilityDate: "2026-04-21";
|
|
18
18
|
}) => any) | undefined;
|
|
19
19
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -6,15 +6,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
6
6
|
"update:modelValue": (value: {
|
|
7
7
|
readonly type: "com.shwfed.actions.button.navigation";
|
|
8
8
|
readonly mode: "_blank" | "_self";
|
|
9
|
-
readonly compatibilityDate: "2026-04-21";
|
|
10
9
|
readonly url: string;
|
|
10
|
+
readonly compatibilityDate: "2026-04-21";
|
|
11
11
|
}) => any;
|
|
12
12
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
13
13
|
"onUpdate:modelValue"?: ((value: {
|
|
14
14
|
readonly type: "com.shwfed.actions.button.navigation";
|
|
15
15
|
readonly mode: "_blank" | "_self";
|
|
16
|
-
readonly compatibilityDate: "2026-04-21";
|
|
17
16
|
readonly url: string;
|
|
17
|
+
readonly compatibilityDate: "2026-04-21";
|
|
18
18
|
}) => any) | undefined;
|
|
19
19
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { useNuxtApp } from "#app";
|
|
3
2
|
import { Effect } from "effect";
|
|
4
|
-
import {
|
|
3
|
+
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
4
|
+
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
5
5
|
import ShwfedActionDefinition from "../../../components/definition.vue";
|
|
6
6
|
defineOptions({ name: "ShwfedNavigationActionRuntime" });
|
|
7
7
|
const props = defineProps({
|
|
8
8
|
buttonId: { type: String, required: true },
|
|
9
9
|
config: { type: null, required: true }
|
|
10
10
|
});
|
|
11
|
-
const { $cel: _rawCel } = useNuxtApp();
|
|
12
11
|
const inherited = injectCELContext();
|
|
13
12
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
14
13
|
const effect = Effect.suspend(
|
|
@@ -10,11 +10,13 @@ import { ScrollArea } from "../../../../ui/scroll-area";
|
|
|
10
10
|
import { Field, FieldLabel } from "../../../../ui/field";
|
|
11
11
|
import { Input } from "../../../../ui/input";
|
|
12
12
|
import { Locale as LocaleField } from "../../../../ui/locale";
|
|
13
|
-
import {
|
|
13
|
+
import { Markdown } from "../../../../ui/markdown";
|
|
14
14
|
import { BREADCRUMB_EXTENSION_KEY } from "../../../../config/breadcrumb-extension";
|
|
15
15
|
import { SIDEBAR_TAKEOVER_KEY } from "../../../../sidebar-takeover";
|
|
16
16
|
import { lookupFindBlock } from "../../../../config/utils/block-ref-cache";
|
|
17
17
|
import { useSlotEditor } from "../../../../config/use-editor";
|
|
18
|
+
import { getStructFieldDescription, getStructFieldTitle } from "../../../schema";
|
|
19
|
+
import { schema } from "./schema";
|
|
18
20
|
defineOptions({ name: "ShwfedModalLayoutActionConfig" });
|
|
19
21
|
const value = defineModel({ type: null, ...{ required: true } });
|
|
20
22
|
const props = defineProps({
|
|
@@ -22,6 +24,10 @@ const props = defineProps({
|
|
|
22
24
|
});
|
|
23
25
|
const configure = computed(() => props.configure ?? (() => {
|
|
24
26
|
}));
|
|
27
|
+
const actionSchema = schema(() => {
|
|
28
|
+
});
|
|
29
|
+
const fieldTitle = (f) => getStructFieldTitle(actionSchema, f) ?? f;
|
|
30
|
+
const fieldDescription = (f) => getStructFieldDescription(actionSchema, f);
|
|
25
31
|
const slot = computed({
|
|
26
32
|
get: () => value.value.slot ?? defaultSlot(),
|
|
27
33
|
set: (next) => {
|
|
@@ -30,10 +36,7 @@ const slot = computed({
|
|
|
30
36
|
});
|
|
31
37
|
const editor = useSlotEditor(slot, { configure: configure.value });
|
|
32
38
|
function setModalTitle(next) {
|
|
33
|
-
|
|
34
|
-
if (hasVisibleLocaleValue(next)) draft.modalTitle = next;
|
|
35
|
-
else Reflect.deleteProperty(draft, "modalTitle");
|
|
36
|
-
value.value = draft;
|
|
39
|
+
value.value = { ...value.value, modalTitle: next };
|
|
37
40
|
}
|
|
38
41
|
function setOptional(key, next) {
|
|
39
42
|
const trimmed = next.trim();
|
|
@@ -181,11 +184,22 @@ onBeforeUnmount(() => {
|
|
|
181
184
|
>
|
|
182
185
|
<Field orientation="vertical">
|
|
183
186
|
<FieldLabel class="text-xs text-zinc-500">
|
|
184
|
-
|
|
187
|
+
<template
|
|
188
|
+
v-if="fieldDescription('modalTitle')"
|
|
189
|
+
#tooltip
|
|
190
|
+
>
|
|
191
|
+
<Markdown
|
|
192
|
+
:source="fieldDescription('modalTitle')"
|
|
193
|
+
block
|
|
194
|
+
class="prose prose-sm prose-zinc"
|
|
195
|
+
/>
|
|
196
|
+
</template>
|
|
197
|
+
{{ fieldTitle("modalTitle") }}
|
|
185
198
|
</FieldLabel>
|
|
186
199
|
<LocaleField
|
|
187
|
-
|
|
188
|
-
|
|
200
|
+
markdown
|
|
201
|
+
:model-value="value.modalTitle"
|
|
202
|
+
:translate-hint="fieldTitle('modalTitle')"
|
|
189
203
|
@update:model-value="setModalTitle"
|
|
190
204
|
/>
|
|
191
205
|
</Field>
|
|
@@ -193,7 +207,17 @@ onBeforeUnmount(() => {
|
|
|
193
207
|
<div class="grid grid-cols-2 gap-4">
|
|
194
208
|
<Field orientation="vertical">
|
|
195
209
|
<FieldLabel class="text-xs text-zinc-500">
|
|
196
|
-
|
|
210
|
+
<template
|
|
211
|
+
v-if="fieldDescription('modalWidth')"
|
|
212
|
+
#tooltip
|
|
213
|
+
>
|
|
214
|
+
<Markdown
|
|
215
|
+
:source="fieldDescription('modalWidth')"
|
|
216
|
+
block
|
|
217
|
+
class="prose prose-sm prose-zinc"
|
|
218
|
+
/>
|
|
219
|
+
</template>
|
|
220
|
+
{{ fieldTitle("modalWidth") }}
|
|
197
221
|
</FieldLabel>
|
|
198
222
|
<Input
|
|
199
223
|
:model-value="value.modalWidth ?? ''"
|
|
@@ -204,7 +228,17 @@ onBeforeUnmount(() => {
|
|
|
204
228
|
|
|
205
229
|
<Field orientation="vertical">
|
|
206
230
|
<FieldLabel class="text-xs text-zinc-500">
|
|
207
|
-
|
|
231
|
+
<template
|
|
232
|
+
v-if="fieldDescription('modalMinHeight')"
|
|
233
|
+
#tooltip
|
|
234
|
+
>
|
|
235
|
+
<Markdown
|
|
236
|
+
:source="fieldDescription('modalMinHeight')"
|
|
237
|
+
block
|
|
238
|
+
class="prose prose-sm prose-zinc"
|
|
239
|
+
/>
|
|
240
|
+
</template>
|
|
241
|
+
{{ fieldTitle("modalMinHeight") }}
|
|
208
242
|
</FieldLabel>
|
|
209
243
|
<Input
|
|
210
244
|
:model-value="value.modalMinHeight ?? ''"
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { defineComponent } from "vue";
|
|
2
|
+
import { defineComponent, provide, ref } from "vue";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
import { openModal } from "../../../../../composables/useOverlay";
|
|
6
6
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
7
7
|
import { lookupFindBlock } from "../../../../config/utils/block-ref-cache";
|
|
8
|
-
import { injectCELContext, provideCELContext } from "../../../../../
|
|
8
|
+
import { injectCELContext, provideCELContext } from "../../../../../utils/cel-context";
|
|
9
|
+
import {
|
|
10
|
+
EVENT_CHANNEL_KEY,
|
|
11
|
+
createEventChannel,
|
|
12
|
+
useEventChannel
|
|
13
|
+
} from "../../../../../share/event-bus";
|
|
9
14
|
import ShwfedActionDefinition from "../../../components/definition.vue";
|
|
10
15
|
import ShwfedSlotRenderer from "../../../../../share/slot-renderer.vue";
|
|
11
16
|
defineOptions({ name: "ShwfedModalLayoutActionRuntime" });
|
|
@@ -18,21 +23,33 @@ const { locale } = useI18n();
|
|
|
18
23
|
const configure = (_env) => {
|
|
19
24
|
};
|
|
20
25
|
const inheritedCelContext = injectCELContext();
|
|
21
|
-
const
|
|
22
|
-
|
|
26
|
+
const outerEventChannel = useEventChannel();
|
|
27
|
+
const currentClose = ref(null);
|
|
28
|
+
const eventChannelNode = createEventChannel(
|
|
29
|
+
props.buttonId,
|
|
30
|
+
{ close: () => Effect.sync(() => {
|
|
31
|
+
currentClose.value?.();
|
|
32
|
+
}) },
|
|
33
|
+
outerEventChannel
|
|
34
|
+
);
|
|
35
|
+
const ModalBoundaryBridge = defineComponent({
|
|
36
|
+
name: "ModalBoundaryBridge",
|
|
23
37
|
setup(_, { slots }) {
|
|
24
38
|
provideCELContext(inheritedCelContext);
|
|
39
|
+
provide(EVENT_CHANNEL_KEY, eventChannelNode);
|
|
25
40
|
return () => slots.default?.();
|
|
26
41
|
}
|
|
27
42
|
});
|
|
28
43
|
const findBlock = (type, compatibilityDate) => lookupFindBlock()?.(type, compatibilityDate);
|
|
29
44
|
const effect = Effect.gen(function* () {
|
|
30
45
|
const title = getLocalizedText(props.config.modalTitle, locale.value) ?? getLocalizedText(props.buttonTitle, locale.value) ?? "";
|
|
31
|
-
const { modal } = yield* openModal({
|
|
46
|
+
const { modal, close } = yield* openModal({
|
|
32
47
|
title,
|
|
33
48
|
width: props.config.modalWidth
|
|
34
49
|
});
|
|
50
|
+
currentClose.value = () => Effect.runSync(close());
|
|
35
51
|
yield* modal;
|
|
52
|
+
currentClose.value = null;
|
|
36
53
|
});
|
|
37
54
|
</script>
|
|
38
55
|
|
|
@@ -43,13 +60,13 @@ const effect = Effect.gen(function* () {
|
|
|
43
60
|
>
|
|
44
61
|
<template #default>
|
|
45
62
|
<div :style="config.modalMinHeight ? `min-height: ${config.modalMinHeight}` : void 0">
|
|
46
|
-
<
|
|
63
|
+
<ModalBoundaryBridge>
|
|
47
64
|
<ShwfedSlotRenderer
|
|
48
65
|
:slot-value="config.slot"
|
|
49
66
|
:configure="configure"
|
|
50
67
|
:find-entry="findBlock"
|
|
51
68
|
/>
|
|
52
|
-
</
|
|
69
|
+
</ModalBoundaryBridge>
|
|
53
70
|
</div>
|
|
54
71
|
</template>
|
|
55
72
|
</ShwfedActionDefinition>
|
|
@@ -3,9 +3,14 @@ import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
|
|
|
3
3
|
export declare const type: "com.shwfed.actions.button.modal.layout";
|
|
4
4
|
export declare const compatibilityDate: "2026-05-11";
|
|
5
5
|
export declare const metadata: {
|
|
6
|
-
readonly name: "
|
|
6
|
+
readonly name: "模态窗口";
|
|
7
7
|
readonly icon: "fluent:window-edit-20-regular";
|
|
8
8
|
readonly drillable: true;
|
|
9
|
+
readonly operations: readonly [{
|
|
10
|
+
readonly id: "close";
|
|
11
|
+
readonly name: "关闭弹窗";
|
|
12
|
+
readonly icon: "fluent:dismiss-20-regular";
|
|
13
|
+
}];
|
|
9
14
|
};
|
|
10
15
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
11
16
|
type: Schema.Literal<["com.shwfed.actions.button.modal.layout"]>;
|
|
@@ -5,9 +5,12 @@ import { lookupBlockRef } from "../../../../config/utils/block-ref-cache.js";
|
|
|
5
5
|
export const type = "com.shwfed.actions.button.modal.layout";
|
|
6
6
|
export const compatibilityDate = "2026-05-11";
|
|
7
7
|
export const metadata = {
|
|
8
|
-
name: "\
|
|
8
|
+
name: "\u6A21\u6001\u7A97\u53E3",
|
|
9
9
|
icon: "fluent:window-edit-20-regular",
|
|
10
|
-
drillable: true
|
|
10
|
+
drillable: true,
|
|
11
|
+
operations: [
|
|
12
|
+
{ id: "close", name: "\u5173\u95ED\u5F39\u7A97", icon: "fluent:dismiss-20-regular" }
|
|
13
|
+
]
|
|
11
14
|
};
|
|
12
15
|
const CssLength = Schema.String.pipe(
|
|
13
16
|
Schema.filter((s) => s.trim().length > 0 || "\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32")
|
|
@@ -20,7 +23,7 @@ export function schema(configure) {
|
|
|
20
23
|
compatibilityDate: Schema.Literal(compatibilityDate),
|
|
21
24
|
modalTitle: Schema.optional(Locale.annotations({
|
|
22
25
|
title: "\u5F39\u7A97\u6807\u9898",
|
|
23
|
-
description: "\u5F39\u7A97\u9876\u90E8\u5C55\u793A\u7684\u672C\u5730\u5316\u6807\u9898\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u4F7F\u7528\u6309\u94AE\u81EA\u8EAB\u7684\u540D\u79F0"
|
|
26
|
+
description: "\u5F39\u7A97\u9876\u90E8\u5C55\u793A\u7684\u672C\u5730\u5316\u6807\u9898\uFF0C\u652F\u6301\u884C\u5185 Markdown\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u4F7F\u7528\u6309\u94AE\u81EA\u8EAB\u7684\u540D\u79F0"
|
|
24
27
|
})),
|
|
25
28
|
modalWidth: Schema.optional(CssLength.annotations({
|
|
26
29
|
title: "\u5F39\u7A97\u5BBD\u5EA6",
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Value } from './schema.js';
|
|
2
2
|
type __VLS_ModelProps = {
|
|
3
3
|
modelValue: Value;
|
|
4
4
|
};
|
|
5
5
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
"update:modelValue": (value: {
|
|
7
|
-
readonly type: "com.shwfed.actions.button.
|
|
8
|
-
readonly compatibilityDate: "2026-
|
|
7
|
+
readonly type: "com.shwfed.actions.button.event.dispatch";
|
|
8
|
+
readonly compatibilityDate: "2026-05-15";
|
|
9
|
+
readonly triggers?: readonly {
|
|
10
|
+
readonly target: string;
|
|
11
|
+
readonly operation: string;
|
|
12
|
+
}[] | undefined;
|
|
9
13
|
}) => any;
|
|
10
14
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
11
15
|
"onUpdate:modelValue"?: ((value: {
|
|
12
|
-
readonly type: "com.shwfed.actions.button.
|
|
13
|
-
readonly compatibilityDate: "2026-
|
|
16
|
+
readonly type: "com.shwfed.actions.button.event.dispatch";
|
|
17
|
+
readonly compatibilityDate: "2026-05-15";
|
|
18
|
+
readonly triggers?: readonly {
|
|
19
|
+
readonly target: string;
|
|
20
|
+
readonly operation: string;
|
|
21
|
+
}[] | undefined;
|
|
14
22
|
}) => any) | undefined;
|
|
15
23
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
24
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import { schema } from "./schema";
|
|
4
|
+
import { getStructFieldTitle } from "../../../schema";
|
|
5
|
+
import { Field, FieldLabel } from "../../../../ui/field";
|
|
6
|
+
import TriggersField from "../../../components/triggers-field.vue";
|
|
7
|
+
defineOptions({ name: "ShwfedEventDispatchActionConfig" });
|
|
8
|
+
const value = defineModel({ type: null, ...{ required: true } });
|
|
9
|
+
const triggersTitle = getStructFieldTitle(schema(() => {
|
|
10
|
+
}), "triggers") ?? "\u89E6\u53D1\u7684\u64CD\u4F5C";
|
|
11
|
+
const triggers = computed(() => value.value.triggers ?? []);
|
|
12
|
+
function updateTriggers(next) {
|
|
13
|
+
const draft = { ...value.value };
|
|
14
|
+
if (next.length === 0) Reflect.deleteProperty(draft, "triggers");
|
|
15
|
+
else draft.triggers = next;
|
|
16
|
+
value.value = draft;
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<div class="flex flex-col gap-3">
|
|
22
|
+
<Field orientation="vertical">
|
|
23
|
+
<FieldLabel class="text-xs text-zinc-500">
|
|
24
|
+
{{ triggersTitle }}
|
|
25
|
+
</FieldLabel>
|
|
26
|
+
<TriggersField
|
|
27
|
+
:triggers="triggers"
|
|
28
|
+
@update:triggers="updateTriggers"
|
|
29
|
+
/>
|
|
30
|
+
</Field>
|
|
31
|
+
</div>
|
|
32
|
+
</template>
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Value } from './schema.js';
|
|
2
2
|
type __VLS_ModelProps = {
|
|
3
3
|
modelValue: Value;
|
|
4
4
|
};
|
|
5
5
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
6
|
"update:modelValue": (value: {
|
|
7
|
-
readonly type: "com.shwfed.actions.button.
|
|
8
|
-
readonly compatibilityDate: "2026-
|
|
7
|
+
readonly type: "com.shwfed.actions.button.event.dispatch";
|
|
8
|
+
readonly compatibilityDate: "2026-05-15";
|
|
9
|
+
readonly triggers?: readonly {
|
|
10
|
+
readonly target: string;
|
|
11
|
+
readonly operation: string;
|
|
12
|
+
}[] | undefined;
|
|
9
13
|
}) => any;
|
|
10
14
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
11
15
|
"onUpdate:modelValue"?: ((value: {
|
|
12
|
-
readonly type: "com.shwfed.actions.button.
|
|
13
|
-
readonly compatibilityDate: "2026-
|
|
16
|
+
readonly type: "com.shwfed.actions.button.event.dispatch";
|
|
17
|
+
readonly compatibilityDate: "2026-05-15";
|
|
18
|
+
readonly triggers?: readonly {
|
|
19
|
+
readonly target: string;
|
|
20
|
+
readonly operation: string;
|
|
21
|
+
}[] | undefined;
|
|
14
22
|
}) => any) | undefined;
|
|
15
23
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
24
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
import ShwfedActionDefinition from "../../../components/definition.vue";
|
|
4
|
-
import {
|
|
5
|
-
defineOptions({ name: "
|
|
6
|
-
defineProps({
|
|
4
|
+
import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
|
|
5
|
+
defineOptions({ name: "ShwfedEventDispatchActionRuntime" });
|
|
6
|
+
const props = defineProps({
|
|
7
7
|
buttonId: { type: String, required: true },
|
|
8
8
|
config: { type: null, required: true }
|
|
9
9
|
});
|
|
10
|
-
const
|
|
11
|
-
const effect = Effect.suspend(
|
|
12
|
-
() => host ? Effect.promise(() => host.search()) : Effect.void
|
|
13
|
-
);
|
|
10
|
+
const channel = useEventChannel();
|
|
11
|
+
const effect = Effect.suspend(() => dispatchTriggers(channel, props.config.triggers));
|
|
14
12
|
</script>
|
|
15
13
|
|
|
16
14
|
<template>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
|
|
3
|
+
export declare const type: "com.shwfed.actions.button.event.dispatch";
|
|
4
|
+
export declare const compatibilityDate: "2026-05-15";
|
|
5
|
+
export declare const metadata: {
|
|
6
|
+
readonly name: "触发事件";
|
|
7
|
+
readonly icon: "fluent:flash-20-regular";
|
|
8
|
+
};
|
|
9
|
+
export declare function schema(_configure: (env: Environment) => void): Schema.Struct<{
|
|
10
|
+
type: Schema.Literal<["com.shwfed.actions.button.event.dispatch"]>;
|
|
11
|
+
compatibilityDate: Schema.Literal<["2026-05-15"]>;
|
|
12
|
+
triggers: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
13
|
+
target: Schema.refine<string, typeof Schema.String>;
|
|
14
|
+
operation: Schema.SchemaClass<string, string, never>;
|
|
15
|
+
}>>>;
|
|
16
|
+
}>;
|
|
17
|
+
export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { Triggers } from "../../../../../share/event-bus.js";
|
|
3
|
+
export const type = "com.shwfed.actions.button.event.dispatch";
|
|
4
|
+
export const compatibilityDate = "2026-05-15";
|
|
5
|
+
export const metadata = {
|
|
6
|
+
name: "\u89E6\u53D1\u4E8B\u4EF6",
|
|
7
|
+
icon: "fluent:flash-20-regular"
|
|
8
|
+
};
|
|
9
|
+
export function schema(_configure) {
|
|
10
|
+
return Schema.Struct({
|
|
11
|
+
type: Schema.Literal(type),
|
|
12
|
+
compatibilityDate: Schema.Literal(compatibilityDate),
|
|
13
|
+
// This button's entire behaviour: the op-requests it bubbles up the
|
|
14
|
+
// component tree on click. Stored on the button itself — there is no
|
|
15
|
+
// host-level trigger field any more.
|
|
16
|
+
triggers: Schema.optional(Triggers)
|
|
17
|
+
});
|
|
18
|
+
}
|