@veltra/desktop 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +27 -0
- package/dist/components/action/action-group.js +7 -0
- package/dist/components/action/action-group.js.map +1 -0
- package/dist/components/action/action-group.vue.d.ts +23 -0
- package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/action/action.js +111 -0
- package/dist/components/action/action.js.map +1 -0
- package/dist/components/action/action.vue.d.ts +34 -0
- package/dist/components/action/di.js +6 -0
- package/dist/components/action/di.js.map +1 -0
- package/dist/components/action/index.d.ts +2 -0
- package/dist/components/action/style.d.ts +1 -0
- package/dist/components/action/style.js +1 -0
- package/dist/components/action/style2.css +31 -0
- package/dist/components/auto-complete/auto-complete.js +211 -0
- package/dist/components/auto-complete/auto-complete.js.map +1 -0
- package/dist/components/auto-complete/auto-complete.vue.d.ts +41 -0
- package/dist/components/auto-complete/index.d.ts +1 -0
- package/dist/components/auto-complete/style.d.ts +1 -0
- package/dist/components/auto-complete/style.js +3 -0
- package/dist/components/auto-complete/style2.css +157 -0
- package/dist/components/auto-complete/use-keyboard.js +83 -0
- package/dist/components/auto-complete/use-keyboard.js.map +1 -0
- package/dist/components/auto-complete/use-suggestions.js +41 -0
- package/dist/components/auto-complete/use-suggestions.js.map +1 -0
- package/dist/components/badge/badge.js +65 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.vue.d.ts +21 -0
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/style.d.ts +1 -0
- package/dist/components/badge/style.js +1 -0
- package/dist/components/badge/style2.css +80 -0
- package/dist/components/batch-edit/batch-edit-form.js +99 -0
- package/dist/components/batch-edit/batch-edit-form.js.map +1 -0
- package/dist/components/batch-edit/batch-edit-list.js +127 -0
- package/dist/components/batch-edit/batch-edit-list.js.map +1 -0
- package/dist/components/batch-edit/batch-edit.js +138 -0
- package/dist/components/batch-edit/batch-edit.js.map +1 -0
- package/dist/components/batch-edit/batch-edit.vue.d.ts +44 -0
- package/dist/components/batch-edit/di.js +6 -0
- package/dist/components/batch-edit/di.js.map +1 -0
- package/dist/components/batch-edit/helper.d.ts +11 -0
- package/dist/components/batch-edit/helper.js +13 -0
- package/dist/components/batch-edit/helper.js.map +1 -0
- package/dist/components/batch-edit/index.d.ts +2 -0
- package/dist/components/batch-edit/style.d.ts +1 -0
- package/dist/components/batch-edit/style.js +3 -0
- package/dist/components/batch-edit/style2.css +65 -0
- package/dist/components/batch-edit/use-edit.js +193 -0
- package/dist/components/batch-edit/use-edit.js.map +1 -0
- package/dist/components/button/button-group.js +32 -0
- package/dist/components/button/button-group.js.map +1 -0
- package/dist/components/button/button-group.vue.d.ts +20 -0
- package/dist/components/button/button.js +106 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.vue.d.ts +28 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/style.d.ts +1 -0
- package/dist/components/button/style.js +2 -0
- package/dist/components/button/style2.css +471 -0
- package/dist/components/calendar/calendar.js +32 -0
- package/dist/components/calendar/calendar.js.map +1 -0
- package/dist/components/calendar/calendar.vue.d.ts +18 -0
- package/dist/components/calendar/index.d.ts +1 -0
- package/dist/components/calendar/style.d.ts +1 -0
- package/dist/components/calendar/style.js +1 -0
- package/dist/components/calendar/style2.css +46 -0
- package/dist/components/calendar/utils.js +109 -0
- package/dist/components/calendar/utils.js.map +1 -0
- package/dist/components/card/card-action.js +27 -0
- package/dist/components/card/card-action.js.map +1 -0
- package/dist/components/card/card-action.vue.d.ts +19 -0
- package/dist/components/card/card-content.js +30 -0
- package/dist/components/card/card-content.js.map +1 -0
- package/dist/components/card/card-content.vue.d.ts +19 -0
- package/dist/components/card/card-cover.js +38 -0
- package/dist/components/card/card-cover.js.map +1 -0
- package/dist/components/card/card-cover.vue.d.ts +9 -0
- package/dist/components/card/card-header.js +24 -0
- package/dist/components/card/card-header.js.map +1 -0
- package/dist/components/card/card-header.vue.d.ts +18 -0
- package/dist/components/card/card.js +43 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.vue.d.ts +19 -0
- package/dist/components/card/di.js +6 -0
- package/dist/components/card/di.js.map +1 -0
- package/dist/components/card/index.d.ts +5 -0
- package/dist/components/card/style.d.ts +1 -0
- package/dist/components/card/style.js +1 -0
- package/dist/components/card/style2.css +106 -0
- package/dist/components/cascade/cascade-panel-item.js +85 -0
- package/dist/components/cascade/cascade-panel-item.js.map +1 -0
- package/dist/components/cascade/cascade.js +312 -0
- package/dist/components/cascade/cascade.js.map +1 -0
- package/dist/components/cascade/cascade.vue.d.ts +29 -0
- package/dist/components/cascade/di.js +6 -0
- package/dist/components/cascade/di.js.map +1 -0
- package/dist/components/cascade/index.d.ts +1 -0
- package/dist/components/cascade/node.js +19 -0
- package/dist/components/cascade/node.js.map +1 -0
- package/dist/components/cascade/style.d.ts +1 -0
- package/dist/components/cascade/style.js +1 -0
- package/dist/components/cascade/style2.css +147 -0
- package/dist/components/cascade/use-check.js +72 -0
- package/dist/components/cascade/use-check.js.map +1 -0
- package/dist/components/cascade/use-data-map.js +21 -0
- package/dist/components/cascade/use-data-map.js.map +1 -0
- package/dist/components/cascade/use-select.js +101 -0
- package/dist/components/cascade/use-select.js.map +1 -0
- package/dist/components/check-tag/check-tag.js +33 -0
- package/dist/components/check-tag/check-tag.js.map +1 -0
- package/dist/components/check-tag/check-tag.vue.d.ts +23 -0
- package/dist/components/check-tag/index.d.ts +1 -0
- package/dist/components/check-tag/style.d.ts +1 -0
- package/dist/components/check-tag/style.js +1 -0
- package/dist/components/check-tag/style2.css +39 -0
- package/dist/components/checkbox/checkbox-button.js +78 -0
- package/dist/components/checkbox/checkbox-button.js.map +1 -0
- package/dist/components/checkbox/checkbox-button.vue.d.ts +37 -0
- package/dist/components/checkbox/checkbox.js +91 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.vue.d.ts +35 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/style.d.ts +1 -0
- package/dist/components/checkbox/style.js +2 -0
- package/dist/components/checkbox/style2.css +187 -0
- package/dist/components/checkbox-group/checkbox-group.js +110 -0
- package/dist/components/checkbox-group/checkbox-group.js.map +1 -0
- package/dist/components/checkbox-group/checkbox-group.vue.d.ts +25 -0
- package/dist/components/checkbox-group/index.d.ts +1 -0
- package/dist/components/checkbox-group/style.d.ts +1 -0
- package/dist/components/checkbox-group/style.js +1 -0
- package/dist/components/checkbox-group/style2.css +64 -0
- package/dist/components/code-editor/code-editor.js +121 -0
- package/dist/components/code-editor/code-editor.js.map +1 -0
- package/dist/components/code-editor/code-editor.vue.d.ts +21 -0
- package/dist/components/code-editor/index.d.ts +1 -0
- package/dist/components/code-editor/style.d.ts +1 -0
- package/dist/components/code-editor/style.js +1 -0
- package/dist/components/code-editor/style2.css +49 -0
- package/dist/components/condition-editor/condition-editor.js +18 -0
- package/dist/components/condition-editor/condition-editor.js.map +1 -0
- package/dist/components/condition-editor/condition-editor.vue.d.ts +9 -0
- package/dist/components/condition-editor/index.d.ts +1 -0
- package/dist/components/condition-editor/style.d.ts +1 -0
- package/dist/components/condition-editor/style.js +1 -0
- package/dist/components/condition-editor/style2.css +17 -0
- package/dist/components/context-menu/api.d.ts +8 -0
- package/dist/components/context-menu/api.js +18 -0
- package/dist/components/context-menu/api.js.map +1 -0
- package/dist/components/context-menu/context-menu-item.js +60 -0
- package/dist/components/context-menu/context-menu-item.js.map +1 -0
- package/dist/components/context-menu/context-menu.js +95 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/di.js +6 -0
- package/dist/components/context-menu/di.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +1 -0
- package/dist/components/context-menu/style.d.ts +1 -0
- package/dist/components/context-menu/style.js +3 -0
- package/dist/components/context-menu/style2.css +50 -0
- package/dist/components/date-panel/date-panel.js +36 -0
- package/dist/components/date-panel/date-panel.js.map +1 -0
- package/dist/components/date-panel/date-panel.vue.d.ts +20 -0
- package/dist/components/date-panel/di.js +6 -0
- package/dist/components/date-panel/di.js.map +1 -0
- package/dist/components/date-panel/headers/day.js +53 -0
- package/dist/components/date-panel/headers/day.js.map +1 -0
- package/dist/components/date-panel/headers/month.js +38 -0
- package/dist/components/date-panel/headers/month.js.map +1 -0
- package/dist/components/date-panel/headers/year.js +41 -0
- package/dist/components/date-panel/headers/year.js.map +1 -0
- package/dist/components/date-panel/index.d.ts +1 -0
- package/dist/components/date-panel/panels/day.js +78 -0
- package/dist/components/date-panel/panels/day.js.map +1 -0
- package/dist/components/date-panel/panels/month.js +65 -0
- package/dist/components/date-panel/panels/month.js.map +1 -0
- package/dist/components/date-panel/panels/year.js +64 -0
- package/dist/components/date-panel/panels/year.js.map +1 -0
- package/dist/components/date-panel/style.d.ts +1 -0
- package/dist/components/date-panel/style.js +1 -0
- package/dist/components/date-panel/style2.css +179 -0
- package/dist/components/date-panel/use-date-select.js +84 -0
- package/dist/components/date-panel/use-date-select.js.map +1 -0
- package/dist/components/date-panel/use-panel-date.js +43 -0
- package/dist/components/date-panel/use-panel-date.js.map +1 -0
- package/dist/components/date-panel/use-panel.js +45 -0
- package/dist/components/date-panel/use-panel.js.map +1 -0
- package/dist/components/date-picker/date-picker.js +135 -0
- package/dist/components/date-picker/date-picker.js.map +1 -0
- package/dist/components/date-picker/date-picker.vue.d.ts +19 -0
- package/dist/components/date-picker/index.d.ts +1 -0
- package/dist/components/date-picker/style.d.ts +1 -0
- package/dist/components/date-picker/style.js +1 -0
- package/dist/components/date-picker/style2.css +29 -0
- package/dist/components/date-range-picker/date-range-picker.js +168 -0
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.vue.d.ts +19 -0
- package/dist/components/date-range-picker/index.d.ts +1 -0
- package/dist/components/date-range-picker/style.d.ts +1 -0
- package/dist/components/date-range-picker/style.js +1 -0
- package/dist/components/date-range-picker/style2.css +95 -0
- package/dist/components/dialog/di.js +6 -0
- package/dist/components/dialog/di.js.map +1 -0
- package/dist/components/dialog/dialog.js +227 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/dialog.vue.d.ts +42 -0
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/style.d.ts +1 -0
- package/dist/components/dialog/style.js +3 -0
- package/dist/components/dialog/style2.css +150 -0
- package/dist/components/dialog/use-maximum.js +34 -0
- package/dist/components/dialog/use-maximum.js.map +1 -0
- package/dist/components/drawer/drawer.js +91 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/drawer.vue.d.ts +36 -0
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/style.d.ts +1 -0
- package/dist/components/drawer/style.js +2 -0
- package/dist/components/drawer/style2.css +153 -0
- package/dist/components/dropdown/dropdown.js +163 -0
- package/dist/components/dropdown/dropdown.js.map +1 -0
- package/dist/components/dropdown/dropdown.vue.d.ts +29 -0
- package/dist/components/dropdown/index.d.ts +1 -0
- package/dist/components/dropdown/style.d.ts +1 -0
- package/dist/components/dropdown/style.js +2 -0
- package/dist/components/dropdown/style2.css +26 -0
- package/dist/components/empty/empty.js +26 -0
- package/dist/components/empty/empty.js.map +1 -0
- package/dist/components/empty/empty.vue.d.ts +12 -0
- package/dist/components/empty/index.d.ts +1 -0
- package/dist/components/empty/style.d.ts +1 -0
- package/dist/components/empty/style.js +1 -0
- package/dist/components/empty/style2.css +23 -0
- package/dist/components/expression-editor/components/variable-picker.js +233 -0
- package/dist/components/expression-editor/components/variable-picker.js.map +1 -0
- package/dist/components/expression-editor/constants.js +9 -0
- package/dist/components/expression-editor/constants.js.map +1 -0
- package/dist/components/expression-editor/di.js +24 -0
- package/dist/components/expression-editor/di.js.map +1 -0
- package/dist/components/expression-editor/expression-editor.js +167 -0
- package/dist/components/expression-editor/expression-editor.js.map +1 -0
- package/dist/components/expression-editor/expression-editor.vue.d.ts +15 -0
- package/dist/components/expression-editor/index.d.ts +1 -0
- package/dist/components/expression-editor/internal/editor-runtime/create-runtime.js +47 -0
- package/dist/components/expression-editor/internal/editor-runtime/create-runtime.js.map +1 -0
- package/dist/components/expression-editor/internal/editor-runtime/model-sync.js +49 -0
- package/dist/components/expression-editor/internal/editor-runtime/model-sync.js.map +1 -0
- package/dist/components/expression-editor/internal/features/commands/register-command-packs.js +215 -0
- package/dist/components/expression-editor/internal/features/commands/register-command-packs.js.map +1 -0
- package/dist/components/expression-editor/internal/features/drag-drop/drag-drop-service.js +33 -0
- package/dist/components/expression-editor/internal/features/drag-drop/drag-drop-service.js.map +1 -0
- package/dist/components/expression-editor/internal/features/insertion/insertion-service.js +33 -0
- package/dist/components/expression-editor/internal/features/insertion/insertion-service.js.map +1 -0
- package/dist/components/expression-editor/nodes/variable-node.js +94 -0
- package/dist/components/expression-editor/nodes/variable-node.js.map +1 -0
- package/dist/components/expression-editor/parser.js +32 -0
- package/dist/components/expression-editor/parser.js.map +1 -0
- package/dist/components/expression-editor/plain-text.js +19 -0
- package/dist/components/expression-editor/plain-text.js.map +1 -0
- package/dist/components/expression-editor/style.d.ts +1 -0
- package/dist/components/expression-editor/style.js +1 -0
- package/dist/components/expression-editor/style2.css +359 -0
- package/dist/components/expression-editor/use-context.js +69 -0
- package/dist/components/expression-editor/use-context.js.map +1 -0
- package/dist/components/expression-editor/use-decorators.js +27 -0
- package/dist/components/expression-editor/use-decorators.js.map +1 -0
- package/dist/components/expression-editor/use-expression-drag-drop.js +275 -0
- package/dist/components/expression-editor/use-expression-drag-drop.js.map +1 -0
- package/dist/components/file-picker/file-picker.js +87 -0
- package/dist/components/file-picker/file-picker.js.map +1 -0
- package/dist/components/file-picker/file-picker.vue.d.ts +28 -0
- package/dist/components/file-picker/helper.js +20 -0
- package/dist/components/file-picker/helper.js.map +1 -0
- package/dist/components/file-picker/index.d.ts +1 -0
- package/dist/components/file-picker/style.d.ts +1 -0
- package/dist/components/file-picker/style.js +1 -0
- package/dist/components/file-picker/style2.css +24 -0
- package/dist/components/float-button/float-button.js +95 -0
- package/dist/components/float-button/float-button.js.map +1 -0
- package/dist/components/float-button/float-button.vue.d.ts +13 -0
- package/dist/components/float-button/index.d.ts +1 -0
- package/dist/components/float-button/style.d.ts +1 -0
- package/dist/components/float-button/style.js +1 -0
- package/dist/components/float-button/style2.css +48 -0
- package/dist/components/form/dynamic-form-model.d.ts +71 -0
- package/dist/components/form/dynamic-form-model.js +165 -0
- package/dist/components/form/dynamic-form-model.js.map +1 -0
- package/dist/components/form/form-model.d.ts +73 -0
- package/dist/components/form/form-model.js +164 -0
- package/dist/components/form/form-model.js.map +1 -0
- package/dist/components/form/form.js +7 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/form/form.vue.d.ts +27 -0
- package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/form/helper.d.ts +11 -0
- package/dist/components/form/helper.js +14 -0
- package/dist/components/form/helper.js.map +1 -0
- package/dist/components/form/index.d.ts +4 -0
- package/dist/components/form/style.d.ts +1 -0
- package/dist/components/form/style.js +1 -0
- package/dist/components/form/style2.css +35 -0
- package/dist/components/form/use-node-interceptor.js +57 -0
- package/dist/components/form/use-node-interceptor.js.map +1 -0
- package/dist/components/form-item/form-item.js +7 -0
- package/dist/components/form-item/form-item.js.map +1 -0
- package/dist/components/form-item/form-item.vue.d.ts +21 -0
- package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/form-item/helper.js +8 -0
- package/dist/components/form-item/helper.js.map +1 -0
- package/dist/components/form-item/index.d.ts +1 -0
- package/dist/components/form-item/style.d.ts +1 -0
- package/dist/components/form-item/style.js +1 -0
- package/dist/components/form-item/style2.css +133 -0
- package/dist/components/gantt-chart/gantt-chart.js +18 -0
- package/dist/components/gantt-chart/gantt-chart.js.map +1 -0
- package/dist/components/gantt-chart/gantt-chart.vue.d.ts +9 -0
- package/dist/components/gantt-chart/index.d.ts +1 -0
- package/dist/components/gantt-chart/style.d.ts +1 -0
- package/dist/components/gantt-chart/style.js +1 -0
- package/dist/components/gantt-chart/style2.css +17 -0
- package/dist/components/grid/breakpoint.js +46 -0
- package/dist/components/grid/breakpoint.js.map +1 -0
- package/dist/components/grid/di.js +6 -0
- package/dist/components/grid/di.js.map +1 -0
- package/dist/components/grid/grid-item.js +48 -0
- package/dist/components/grid/grid-item.js.map +1 -0
- package/dist/components/grid/grid-item.vue.d.ts +21 -0
- package/dist/components/grid/grid.js +75 -0
- package/dist/components/grid/grid.js.map +1 -0
- package/dist/components/grid/grid.vue.d.ts +27 -0
- package/dist/components/grid/index.d.ts +2 -0
- package/dist/components/grid/style.d.ts +1 -0
- package/dist/components/grid/style.js +1 -0
- package/dist/components/grid/style2.css +20 -0
- package/dist/components/grid/use-responsive.js +46 -0
- package/dist/components/grid/use-responsive.js.map +1 -0
- package/dist/components/grid-input/grid-input.js +104 -0
- package/dist/components/grid-input/grid-input.js.map +1 -0
- package/dist/components/grid-input/grid-input.vue.d.ts +20 -0
- package/dist/components/grid-input/index.d.ts +1 -0
- package/dist/components/grid-input/style.d.ts +1 -0
- package/dist/components/grid-input/style.js +1 -0
- package/dist/components/grid-input/style2.css +140 -0
- package/dist/components/group-input/group-input.js +133 -0
- package/dist/components/group-input/group-input.js.map +1 -0
- package/dist/components/group-input/group-input.vue.d.ts +27 -0
- package/dist/components/group-input/index.d.ts +1 -0
- package/dist/components/group-input/style.d.ts +1 -0
- package/dist/components/group-input/style.js +1 -0
- package/dist/components/group-input/style2.css +55 -0
- package/dist/components/group-input/use-group-items.js +44 -0
- package/dist/components/group-input/use-group-items.js.map +1 -0
- package/dist/components/icon/icon.js +25 -0
- package/dist/components/icon/icon.js.map +1 -0
- package/dist/components/icon/icon.vue.d.ts +19 -0
- package/dist/components/icon/index.d.ts +1 -0
- package/dist/components/icon/style.d.ts +1 -0
- package/dist/components/icon/style.js +1 -0
- package/dist/components/icon/style2.css +48 -0
- package/dist/components/index.d.ts +90 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/input.js +7 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/input.vue.d.ts +51 -0
- package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js +172 -0
- package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/input/style.d.ts +1 -0
- package/dist/components/input/style.js +2 -0
- package/dist/components/input/style2.css +115 -0
- package/dist/components/layout/di.js +6 -0
- package/dist/components/layout/di.js.map +1 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/layout-resizer.js +76 -0
- package/dist/components/layout/layout-resizer.js.map +1 -0
- package/dist/components/layout/layout.js +119 -0
- package/dist/components/layout/layout.js.map +1 -0
- package/dist/components/layout/layout.vue.d.ts +21 -0
- package/dist/components/layout/style.d.ts +1 -0
- package/dist/components/layout/style.js +1 -0
- package/dist/components/layout/style2.css +34 -0
- package/dist/components/list/index.d.ts +2 -0
- package/dist/components/list/list-item.js +17 -0
- package/dist/components/list/list-item.js.map +1 -0
- package/dist/components/list/list-item.vue.d.ts +18 -0
- package/dist/components/list/list.js +35 -0
- package/dist/components/list/list.js.map +1 -0
- package/dist/components/list/list.vue.d.ts +22 -0
- package/dist/components/list/style.d.ts +1 -0
- package/dist/components/list/style.js +1 -0
- package/dist/components/list/style2.css +35 -0
- package/dist/components/loading/directive.d.ts +7 -0
- package/dist/components/loading/directive.js +28 -0
- package/dist/components/loading/directive.js.map +1 -0
- package/dist/components/loading/index.d.ts +2 -0
- package/dist/components/loading/loading.js +37 -0
- package/dist/components/loading/loading.js.map +1 -0
- package/dist/components/loading/loading.vue.d.ts +11 -0
- package/dist/components/loading/style.d.ts +1 -0
- package/dist/components/loading/style.js +2 -0
- package/dist/components/loading/style2.css +228 -0
- package/dist/components/menu/di.js +6 -0
- package/dist/components/menu/di.js.map +1 -0
- package/dist/components/menu/helper.js +8 -0
- package/dist/components/menu/helper.js.map +1 -0
- package/dist/components/menu/index.d.ts +3 -0
- package/dist/components/menu/menu-icon.js +25 -0
- package/dist/components/menu/menu-icon.js.map +1 -0
- package/dist/components/menu/menu-item-collapsed.js +73 -0
- package/dist/components/menu/menu-item-collapsed.js.map +1 -0
- package/dist/components/menu/menu-item.js +43 -0
- package/dist/components/menu/menu-item.js.map +1 -0
- package/dist/components/menu/menu-item.vue.d.ts +13 -0
- package/dist/components/menu/menu-sub-collapsed.js +81 -0
- package/dist/components/menu/menu-sub-collapsed.js.map +1 -0
- package/dist/components/menu/menu-sub.js +101 -0
- package/dist/components/menu/menu-sub.js.map +1 -0
- package/dist/components/menu/menu-sub.vue.d.ts +14 -0
- package/dist/components/menu/menu.js +96 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/menu/menu.vue.d.ts +16 -0
- package/dist/components/menu/style.d.ts +1 -0
- package/dist/components/menu/style.js +1 -0
- package/dist/components/menu/style2.css +432 -0
- package/dist/components/menu/use-menu-item.js +35 -0
- package/dist/components/menu/use-menu-item.js.map +1 -0
- package/dist/components/menu/use-menu-transition.js +71 -0
- package/dist/components/menu/use-menu-transition.js.map +1 -0
- package/dist/components/menu/walk-menu-path.js +16 -0
- package/dist/components/menu/walk-menu-path.js.map +1 -0
- package/dist/components/message/helper.js +23 -0
- package/dist/components/message/helper.js.map +1 -0
- package/dist/components/message/index.d.ts +2 -0
- package/dist/components/message/message-box.js +38 -0
- package/dist/components/message/message-box.js.map +1 -0
- package/dist/components/message/message.d.ts +7 -0
- package/dist/components/message/message.js +88 -0
- package/dist/components/message/message.js.map +1 -0
- package/dist/components/message/message.vue.d.ts +16 -0
- package/dist/components/message/message2.js +105 -0
- package/dist/components/message/message2.js.map +1 -0
- package/dist/components/message/style.d.ts +1 -0
- package/dist/components/message/style.js +1 -0
- package/dist/components/message/style2.css +134 -0
- package/dist/components/message-confirm/index.d.ts +2 -0
- package/dist/components/message-confirm/message-confirm.d.ts +10 -0
- package/dist/components/message-confirm/message-confirm.js +71 -0
- package/dist/components/message-confirm/message-confirm.js.map +1 -0
- package/dist/components/message-confirm/message-confirm.vue.d.ts +16 -0
- package/dist/components/message-confirm/message-confirm2.js +34 -0
- package/dist/components/message-confirm/message-confirm2.js.map +1 -0
- package/dist/components/message-confirm/style.d.ts +1 -0
- package/dist/components/message-confirm/style.js +1 -0
- package/dist/components/message-confirm/style2.css +81 -0
- package/dist/components/multi-select/di.js +6 -0
- package/dist/components/multi-select/di.js.map +1 -0
- package/dist/components/multi-select/index.d.ts +1 -0
- package/dist/components/multi-select/multi-select-option.js +67 -0
- package/dist/components/multi-select/multi-select-option.js.map +1 -0
- package/dist/components/multi-select/multi-select.js +453 -0
- package/dist/components/multi-select/multi-select.js.map +1 -0
- package/dist/components/multi-select/multi-select.vue.d.ts +49 -0
- package/dist/components/multi-select/style.d.ts +1 -0
- package/dist/components/multi-select/style.js +3 -0
- package/dist/components/multi-select/style2.css +197 -0
- package/dist/components/multi-tree-select/index.d.ts +1 -0
- package/dist/components/multi-tree-select/multi-tree-select.js +332 -0
- package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -0
- package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +45 -0
- package/dist/components/multi-tree-select/style.d.ts +1 -0
- package/dist/components/multi-tree-select/style.js +2 -0
- package/dist/components/multi-tree-select/style2.css +146 -0
- package/dist/components/node-render/index.d.ts +1 -0
- package/dist/components/node-render/node-render.d.ts +9 -0
- package/dist/components/node-render/node-render.js +21 -0
- package/dist/components/node-render/node-render.js.map +1 -0
- package/dist/components/node-render/style.d.ts +1 -0
- package/dist/components/node-render/style.js +1 -0
- package/dist/components/node-render/style2.css +17 -0
- package/dist/components/notification/index.d.ts +8 -0
- package/dist/components/notification/index.js +140 -0
- package/dist/components/notification/index.js.map +1 -0
- package/dist/components/notification/notification.js +133 -0
- package/dist/components/notification/notification.js.map +1 -0
- package/dist/components/notification/notification.vue.d.ts +16 -0
- package/dist/components/notification/style.d.ts +1 -0
- package/dist/components/notification/style.js +1 -0
- package/dist/components/notification/style2.css +167 -0
- package/dist/components/number/index.d.ts +1 -0
- package/dist/components/number/number.js +48 -0
- package/dist/components/number/number.js.map +1 -0
- package/dist/components/number/number.vue.d.ts +12 -0
- package/dist/components/number/style.d.ts +1 -0
- package/dist/components/number/style.js +1 -0
- package/dist/components/number/style2.css +17 -0
- package/dist/components/number-input/index.d.ts +1 -0
- package/dist/components/number-input/number-input.js +313 -0
- package/dist/components/number-input/number-input.js.map +1 -0
- package/dist/components/number-input/number-input.vue.d.ts +37 -0
- package/dist/components/number-input/style.d.ts +1 -0
- package/dist/components/number-input/style.js +2 -0
- package/dist/components/number-input/style2.css +45 -0
- package/dist/components/number-range-input/index.d.ts +1 -0
- package/dist/components/number-range-input/number-range-input.js +227 -0
- package/dist/components/number-range-input/number-range-input.js.map +1 -0
- package/dist/components/number-range-input/number-range-input.vue.d.ts +37 -0
- package/dist/components/number-range-input/style.d.ts +1 -0
- package/dist/components/number-range-input/style.js +1 -0
- package/dist/components/number-range-input/style2.css +27 -0
- package/dist/components/paginator/index.d.ts +1 -0
- package/dist/components/paginator/paginator.js +209 -0
- package/dist/components/paginator/paginator.js.map +1 -0
- package/dist/components/paginator/paginator.vue.d.ts +30 -0
- package/dist/components/paginator/style.d.ts +1 -0
- package/dist/components/paginator/style.js +1 -0
- package/dist/components/paginator/style2.css +121 -0
- package/dist/components/palette/color-transform.js +129 -0
- package/dist/components/palette/color-transform.js.map +1 -0
- package/dist/components/palette/di.js +6 -0
- package/dist/components/palette/di.js.map +1 -0
- package/dist/components/palette/index.d.ts +1 -0
- package/dist/components/palette/palette-alpha.js +75 -0
- package/dist/components/palette/palette-alpha.js.map +1 -0
- package/dist/components/palette/palette-color-switch.js +43 -0
- package/dist/components/palette/palette-color-switch.js.map +1 -0
- package/dist/components/palette/palette-hue.js +63 -0
- package/dist/components/palette/palette-hue.js.map +1 -0
- package/dist/components/palette/palette-sv.js +97 -0
- package/dist/components/palette/palette-sv.js.map +1 -0
- package/dist/components/palette/palette.js +128 -0
- package/dist/components/palette/palette.js.map +1 -0
- package/dist/components/palette/palette.vue.d.ts +21 -0
- package/dist/components/palette/style.d.ts +1 -0
- package/dist/components/palette/style.js +1 -0
- package/dist/components/palette/style2.css +132 -0
- package/dist/components/palette/use-hsv.js +49 -0
- package/dist/components/palette/use-hsv.js.map +1 -0
- package/dist/components/password-input/index.d.ts +1 -0
- package/dist/components/password-input/password-input.js +136 -0
- package/dist/components/password-input/password-input.js.map +1 -0
- package/dist/components/password-input/password-input.vue.d.ts +31 -0
- package/dist/components/password-input/style.d.ts +1 -0
- package/dist/components/password-input/style.js +1 -0
- package/dist/components/password-input/style2.css +17 -0
- package/dist/components/pop-confirm/index.d.ts +1 -0
- package/dist/components/pop-confirm/pop-confirm.js +91 -0
- package/dist/components/pop-confirm/pop-confirm.js.map +1 -0
- package/dist/components/pop-confirm/pop-confirm.vue.d.ts +33 -0
- package/dist/components/pop-confirm/style.d.ts +1 -0
- package/dist/components/pop-confirm/style.js +1 -0
- package/dist/components/pop-confirm/style2.css +52 -0
- package/dist/components/progress/index.d.ts +1 -0
- package/dist/components/progress/progress.js +99 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/progress/progress.vue.d.ts +25 -0
- package/dist/components/progress/style.d.ts +1 -0
- package/dist/components/progress/style.js +1 -0
- package/dist/components/progress/style2.css +77 -0
- package/dist/components/progress-nodes/index.d.ts +1 -0
- package/dist/components/progress-nodes/progress-nodes.js +134 -0
- package/dist/components/progress-nodes/progress-nodes.js.map +1 -0
- package/dist/components/progress-nodes/progress-nodes.vue.d.ts +38 -0
- package/dist/components/progress-nodes/style.d.ts +1 -0
- package/dist/components/progress-nodes/style.js +1 -0
- package/dist/components/progress-nodes/style2.css +161 -0
- package/dist/components/radio/index.d.ts +1 -0
- package/dist/components/radio/radio.js +70 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/radio.vue.d.ts +32 -0
- package/dist/components/radio/style.d.ts +1 -0
- package/dist/components/radio/style.js +2 -0
- package/dist/components/radio/style2.css +108 -0
- package/dist/components/radio-group/index.d.ts +1 -0
- package/dist/components/radio-group/radio-group.js +82 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/radio-group/radio-group.vue.d.ts +27 -0
- package/dist/components/radio-group/style.d.ts +1 -0
- package/dist/components/radio-group/style.js +1 -0
- package/dist/components/radio-group/style2.css +54 -0
- package/dist/components/rich-text-editor/index.d.ts +1 -0
- package/dist/components/rich-text-editor/rich-text-editor.js +230 -0
- package/dist/components/rich-text-editor/rich-text-editor.js.map +1 -0
- package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +23 -0
- package/dist/components/rich-text-editor/style.d.ts +1 -0
- package/dist/components/rich-text-editor/style.js +1 -0
- package/dist/components/rich-text-editor/style2.css +338 -0
- package/dist/components/rich-text-editor/toolbar.js +221 -0
- package/dist/components/rich-text-editor/toolbar.js.map +1 -0
- package/dist/components/scroll/di.js +7 -0
- package/dist/components/scroll/di.js.map +1 -0
- package/dist/components/scroll/index.d.ts +1 -0
- package/dist/components/scroll/scroll-bar.js +81 -0
- package/dist/components/scroll/scroll-bar.js.map +1 -0
- package/dist/components/scroll/scroll.js +159 -0
- package/dist/components/scroll/scroll.js.map +1 -0
- package/dist/components/scroll/scroll.vue.d.ts +27 -0
- package/dist/components/scroll/style.d.ts +1 -0
- package/dist/components/scroll/style.js +1 -0
- package/dist/components/scroll/style2.css +91 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/select.js +311 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.vue.d.ts +45 -0
- package/dist/components/select/style.d.ts +1 -0
- package/dist/components/select/style.js +2 -0
- package/dist/components/select/style2.css +154 -0
- package/dist/components/select/use-keyboard.js +40 -0
- package/dist/components/select/use-keyboard.js.map +1 -0
- package/dist/components/select/use-options.js +79 -0
- package/dist/components/select/use-options.js.map +1 -0
- package/dist/components/slider/di.js +6 -0
- package/dist/components/slider/di.js.map +1 -0
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/slider/slider-thumb.js +58 -0
- package/dist/components/slider/slider-thumb.js.map +1 -0
- package/dist/components/slider/slider.js +143 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/slider/slider.vue.d.ts +22 -0
- package/dist/components/slider/style.d.ts +1 -0
- package/dist/components/slider/style.js +1 -0
- package/dist/components/slider/style2.css +169 -0
- package/dist/components/slider/use-slider.js +70 -0
- package/dist/components/slider/use-slider.js.map +1 -0
- package/dist/components/steps/index.d.ts +1 -0
- package/dist/components/steps/steps.js +146 -0
- package/dist/components/steps/steps.js.map +1 -0
- package/dist/components/steps/steps.vue.d.ts +31 -0
- package/dist/components/steps/style.d.ts +1 -0
- package/dist/components/steps/style.js +1 -0
- package/dist/components/steps/style2.css +217 -0
- package/dist/components/switch/index.d.ts +1 -0
- package/dist/components/switch/style.d.ts +1 -0
- package/dist/components/switch/style.js +1 -0
- package/dist/components/switch/style2.css +99 -0
- package/dist/components/switch/switch.js +82 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.vue.d.ts +25 -0
- package/dist/components/table/di.js +7 -0
- package/dist/components/table/di.js.map +1 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/node/col.d.ts +45 -0
- package/dist/components/table/node/col.js +85 -0
- package/dist/components/table/node/col.js.map +1 -0
- package/dist/components/table/node/row.d.ts +41 -0
- package/dist/components/table/node/row.js +55 -0
- package/dist/components/table/node/row.js.map +1 -0
- package/dist/components/table/style.d.ts +1 -0
- package/dist/components/table/style.js +1 -0
- package/dist/components/table/style2.css +258 -0
- package/dist/components/table/table-body.js +76 -0
- package/dist/components/table/table-body.js.map +1 -0
- package/dist/components/table/table-cell.js +35 -0
- package/dist/components/table/table-cell.js.map +1 -0
- package/dist/components/table/table-foot.js +75 -0
- package/dist/components/table/table-foot.js.map +1 -0
- package/dist/components/table/table-head.js +33 -0
- package/dist/components/table/table-head.js.map +1 -0
- package/dist/components/table/table-row.js +101 -0
- package/dist/components/table/table-row.js.map +1 -0
- package/dist/components/table/table.js +220 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/table/table.vue.d.ts +55 -0
- package/dist/components/table/use-check.js +234 -0
- package/dist/components/table/use-check.js.map +1 -0
- package/dist/components/table/use-col-resize.js +87 -0
- package/dist/components/table/use-col-resize.js.map +1 -0
- package/dist/components/table/use-columns.d.ts +11 -0
- package/dist/components/table/use-columns.js +165 -0
- package/dist/components/table/use-columns.js.map +1 -0
- package/dist/components/table/use-fixed-columns.js +25 -0
- package/dist/components/table/use-fixed-columns.js.map +1 -0
- package/dist/components/table/use-rows.js +171 -0
- package/dist/components/table/use-rows.js.map +1 -0
- package/dist/components/table/use-table.js +70 -0
- package/dist/components/table/use-table.js.map +1 -0
- package/dist/components/table-editor/index.d.ts +1 -0
- package/dist/components/table-editor/style.d.ts +1 -0
- package/dist/components/table-editor/style.js +1 -0
- package/dist/components/table-editor/style2.css +26 -0
- package/dist/components/table-editor/table-editor.js +138 -0
- package/dist/components/table-editor/table-editor.js.map +1 -0
- package/dist/components/table-editor/table-editor.vue.d.ts +13 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/style.d.ts +1 -0
- package/dist/components/tabs/style.js +2 -0
- package/dist/components/tabs/style2.css +166 -0
- package/dist/components/tabs/tabs.js +148 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tabs/tabs.vue.d.ts +44 -0
- package/dist/components/tag/index.d.ts +1 -0
- package/dist/components/tag/style.d.ts +1 -0
- package/dist/components/tag/style.js +1 -0
- package/dist/components/tag/style2.css +181 -0
- package/dist/components/tag/tag.js +52 -0
- package/dist/components/tag/tag.js.map +1 -0
- package/dist/components/tag/tag.vue.d.ts +23 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/style.d.ts +1 -0
- package/dist/components/text/style.js +1 -0
- package/dist/components/text/style2.css +54 -0
- package/dist/components/text/text.js +64 -0
- package/dist/components/text/text.js.map +1 -0
- package/dist/components/text/text.vue.d.ts +11 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/style.d.ts +1 -0
- package/dist/components/textarea/style.js +2 -0
- package/dist/components/textarea/style2.css +106 -0
- package/dist/components/textarea/textarea.js +164 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/textarea/textarea.vue.d.ts +35 -0
- package/dist/components/textarea/utils.js +17 -0
- package/dist/components/textarea/utils.js.map +1 -0
- package/dist/components/theme/index.d.ts +1 -0
- package/dist/components/theme/schema.js +194 -0
- package/dist/components/theme/schema.js.map +1 -0
- package/dist/components/theme/style.d.ts +1 -0
- package/dist/components/theme/style.js +1 -0
- package/dist/components/theme/style2.css +377 -0
- package/dist/components/theme/theme.js +307 -0
- package/dist/components/theme/theme.js.map +1 -0
- package/dist/components/theme/theme.vue.d.ts +9 -0
- package/dist/components/tip/index.d.ts +1 -0
- package/dist/components/tip/style.d.ts +1 -0
- package/dist/components/tip/style.js +1 -0
- package/dist/components/tip/style2.css +79 -0
- package/dist/components/tip/tip.js +160 -0
- package/dist/components/tip/tip.js.map +1 -0
- package/dist/components/tip/tip.vue.d.ts +30 -0
- package/dist/components/tip/use-nest.js +41 -0
- package/dist/components/tip/use-nest.js.map +1 -0
- package/dist/components/tree/di.d.ts +10 -0
- package/dist/components/tree/di.js +7 -0
- package/dist/components/tree/di.js.map +1 -0
- package/dist/components/tree/index.d.ts +1 -0
- package/dist/components/tree/style.d.ts +1 -0
- package/dist/components/tree/style.js +1 -0
- package/dist/components/tree/style2.css +127 -0
- package/dist/components/tree/tree-node.js +82 -0
- package/dist/components/tree/tree-node.js.map +1 -0
- package/dist/components/tree/tree-node2.js +44 -0
- package/dist/components/tree/tree-node2.js.map +1 -0
- package/dist/components/tree/tree.js +219 -0
- package/dist/components/tree/tree.js.map +1 -0
- package/dist/components/tree/tree.vue.d.ts +40 -0
- package/dist/components/tree/use-check.js +80 -0
- package/dist/components/tree/use-check.js.map +1 -0
- package/dist/components/tree/use-filter.js +45 -0
- package/dist/components/tree/use-filter.js.map +1 -0
- package/dist/components/tree/use-select.js +44 -0
- package/dist/components/tree/use-select.js.map +1 -0
- package/dist/components/tree/use-tree-nodes.js +59 -0
- package/dist/components/tree/use-tree-nodes.js.map +1 -0
- package/dist/components/tree-select/index.d.ts +1 -0
- package/dist/components/tree-select/style.d.ts +1 -0
- package/dist/components/tree-select/style.js +1 -0
- package/dist/components/tree-select/style2.css +85 -0
- package/dist/components/tree-select/tree-select.js +225 -0
- package/dist/components/tree-select/tree-select.js.map +1 -0
- package/dist/components/tree-select/tree-select.vue.d.ts +46 -0
- package/dist/components/watermark/index.d.ts +1 -0
- package/dist/components/watermark/style.d.ts +1 -0
- package/dist/components/watermark/style.js +1 -0
- package/dist/components/watermark/style2.css +25 -0
- package/dist/components/watermark/watermark.js +76 -0
- package/dist/components/watermark/watermark.js.map +1 -0
- package/dist/components/watermark/watermark.vue.d.ts +22 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.js +91 -0
- package/dist/types/action.d.ts +31 -0
- package/dist/types/animation.d.ts +23 -0
- package/dist/types/auto-complete.d.ts +26 -0
- package/dist/types/badge.d.ts +30 -0
- package/dist/types/batch-edit.d.ts +81 -0
- package/dist/types/button.d.ts +45 -0
- package/dist/types/calendar.d.ts +45 -0
- package/dist/types/card.d.ts +31 -0
- package/dist/types/cascade.d.ts +68 -0
- package/dist/types/check-tag.d.ts +19 -0
- package/dist/types/checkbox-group.d.ts +25 -0
- package/dist/types/checkbox.d.ts +31 -0
- package/dist/types/code-editor.d.ts +22 -0
- package/dist/types/condition-editor.d.ts +18 -0
- package/dist/types/context-menu.d.ts +46 -0
- package/dist/types/css-transition.d.ts +39 -0
- package/dist/types/date-panel.d.ts +20 -0
- package/dist/types/date-picker.d.ts +32 -0
- package/dist/types/date-range-picker.d.ts +32 -0
- package/dist/types/dialog.d.ts +36 -0
- package/dist/types/drawer.d.ts +33 -0
- package/dist/types/dropdown.d.ts +59 -0
- package/dist/types/empty.d.ts +19 -0
- package/dist/types/expression-editor.d.ts +30 -0
- package/dist/types/file-picker.d.ts +25 -0
- package/dist/types/float-button.d.ts +32 -0
- package/dist/types/form-item.d.ts +15 -0
- package/dist/types/form.d.ts +71 -0
- package/dist/types/gantt-chart.d.ts +16 -0
- package/dist/types/grid-input.d.ts +24 -0
- package/dist/types/grid.d.ts +81 -0
- package/dist/types/group-input.d.ts +28 -0
- package/dist/types/icon.d.ts +12 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.js +0 -0
- package/dist/types/input.d.ts +49 -0
- package/dist/types/layout.d.ts +50 -0
- package/dist/types/list.d.ts +15 -0
- package/dist/types/loading.d.ts +20 -0
- package/dist/types/menu.d.ts +40 -0
- package/dist/types/message-confirm.d.ts +25 -0
- package/dist/types/message.d.ts +65 -0
- package/dist/types/multi-auto-complete.d.ts +18 -0
- package/dist/types/multi-select.d.ts +51 -0
- package/dist/types/multi-tree-select.d.ts +51 -0
- package/dist/types/node-render.d.ts +12 -0
- package/dist/types/notification.d.ts +34 -0
- package/dist/types/number-input.d.ts +33 -0
- package/dist/types/number-range-input.d.ts +31 -0
- package/dist/types/number.d.ts +33 -0
- package/dist/types/paginator.d.ts +35 -0
- package/dist/types/palette.d.ts +35 -0
- package/dist/types/password-input.d.ts +19 -0
- package/dist/types/pop-confirm.d.ts +36 -0
- package/dist/types/pop.d.ts +18 -0
- package/dist/types/progress-nodes.d.ts +35 -0
- package/dist/types/progress.d.ts +24 -0
- package/dist/types/quick-batch-edit.d.ts +18 -0
- package/dist/types/radio-group.d.ts +41 -0
- package/dist/types/radio.d.ts +28 -0
- package/dist/types/rich-text-editor.d.ts +29 -0
- package/dist/types/scroll.d.ts +71 -0
- package/dist/types/select.d.ts +71 -0
- package/dist/types/slider.d.ts +39 -0
- package/dist/types/steps.d.ts +66 -0
- package/dist/types/switch.d.ts +25 -0
- package/dist/types/table-editor.d.ts +20 -0
- package/dist/types/table.d.ts +235 -0
- package/dist/types/tabs.d.ts +48 -0
- package/dist/types/tag.d.ts +22 -0
- package/dist/types/text-editor.d.ts +25 -0
- package/dist/types/text.d.ts +29 -0
- package/dist/types/textarea.d.ts +75 -0
- package/dist/types/theme.d.ts +25 -0
- package/dist/types/tip.d.ts +53 -0
- package/dist/types/tree-select.d.ts +49 -0
- package/dist/types/tree.d.ts +105 -0
- package/dist/types/watermark.d.ts +25 -0
- package/package.json +74 -0
- package/src/components/action/action-group.vue +73 -0
- package/src/components/action/action.vue +79 -0
- package/src/components/action/di.ts +5 -0
- package/src/components/action/index.ts +3 -0
- package/src/components/action/style.scss +27 -0
- package/src/components/action/style.ts +4 -0
- package/src/components/auto-complete/auto-complete.vue +205 -0
- package/src/components/auto-complete/index.ts +1 -0
- package/src/components/auto-complete/style.scss +109 -0
- package/src/components/auto-complete/style.ts +8 -0
- package/src/components/auto-complete/use-keyboard.ts +109 -0
- package/src/components/auto-complete/use-suggestions.ts +64 -0
- package/src/components/badge/badge.vue +68 -0
- package/src/components/badge/index.ts +1 -0
- package/src/components/badge/style.scss +50 -0
- package/src/components/badge/style.ts +1 -0
- package/src/components/batch-edit/batch-edit-form.vue +85 -0
- package/src/components/batch-edit/batch-edit-list.vue +145 -0
- package/src/components/batch-edit/batch-edit-new.vue +168 -0
- package/src/components/batch-edit/batch-edit.vue +139 -0
- package/src/components/batch-edit/di.ts +24 -0
- package/src/components/batch-edit/helper.ts +10 -0
- package/src/components/batch-edit/index.ts +3 -0
- package/src/components/batch-edit/style-new.scss +35 -0
- package/src/components/batch-edit/style.scss +68 -0
- package/src/components/batch-edit/style.ts +13 -0
- package/src/components/batch-edit/use-edit-new.ts +68 -0
- package/src/components/batch-edit/use-edit.ts +327 -0
- package/src/components/batch-edit/use-tip.ts +47 -0
- package/src/components/button/button-group.vue +23 -0
- package/src/components/button/button.vue +97 -0
- package/src/components/button/index.ts +2 -0
- package/src/components/button/style.scss +159 -0
- package/src/components/button/style.ts +3 -0
- package/src/components/calendar/calendar.vue +35 -0
- package/src/components/calendar/index.ts +1 -0
- package/src/components/calendar/style.scss +34 -0
- package/src/components/calendar/style.ts +1 -0
- package/src/components/calendar/utils.ts +118 -0
- package/src/components/card/card-action.vue +29 -0
- package/src/components/card/card-content.vue +32 -0
- package/src/components/card/card-cover.vue +36 -0
- package/src/components/card/card-header.vue +29 -0
- package/src/components/card/card.vue +36 -0
- package/src/components/card/di.ts +11 -0
- package/src/components/card/index.ts +5 -0
- package/src/components/card/style.scss +84 -0
- package/src/components/card/style.ts +1 -0
- package/src/components/cascade/cascade-panel-item.vue +85 -0
- package/src/components/cascade/cascade.vue +291 -0
- package/src/components/cascade/di.ts +14 -0
- package/src/components/cascade/index.ts +1 -0
- package/src/components/cascade/node.ts +25 -0
- package/src/components/cascade/style.scss +142 -0
- package/src/components/cascade/style.ts +8 -0
- package/src/components/cascade/use-check.ts +128 -0
- package/src/components/cascade/use-data-map.ts +36 -0
- package/src/components/cascade/use-select.ts +172 -0
- package/src/components/check-tag/check-tag.vue +30 -0
- package/src/components/check-tag/index.ts +1 -0
- package/src/components/check-tag/style.scss +27 -0
- package/src/components/check-tag/style.ts +1 -0
- package/src/components/checkbox/checkbox-button.vue +68 -0
- package/src/components/checkbox/checkbox.vue +64 -0
- package/src/components/checkbox/index.ts +3 -0
- package/src/components/checkbox/style.scss +108 -0
- package/src/components/checkbox/style.ts +3 -0
- package/src/components/checkbox-group/checkbox-group.vue +95 -0
- package/src/components/checkbox-group/index.ts +1 -0
- package/src/components/checkbox-group/style.scss +41 -0
- package/src/components/checkbox-group/style.ts +2 -0
- package/src/components/code-editor/code-editor.vue +125 -0
- package/src/components/code-editor/index.ts +1 -0
- package/src/components/code-editor/style.scss +33 -0
- package/src/components/code-editor/style.ts +1 -0
- package/src/components/condition-editor/condition-editor.vue +17 -0
- package/src/components/condition-editor/index.ts +1 -0
- package/src/components/condition-editor/style.scss +9 -0
- package/src/components/condition-editor/style.ts +1 -0
- package/src/components/context-menu/api.ts +23 -0
- package/src/components/context-menu/context-menu-item.vue +74 -0
- package/src/components/context-menu/context-menu.vue +129 -0
- package/src/components/context-menu/di.ts +5 -0
- package/src/components/context-menu/index.ts +1 -0
- package/src/components/context-menu/style.scss +47 -0
- package/src/components/context-menu/style.ts +4 -0
- package/src/components/date-panel/date-panel.vue +45 -0
- package/src/components/date-panel/di.ts +35 -0
- package/src/components/date-panel/headers/day.vue +45 -0
- package/src/components/date-panel/headers/month.vue +29 -0
- package/src/components/date-panel/headers/year.vue +36 -0
- package/src/components/date-panel/index.ts +1 -0
- package/src/components/date-panel/panels/day.vue +94 -0
- package/src/components/date-panel/panels/month.vue +80 -0
- package/src/components/date-panel/panels/year.vue +78 -0
- package/src/components/date-panel/style.scss +144 -0
- package/src/components/date-panel/style.ts +1 -0
- package/src/components/date-panel/use-date-select.ts +116 -0
- package/src/components/date-panel/use-panel-date.ts +68 -0
- package/src/components/date-panel/use-panel.ts +71 -0
- package/src/components/date-picker/date-picker.vue +121 -0
- package/src/components/date-picker/index.ts +1 -0
- package/src/components/date-picker/style.scss +15 -0
- package/src/components/date-picker/style.ts +4 -0
- package/src/components/date-picker/use-date.ts +169 -0
- package/src/components/date-range-picker/date-range-picker.vue +153 -0
- package/src/components/date-range-picker/index.ts +1 -0
- package/src/components/date-range-picker/style.scss +80 -0
- package/src/components/date-range-picker/style.ts +4 -0
- package/src/components/dialog/di.ts +7 -0
- package/src/components/dialog/dialog.vue +251 -0
- package/src/components/dialog/index.ts +1 -0
- package/src/components/dialog/style.scss +145 -0
- package/src/components/dialog/style.ts +5 -0
- package/src/components/dialog/use-maximum.ts +51 -0
- package/src/components/drawer/drawer.vue +83 -0
- package/src/components/drawer/index.ts +1 -0
- package/src/components/drawer/style.scss +145 -0
- package/src/components/drawer/style.ts +3 -0
- package/src/components/dropdown/dropdown.vue +186 -0
- package/src/components/dropdown/index.ts +1 -0
- package/src/components/dropdown/style.scss +18 -0
- package/src/components/dropdown/style.ts +2 -0
- package/src/components/empty/empty.vue +25 -0
- package/src/components/empty/index.ts +1 -0
- package/src/components/empty/style.scss +13 -0
- package/src/components/empty/style.ts +2 -0
- package/src/components/expression-editor/__test__/architecture-boundaries.test.ts +103 -0
- package/src/components/expression-editor/__test__/architecture-compatibility.test.ts +52 -0
- package/src/components/expression-editor/__test__/drag-drop.test.ts +171 -0
- package/src/components/expression-editor/__test__/parser.test.ts +62 -0
- package/src/components/expression-editor/components/variable-picker.vue +301 -0
- package/src/components/expression-editor/constants.ts +6 -0
- package/src/components/expression-editor/di.ts +43 -0
- package/src/components/expression-editor/expression-editor.vue +211 -0
- package/src/components/expression-editor/index.ts +1 -0
- package/src/components/expression-editor/internal/contracts/editor-runtime.ts +11 -0
- package/src/components/expression-editor/internal/editor-runtime/create-runtime.ts +64 -0
- package/src/components/expression-editor/internal/editor-runtime/index.ts +1 -0
- package/src/components/expression-editor/internal/editor-runtime/model-sync.ts +68 -0
- package/src/components/expression-editor/internal/features/commands/register-command-packs.ts +517 -0
- package/src/components/expression-editor/internal/features/drag-drop/drag-drop-service.ts +51 -0
- package/src/components/expression-editor/internal/features/insertion/insertion-service.ts +56 -0
- package/src/components/expression-editor/nodes/variable-node.tsx +118 -0
- package/src/components/expression-editor/parser.ts +46 -0
- package/src/components/expression-editor/plain-text.ts +25 -0
- package/src/components/expression-editor/plan.md +22 -0
- package/src/components/expression-editor/style.scss +380 -0
- package/src/components/expression-editor/style.ts +7 -0
- package/src/components/expression-editor/use-context.ts +134 -0
- package/src/components/expression-editor/use-decorators.tsx +29 -0
- package/src/components/expression-editor/use-editor.ts +12 -0
- package/src/components/expression-editor/use-expression-drag-drop.ts +396 -0
- package/src/components/file-picker/file-picker.vue +85 -0
- package/src/components/file-picker/helper.ts +22 -0
- package/src/components/file-picker/index.ts +1 -0
- package/src/components/file-picker/style.scss +13 -0
- package/src/components/file-picker/style.ts +1 -0
- package/src/components/float-button/float-button.vue +87 -0
- package/src/components/float-button/index.ts +1 -0
- package/src/components/float-button/style.scss +37 -0
- package/src/components/float-button/style.ts +2 -0
- package/src/components/form/dynamic-form-model.ts +230 -0
- package/src/components/form/form-model.ts +240 -0
- package/src/components/form/form.vue +95 -0
- package/src/components/form/helper.ts +14 -0
- package/src/components/form/index.ts +6 -0
- package/src/components/form/style.scss +27 -0
- package/src/components/form/style.ts +3 -0
- package/src/components/form/use-node-interceptor.ts +87 -0
- package/src/components/form-item/form-item.vue +94 -0
- package/src/components/form-item/helper.ts +19 -0
- package/src/components/form-item/index.ts +1 -0
- package/src/components/form-item/style.scss +115 -0
- package/src/components/form-item/style.ts +2 -0
- package/src/components/gantt-chart/gantt-chart.vue +17 -0
- package/src/components/gantt-chart/index.ts +1 -0
- package/src/components/gantt-chart/style.scss +6 -0
- package/src/components/gantt-chart/style.ts +1 -0
- package/src/components/grid/breakpoint.ts +49 -0
- package/src/components/grid/di.ts +12 -0
- package/src/components/grid/grid-item.vue +60 -0
- package/src/components/grid/grid.vue +88 -0
- package/src/components/grid/index.ts +2 -0
- package/src/components/grid/style.scss +7 -0
- package/src/components/grid/style.ts +1 -0
- package/src/components/grid/use-responsive.ts +85 -0
- package/src/components/grid-input/grid-input.vue +126 -0
- package/src/components/grid-input/index.ts +1 -0
- package/src/components/grid-input/style.scss +59 -0
- package/src/components/grid-input/style.ts +1 -0
- package/src/components/group-input/group-input.vue +93 -0
- package/src/components/group-input/index.ts +1 -0
- package/src/components/group-input/style.scss +35 -0
- package/src/components/group-input/style.ts +1 -0
- package/src/components/group-input/use-group-items.ts +60 -0
- package/src/components/icon/icon.vue +27 -0
- package/src/components/icon/index.ts +1 -0
- package/src/components/icon/style.scss +37 -0
- package/src/components/icon/style.ts +1 -0
- package/src/components/index.ts +139 -0
- package/src/components/input/index.ts +1 -0
- package/src/components/input/input.vue +173 -0
- package/src/components/input/style.scss +101 -0
- package/src/components/input/style.ts +3 -0
- package/src/components/layout/di.ts +8 -0
- package/src/components/layout/index.ts +1 -0
- package/src/components/layout/layout-resizer.vue +83 -0
- package/src/components/layout/layout.vue +138 -0
- package/src/components/layout/style.scss +25 -0
- package/src/components/layout/style.ts +2 -0
- package/src/components/list/index.ts +3 -0
- package/src/components/list/list-item.vue +15 -0
- package/src/components/list/list.vue +26 -0
- package/src/components/list/style.scss +16 -0
- package/src/components/list/style.ts +2 -0
- package/src/components/loading/directive.ts +34 -0
- package/src/components/loading/index.ts +3 -0
- package/src/components/loading/loading.vue +33 -0
- package/src/components/loading/style.scss +432 -0
- package/src/components/loading/style.ts +2 -0
- package/src/components/menu/di.ts +16 -0
- package/src/components/menu/helper.ts +3 -0
- package/src/components/menu/index.ts +3 -0
- package/src/components/menu/menu-icon.vue +21 -0
- package/src/components/menu/menu-item-collapsed.vue +66 -0
- package/src/components/menu/menu-item.vue +36 -0
- package/src/components/menu/menu-node.ts +6 -0
- package/src/components/menu/menu-sub-collapsed.vue +80 -0
- package/src/components/menu/menu-sub.vue +81 -0
- package/src/components/menu/menu.vue +103 -0
- package/src/components/menu/style.scss +261 -0
- package/src/components/menu/style.ts +3 -0
- package/src/components/menu/use-menu-item.ts +51 -0
- package/src/components/menu/use-menu-transition.ts +69 -0
- package/src/components/menu/walk-menu-path.ts +18 -0
- package/src/components/message/helper.ts +27 -0
- package/src/components/message/index.ts +3 -0
- package/src/components/message/message-box.vue +37 -0
- package/src/components/message/message.ts +118 -0
- package/src/components/message/message.vue +82 -0
- package/src/components/message/style.scss +89 -0
- package/src/components/message/style.ts +1 -0
- package/src/components/message-confirm/index.ts +3 -0
- package/src/components/message-confirm/message-confirm.ts +31 -0
- package/src/components/message-confirm/message-confirm.vue +66 -0
- package/src/components/message-confirm/style.scss +70 -0
- package/src/components/message-confirm/style.ts +1 -0
- package/src/components/multi-select/di.ts +10 -0
- package/src/components/multi-select/index.ts +1 -0
- package/src/components/multi-select/multi-select-option.vue +75 -0
- package/src/components/multi-select/multi-select.vue +446 -0
- package/src/components/multi-select/style.scss +148 -0
- package/src/components/multi-select/style.ts +10 -0
- package/src/components/multi-tree-select/index.ts +1 -0
- package/src/components/multi-tree-select/multi-tree-select.vue +309 -0
- package/src/components/multi-tree-select/style.scss +107 -0
- package/src/components/multi-tree-select/style.ts +9 -0
- package/src/components/node-render/index.ts +1 -0
- package/src/components/node-render/node-render.ts +39 -0
- package/src/components/node-render/style.scss +6 -0
- package/src/components/node-render/style.ts +1 -0
- package/src/components/notification/index.ts +145 -0
- package/src/components/notification/notification.vue +126 -0
- package/src/components/notification/style.scss +95 -0
- package/src/components/notification/style.ts +1 -0
- package/src/components/number/index.ts +1 -0
- package/src/components/number/number.vue +55 -0
- package/src/components/number/style.scss +6 -0
- package/src/components/number/style.ts +1 -0
- package/src/components/number-input/index.ts +1 -0
- package/src/components/number-input/number-input.vue +381 -0
- package/src/components/number-input/style.scss +35 -0
- package/src/components/number-input/style.ts +3 -0
- package/src/components/number-range-input/index.ts +1 -0
- package/src/components/number-range-input/number-range-input.vue +214 -0
- package/src/components/number-range-input/style.scss +14 -0
- package/src/components/number-range-input/style.ts +2 -0
- package/src/components/paginator/index.ts +1 -0
- package/src/components/paginator/paginator.vue +212 -0
- package/src/components/paginator/style.scss +82 -0
- package/src/components/paginator/style.ts +4 -0
- package/src/components/palette/color-transform.ts +134 -0
- package/src/components/palette/di.ts +25 -0
- package/src/components/palette/index.ts +1 -0
- package/src/components/palette/palette-alpha.vue +86 -0
- package/src/components/palette/palette-color-switch.vue +39 -0
- package/src/components/palette/palette-hue.vue +70 -0
- package/src/components/palette/palette-sv.vue +114 -0
- package/src/components/palette/palette.vue +112 -0
- package/src/components/palette/style.scss +151 -0
- package/src/components/palette/style.ts +4 -0
- package/src/components/palette/use-hsv.ts +57 -0
- package/src/components/password-input/index.ts +1 -0
- package/src/components/password-input/password-input.vue +119 -0
- package/src/components/password-input/style.scss +11 -0
- package/src/components/password-input/style.ts +3 -0
- package/src/components/pop-confirm/index.ts +1 -0
- package/src/components/pop-confirm/pop-confirm.vue +79 -0
- package/src/components/pop-confirm/style.scss +33 -0
- package/src/components/pop-confirm/style.ts +4 -0
- package/src/components/progress/index.ts +1 -0
- package/src/components/progress/progress.vue +93 -0
- package/src/components/progress/style.scss +60 -0
- package/src/components/progress/style.ts +1 -0
- package/src/components/progress-nodes/index.ts +1 -0
- package/src/components/progress-nodes/progress-nodes.vue +147 -0
- package/src/components/progress-nodes/style.scss +174 -0
- package/src/components/progress-nodes/style.ts +1 -0
- package/src/components/radio/index.ts +1 -0
- package/src/components/radio/radio.vue +63 -0
- package/src/components/radio/style.scss +78 -0
- package/src/components/radio/style.ts +2 -0
- package/src/components/radio-group/index.ts +1 -0
- package/src/components/radio-group/radio-group.vue +58 -0
- package/src/components/radio-group/style.scss +39 -0
- package/src/components/radio-group/style.ts +2 -0
- package/src/components/rich-text-editor/index.ts +1 -0
- package/src/components/rich-text-editor/rich-text-editor.vue +265 -0
- package/src/components/rich-text-editor/style.scss +379 -0
- package/src/components/rich-text-editor/style.ts +1 -0
- package/src/components/rich-text-editor/toolbar.vue +305 -0
- package/src/components/scroll/di.ts +5 -0
- package/src/components/scroll/index.ts +1 -0
- package/src/components/scroll/scroll-bar.vue +102 -0
- package/src/components/scroll/scroll.vue +208 -0
- package/src/components/scroll/style.scss +115 -0
- package/src/components/scroll/style.ts +1 -0
- package/src/components/select/index.ts +1 -0
- package/src/components/select/select.vue +315 -0
- package/src/components/select/style.scss +136 -0
- package/src/components/select/style.ts +7 -0
- package/src/components/select/use-keyboard.ts +54 -0
- package/src/components/select/use-options.ts +119 -0
- package/src/components/slider/di.ts +14 -0
- package/src/components/slider/index.ts +1 -0
- package/src/components/slider/slider-thumb.vue +73 -0
- package/src/components/slider/slider.vue +144 -0
- package/src/components/slider/style.scss +144 -0
- package/src/components/slider/style.ts +1 -0
- package/src/components/slider/use-slider.ts +91 -0
- package/src/components/steps/index.ts +1 -0
- package/src/components/steps/steps.vue +175 -0
- package/src/components/steps/style.scss +196 -0
- package/src/components/steps/style.ts +3 -0
- package/src/components/switch/index.ts +1 -0
- package/src/components/switch/style.scss +94 -0
- package/src/components/switch/style.ts +1 -0
- package/src/components/switch/switch.vue +68 -0
- package/src/components/table/di.ts +62 -0
- package/src/components/table/index.ts +3 -0
- package/src/components/table/node/col.ts +102 -0
- package/src/components/table/node/row.ts +75 -0
- package/src/components/table/style.scss +284 -0
- package/src/components/table/style.ts +8 -0
- package/src/components/table/table-body.vue +82 -0
- package/src/components/table/table-cell.vue +33 -0
- package/src/components/table/table-foot.vue +97 -0
- package/src/components/table/table-head.tsx +50 -0
- package/src/components/table/table-row.tsx +142 -0
- package/src/components/table/table.vue +221 -0
- package/src/components/table/use-check.ts +329 -0
- package/src/components/table/use-col-resize.ts +125 -0
- package/src/components/table/use-columns.ts +255 -0
- package/src/components/table/use-fixed-columns.ts +36 -0
- package/src/components/table/use-rows.ts +242 -0
- package/src/components/table/use-table.ts +154 -0
- package/src/components/table-editor/index.ts +1 -0
- package/src/components/table-editor/style.scss +22 -0
- package/src/components/table-editor/style.ts +3 -0
- package/src/components/table-editor/table-editor.vue +103 -0
- package/src/components/tabs/index.ts +1 -0
- package/src/components/tabs/style.scss +193 -0
- package/src/components/tabs/style.ts +4 -0
- package/src/components/tabs/tabs.vue +167 -0
- package/src/components/tag/index.ts +1 -0
- package/src/components/tag/style.scss +91 -0
- package/src/components/tag/style.ts +1 -0
- package/src/components/tag/tag.vue +55 -0
- package/src/components/text/index.ts +1 -0
- package/src/components/text/style.scss +54 -0
- package/src/components/text/style.ts +1 -0
- package/src/components/text/text.vue +74 -0
- package/src/components/textarea/index.ts +1 -0
- package/src/components/textarea/style.scss +86 -0
- package/src/components/textarea/style.ts +3 -0
- package/src/components/textarea/textarea.vue +135 -0
- package/src/components/textarea/utils.ts +11 -0
- package/src/components/theme/di.ts +4 -0
- package/src/components/theme/group-item.vue +23 -0
- package/src/components/theme/group.vue +23 -0
- package/src/components/theme/index.ts +1 -0
- package/src/components/theme/schema.ts +210 -0
- package/src/components/theme/style.scss +429 -0
- package/src/components/theme/style.ts +6 -0
- package/src/components/theme/theme.vue +470 -0
- package/src/components/tip/index.ts +1 -0
- package/src/components/tip/style.scss +63 -0
- package/src/components/tip/style.ts +1 -0
- package/src/components/tip/tip.vue +169 -0
- package/src/components/tip/use-nest.ts +49 -0
- package/src/components/tree/di.ts +33 -0
- package/src/components/tree/index.ts +1 -0
- package/src/components/tree/style.scss +127 -0
- package/src/components/tree/style.ts +5 -0
- package/src/components/tree/tree-node.ts +65 -0
- package/src/components/tree/tree-node.vue +79 -0
- package/src/components/tree/tree.vue +219 -0
- package/src/components/tree/use-check.ts +149 -0
- package/src/components/tree/use-filter.ts +73 -0
- package/src/components/tree/use-select.ts +66 -0
- package/src/components/tree/use-tree-nodes.ts +88 -0
- package/src/components/tree-select/index.ts +1 -0
- package/src/components/tree-select/style.scss +65 -0
- package/src/components/tree-select/style.ts +5 -0
- package/src/components/tree-select/tree-select.vue +198 -0
- package/src/components/watermark/base64.ts +40 -0
- package/src/components/watermark/index.ts +1 -0
- package/src/components/watermark/style.scss +15 -0
- package/src/components/watermark/style.ts +1 -0
- package/src/components/watermark/watermark.vue +89 -0
- package/src/env.d.ts +7 -0
- package/src/index.ts +3 -0
- package/src/types/action.ts +34 -0
- package/src/types/animation.ts +23 -0
- package/src/types/auto-complete.ts +25 -0
- package/src/types/badge.ts +29 -0
- package/src/types/batch-edit.ts +100 -0
- package/src/types/button.ts +45 -0
- package/src/types/calendar.ts +47 -0
- package/src/types/card.ts +34 -0
- package/src/types/cascade.ts +70 -0
- package/src/types/check-tag.ts +19 -0
- package/src/types/checkbox-group.ts +23 -0
- package/src/types/checkbox.ts +31 -0
- package/src/types/code-editor.ts +22 -0
- package/src/types/condition-editor.ts +17 -0
- package/src/types/context-menu.ts +43 -0
- package/src/types/css-transition.ts +38 -0
- package/src/types/date-panel.ts +18 -0
- package/src/types/date-picker.ts +31 -0
- package/src/types/date-range-picker.ts +31 -0
- package/src/types/dialog.ts +35 -0
- package/src/types/drawer.ts +35 -0
- package/src/types/dropdown.ts +59 -0
- package/src/types/empty.ts +19 -0
- package/src/types/expression-editor.ts +30 -0
- package/src/types/file-picker.ts +24 -0
- package/src/types/float-button.ts +33 -0
- package/src/types/form-item.ts +13 -0
- package/src/types/form.ts +89 -0
- package/src/types/gantt-chart.ts +15 -0
- package/src/types/grid-input.ts +23 -0
- package/src/types/grid.ts +86 -0
- package/src/types/group-input.ts +29 -0
- package/src/types/icon.ts +10 -0
- package/src/types/index.ts +78 -0
- package/src/types/input.ts +48 -0
- package/src/types/layout.ts +50 -0
- package/src/types/list.ts +14 -0
- package/src/types/loading.ts +20 -0
- package/src/types/menu.ts +41 -0
- package/src/types/message-confirm.ts +24 -0
- package/src/types/message.ts +71 -0
- package/src/types/multi-auto-complete.ts +17 -0
- package/src/types/multi-select.ts +52 -0
- package/src/types/multi-tree-select.ts +53 -0
- package/src/types/node-render.ts +9 -0
- package/src/types/notification.ts +33 -0
- package/src/types/number-input.ts +31 -0
- package/src/types/number-range-input.ts +33 -0
- package/src/types/number.ts +31 -0
- package/src/types/paginator.ts +34 -0
- package/src/types/palette.ts +37 -0
- package/src/types/password-input.ts +19 -0
- package/src/types/pop-confirm.ts +39 -0
- package/src/types/pop.ts +17 -0
- package/src/types/progress-nodes.ts +34 -0
- package/src/types/progress.ts +23 -0
- package/src/types/quick-batch-edit.ts +17 -0
- package/src/types/radio-group.ts +39 -0
- package/src/types/radio.ts +26 -0
- package/src/types/rich-text-editor.ts +44 -0
- package/src/types/scroll.ts +87 -0
- package/src/types/select.ts +70 -0
- package/src/types/slider.ts +38 -0
- package/src/types/steps.ts +68 -0
- package/src/types/switch.ts +24 -0
- package/src/types/table-editor.ts +20 -0
- package/src/types/table.ts +239 -0
- package/src/types/tabs.ts +55 -0
- package/src/types/tag.ts +19 -0
- package/src/types/text-editor.ts +25 -0
- package/src/types/text.ts +28 -0
- package/src/types/textarea.ts +77 -0
- package/src/types/theme.ts +23 -0
- package/src/types/tip.ts +58 -0
- package/src/types/tree-select.ts +54 -0
- package/src/types/tree.ts +110 -0
- package/src/types/watermark.ts +24 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Teleport, computed, createVNode, isVNode, onBeforeUnmount, shallowRef } from "vue";
|
|
2
|
+
//#region src/components/expression-editor/use-decorators.tsx
|
|
3
|
+
function _isSlot(s) {
|
|
4
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
5
|
+
}
|
|
6
|
+
function useDecorators(editor) {
|
|
7
|
+
const decorators = shallowRef(editor.getDecorators());
|
|
8
|
+
const removeListener = editor.registerDecoratorListener((nextDecorators) => {
|
|
9
|
+
decorators.value = nextDecorators;
|
|
10
|
+
});
|
|
11
|
+
onBeforeUnmount(() => {
|
|
12
|
+
removeListener();
|
|
13
|
+
});
|
|
14
|
+
return computed(() => {
|
|
15
|
+
const decoratedTeleports = [];
|
|
16
|
+
Object.keys(decorators.value).forEach((nodeKey) => {
|
|
17
|
+
const node = decorators.value[nodeKey];
|
|
18
|
+
const element = editor.getElementByKey(nodeKey);
|
|
19
|
+
if (element !== null) decoratedTeleports.push(createVNode(Teleport, { "to": element }, _isSlot(node) ? node : { default: () => [node] }));
|
|
20
|
+
});
|
|
21
|
+
return decoratedTeleports;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { useDecorators };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=use-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-decorators.js","names":["LexicalEditor","DefineComponent","VNode","Teleport","computed","onBeforeUnmount","shallowRef","ComputedRef","isVNode","_isVNode","createVNode","_createVNode","_isSlot","s","Object","prototype","toString","call","useDecorators","editor","decorators","getDecorators","removeListener","registerDecoratorListener","nextDecorators","value","decoratedTeleports","decoratorKeys","keys","forEach","nodeKey","node","element","getElementByKey","push","default"],"sources":["../../../src/components/expression-editor/use-decorators.tsx"],"sourcesContent":["import type { LexicalEditor } from 'lexical'\nimport type { DefineComponent, VNode } from 'vue'\nimport { Teleport, computed, onBeforeUnmount, shallowRef, type ComputedRef } from 'vue'\n\nexport function useDecorators(editor: LexicalEditor): ComputedRef<VNode[]> {\n const decorators = shallowRef(editor.getDecorators<DefineComponent>())\n\n const removeListener = editor.registerDecoratorListener<DefineComponent>((nextDecorators) => {\n decorators.value = nextDecorators\n })\n\n onBeforeUnmount(() => {\n removeListener()\n })\n\n return computed(() => {\n const decoratedTeleports: VNode[] = []\n const decoratorKeys = Object.keys(decorators.value)\n decoratorKeys.forEach((nodeKey) => {\n const node = decorators.value[nodeKey]!\n const element = editor.getElementByKey(nodeKey)\n if (element !== null) {\n decoratedTeleports.push(<Teleport to={element}>{node}</Teleport>)\n }\n })\n\n return decoratedTeleports\n })\n}\n"],"mappings":";;AAEuF,SAAAY,QAAAC,GAAA;AAAA,QAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAJ,QAAAI,EAAA;;AAEvF,SAAgBK,cAAcC,QAA6C;CACzE,MAAMC,aAAad,WAAWa,OAAOE,eAAgC,CAAC;CAEtE,MAAMC,iBAAiBH,OAAOI,2BAA4CC,mBAAmB;AAC3FJ,aAAWK,QAAQD;GACnB;AAEFnB,uBAAsB;AACpBiB,kBAAgB;GAChB;AAEF,QAAOlB,eAAe;EACpB,MAAMsB,qBAA8B,EAAE;AAChBZ,SAAOc,KAAKR,WAAWK,MAAM,CACrCI,SAASC,YAAY;GACjC,MAAMC,OAAOX,WAAWK,MAAMK;GAC9B,MAAME,UAAUb,OAAOc,gBAAgBH,QAAQ;AAC/C,OAAIE,YAAY,KACdN,oBAAmBQ,KAAIvB,YAAAR,UAAA,EAAA,MAAe6B,SAAO,EAAApB,QAAGmB,KAAI,GAAJA,OAAI,EAAAI,eAAA,CAAJJ,KAAI,EAAA,CAAY,CAAC;IAEnE;AAEF,SAAOL;GACP"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { EXPRESSION_DROP_SCOPE_ATTR, EXPRESSION_VARIABLE_DRAG_KEY_ATTR, EXPRESSION_VARIABLE_DRAG_MARKER_ATTR, EXPRESSION_VARIABLE_DRAG_TYPE } from "./constants.js";
|
|
2
|
+
import { VariableNode } from "./nodes/variable-node.js";
|
|
3
|
+
import { $getNodeByKey, $getRoot } from "lexical";
|
|
4
|
+
//#region src/components/expression-editor/use-expression-drag-drop.ts
|
|
5
|
+
const DROP_INDICATOR_CLASS = "expression-editor__drop-indicator";
|
|
6
|
+
const DRAG_SOURCE_CLASS = "is-dragging";
|
|
7
|
+
const dragVisualStateMap = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
function getDragVisualState(editor) {
|
|
9
|
+
const existing = dragVisualStateMap.get(editor);
|
|
10
|
+
if (existing) return existing;
|
|
11
|
+
const created = {
|
|
12
|
+
indicatorEl: null,
|
|
13
|
+
sourceEl: null,
|
|
14
|
+
cleanupDragEnd: null,
|
|
15
|
+
activePayload: null
|
|
16
|
+
};
|
|
17
|
+
dragVisualStateMap.set(editor, created);
|
|
18
|
+
return created;
|
|
19
|
+
}
|
|
20
|
+
function isHTMLElement(target) {
|
|
21
|
+
return target instanceof HTMLElement;
|
|
22
|
+
}
|
|
23
|
+
function hasChildren(node) {
|
|
24
|
+
return typeof node.getChildren === "function";
|
|
25
|
+
}
|
|
26
|
+
function traverseVariableNodes(node, collector) {
|
|
27
|
+
if (node instanceof VariableNode) {
|
|
28
|
+
collector.push({
|
|
29
|
+
key: node.getKey(),
|
|
30
|
+
variable: node.getVariable(),
|
|
31
|
+
label: node.getLabel()
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (!hasChildren(node)) return;
|
|
36
|
+
node.getChildren().forEach((child) => traverseVariableNodes(child, collector));
|
|
37
|
+
}
|
|
38
|
+
function $collectVariableNodeDescriptors() {
|
|
39
|
+
const collector = [];
|
|
40
|
+
traverseVariableNodes($getRoot(), collector);
|
|
41
|
+
return collector;
|
|
42
|
+
}
|
|
43
|
+
function getDropIndicator(rootElement) {
|
|
44
|
+
const existing = rootElement.querySelector(`.${DROP_INDICATOR_CLASS}`);
|
|
45
|
+
if (existing) return existing;
|
|
46
|
+
const indicator = document.createElement("div");
|
|
47
|
+
indicator.className = DROP_INDICATOR_CLASS;
|
|
48
|
+
indicator.style.opacity = "0";
|
|
49
|
+
rootElement.appendChild(indicator);
|
|
50
|
+
return indicator;
|
|
51
|
+
}
|
|
52
|
+
function getDropAnchors(editor) {
|
|
53
|
+
const descriptors = collectVariableNodeDescriptors(editor);
|
|
54
|
+
if (descriptors.length === 0) return [];
|
|
55
|
+
const rects = descriptors.map((descriptor) => editor.getElementByKey(descriptor.key)).filter((element) => element instanceof HTMLElement).map((element) => element.getBoundingClientRect());
|
|
56
|
+
if (rects.length === 0) return [];
|
|
57
|
+
const anchors = [];
|
|
58
|
+
const first = rects[0];
|
|
59
|
+
anchors.push({
|
|
60
|
+
x: first.left,
|
|
61
|
+
y: first.top,
|
|
62
|
+
height: first.height
|
|
63
|
+
});
|
|
64
|
+
for (let index = 0; index < rects.length - 1; index++) {
|
|
65
|
+
const currentRect = rects[index];
|
|
66
|
+
const nextRect = rects[index + 1];
|
|
67
|
+
anchors.push({
|
|
68
|
+
x: (currentRect.right + nextRect.left) / 2,
|
|
69
|
+
y: (currentRect.top + nextRect.top) / 2,
|
|
70
|
+
height: Math.max(currentRect.height, nextRect.height)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const last = rects[rects.length - 1];
|
|
74
|
+
anchors.push({
|
|
75
|
+
x: last.right,
|
|
76
|
+
y: last.top,
|
|
77
|
+
height: last.height
|
|
78
|
+
});
|
|
79
|
+
return anchors;
|
|
80
|
+
}
|
|
81
|
+
function getDistance(pointerX, pointerY, anchor) {
|
|
82
|
+
const dx = pointerX - anchor.x;
|
|
83
|
+
const dy = pointerY - (anchor.y + anchor.height / 2);
|
|
84
|
+
return dx * dx + dy * dy;
|
|
85
|
+
}
|
|
86
|
+
function supportsNativeDnD() {
|
|
87
|
+
if (typeof window === "undefined") return false;
|
|
88
|
+
const hasDragApi = "draggable" in document.createElement("span") && typeof DataTransfer !== "undefined";
|
|
89
|
+
const coarsePointer = window.matchMedia?.("(pointer: coarse)").matches ?? false;
|
|
90
|
+
return hasDragApi && !coarsePointer;
|
|
91
|
+
}
|
|
92
|
+
function collectVariableNodeDescriptors(editor) {
|
|
93
|
+
let descriptors = [];
|
|
94
|
+
editor.getEditorState().read(() => {
|
|
95
|
+
descriptors = $collectVariableNodeDescriptors();
|
|
96
|
+
});
|
|
97
|
+
return descriptors;
|
|
98
|
+
}
|
|
99
|
+
function ensureDropScopeId(editor) {
|
|
100
|
+
const rootElement = editor.getRootElement();
|
|
101
|
+
if (!rootElement) return "";
|
|
102
|
+
const existing = rootElement.getAttribute(EXPRESSION_DROP_SCOPE_ATTR);
|
|
103
|
+
if (existing) return existing;
|
|
104
|
+
const generated = `scope-${Math.random().toString(36).slice(2)}`;
|
|
105
|
+
rootElement.setAttribute(EXPRESSION_DROP_SCOPE_ATTR, generated);
|
|
106
|
+
return generated;
|
|
107
|
+
}
|
|
108
|
+
function findVariableDragSource(target) {
|
|
109
|
+
if (!isHTMLElement(target)) return null;
|
|
110
|
+
return target.closest(`[${EXPRESSION_VARIABLE_DRAG_MARKER_ATTR}="true"]`);
|
|
111
|
+
}
|
|
112
|
+
function readDragSourceKey(target) {
|
|
113
|
+
const source = findVariableDragSource(target);
|
|
114
|
+
if (!source) return null;
|
|
115
|
+
return source.getAttribute(EXPRESSION_VARIABLE_DRAG_KEY_ATTR);
|
|
116
|
+
}
|
|
117
|
+
function createInternalDragPayload(payload) {
|
|
118
|
+
return JSON.stringify(payload);
|
|
119
|
+
}
|
|
120
|
+
function writeInternalDragPayload(dataTransfer, payload) {
|
|
121
|
+
if (!dataTransfer) return;
|
|
122
|
+
dataTransfer.setData(EXPRESSION_VARIABLE_DRAG_TYPE, createInternalDragPayload(payload));
|
|
123
|
+
}
|
|
124
|
+
function parseInternalDragPayload(payloadText) {
|
|
125
|
+
if (!payloadText) return null;
|
|
126
|
+
try {
|
|
127
|
+
const parsed = JSON.parse(payloadText);
|
|
128
|
+
if (parsed.action !== "move-variable" || typeof parsed.scopeId !== "string" || parsed.scopeId.length === 0 || typeof parsed.sourceKey !== "string" || parsed.sourceKey.length === 0) return null;
|
|
129
|
+
return {
|
|
130
|
+
action: parsed.action,
|
|
131
|
+
scopeId: parsed.scopeId,
|
|
132
|
+
sourceKey: parsed.sourceKey
|
|
133
|
+
};
|
|
134
|
+
} catch {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function readInternalDragPayload(dataTransfer) {
|
|
139
|
+
if (!dataTransfer) return null;
|
|
140
|
+
return parseInternalDragPayload(dataTransfer.getData(EXPRESSION_VARIABLE_DRAG_TYPE));
|
|
141
|
+
}
|
|
142
|
+
function beginDragVisualState(editor, sourceEl, payload) {
|
|
143
|
+
const state = getDragVisualState(editor);
|
|
144
|
+
clearDragVisualState(editor);
|
|
145
|
+
state.activePayload = payload ?? null;
|
|
146
|
+
if (!sourceEl) return;
|
|
147
|
+
sourceEl.classList.add(DRAG_SOURCE_CLASS);
|
|
148
|
+
state.sourceEl = sourceEl;
|
|
149
|
+
const onDragEnd = () => {
|
|
150
|
+
clearDragVisualState(editor);
|
|
151
|
+
};
|
|
152
|
+
window.addEventListener("dragend", onDragEnd, true);
|
|
153
|
+
state.cleanupDragEnd = () => {
|
|
154
|
+
window.removeEventListener("dragend", onDragEnd, true);
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function getActiveInternalDragPayload(editor) {
|
|
158
|
+
return getDragVisualState(editor).activePayload;
|
|
159
|
+
}
|
|
160
|
+
function showDropIndicator(editor, slot) {
|
|
161
|
+
const rootElement = editor.getRootElement();
|
|
162
|
+
if (!rootElement) return;
|
|
163
|
+
const anchors = getDropAnchors(editor);
|
|
164
|
+
if (slot < 0 || slot >= anchors.length) {
|
|
165
|
+
clearDropIndicator(editor);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const anchor = anchors[slot];
|
|
169
|
+
const indicator = getDropIndicator(rootElement);
|
|
170
|
+
const rootRect = rootElement.getBoundingClientRect();
|
|
171
|
+
indicator.style.left = `${anchor.x - rootRect.left}px`;
|
|
172
|
+
indicator.style.top = `${anchor.y - rootRect.top}px`;
|
|
173
|
+
indicator.style.height = `${anchor.height}px`;
|
|
174
|
+
indicator.style.opacity = "1";
|
|
175
|
+
const state = getDragVisualState(editor);
|
|
176
|
+
state.indicatorEl = indicator;
|
|
177
|
+
}
|
|
178
|
+
function clearDropIndicator(editor) {
|
|
179
|
+
const state = getDragVisualState(editor);
|
|
180
|
+
if (!state.indicatorEl) return;
|
|
181
|
+
state.indicatorEl.style.opacity = "0";
|
|
182
|
+
}
|
|
183
|
+
function clearDragVisualState(editor) {
|
|
184
|
+
const state = getDragVisualState(editor);
|
|
185
|
+
if (state.sourceEl) {
|
|
186
|
+
state.sourceEl.classList.remove(DRAG_SOURCE_CLASS);
|
|
187
|
+
state.sourceEl = null;
|
|
188
|
+
}
|
|
189
|
+
if (state.indicatorEl) {
|
|
190
|
+
state.indicatorEl.style.opacity = "0";
|
|
191
|
+
state.indicatorEl = null;
|
|
192
|
+
}
|
|
193
|
+
if (state.cleanupDragEnd) {
|
|
194
|
+
state.cleanupDragEnd();
|
|
195
|
+
state.cleanupDragEnd = null;
|
|
196
|
+
}
|
|
197
|
+
state.activePayload = null;
|
|
198
|
+
}
|
|
199
|
+
function autoScrollWhenNearEdge(container, pointerY) {
|
|
200
|
+
const rect = container.getBoundingClientRect();
|
|
201
|
+
const threshold = 24;
|
|
202
|
+
const step = 10;
|
|
203
|
+
if (pointerY < rect.top + threshold) {
|
|
204
|
+
container.scrollBy({
|
|
205
|
+
top: -step,
|
|
206
|
+
behavior: "auto"
|
|
207
|
+
});
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
if (pointerY > rect.bottom - threshold) container.scrollBy({
|
|
211
|
+
top: step,
|
|
212
|
+
behavior: "auto"
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
function resolveDropSlot(editor, event) {
|
|
216
|
+
const rootElement = editor.getRootElement();
|
|
217
|
+
if (!rootElement || !isHTMLElement(event.target)) return null;
|
|
218
|
+
if (!rootElement.contains(event.target)) return null;
|
|
219
|
+
const anchors = getDropAnchors(editor);
|
|
220
|
+
if (anchors.length === 0) return null;
|
|
221
|
+
let nearestSlot = 0;
|
|
222
|
+
let nearestDistance = Number.POSITIVE_INFINITY;
|
|
223
|
+
for (let slot = 0; slot < anchors.length; slot++) {
|
|
224
|
+
const anchor = anchors[slot];
|
|
225
|
+
const distance = getDistance(event.clientX, event.clientY, anchor);
|
|
226
|
+
if (distance < nearestDistance) {
|
|
227
|
+
nearestDistance = distance;
|
|
228
|
+
nearestSlot = slot;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return nearestSlot;
|
|
232
|
+
}
|
|
233
|
+
function reorderVariableNode(sourceKey, targetSlot, focusMovedNode = true) {
|
|
234
|
+
const nodes = $collectVariableNodeDescriptors();
|
|
235
|
+
if (nodes.length <= 1) return false;
|
|
236
|
+
const sourceIndex = nodes.findIndex((item) => item.key === sourceKey);
|
|
237
|
+
if (sourceIndex < 0) return false;
|
|
238
|
+
if (targetSlot < 0 || targetSlot > nodes.length) return false;
|
|
239
|
+
if (targetSlot === sourceIndex || targetSlot === sourceIndex + 1) return false;
|
|
240
|
+
const sourceNode = $getNodeByKey(sourceKey);
|
|
241
|
+
if (!(sourceNode instanceof VariableNode)) return false;
|
|
242
|
+
const remaining = nodes.filter((item) => item.key !== sourceKey);
|
|
243
|
+
const reference = remaining[targetSlot > sourceIndex ? targetSlot - 1 : targetSlot];
|
|
244
|
+
if (reference) {
|
|
245
|
+
const referenceNode = $getNodeByKey(reference.key);
|
|
246
|
+
if (!(referenceNode instanceof VariableNode)) return false;
|
|
247
|
+
referenceNode.insertBefore(sourceNode);
|
|
248
|
+
} else {
|
|
249
|
+
const last = remaining[remaining.length - 1];
|
|
250
|
+
if (!last) return false;
|
|
251
|
+
const lastNode = $getNodeByKey(last.key);
|
|
252
|
+
if (!(lastNode instanceof VariableNode)) return false;
|
|
253
|
+
lastNode.insertAfter(sourceNode);
|
|
254
|
+
}
|
|
255
|
+
if (focusMovedNode) sourceNode.selectEnd();
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
258
|
+
function moveVariableByDirection(sourceKey, direction, focusMovedNode = true) {
|
|
259
|
+
const nodes = $collectVariableNodeDescriptors();
|
|
260
|
+
const sourceIndex = nodes.findIndex((item) => item.key === sourceKey);
|
|
261
|
+
if (sourceIndex < 0) return false;
|
|
262
|
+
const targetIndex = sourceIndex + direction;
|
|
263
|
+
if (targetIndex < 0 || targetIndex >= nodes.length) return false;
|
|
264
|
+
return reorderVariableNode(sourceKey, direction === -1 ? targetIndex : targetIndex + 1, focusMovedNode);
|
|
265
|
+
}
|
|
266
|
+
function applyDropReorder(options) {
|
|
267
|
+
const payload = parseInternalDragPayload(options.payloadText);
|
|
268
|
+
if (!payload) return false;
|
|
269
|
+
if (payload.scopeId !== options.scopeId) return false;
|
|
270
|
+
return reorderVariableNode(payload.sourceKey, options.targetSlot, options.focusMovedNode ?? true);
|
|
271
|
+
}
|
|
272
|
+
//#endregion
|
|
273
|
+
export { applyDropReorder, autoScrollWhenNearEdge, beginDragVisualState, clearDragVisualState, clearDropIndicator, collectVariableNodeDescriptors, ensureDropScopeId, getActiveInternalDragPayload, moveVariableByDirection, readDragSourceKey, readInternalDragPayload, resolveDropSlot, showDropIndicator, supportsNativeDnD, writeInternalDragPayload };
|
|
274
|
+
|
|
275
|
+
//# sourceMappingURL=use-expression-drag-drop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-expression-drag-drop.js","names":[],"sources":["../../../src/components/expression-editor/use-expression-drag-drop.ts"],"sourcesContent":["import { $getNodeByKey, $getRoot, type LexicalEditor, type LexicalNode } from 'lexical'\n\nimport {\n EXPRESSION_DROP_SCOPE_ATTR,\n EXPRESSION_VARIABLE_DRAG_KEY_ATTR,\n EXPRESSION_VARIABLE_DRAG_MARKER_ATTR,\n EXPRESSION_VARIABLE_DRAG_TYPE\n} from './constants'\nimport { VariableNode } from './nodes/variable-node'\n\ntype Direction = -1 | 1\n\ninterface DragVisualState {\n indicatorEl: HTMLDivElement | null\n sourceEl: HTMLElement | null\n cleanupDragEnd: (() => void) | null\n activePayload: InternalDragPayload | null\n}\n\ninterface DropAnchor {\n x: number\n y: number\n height: number\n}\n\nexport interface VariableNodeDescriptor {\n key: string\n variable: string\n label: string\n}\n\nexport interface InternalDragPayload {\n sourceKey: string\n scopeId: string\n action: 'move-variable'\n}\n\nexport interface ApplyDropReorderOptions {\n payloadText: string | null\n scopeId: string\n targetSlot: number\n focusMovedNode?: boolean\n}\n\nconst DROP_INDICATOR_CLASS = 'expression-editor__drop-indicator'\nconst DRAG_SOURCE_CLASS = 'is-dragging'\n\nconst dragVisualStateMap = new WeakMap<LexicalEditor, DragVisualState>()\n\nfunction getDragVisualState(editor: LexicalEditor): DragVisualState {\n const existing = dragVisualStateMap.get(editor)\n if (existing) return existing\n\n const created: DragVisualState = {\n indicatorEl: null,\n sourceEl: null,\n cleanupDragEnd: null,\n activePayload: null\n }\n dragVisualStateMap.set(editor, created)\n return created\n}\n\nfunction isHTMLElement(target: EventTarget | null): target is HTMLElement {\n return target instanceof HTMLElement\n}\n\nfunction hasChildren(\n node: LexicalNode\n): node is LexicalNode & { getChildren: () => LexicalNode[] } {\n return typeof (node as { getChildren?: unknown }).getChildren === 'function'\n}\n\nfunction traverseVariableNodes(node: LexicalNode, collector: VariableNodeDescriptor[]): void {\n if (node instanceof VariableNode) {\n collector.push({ key: node.getKey(), variable: node.getVariable(), label: node.getLabel() })\n return\n }\n\n if (!hasChildren(node)) return\n node.getChildren().forEach((child) => traverseVariableNodes(child, collector))\n}\n\nfunction $collectVariableNodeDescriptors(): VariableNodeDescriptor[] {\n const collector: VariableNodeDescriptor[] = []\n const root = $getRoot()\n traverseVariableNodes(root, collector)\n return collector\n}\n\nfunction getDropIndicator(rootElement: HTMLElement): HTMLDivElement {\n const existing = rootElement.querySelector<HTMLDivElement>(`.${DROP_INDICATOR_CLASS}`)\n if (existing) return existing\n\n const indicator = document.createElement('div')\n indicator.className = DROP_INDICATOR_CLASS\n indicator.style.opacity = '0'\n rootElement.appendChild(indicator)\n return indicator\n}\n\nfunction getDropAnchors(editor: LexicalEditor): DropAnchor[] {\n const descriptors = collectVariableNodeDescriptors(editor)\n if (descriptors.length === 0) return []\n\n const rects = descriptors\n .map((descriptor) => editor.getElementByKey(descriptor.key))\n .filter((element): element is HTMLElement => element instanceof HTMLElement)\n .map((element) => element.getBoundingClientRect())\n\n if (rects.length === 0) return []\n\n const anchors: DropAnchor[] = []\n const first = rects[0]!\n anchors.push({ x: first.left, y: first.top, height: first.height })\n\n for (let index = 0; index < rects.length - 1; index++) {\n const currentRect = rects[index]!\n const nextRect = rects[index + 1]!\n anchors.push({\n x: (currentRect.right + nextRect.left) / 2,\n y: (currentRect.top + nextRect.top) / 2,\n height: Math.max(currentRect.height, nextRect.height)\n })\n }\n\n const last = rects[rects.length - 1]!\n anchors.push({ x: last.right, y: last.top, height: last.height })\n\n return anchors\n}\n\nfunction getDistance(pointerX: number, pointerY: number, anchor: DropAnchor): number {\n const dx = pointerX - anchor.x\n const dy = pointerY - (anchor.y + anchor.height / 2)\n return dx * dx + dy * dy\n}\n\nexport function supportsNativeDnD(): boolean {\n if (typeof window === 'undefined') return false\n\n const probe = document.createElement('span')\n const hasDragApi = 'draggable' in probe && typeof DataTransfer !== 'undefined'\n const coarsePointer = window.matchMedia?.('(pointer: coarse)').matches ?? false\n\n return hasDragApi && !coarsePointer\n}\n\nexport function collectVariableNodeDescriptors(editor: LexicalEditor): VariableNodeDescriptor[] {\n let descriptors: VariableNodeDescriptor[] = []\n editor.getEditorState().read(() => {\n descriptors = $collectVariableNodeDescriptors()\n })\n return descriptors\n}\n\nexport function ensureDropScopeId(editor: LexicalEditor): string {\n const rootElement = editor.getRootElement()\n if (!rootElement) return ''\n\n const existing = rootElement.getAttribute(EXPRESSION_DROP_SCOPE_ATTR)\n if (existing) return existing\n\n const generated = `scope-${Math.random().toString(36).slice(2)}`\n rootElement.setAttribute(EXPRESSION_DROP_SCOPE_ATTR, generated)\n return generated\n}\n\nexport function findVariableDragSource(target: EventTarget | null): HTMLElement | null {\n if (!isHTMLElement(target)) return null\n\n return target.closest<HTMLElement>(`[${EXPRESSION_VARIABLE_DRAG_MARKER_ATTR}=\"true\"]`)\n}\n\nexport function readDragSourceKey(target: EventTarget | null): string | null {\n const source = findVariableDragSource(target)\n if (!source) return null\n\n return source.getAttribute(EXPRESSION_VARIABLE_DRAG_KEY_ATTR)\n}\n\nexport function createInternalDragPayload(payload: InternalDragPayload): string {\n return JSON.stringify(payload)\n}\n\nexport function writeInternalDragPayload(\n dataTransfer: DataTransfer | null,\n payload: InternalDragPayload\n): void {\n if (!dataTransfer) return\n dataTransfer.setData(EXPRESSION_VARIABLE_DRAG_TYPE, createInternalDragPayload(payload))\n}\n\nexport function parseInternalDragPayload(payloadText: string | null): InternalDragPayload | null {\n if (!payloadText) return null\n\n try {\n const parsed = JSON.parse(payloadText) as Partial<InternalDragPayload>\n if (\n parsed.action !== 'move-variable' ||\n typeof parsed.scopeId !== 'string' ||\n parsed.scopeId.length === 0 ||\n typeof parsed.sourceKey !== 'string' ||\n parsed.sourceKey.length === 0\n ) {\n return null\n }\n\n return { action: parsed.action, scopeId: parsed.scopeId, sourceKey: parsed.sourceKey }\n } catch {\n return null\n }\n}\n\nexport function readInternalDragPayload(\n dataTransfer: DataTransfer | null\n): InternalDragPayload | null {\n if (!dataTransfer) return null\n return parseInternalDragPayload(dataTransfer.getData(EXPRESSION_VARIABLE_DRAG_TYPE))\n}\n\nexport function beginDragVisualState(\n editor: LexicalEditor,\n sourceEl: HTMLElement | null,\n payload?: InternalDragPayload\n): void {\n const state = getDragVisualState(editor)\n clearDragVisualState(editor)\n state.activePayload = payload ?? null\n\n if (!sourceEl) return\n sourceEl.classList.add(DRAG_SOURCE_CLASS)\n state.sourceEl = sourceEl\n\n const onDragEnd = () => {\n clearDragVisualState(editor)\n }\n window.addEventListener('dragend', onDragEnd, true)\n state.cleanupDragEnd = () => {\n window.removeEventListener('dragend', onDragEnd, true)\n }\n}\n\nexport function getActiveInternalDragPayload(editor: LexicalEditor): InternalDragPayload | null {\n return getDragVisualState(editor).activePayload\n}\n\nexport function showDropIndicator(editor: LexicalEditor, slot: number): void {\n const rootElement = editor.getRootElement()\n if (!rootElement) return\n\n const anchors = getDropAnchors(editor)\n if (slot < 0 || slot >= anchors.length) {\n clearDropIndicator(editor)\n return\n }\n\n const anchor = anchors[slot]!\n const indicator = getDropIndicator(rootElement)\n const rootRect = rootElement.getBoundingClientRect()\n\n indicator.style.left = `${anchor.x - rootRect.left}px`\n indicator.style.top = `${anchor.y - rootRect.top}px`\n indicator.style.height = `${anchor.height}px`\n indicator.style.opacity = '1'\n\n const state = getDragVisualState(editor)\n state.indicatorEl = indicator\n}\n\nexport function clearDropIndicator(editor: LexicalEditor): void {\n const state = getDragVisualState(editor)\n if (!state.indicatorEl) return\n state.indicatorEl.style.opacity = '0'\n}\n\nexport function clearDragVisualState(editor: LexicalEditor): void {\n const state = getDragVisualState(editor)\n\n if (state.sourceEl) {\n state.sourceEl.classList.remove(DRAG_SOURCE_CLASS)\n state.sourceEl = null\n }\n\n if (state.indicatorEl) {\n state.indicatorEl.style.opacity = '0'\n state.indicatorEl = null\n }\n\n if (state.cleanupDragEnd) {\n state.cleanupDragEnd()\n state.cleanupDragEnd = null\n }\n\n state.activePayload = null\n}\n\nexport function autoScrollWhenNearEdge(container: HTMLElement, pointerY: number): void {\n const rect = container.getBoundingClientRect()\n const threshold = 24\n const step = 10\n\n if (pointerY < rect.top + threshold) {\n container.scrollBy({ top: -step, behavior: 'auto' })\n return\n }\n\n if (pointerY > rect.bottom - threshold) {\n container.scrollBy({ top: step, behavior: 'auto' })\n }\n}\n\nexport function resolveDropSlot(editor: LexicalEditor, event: DragEvent): number | null {\n const rootElement = editor.getRootElement()\n if (!rootElement || !isHTMLElement(event.target)) return null\n if (!rootElement.contains(event.target)) return null\n\n const anchors = getDropAnchors(editor)\n if (anchors.length === 0) return null\n\n let nearestSlot = 0\n let nearestDistance = Number.POSITIVE_INFINITY\n for (let slot = 0; slot < anchors.length; slot++) {\n const anchor = anchors[slot]!\n const distance = getDistance(event.clientX, event.clientY, anchor)\n if (distance < nearestDistance) {\n nearestDistance = distance\n nearestSlot = slot\n }\n }\n\n return nearestSlot\n}\n\nexport function reorderVariableNode(\n sourceKey: string,\n targetSlot: number,\n focusMovedNode = true\n): boolean {\n const nodes = $collectVariableNodeDescriptors()\n if (nodes.length <= 1) return false\n\n const sourceIndex = nodes.findIndex((item) => item.key === sourceKey)\n if (sourceIndex < 0) return false\n if (targetSlot < 0 || targetSlot > nodes.length) return false\n if (targetSlot === sourceIndex || targetSlot === sourceIndex + 1) return false\n\n const sourceNode = $getNodeByKey(sourceKey)\n if (!(sourceNode instanceof VariableNode)) return false\n\n const remaining = nodes.filter((item) => item.key !== sourceKey)\n const insertionIndex = targetSlot > sourceIndex ? targetSlot - 1 : targetSlot\n const reference = remaining[insertionIndex]\n\n if (reference) {\n const referenceNode = $getNodeByKey(reference.key)\n if (!(referenceNode instanceof VariableNode)) return false\n referenceNode.insertBefore(sourceNode)\n } else {\n const last = remaining[remaining.length - 1]\n if (!last) return false\n const lastNode = $getNodeByKey(last.key)\n if (!(lastNode instanceof VariableNode)) return false\n lastNode.insertAfter(sourceNode)\n }\n\n if (focusMovedNode) {\n sourceNode.selectEnd()\n }\n\n return true\n}\n\nexport function moveVariableByDirection(\n sourceKey: string,\n direction: Direction,\n focusMovedNode = true\n): boolean {\n const nodes = $collectVariableNodeDescriptors()\n const sourceIndex = nodes.findIndex((item) => item.key === sourceKey)\n if (sourceIndex < 0) return false\n\n const targetIndex = sourceIndex + direction\n if (targetIndex < 0 || targetIndex >= nodes.length) return false\n\n const targetSlot = direction === -1 ? targetIndex : targetIndex + 1\n return reorderVariableNode(sourceKey, targetSlot, focusMovedNode)\n}\n\nexport function applyDropReorder(options: ApplyDropReorderOptions): boolean {\n const payload = parseInternalDragPayload(options.payloadText)\n if (!payload) return false\n if (payload.scopeId !== options.scopeId) return false\n\n return reorderVariableNode(payload.sourceKey, options.targetSlot, options.focusMovedNode ?? true)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { matchAccept } from "./helper.js";
|
|
2
|
+
import { createBlock, createElementVNode, defineComponent, normalizeClass, openBlock, ref, renderSlot, resolveDynamicComponent, shallowRef, unref, withCtx, withModifiers } from "vue";
|
|
3
|
+
import { bem } from "@veltra/utils";
|
|
4
|
+
//#region src/components/file-picker/file-picker.vue
|
|
5
|
+
const _hoisted_1 = ["multiple", "accept"];
|
|
6
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
|
+
name: "FilePicker",
|
|
8
|
+
__name: "file-picker",
|
|
9
|
+
props: {
|
|
10
|
+
tag: { default: "div" },
|
|
11
|
+
accept: {},
|
|
12
|
+
multiple: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: false
|
|
15
|
+
},
|
|
16
|
+
tips: {},
|
|
17
|
+
span: {},
|
|
18
|
+
label: {},
|
|
19
|
+
field: {},
|
|
20
|
+
disabled: { type: Boolean },
|
|
21
|
+
readonly: { type: Boolean },
|
|
22
|
+
size: {}
|
|
23
|
+
},
|
|
24
|
+
emits: ["pick"],
|
|
25
|
+
setup(__props, { emit: __emit }) {
|
|
26
|
+
const props = __props;
|
|
27
|
+
const emit = __emit;
|
|
28
|
+
const cls = bem("file-picker");
|
|
29
|
+
const fileRef = shallowRef();
|
|
30
|
+
const isDragover = ref(false);
|
|
31
|
+
const processFiles = (files) => {
|
|
32
|
+
emit("pick", files.filter((file) => matchAccept(file, props.accept)));
|
|
33
|
+
};
|
|
34
|
+
const handleChange = (e) => {
|
|
35
|
+
const target = e.target;
|
|
36
|
+
processFiles(Array.from(target.files || []));
|
|
37
|
+
target.value = "";
|
|
38
|
+
};
|
|
39
|
+
const handleDragover = (e) => {
|
|
40
|
+
if (props.disabled) return;
|
|
41
|
+
isDragover.value = true;
|
|
42
|
+
};
|
|
43
|
+
const handleDragLeave = (e) => {
|
|
44
|
+
if (props.disabled) return;
|
|
45
|
+
const currentTarget = e.currentTarget;
|
|
46
|
+
const relatedTarget = e.relatedTarget;
|
|
47
|
+
if (currentTarget.contains(relatedTarget)) return;
|
|
48
|
+
isDragover.value = false;
|
|
49
|
+
};
|
|
50
|
+
const handleDrop = (e) => {
|
|
51
|
+
if (props.disabled) return;
|
|
52
|
+
isDragover.value = false;
|
|
53
|
+
processFiles(Array.from(e.dataTransfer?.files || []));
|
|
54
|
+
};
|
|
55
|
+
function handleClickPicker() {
|
|
56
|
+
if (props.disabled) return;
|
|
57
|
+
fileRef.value?.click();
|
|
58
|
+
}
|
|
59
|
+
return (_ctx, _cache) => {
|
|
60
|
+
return openBlock(), createBlock(resolveDynamicComponent(__props.tag), {
|
|
61
|
+
class: normalizeClass(unref(cls).b),
|
|
62
|
+
onClick: withModifiers(handleClickPicker, ["stop"]),
|
|
63
|
+
onDragover: withModifiers(handleDragover, ["prevent"]),
|
|
64
|
+
onDragleave: handleDragLeave,
|
|
65
|
+
onDrop: withModifiers(handleDrop, ["prevent"])
|
|
66
|
+
}, {
|
|
67
|
+
default: withCtx(() => [createElementVNode("input", {
|
|
68
|
+
multiple: __props.multiple,
|
|
69
|
+
class: normalizeClass(unref(cls).e("native")),
|
|
70
|
+
type: "file",
|
|
71
|
+
accept: __props.accept,
|
|
72
|
+
hidden: "",
|
|
73
|
+
placeholder: "选择文件",
|
|
74
|
+
ref_key: "fileRef",
|
|
75
|
+
ref: fileRef,
|
|
76
|
+
onChange: handleChange,
|
|
77
|
+
capture: "environment"
|
|
78
|
+
}, null, 42, _hoisted_1), renderSlot(_ctx.$slots, "default", { isDragover: isDragover.value })]),
|
|
79
|
+
_: 3
|
|
80
|
+
}, 40, ["class"]);
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//#endregion
|
|
85
|
+
export { _sfc_main as default };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=file-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-picker.js","names":[],"sources":["../../../src/components/file-picker/file-picker.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n :class=\"cls.b\"\n @click.stop=\"handleClickPicker\"\n @dragover.prevent=\"handleDragover\"\n @dragleave=\"handleDragLeave\"\n @drop.prevent=\"handleDrop\"\n >\n <input\n :multiple=\"multiple\"\n :class=\"cls.e('native')\"\n type=\"file\"\n :accept=\"accept\"\n hidden\n placeholder=\"选择文件\"\n ref=\"fileRef\"\n @change=\"handleChange\"\n capture=\"environment\"\n />\n <slot :is-dragover=\"isDragover\" />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { shallowRef, ref } from 'vue'\n\nimport type { UploaderProps, UploaderEmits } from '../../types'\nimport { matchAccept } from './helper'\n\ndefineOptions({\n name: 'FilePicker'\n})\n\nconst props = withDefaults(defineProps<UploaderProps>(), {\n tag: 'div',\n multiple: false\n})\n\nconst emit = defineEmits<UploaderEmits>()\n\nconst cls = bem('file-picker')\n\nconst fileRef = shallowRef<HTMLInputElement>()\nconst isDragover = ref(false)\n\nconst processFiles = (files: File[]) => {\n const filteredFiles = files.filter((file) => matchAccept(file, props.accept))\n emit('pick', filteredFiles)\n}\n\nconst handleChange = (e: Event) => {\n const target = e.target as HTMLInputElement\n const files = Array.from(target.files || [])\n processFiles(files)\n target.value = ''\n}\n\nconst handleDragover = (e: DragEvent) => {\n if (props.disabled) return\n isDragover.value = true\n}\n\nconst handleDragLeave = (e: DragEvent) => {\n if (props.disabled) return\n const currentTarget = e.currentTarget as HTMLElement\n const relatedTarget = e.relatedTarget as HTMLElement | null\n\n if (currentTarget.contains(relatedTarget)) return\n isDragover.value = false\n}\n\nconst handleDrop = (e: DragEvent) => {\n if (props.disabled) return\n isDragover.value = false\n const files = Array.from(e.dataTransfer?.files || [])\n processFiles(files)\n}\n\nfunction handleClickPicker() {\n if (props.disabled) return\n fileRef.value?.click()\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAmCA,MAAM,QAAQ;EAKd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAE7B,MAAM,UAAU,YAA6B;EAC7C,MAAM,aAAa,IAAI,MAAK;EAE5B,MAAM,gBAAgB,UAAkB;AAEtC,QAAK,QADiB,MAAM,QAAQ,SAAS,YAAY,MAAM,MAAM,OAAO,CAAA,CAClD;;EAG5B,MAAM,gBAAgB,MAAa;GACjC,MAAM,SAAS,EAAE;AAEjB,gBADc,MAAM,KAAK,OAAO,SAAS,EAAE,CAAA,CACzB;AAClB,UAAO,QAAQ;;EAGjB,MAAM,kBAAkB,MAAiB;AACvC,OAAI,MAAM,SAAU;AACpB,cAAW,QAAQ;;EAGrB,MAAM,mBAAmB,MAAiB;AACxC,OAAI,MAAM,SAAU;GACpB,MAAM,gBAAgB,EAAE;GACxB,MAAM,gBAAgB,EAAE;AAExB,OAAI,cAAc,SAAS,cAAc,CAAE;AAC3C,cAAW,QAAQ;;EAGrB,MAAM,cAAc,MAAiB;AACnC,OAAI,MAAM,SAAU;AACpB,cAAW,QAAQ;AAEnB,gBADc,MAAM,KAAK,EAAE,cAAc,SAAS,EAAE,CAAA,CAClC;;EAGpB,SAAS,oBAAoB;AAC3B,OAAI,MAAM,SAAU;AACpB,WAAQ,OAAO,OAAM;;;uBAjFrB,YAoBY,wBAnBL,QAAA,IAAG,EAAA;IACP,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC;IACZ,SAAK,cAAO,mBAAiB,CAAA,OAAA,CAAA;IAC7B,YAAQ,cAAU,gBAAc,CAAA,UAAA,CAAA;IAChC,aAAW;IACX,QAAI,cAAU,YAAU,CAAA,UAAA,CAAA;;2BAYvB,CAVF,mBAUE,SAAA;KATC,UAAU,QAAA;KACV,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,SAAA,CAAA;KACb,MAAK;KACJ,QAAQ,QAAA;KACT,QAAA;KACA,aAAY;cACR;KAAJ,KAAI;KACH,UAAQ;KACT,SAAQ;8BAEV,WAAkC,KAAA,QAAA,WAAA,EAA3B,YAAa,WAAA,OAAU,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UploaderProps } from "../../types/file-picker.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/file-picker/file-picker.vue.d.ts
|
|
5
|
+
declare var __VLS_13: {
|
|
6
|
+
isDragover: boolean;
|
|
7
|
+
};
|
|
8
|
+
type __VLS_Slots = {} & {
|
|
9
|
+
default?: (props: typeof __VLS_13) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: _$vue.DefineComponent<UploaderProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {} & {
|
|
12
|
+
pick: (files: File[]) => any;
|
|
13
|
+
}, string, _$vue.PublicProps, Readonly<UploaderProps> & Readonly<{
|
|
14
|
+
onPick?: ((files: File[]) => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
tag: string;
|
|
17
|
+
multiple: boolean;
|
|
18
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { _default };
|
|
28
|
+
//# sourceMappingURL=file-picker.vue.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/components/file-picker/helper.ts
|
|
2
|
+
/**
|
|
3
|
+
* 校验文件是否匹配 accept 字符串 (仅支持 MIME 类型)
|
|
4
|
+
* @param file 文件对象
|
|
5
|
+
* @param accept 接受的文件类型,例如:image/*,application/pdf
|
|
6
|
+
*/
|
|
7
|
+
function matchAccept(file, accept) {
|
|
8
|
+
if (!accept) return true;
|
|
9
|
+
const fileType = file.type.toLowerCase();
|
|
10
|
+
return accept.split(",").map((item) => item.trim().toLowerCase()).some((item) => {
|
|
11
|
+
if (item.endsWith("/*")) {
|
|
12
|
+
const group = item.replace("/*", "");
|
|
13
|
+
return fileType.startsWith(group);
|
|
14
|
+
} else return fileType === item;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { matchAccept };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","names":[],"sources":["../../../src/components/file-picker/helper.ts"],"sourcesContent":["/**\n * 校验文件是否匹配 accept 字符串 (仅支持 MIME 类型)\n * @param file 文件对象\n * @param accept 接受的文件类型,例如:image/*,application/pdf\n */\nexport function matchAccept(file: File, accept?: string): boolean {\n if (!accept) return true\n\n const fileType = file.type.toLowerCase()\n const acceptList = accept.split(',').map((item) => item.trim().toLowerCase())\n\n return acceptList.some((item) => {\n if (item.endsWith('/*')) {\n // MIME 类型组匹配 (例如:image/*)\n const group = item.replace('/*', '')\n return fileType.startsWith(group)\n } else {\n // MIME 类型精确匹配\n return fileType === item\n }\n })\n}\n"],"mappings":";;;;;;AAKA,SAAgB,YAAY,MAAY,QAA0B;AAChE,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,WAAW,KAAK,KAAK,aAAa;AAGxC,QAFmB,OAAO,MAAM,IAAI,CAAC,KAAK,SAAS,KAAK,MAAM,CAAC,aAAa,CAAC,CAE3D,MAAM,SAAS;AAC/B,MAAI,KAAK,SAAS,KAAK,EAAE;GAEvB,MAAM,QAAQ,KAAK,QAAQ,MAAM,GAAG;AACpC,UAAO,SAAS,WAAW,MAAM;QAGjC,QAAO,aAAa;GAEtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { _default } from "./file-picker.vue.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./style2.css";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/** flex布局 */
|
|
3
|
+
/**
|
|
4
|
+
* 设置css变量
|
|
5
|
+
* 参数1:变量前缀
|
|
6
|
+
* 参数2: 一个由值组成的列表或者由key, value组成的map
|
|
7
|
+
* css-var(height, (
|
|
8
|
+
* large: 40px
|
|
9
|
+
* default: 32px
|
|
10
|
+
* small: 24px
|
|
11
|
+
* ))
|
|
12
|
+
* 生成的css变量:
|
|
13
|
+
* --u-height-large: 40px;
|
|
14
|
+
* --u-height-default: 32px;
|
|
15
|
+
* --u-height-small: 24px;
|
|
16
|
+
*/
|
|
17
|
+
/** 暗色:data-theme 与系统偏好,与 UITheme.injectBuiltInThemes 选择器策略一致 */
|
|
18
|
+
.u-file-picker {
|
|
19
|
+
display: inline-block;
|
|
20
|
+
}
|
|
21
|
+
.u-file-picker__native {
|
|
22
|
+
opacity: 0;
|
|
23
|
+
visibility: hidden;
|
|
24
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import _sfc_main$1 from "../icon/icon.js";
|
|
2
|
+
import _sfc_main$2 from "../button/button.js";
|
|
3
|
+
import { Fragment, Teleport, createBlock, createElementBlock, createElementVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, resolveDynamicComponent, shallowRef, toDisplayString, unref, withCtx } from "vue";
|
|
4
|
+
import { bem, removeStyles, setStyles } from "@veltra/utils";
|
|
5
|
+
//#region src/components/float-button/float-button.vue
|
|
6
|
+
const _hoisted_1 = { key: 1 };
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "FloatButton",
|
|
9
|
+
__name: "float-button",
|
|
10
|
+
props: {
|
|
11
|
+
items: {},
|
|
12
|
+
size: {}
|
|
13
|
+
},
|
|
14
|
+
emits: ["click"],
|
|
15
|
+
setup(__props, { emit: __emit }) {
|
|
16
|
+
const emit = __emit;
|
|
17
|
+
const cls = bem("float-button");
|
|
18
|
+
const hoveredCls = bem.is("hovered");
|
|
19
|
+
const floatButtonRef = shallowRef();
|
|
20
|
+
const itemsRef = shallowRef();
|
|
21
|
+
const hovered = shallowRef(false);
|
|
22
|
+
const handleMouseEnter = () => {
|
|
23
|
+
hovered.value = true;
|
|
24
|
+
itemsRef.value?.forEach((item) => {
|
|
25
|
+
setStyles(item.el, { display: "flex" });
|
|
26
|
+
});
|
|
27
|
+
requestAnimationFrame(() => {
|
|
28
|
+
requestAnimationFrame(() => {
|
|
29
|
+
itemsRef.value?.forEach((item) => {
|
|
30
|
+
item.el.classList.add(hoveredCls);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const handleMouseLeave = () => {
|
|
36
|
+
hovered.value = false;
|
|
37
|
+
itemsRef.value?.forEach((item) => {
|
|
38
|
+
item.el.classList.remove(hoveredCls);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* 动画结束回调
|
|
43
|
+
* @param index 发生的元素索引
|
|
44
|
+
* @param e 事件
|
|
45
|
+
*/
|
|
46
|
+
const handleTransitionEnd = (index, e) => {
|
|
47
|
+
if (index !== 1 || hovered.value) return;
|
|
48
|
+
itemsRef.value?.forEach((item) => {
|
|
49
|
+
removeStyles(item.el, ["display"]);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
return (_ctx, _cache) => {
|
|
53
|
+
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", {
|
|
54
|
+
class: normalizeClass(unref(cls).b),
|
|
55
|
+
onMouseenter: handleMouseEnter,
|
|
56
|
+
onMouseleave: handleMouseLeave,
|
|
57
|
+
ref_key: "floatButtonRef",
|
|
58
|
+
ref: floatButtonRef
|
|
59
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
60
|
+
return openBlock(), createBlock(unref(_sfc_main$2), {
|
|
61
|
+
key: item.key,
|
|
62
|
+
class: normalizeClass([unref(cls).e("item"), unref(bem).is("first", index === 0)]),
|
|
63
|
+
circle: "",
|
|
64
|
+
size: __props.size,
|
|
65
|
+
type: item.type ?? "primary",
|
|
66
|
+
ref_for: true,
|
|
67
|
+
ref_key: "itemsRef",
|
|
68
|
+
ref: itemsRef,
|
|
69
|
+
style: normalizeStyle({ transitionDelay: index * .1 + "s" }),
|
|
70
|
+
onTransitionend: ($event) => handleTransitionEnd(index, $event),
|
|
71
|
+
onClick: ($event) => emit("click", item.key),
|
|
72
|
+
title: item.name ?? item.key
|
|
73
|
+
}, {
|
|
74
|
+
default: withCtx(() => [item.icon ? (openBlock(), createBlock(unref(_sfc_main$1), { key: 0 }, {
|
|
75
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(item.icon)))]),
|
|
76
|
+
_: 2
|
|
77
|
+
}, 1024)) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(item.name?.[0] ?? item.key[0]), 1))]),
|
|
78
|
+
_: 2
|
|
79
|
+
}, 1032, [
|
|
80
|
+
"class",
|
|
81
|
+
"size",
|
|
82
|
+
"type",
|
|
83
|
+
"style",
|
|
84
|
+
"onTransitionend",
|
|
85
|
+
"onClick",
|
|
86
|
+
"title"
|
|
87
|
+
]);
|
|
88
|
+
}), 128))], 34)]);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
//#endregion
|
|
93
|
+
export { _sfc_main as default };
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=float-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"float-button.js","names":[],"sources":["../../../src/components/float-button/float-button.vue"],"sourcesContent":["<template>\n <Teleport to=\"body\">\n <div\n :class=\"cls.b\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n ref=\"floatButtonRef\"\n >\n <u-button\n v-for=\"(item, index) of items\"\n :key=\"item.key\"\n :class=\"[cls.e('item'), bem.is('first', index === 0)]\"\n circle\n :size=\"size\"\n :type=\"item.type ?? 'primary'\"\n ref=\"itemsRef\"\n :style=\"{ transitionDelay: index * 0.1 + 's' }\"\n @transitionend=\"handleTransitionEnd(index, $event)\"\n @click=\"emit('click', item.key)\"\n :title=\"item.name ?? item.key\"\n >\n <u-icon v-if=\"item.icon\"> <component :is=\"item.icon\" /> </u-icon>\n <span v-else>{{ item.name?.[0] ?? item.key[0] }}</span>\n </u-button>\n </div>\n </Teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem, removeStyles, setStyles } from '@veltra/utils'\nimport { shallowRef } from 'vue'\n\nimport type { FloatButtonProps, FloatButtonEmits, ButtonExposed } from '../../types'\nimport { UButton } from '../button'\nimport { UIcon } from '../icon'\n\ndefineOptions({\n name: 'FloatButton'\n})\n\ndefineProps<FloatButtonProps>()\n\nconst emit = defineEmits<FloatButtonEmits>()\n\nconst cls = bem('float-button')\nconst hoveredCls = bem.is('hovered')\n\nconst floatButtonRef = shallowRef<HTMLElement>()\nconst itemsRef = shallowRef<ButtonExposed[]>()\n\nconst hovered = shallowRef(false)\n\nconst handleMouseEnter = () => {\n hovered.value = true\n\n itemsRef.value?.forEach((item) => {\n setStyles(item.el!, { display: 'flex' })\n })\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n itemsRef.value?.forEach((item) => {\n item.el!.classList.add(hoveredCls)\n })\n })\n })\n}\nconst handleMouseLeave = () => {\n hovered.value = false\n itemsRef.value?.forEach((item) => {\n item.el!.classList.remove(hoveredCls)\n })\n}\n\n/**\n * 动画结束回调\n * @param index 发生的元素索引\n * @param e 事件\n */\nconst handleTransitionEnd = (index: number, e: TransitionEvent) => {\n if (index !== 1 || hovered.value) return\n\n itemsRef.value?.forEach((item) => {\n removeStyles(item.el!, ['display'])\n })\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;EA0CA,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,eAAc;EAC9B,MAAM,aAAa,IAAI,GAAG,UAAS;EAEnC,MAAM,iBAAiB,YAAwB;EAC/C,MAAM,WAAW,YAA4B;EAE7C,MAAM,UAAU,WAAW,MAAK;EAEhC,MAAM,yBAAyB;AAC7B,WAAQ,QAAQ;AAEhB,YAAS,OAAO,SAAS,SAAS;AAChC,cAAU,KAAK,IAAK,EAAE,SAAS,QAAQ,CAAA;KACxC;AAED,+BAA4B;AAC1B,gCAA4B;AAC1B,cAAS,OAAO,SAAS,SAAS;AAChC,WAAK,GAAI,UAAU,IAAI,WAAU;OAClC;MACF;KACF;;EAEH,MAAM,yBAAyB;AAC7B,WAAQ,QAAQ;AAChB,YAAS,OAAO,SAAS,SAAS;AAChC,SAAK,GAAI,UAAU,OAAO,WAAU;KACrC;;;;;;;EAQH,MAAM,uBAAuB,OAAe,MAAuB;AACjE,OAAI,UAAU,KAAK,QAAQ,MAAO;AAElC,YAAS,OAAO,SAAS,SAAS;AAChC,iBAAa,KAAK,IAAK,CAAC,UAAU,CAAA;KACnC;;;uBAnFD,YAwBW,UAAA,EAxBD,IAAG,QAAM,EAAA,CACjB,mBAsBM,OAAA;IArBH,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC;IACZ,cAAY;IACZ,cAAY;aACT;IAAJ,KAAI;yBAEJ,mBAeW,UAAA,MAAA,WAde,QAAA,QAAhB,MAAM,UAAK;wBADrB,YAeW,MAAA,YAAA,EAAA;KAbR,KAAK,KAAK;KACV,OAAK,eAAA,CAAG,MAAA,IAAG,CAAC,EAAC,OAAA,EAAU,MAAA,IAAG,CAAC,GAAE,SAAU,UAAK,EAAA,CAAA,CAAA;KAC7C,QAAA;KACC,MAAM,QAAA;KACN,MAAM,KAAK,QAAI;;cACZ;KAAJ,KAAI;KACH,OAAK,eAAA,EAAA,iBAAqB,QAAK,KAAA,KAAA,CAAA;KAC/B,kBAAa,WAAE,oBAAoB,OAAO,OAAM;KAChD,UAAK,WAAE,KAAI,SAAU,KAAK,IAAG;KAC7B,OAAO,KAAK,QAAQ,KAAK;;4BAEuC,CAAnD,KAAK,QAAA,WAAA,EAAnB,YAAiE,MAAA,YAAA,EAAA,EAAA,KAAA,GAAA,EAAA;6BAAV,EAAA,WAAA,EAA7B,YAA6B,wBAAb,KAAK,KAAI,CAAA,EAAA,CAAA;;+BACnD,mBAAuD,QAAA,YAAA,gBAAvC,KAAK,OAAI,MAAS,KAAK,IAAG,GAAA,EAAA,EAAA,EAAA,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FloatButtonProps } from "../../types/float-button.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/float-button/float-button.vue.d.ts
|
|
5
|
+
declare const __VLS_export: _$vue.DefineComponent<FloatButtonProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {} & {
|
|
6
|
+
click: (key: string) => any;
|
|
7
|
+
}, string, _$vue.PublicProps, Readonly<FloatButtonProps> & Readonly<{
|
|
8
|
+
onClick?: ((key: string) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { _default };
|
|
13
|
+
//# sourceMappingURL=float-button.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { _default } from "./float-button.vue.js";
|