@shwfed/config 2.12.4 → 2.12.6
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.json +1 -1
- package/dist/module.mjs +5 -0
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/runtime.vue +9 -2
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +8 -2
- package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.js +3 -3
- package/dist/runtime/components/actions/components/group.vue +3 -1
- package/dist/runtime/components/actions/schema.d.ts +16 -4
- package/dist/runtime/components/actions/schema.js +5 -5
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +68 -68
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +68 -68
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +68 -68
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +68 -68
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +34 -34
- package/dist/runtime/components/config/footer.d.vue.ts +4 -0
- package/dist/runtime/components/config/footer.vue +25 -12
- package/dist/runtime/components/config/footer.vue.d.ts +4 -0
- package/dist/runtime/components/config/history-picker.d.vue.ts +15 -0
- package/dist/runtime/components/config/history-picker.vue +155 -0
- package/dist/runtime/components/config/history-picker.vue.d.ts +15 -0
- package/dist/runtime/components/config/index.d.vue.ts +4 -0
- package/dist/runtime/components/config/index.vue +31 -4
- package/dist/runtime/components/config/index.vue.d.ts +4 -0
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +8 -8
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +8 -8
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +4 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +4 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +9 -3
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.js +2 -1
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +6 -6
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.js +2 -2
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +18 -18
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.vue +5 -3
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.js +1 -1
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue +4 -3
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +8 -2
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.js +1 -1
- package/dist/runtime/components/sidebar/index.d.vue.ts +22 -3
- package/dist/runtime/components/sidebar/index.vue +66 -5
- package/dist/runtime/components/sidebar/index.vue.d.ts +22 -3
- package/dist/runtime/components/sidebar/node.d.vue.ts +1 -1
- package/dist/runtime/components/sidebar/node.vue +33 -13
- package/dist/runtime/components/sidebar/node.vue.d.ts +1 -1
- package/dist/runtime/components/sidebar/tree.vue +113 -83
- package/dist/runtime/components/sidebar/types.d.ts +8 -0
- package/dist/runtime/components/sidebar/types.js +1 -0
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +224 -133
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +224 -133
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/customization.d.vue.ts +15 -0
- package/dist/runtime/components/table/customization.vue +633 -0
- package/dist/runtime/components/table/customization.vue.d.ts +15 -0
- package/dist/runtime/components/table/index.vue +69 -6
- package/dist/runtime/components/table/schema.d.ts +68 -68
- package/dist/runtime/components/table/utils/customization.d.ts +158 -0
- package/dist/runtime/components/table/utils/customization.js +315 -0
- package/dist/runtime/components/table/utils/row-reorder.d.ts +3 -2
- package/dist/runtime/components/table/utils/row-reorder.js +1 -12
- package/dist/runtime/components/tabs/index.d.vue.ts +9 -0
- package/dist/runtime/components/tabs/index.vue +92 -0
- package/dist/runtime/components/tabs/index.vue.d.ts +9 -0
- package/dist/runtime/components/tabs/tab.d.vue.ts +22 -0
- package/dist/runtime/components/tabs/tab.vue +85 -0
- package/dist/runtime/components/tabs/tab.vue.d.ts +22 -0
- package/dist/runtime/components/tabs/types.d.ts +19 -0
- package/dist/runtime/components/tabs/types.js +0 -0
- package/dist/runtime/components/tabs/use-reorder.d.ts +10 -0
- package/dist/runtime/components/tabs/use-reorder.js +90 -0
- package/dist/runtime/components/tabs/use-tabs.d.ts +46 -0
- package/dist/runtime/components/tabs/use-tabs.js +101 -0
- package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
- package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue +1 -1
- package/dist/runtime/components/ui/sidebar/index.js +2 -2
- package/dist/runtime/share/reorder.d.ts +2 -0
- package/dist/runtime/share/reorder.js +12 -0
- package/dist/runtime/utils/nav-registry.d.ts +19 -0
- package/dist/runtime/utils/nav-registry.js +14 -0
- package/dist/runtime/utils/page-title-registry.d.ts +3 -0
- package/dist/runtime/utils/page-title-registry.js +11 -0
- package/dist/runtime/vendor/cel-js/CLAUDE.md +6 -5
- package/dist/runtime/vendor/cel-js/PROMPT.md +97 -19
- package/dist/runtime/vendor/cel-js/lib/decimal.d.ts +4 -0
- package/dist/runtime/vendor/cel-js/lib/decimal.js +35 -0
- package/dist/runtime/vendor/cel-js/lib/evaluator.js +2 -0
- package/dist/runtime/vendor/cel-js/lib/functions.js +107 -134
- package/dist/runtime/vendor/cel-js/lib/macros.js +125 -16
- package/dist/runtime/vendor/cel-js/lib/math-builtins.d.ts +2 -0
- package/dist/runtime/vendor/cel-js/lib/math-builtins.js +39 -0
- package/dist/runtime/vendor/cel-js/lib/optional.d.ts +4 -0
- package/dist/runtime/vendor/cel-js/lib/optional.js +73 -21
- package/dist/runtime/vendor/cel-js/lib/parser.js +2 -6
- package/dist/runtime/vendor/cel-js/lib/registry.js +2 -2
- package/package.json +1 -1
|
@@ -28,6 +28,11 @@ import ShwfedActions from "../actions/components/group.vue";
|
|
|
28
28
|
import ShwfedForm from "../form/index.vue";
|
|
29
29
|
import { evaluateInitial } from "../form/utils/initial";
|
|
30
30
|
import { provideTableInstanceId } from "./utils/instance";
|
|
31
|
+
import {
|
|
32
|
+
mergeCustomization,
|
|
33
|
+
useTableCustomization
|
|
34
|
+
} from "./utils/customization";
|
|
35
|
+
import TableCustomization from "./customization.vue";
|
|
31
36
|
import { provideSharedFetchLayer } from "./utils/shared-fetch";
|
|
32
37
|
import { provideEventTarget } from "../../share/event-bus";
|
|
33
38
|
import { usePersistedQuery } from "../../share/use-persisted-query";
|
|
@@ -50,6 +55,8 @@ const persistedQuery = usePersistedQuery(
|
|
|
50
55
|
queryState,
|
|
51
56
|
() => config.value?.persistQuery === true
|
|
52
57
|
);
|
|
58
|
+
const customization = useTableCustomization(config.value?.id);
|
|
59
|
+
customization.load();
|
|
53
60
|
const { t, locale } = useI18n({
|
|
54
61
|
inheritLocale: true,
|
|
55
62
|
messages: {
|
|
@@ -118,9 +125,20 @@ function freezeGrowColumns() {
|
|
|
118
125
|
frozenGrowColumns.value = next;
|
|
119
126
|
}
|
|
120
127
|
function onResizeMouseDown(header, event) {
|
|
128
|
+
resizeGestureSeen = true;
|
|
121
129
|
freezeGrowColumns();
|
|
122
130
|
header.getResizeHandler()(event);
|
|
123
131
|
}
|
|
132
|
+
let resizeGestureSeen = false;
|
|
133
|
+
function restoreFrozenGrowColumns() {
|
|
134
|
+
const userSizing = customization.snapshot()?.columnSizing;
|
|
135
|
+
if (!userSizing) return;
|
|
136
|
+
const grows = (config.value?.columns ?? []).filter((c) => c.grow === true && userSizing[c.id] !== void 0);
|
|
137
|
+
if (grows.length === 0) return;
|
|
138
|
+
const next = new Set(frozenGrowColumns.value);
|
|
139
|
+
grows.forEach((c) => next.add(c.id));
|
|
140
|
+
frozenGrowColumns.value = next;
|
|
141
|
+
}
|
|
124
142
|
function growLeafCount(header) {
|
|
125
143
|
return header.getLeafHeaders().filter((h2) => isEffectiveGrow(h2.column)).length;
|
|
126
144
|
}
|
|
@@ -301,6 +319,10 @@ const tableApi = useVueTable({
|
|
|
301
319
|
getSortedRowModel: getSortedRowModel(),
|
|
302
320
|
columnResizeMode: "onChange"
|
|
303
321
|
});
|
|
322
|
+
watch(() => tableApi.getState().columnSizing, (sizing) => {
|
|
323
|
+
if (!resizeGestureSeen) return;
|
|
324
|
+
customization.persistPatch({ columnSizing: { ...sizing } });
|
|
325
|
+
});
|
|
304
326
|
provideCELContext({
|
|
305
327
|
selected: {
|
|
306
328
|
type: "list<dyn>",
|
|
@@ -519,7 +541,7 @@ const sortedRowIndexMap = computed(() => {
|
|
|
519
541
|
function getDisplayIndex(row) {
|
|
520
542
|
return sortedRowIndexMap.value.get(row.id) ?? row.index;
|
|
521
543
|
}
|
|
522
|
-
watch(config, (config2) => {
|
|
544
|
+
watch([config, customization.revision], ([config2]) => {
|
|
523
545
|
if (!config2) return;
|
|
524
546
|
const initialState = config2.initialState;
|
|
525
547
|
const hiddenSeed = {};
|
|
@@ -528,17 +550,47 @@ watch(config, (config2) => {
|
|
|
528
550
|
}
|
|
529
551
|
const hasSeed = Object.keys(hiddenSeed).length > 0;
|
|
530
552
|
const effective = initialState || hasSeed ? { ...initialState ?? {}, columnVisibility: { ...hiddenSeed, ...initialState?.columnVisibility ?? {} } } : void 0;
|
|
531
|
-
const
|
|
532
|
-
|
|
553
|
+
const { state: merged, pageSize: pageSizeOverride } = mergeCustomization(
|
|
554
|
+
effective,
|
|
555
|
+
customization.snapshot(),
|
|
556
|
+
buildCustomizationContext(config2),
|
|
557
|
+
{ explicit: customization.wasCustomized() }
|
|
558
|
+
);
|
|
559
|
+
const nextKey = merged ? JSON.stringify({ merged, pageSize: pageSizeOverride ?? null }) : "";
|
|
560
|
+
if (appliedInitialStateKey.value === nextKey || !merged) {
|
|
533
561
|
appliedInitialStateKey.value = nextKey;
|
|
534
562
|
syncPaginationPageSize();
|
|
535
563
|
return;
|
|
536
564
|
}
|
|
537
|
-
tableApi.initialState = mergeInitialState(tableApi.initialState,
|
|
565
|
+
tableApi.initialState = mergeInitialState(tableApi.initialState, merged, pageSizeOverride);
|
|
538
566
|
tableApi.reset();
|
|
567
|
+
restoreFrozenGrowColumns();
|
|
539
568
|
appliedInitialStateKey.value = nextKey;
|
|
540
569
|
syncPaginationPageSize();
|
|
541
570
|
}, { immediate: true });
|
|
571
|
+
function buildCustomizationContext(config2) {
|
|
572
|
+
return {
|
|
573
|
+
columnIds: new Set(config2.columns.map((c) => c.id)),
|
|
574
|
+
pageSizes: config2.pagination?.pageSizes ?? [],
|
|
575
|
+
paginationEnabled: config2.pagination !== void 0
|
|
576
|
+
};
|
|
577
|
+
}
|
|
578
|
+
function onCustomizationConfirm(payload) {
|
|
579
|
+
customization.persistPatch(payload);
|
|
580
|
+
if (payload.columnVisibility) tableApi.setColumnVisibility({ ...payload.columnVisibility });
|
|
581
|
+
if (payload.columnOrder) tableApi.setColumnOrder([...payload.columnOrder]);
|
|
582
|
+
if (payload.columnPinning) {
|
|
583
|
+
tableApi.setColumnPinning({
|
|
584
|
+
left: [...payload.columnPinning.left],
|
|
585
|
+
right: [...payload.columnPinning.right]
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
function resetCustomization() {
|
|
590
|
+
customization.clear();
|
|
591
|
+
resizeGestureSeen = false;
|
|
592
|
+
frozenGrowColumns.value = /* @__PURE__ */ new Set();
|
|
593
|
+
}
|
|
542
594
|
defineExpose(tableApi);
|
|
543
595
|
const rows = computed(() => isPaginationEnabled.value ? tableApi.getRowModel().rows : tableApi.getPrePaginationRowModel().rows);
|
|
544
596
|
const maxPage = computed(() => isPaginationEnabled.value ? Math.max(tableApi.getPageCount(), 1) : 1);
|
|
@@ -635,6 +687,7 @@ const currentPageSize = computed({
|
|
|
635
687
|
const nextPageSize = Number(value);
|
|
636
688
|
if (!Number.isInteger(nextPageSize) || nextPageSize <= 0) return;
|
|
637
689
|
tableApi.setPageSize(nextPageSize);
|
|
690
|
+
customization.persistPatch({ pageSize: nextPageSize });
|
|
638
691
|
}
|
|
639
692
|
});
|
|
640
693
|
function syncPaginationPageSize() {
|
|
@@ -659,7 +712,7 @@ function normalizeExpandedState(expanded, current) {
|
|
|
659
712
|
if (expanded === false) return {};
|
|
660
713
|
return expanded;
|
|
661
714
|
}
|
|
662
|
-
function mergeInitialState(current, initialState) {
|
|
715
|
+
function mergeInitialState(current, initialState, pageSizeOverride) {
|
|
663
716
|
return {
|
|
664
717
|
...current,
|
|
665
718
|
columnVisibility: initialState.columnVisibility ?? current.columnVisibility,
|
|
@@ -680,7 +733,7 @@ function mergeInitialState(current, initialState) {
|
|
|
680
733
|
columnSizing: initialState.columnSizing ?? current.columnSizing,
|
|
681
734
|
pagination: isPaginationEnabled.value ? {
|
|
682
735
|
pageIndex: paginationConfig.value?.pageIndex ?? current.pagination.pageIndex,
|
|
683
|
-
pageSize: paginationConfig.value?.pageSize ?? current.pagination.pageSize
|
|
736
|
+
pageSize: pageSizeOverride ?? paginationConfig.value?.pageSize ?? current.pagination.pageSize
|
|
684
737
|
} : current.pagination,
|
|
685
738
|
rowSelection: initialState.rowSelection ?? current.rowSelection
|
|
686
739
|
};
|
|
@@ -724,6 +777,16 @@ export { TableConfig, createTableConfig, getColumnTechnicalKey } from "./schema"
|
|
|
724
777
|
class="absolute inset-0 bg-white/20 z-30 pointer-events-auto"
|
|
725
778
|
aria-hidden="true"
|
|
726
779
|
/>
|
|
780
|
+
<!-- User-land customization trigger: floats over the sticky thead's
|
|
781
|
+
far-right corner, outside the scroll container so it neither moves
|
|
782
|
+
on horizontal scroll nor collides with right-pinned columns. -->
|
|
783
|
+
<TableCustomization
|
|
784
|
+
v-if="config?.id"
|
|
785
|
+
:config="config"
|
|
786
|
+
:table-api="tableApi"
|
|
787
|
+
@confirm="onCustomizationConfirm"
|
|
788
|
+
@reset="resetCustomization"
|
|
789
|
+
/>
|
|
727
790
|
<ClientOnly>
|
|
728
791
|
<!-- Scrollable table container -->
|
|
729
792
|
<div
|
|
@@ -157,40 +157,6 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
|
|
|
157
157
|
readonly message: string;
|
|
158
158
|
}[]] | undefined;
|
|
159
159
|
}[];
|
|
160
|
-
readonly query?: {
|
|
161
|
-
readonly style?: string | undefined;
|
|
162
|
-
readonly id?: string | undefined;
|
|
163
|
-
readonly initial?: {
|
|
164
|
-
readonly data: string;
|
|
165
|
-
readonly request?: string | undefined;
|
|
166
|
-
} | undefined;
|
|
167
|
-
readonly displayName?: string | undefined;
|
|
168
|
-
readonly kind: "shwfed.component.form";
|
|
169
|
-
readonly fields: readonly any[];
|
|
170
|
-
readonly layouts: readonly {
|
|
171
|
-
readonly name: string;
|
|
172
|
-
readonly layout: {
|
|
173
|
-
readonly style?: string | undefined;
|
|
174
|
-
readonly columns: number;
|
|
175
|
-
readonly gap?: number | undefined;
|
|
176
|
-
readonly rows?: number | undefined;
|
|
177
|
-
readonly placements: {
|
|
178
|
-
readonly [x: string]: {
|
|
179
|
-
readonly area: readonly [readonly [number, number], readonly [number, number]];
|
|
180
|
-
readonly v?: "stretch" | "center" | "end" | "start" | undefined;
|
|
181
|
-
readonly h?: "stretch" | "center" | "end" | "start" | undefined;
|
|
182
|
-
};
|
|
183
|
-
};
|
|
184
|
-
};
|
|
185
|
-
readonly media?: string | undefined;
|
|
186
|
-
}[];
|
|
187
|
-
readonly readonly?: string | undefined;
|
|
188
|
-
} | undefined;
|
|
189
|
-
readonly dataSource?: {
|
|
190
|
-
readonly data: string;
|
|
191
|
-
readonly total?: string | undefined;
|
|
192
|
-
readonly request?: string | undefined;
|
|
193
|
-
} | undefined;
|
|
194
160
|
readonly actions?: {
|
|
195
161
|
readonly size: "default" | "sm" | "xs";
|
|
196
162
|
readonly style?: string | undefined;
|
|
@@ -258,6 +224,40 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
|
|
|
258
224
|
readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
|
|
259
225
|
}[];
|
|
260
226
|
} | undefined;
|
|
227
|
+
readonly query?: {
|
|
228
|
+
readonly style?: string | undefined;
|
|
229
|
+
readonly id?: string | undefined;
|
|
230
|
+
readonly initial?: {
|
|
231
|
+
readonly data: string;
|
|
232
|
+
readonly request?: string | undefined;
|
|
233
|
+
} | undefined;
|
|
234
|
+
readonly displayName?: string | undefined;
|
|
235
|
+
readonly kind: "shwfed.component.form";
|
|
236
|
+
readonly fields: readonly any[];
|
|
237
|
+
readonly layouts: readonly {
|
|
238
|
+
readonly name: string;
|
|
239
|
+
readonly layout: {
|
|
240
|
+
readonly style?: string | undefined;
|
|
241
|
+
readonly columns: number;
|
|
242
|
+
readonly gap?: number | undefined;
|
|
243
|
+
readonly rows?: number | undefined;
|
|
244
|
+
readonly placements: {
|
|
245
|
+
readonly [x: string]: {
|
|
246
|
+
readonly area: readonly [readonly [number, number], readonly [number, number]];
|
|
247
|
+
readonly v?: "stretch" | "center" | "end" | "start" | undefined;
|
|
248
|
+
readonly h?: "stretch" | "center" | "end" | "start" | undefined;
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
readonly media?: string | undefined;
|
|
253
|
+
}[];
|
|
254
|
+
readonly readonly?: string | undefined;
|
|
255
|
+
} | undefined;
|
|
256
|
+
readonly dataSource?: {
|
|
257
|
+
readonly data: string;
|
|
258
|
+
readonly total?: string | undefined;
|
|
259
|
+
readonly request?: string | undefined;
|
|
260
|
+
} | undefined;
|
|
261
261
|
readonly bottomActions?: {
|
|
262
262
|
readonly size: "default" | "sm" | "xs";
|
|
263
263
|
readonly style?: string | undefined;
|
|
@@ -826,40 +826,6 @@ export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnTy
|
|
|
826
826
|
readonly message: string;
|
|
827
827
|
}[]] | undefined;
|
|
828
828
|
}[];
|
|
829
|
-
query?: {
|
|
830
|
-
readonly style?: string | undefined;
|
|
831
|
-
readonly id?: string | undefined;
|
|
832
|
-
readonly initial?: {
|
|
833
|
-
readonly data: string;
|
|
834
|
-
readonly request?: string | undefined;
|
|
835
|
-
} | undefined;
|
|
836
|
-
readonly displayName?: string | undefined;
|
|
837
|
-
readonly kind: "shwfed.component.form";
|
|
838
|
-
readonly fields: readonly any[];
|
|
839
|
-
readonly layouts: readonly {
|
|
840
|
-
readonly name: string;
|
|
841
|
-
readonly layout: {
|
|
842
|
-
readonly style?: string | undefined;
|
|
843
|
-
readonly columns: number;
|
|
844
|
-
readonly gap?: number | undefined;
|
|
845
|
-
readonly rows?: number | undefined;
|
|
846
|
-
readonly placements: {
|
|
847
|
-
readonly [x: string]: {
|
|
848
|
-
readonly area: readonly [readonly [number, number], readonly [number, number]];
|
|
849
|
-
readonly v?: "stretch" | "center" | "end" | "start" | undefined;
|
|
850
|
-
readonly h?: "stretch" | "center" | "end" | "start" | undefined;
|
|
851
|
-
};
|
|
852
|
-
};
|
|
853
|
-
};
|
|
854
|
-
readonly media?: string | undefined;
|
|
855
|
-
}[];
|
|
856
|
-
readonly readonly?: string | undefined;
|
|
857
|
-
} | undefined;
|
|
858
|
-
dataSource?: {
|
|
859
|
-
readonly data: string;
|
|
860
|
-
readonly total?: string | undefined;
|
|
861
|
-
readonly request?: string | undefined;
|
|
862
|
-
} | undefined;
|
|
863
829
|
actions?: {
|
|
864
830
|
readonly size: "default" | "sm" | "xs";
|
|
865
831
|
readonly style?: string | undefined;
|
|
@@ -927,6 +893,40 @@ export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnTy
|
|
|
927
893
|
readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
|
|
928
894
|
}[];
|
|
929
895
|
} | undefined;
|
|
896
|
+
query?: {
|
|
897
|
+
readonly style?: string | undefined;
|
|
898
|
+
readonly id?: string | undefined;
|
|
899
|
+
readonly initial?: {
|
|
900
|
+
readonly data: string;
|
|
901
|
+
readonly request?: string | undefined;
|
|
902
|
+
} | undefined;
|
|
903
|
+
readonly displayName?: string | undefined;
|
|
904
|
+
readonly kind: "shwfed.component.form";
|
|
905
|
+
readonly fields: readonly any[];
|
|
906
|
+
readonly layouts: readonly {
|
|
907
|
+
readonly name: string;
|
|
908
|
+
readonly layout: {
|
|
909
|
+
readonly style?: string | undefined;
|
|
910
|
+
readonly columns: number;
|
|
911
|
+
readonly gap?: number | undefined;
|
|
912
|
+
readonly rows?: number | undefined;
|
|
913
|
+
readonly placements: {
|
|
914
|
+
readonly [x: string]: {
|
|
915
|
+
readonly area: readonly [readonly [number, number], readonly [number, number]];
|
|
916
|
+
readonly v?: "stretch" | "center" | "end" | "start" | undefined;
|
|
917
|
+
readonly h?: "stretch" | "center" | "end" | "start" | undefined;
|
|
918
|
+
};
|
|
919
|
+
};
|
|
920
|
+
};
|
|
921
|
+
readonly media?: string | undefined;
|
|
922
|
+
}[];
|
|
923
|
+
readonly readonly?: string | undefined;
|
|
924
|
+
} | undefined;
|
|
925
|
+
dataSource?: {
|
|
926
|
+
readonly data: string;
|
|
927
|
+
readonly total?: string | undefined;
|
|
928
|
+
readonly request?: string | undefined;
|
|
929
|
+
} | undefined;
|
|
930
930
|
bottomActions?: {
|
|
931
931
|
readonly size: "default" | "sm" | "xs";
|
|
932
932
|
readonly style?: string | undefined;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type { InitialStateValue } from '../schema.js';
|
|
2
|
+
export interface TableCustomizationSnapshot {
|
|
3
|
+
v: 1;
|
|
4
|
+
columnVisibility?: Record<string, boolean>;
|
|
5
|
+
columnOrder?: string[];
|
|
6
|
+
columnPinning?: {
|
|
7
|
+
left: string[];
|
|
8
|
+
right: string[];
|
|
9
|
+
};
|
|
10
|
+
columnSizing?: Record<string, number>;
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
}
|
|
13
|
+
export type TableCustomizationPatch = Partial<Omit<TableCustomizationSnapshot, 'v'>>;
|
|
14
|
+
export interface CustomizationContext {
|
|
15
|
+
columnIds: ReadonlySet<string>;
|
|
16
|
+
pageSizes: ReadonlyArray<number>;
|
|
17
|
+
paginationEnabled: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parse a raw localStorage value into a snapshot. Anything off — null, bad
|
|
21
|
+
* JSON, wrong version, non-object — yields `undefined` (treated as "no
|
|
22
|
+
* customization"). Slices are validated individually so one corrupted field
|
|
23
|
+
* drops alone instead of discarding the whole snapshot.
|
|
24
|
+
*/
|
|
25
|
+
export declare function parseSnapshot(raw: string | null): TableCustomizationSnapshot | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Reconcile a snapshot against the live column set: entries referencing
|
|
28
|
+
* columns the designer has since deleted are dropped, and a persisted
|
|
29
|
+
* `pageSize` survives only while it is still one of the configured
|
|
30
|
+
* `pageSizes`.
|
|
31
|
+
*
|
|
32
|
+
* Emptied-by-prune rule for the wholesale slices (`columnOrder`,
|
|
33
|
+
* `columnPinning`): a slice that was non-empty but lost every entry to
|
|
34
|
+
* pruning is removed entirely — the user's whole choice referenced dead
|
|
35
|
+
* columns, so the designer's slice should apply again. A slice the user
|
|
36
|
+
* deliberately saved empty (e.g. unpinned everything) stays authoritative.
|
|
37
|
+
*/
|
|
38
|
+
export declare function pruneSnapshot(snapshot: TableCustomizationSnapshot, ctx: CustomizationContext): TableCustomizationSnapshot;
|
|
39
|
+
export interface MergedCustomization {
|
|
40
|
+
state?: InitialStateValue;
|
|
41
|
+
pageSize?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Fold a user snapshot over the designer's effective initial state.
|
|
45
|
+
*
|
|
46
|
+
* - Per-key slices (`columnVisibility`, `columnSizing`) merge entry-wise, user
|
|
47
|
+
* over design — an explicit user `true` re-shows a designer-hidden column.
|
|
48
|
+
* - Wholesale slices (`columnOrder`, `columnPinning`) are taken from the user
|
|
49
|
+
* when present (after pruning), else from the design.
|
|
50
|
+
* - `sorting` / `rowPinning` / `expanded` / `grouping` / `rowSelection` are
|
|
51
|
+
* designer-only and pass through untouched.
|
|
52
|
+
*
|
|
53
|
+
* With a snapshot present, every user-editable slice is emitted explicitly
|
|
54
|
+
* (empty rather than absent) so the host's `mergeInitialState` overrides stale
|
|
55
|
+
* live state instead of falling through to it. `explicit` forces that same
|
|
56
|
+
* fully-specified output when the snapshot is absent — the reset path, where
|
|
57
|
+
* previously-applied user state must not survive the fall-through. Without a
|
|
58
|
+
* snapshot and without `explicit`, the design passes through unchanged
|
|
59
|
+
* (identical to pre-customization behavior).
|
|
60
|
+
*/
|
|
61
|
+
export declare function mergeCustomization(design: InitialStateValue | undefined, snapshot: TableCustomizationSnapshot | undefined, ctx: CustomizationContext, options?: {
|
|
62
|
+
explicit?: boolean;
|
|
63
|
+
}): MergedCustomization;
|
|
64
|
+
/**
|
|
65
|
+
* Rebuild a full leaf `columnOrder` from the modal's draft. Locked columns
|
|
66
|
+
* (select / drag-handle — structural, not shown in the modal) keep their
|
|
67
|
+
* current slots; the remaining slots are filled with the draft order. Draft
|
|
68
|
+
* ids missing from the current order (shouldn't happen, but a stale draft is
|
|
69
|
+
* cheap to tolerate) append at the end.
|
|
70
|
+
*/
|
|
71
|
+
export declare function weaveLockedColumns(currentLeafOrder: ReadonlyArray<string>, lockedIds: ReadonlySet<string>, draftOrder: ReadonlyArray<string>): string[];
|
|
72
|
+
export type DraftBand = 'left' | 'main' | 'right' | 'hidden';
|
|
73
|
+
export type DraftBands = Record<DraftBand, string[]>;
|
|
74
|
+
export type GroupOf = (id: string) => string | undefined;
|
|
75
|
+
export type DraftAnchor = {
|
|
76
|
+
at: 'append';
|
|
77
|
+
} | {
|
|
78
|
+
at: 'before' | 'after';
|
|
79
|
+
ref: string;
|
|
80
|
+
};
|
|
81
|
+
export declare function bandOf(bands: DraftBands, id: string): DraftBand | undefined;
|
|
82
|
+
/** A group's members currently in the visible bands, in order. */
|
|
83
|
+
export declare function groupVisibleMembers(bands: DraftBands, groupOf: GroupOf, groupId: string): string[];
|
|
84
|
+
/** A group's members currently in the hidden band, in order. */
|
|
85
|
+
export declare function groupHiddenMembers(bands: DraftBands, groupOf: GroupOf, groupId: string): string[];
|
|
86
|
+
/** The single visible band a group occupies, or undefined when fully hidden. */
|
|
87
|
+
export declare function bandOfGroup(bands: DraftBands, groupOf: GroupOf, groupId: string): DraftBand | undefined;
|
|
88
|
+
export declare function groupEdgeMember(bands: DraftBands, groupOf: GroupOf, groupId: string, edge: 'first' | 'last'): string | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Remove `runIds` from wherever they sit, then reinsert them — contiguous, in
|
|
91
|
+
* the given order — at `anchor` within `band`.
|
|
92
|
+
*/
|
|
93
|
+
export declare function moveRun(bands: DraftBands, runIds: readonly string[], band: DraftBand, anchor: DraftAnchor): DraftBands;
|
|
94
|
+
/**
|
|
95
|
+
* Safety weld: re-collect each group's members into one contiguous run.
|
|
96
|
+
*
|
|
97
|
+
* - Visible members collapse into the group's "home" band (the first visible
|
|
98
|
+
* band holding any member) as a single run.
|
|
99
|
+
* - Hidden members are welded WITHIN the hidden band only — never merged with
|
|
100
|
+
* the visible bands (that would silently un-hide them), so a fully-hidden
|
|
101
|
+
* group still renders as one folder in the hidden pane.
|
|
102
|
+
*
|
|
103
|
+
* A no-op on already-welded input — the only state the designer or a prior
|
|
104
|
+
* confirm ever produce — it exists so a drifted / corrupted snapshot, or a
|
|
105
|
+
* multi-step drag, can't render a fragmented group.
|
|
106
|
+
*/
|
|
107
|
+
export declare function weldGroups(bands: DraftBands, groupOf: GroupOf): DraftBands;
|
|
108
|
+
export interface DraftRowDrop {
|
|
109
|
+
sourceKind: 'group' | 'column';
|
|
110
|
+
sourceId: string;
|
|
111
|
+
sourceGroupId?: string;
|
|
112
|
+
targetKind: 'group' | 'column';
|
|
113
|
+
targetId: string;
|
|
114
|
+
before: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Resolve a row-to-row drop into the next bands. Assumes the drop already
|
|
118
|
+
* passed the modal's `canDrop` gate (group↔group, group↔standalone,
|
|
119
|
+
* same-group member reorder, standalone↔standalone) — combinations outside
|
|
120
|
+
* that set return the bands unchanged. A group source carries its whole run,
|
|
121
|
+
* which is its hidden members when the group is being revived from a
|
|
122
|
+
* fully-hidden state (see `groupRun`).
|
|
123
|
+
*/
|
|
124
|
+
export declare function applyRowDrop(bands: DraftBands, groupOf: GroupOf, drop: DraftRowDrop): DraftBands;
|
|
125
|
+
export interface DraftZoneDrop {
|
|
126
|
+
sourceKind: 'group' | 'column';
|
|
127
|
+
sourceId: string;
|
|
128
|
+
band: DraftBand;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Resolve a drop onto a band zone (pin-left / pin-right / main filler /
|
|
132
|
+
* hidden). A group source carries its whole run — its visible members when
|
|
133
|
+
* hiding / re-pinning a visible group, or its hidden members when reviving a
|
|
134
|
+
* fully-hidden group back into a visible band (see `groupRun`).
|
|
135
|
+
*/
|
|
136
|
+
export declare function applyZoneDrop(bands: DraftBands, groupOf: GroupOf, drop: DraftZoneDrop): DraftBands;
|
|
137
|
+
/**
|
|
138
|
+
* Owns the localStorage-backed customization snapshot for one table.
|
|
139
|
+
*
|
|
140
|
+
* Modeled on `usePersistedQuery`: storage is keyed on the table's stable
|
|
141
|
+
* `config.id`, every access is SSR- and privacy-mode-guarded, and the feature
|
|
142
|
+
* is fully off without an id.
|
|
143
|
+
*
|
|
144
|
+
* The snapshot itself is deliberately NON-reactive; `revision` is bumped only
|
|
145
|
+
* by `load()` and `clear()`. Live captures (resize, page size) and the modal
|
|
146
|
+
* confirm go through `persistPatch`, which updates storage and the in-memory
|
|
147
|
+
* snapshot WITHOUT bumping `revision` — so they never re-trigger the host's
|
|
148
|
+
* `watch([config, revision])` and its `tableApi.reset()` (which would nuke row
|
|
149
|
+
* selection). A later config change still re-reads the fresh snapshot.
|
|
150
|
+
*/
|
|
151
|
+
export declare function useTableCustomization(tableId: string | undefined): {
|
|
152
|
+
revision: import("vue").Ref<number, number>;
|
|
153
|
+
load: () => void;
|
|
154
|
+
snapshot: () => TableCustomizationSnapshot | undefined;
|
|
155
|
+
persistPatch: (patch: TableCustomizationPatch) => void;
|
|
156
|
+
clear: () => void;
|
|
157
|
+
wasCustomized: () => boolean;
|
|
158
|
+
};
|