vft 0.0.509 → 0.0.513
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/index.css +1 -1
- package/es/components/affix/affix.vue2.js +2 -2
- package/es/components/alert/alert.vue2.js +1 -1
- package/es/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/es/components/autocomplete/autocomplete.vue2.js +1 -1
- package/es/components/autocomplete/index.d.ts +6 -6
- package/es/components/avatar/avatar.vue2.js +2 -2
- package/es/components/avatar-stack/avatar-stack.vue2.js +7 -7
- package/es/components/backtop/backtop.vue2.js +1 -1
- package/es/components/breadcrumb/breadcrumb-item.vue2.js +3 -3
- package/es/components/breadcrumb/breadcrumb.vue2.js +2 -2
- package/es/components/button/button-group.vue2.js +2 -2
- package/es/components/button/button.vue2.js +7 -7
- package/es/components/button/index.d.ts +9 -9
- package/es/components/button/use-button.js +3 -3
- package/es/components/card/card.vue2.js +6 -6
- package/es/components/carousel/carousel-item.vue2.js +3 -3
- package/es/components/carousel/carousel.vue2.js +1 -1
- package/es/components/cascader/cascader.vue2.js +202 -203
- package/es/components/cascader-panel/index.vue2.js +1 -1
- package/es/components/cascader-panel/menu.vue2.js +49 -50
- package/es/components/cascader-panel/node.vue2.js +8 -8
- package/es/components/check-tag/check-tag.vue2.js +2 -2
- package/es/components/checkbox/checkbox-button.vue2.js +13 -13
- package/es/components/checkbox/checkbox-group.vue2.js +3 -3
- package/es/components/checkbox/checkbox.vue2.js +1 -1
- package/es/components/clamp/clamp.vue2.js +2 -2
- package/es/components/clamp-toggle/clamp-toggle.vue2.js +18 -19
- package/es/components/clamp-tooltip/clamp-tooltip.vue2.js +6 -6
- package/es/components/col/col.vue2.js +2 -2
- package/es/components/collapse/collapse-item.vue2.js +2 -2
- package/es/components/collapse/collapse.vue2.js +2 -2
- package/es/components/collapse-transition/collapse-transition.vue2.js +2 -2
- package/es/components/color-picker/color-picker.vue2.js +133 -134
- package/es/components/color-picker/components/alpha-slider.vue2.js +2 -2
- package/es/components/color-picker/components/hue-slider.vue.js +2 -2
- package/es/components/color-picker/components/predefine.vue.js +3 -3
- package/es/components/color-picker/components/sv-panel.vue.js +2 -2
- package/es/components/config-provider/config-provider.vue.d.ts +0 -2
- package/es/components/config-provider/config-provider.vue2.js +4 -5
- package/es/components/config-provider/constants.d.ts +0 -1
- package/es/components/config-provider/constants.js +2 -3
- package/es/components/config-provider/hooks/use-global-config.js +30 -33
- package/es/components/config-provider/index.d.ts +0 -9
- package/es/components/config-provider/index.js +5 -6
- package/es/components/container/aside.vue2.js +2 -2
- package/es/components/container/container.vue2.js +2 -2
- package/es/components/container/footer.vue2.js +2 -2
- package/es/components/container/header.vue2.js +2 -2
- package/es/components/container/main.vue2.js +2 -2
- package/es/components/context-menu/context-menu.vue2.js +1 -1
- package/es/components/countdown/countdown.vue2.js +2 -2
- package/es/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
- package/es/components/date-picker/composables/use-basic-date-table.js +123 -124
- package/es/components/date-picker/composables/use-month-range-header.js +14 -15
- package/es/components/date-picker/composables/use-panel-date-range.js +23 -24
- package/es/components/date-picker/date-picker-com/basic-date-table.vue2.js +6 -6
- package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +39 -40
- package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +40 -41
- package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +178 -179
- package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +224 -225
- package/es/components/date-picker/date-picker-com/panel-month-range.vue2.js +12 -12
- package/es/components/date-picker/date-picker-com/panel-year-range.vue2.js +12 -12
- package/es/components/date-picker/props/basic-date-table.js +3 -3
- package/es/components/date-picker/props/basic-month-table.js +3 -3
- package/es/components/date-picker/props/basic-year-table.js +3 -3
- package/es/components/date-time-select/date-time-select.vue2.js +36 -39
- package/es/components/descriptions/description.vue2.js +1 -1
- package/es/components/descriptions/descriptions-row.vue2.js +10 -10
- package/es/components/dialog/dialog-content.vue2.js +3 -3
- package/es/components/dialog/dialog.vue2.js +5 -5
- package/es/components/divider/divider.vue2.js +5 -5
- package/es/components/drawer/drawer.vue2.js +4 -4
- package/es/components/dropdown/dropdown-item-impl.vue2.js +3 -3
- package/es/components/dropdown/dropdown-item.vue2.js +2 -2
- package/es/components/dropdown/dropdown-menu.vue2.js +2 -2
- package/es/components/dropdown/dropdown.vue2.js +66 -67
- package/es/components/empty/empty.vue2.js +36 -37
- package/es/components/footer-layout/footer-layout.vue2.js +2 -2
- package/es/components/form/form-item.vue2.js +16 -16
- package/es/components/form/form.vue2.js +2 -2
- package/es/components/full-screen/full-screen.vue2.js +17 -18
- package/es/components/header-layout/header-layout.vue2.js +1 -1
- package/es/components/horizontal-menu/horizontal-menu.vue2.js +3 -3
- package/es/components/icon/icon.vue2.js +3 -3
- package/es/components/icon-text/icon-text.vue2.js +1 -1
- package/es/components/iframe-layout/iframe-layout.vue2.js +4 -4
- package/es/components/iframe-layout/iframe-page.vue2.js +2 -2
- package/es/components/image/image.vue2.js +59 -60
- package/es/components/image-viewer/image-viewer.vue2.js +44 -45
- package/es/components/index.d.ts +1 -0
- package/es/components/index.js +213 -211
- package/es/components/input/input.vue2.js +6 -6
- package/es/components/input-number/input-number.vue2.js +4 -4
- package/es/components/input-tag/input-tag.vue2.js +7 -7
- package/es/components/link/link.vue2.js +1 -1
- package/es/components/list-cell/list-cell.vue2.js +1 -1
- package/es/components/logo/logo.vue2.js +10 -10
- package/es/components/md-comment/md-comment.vue2.js +2 -2
- package/es/components/md-container/md-container.vue2.js +74 -75
- package/es/components/md-container/toc.js +36 -37
- package/es/components/menu/menu-collapse-transition.vue.js +2 -2
- package/es/components/menu/menu-item-group.vue2.js +7 -7
- package/es/components/menu/menu-item.vue2.js +1 -1
- package/es/components/message/message.vue2.js +3 -3
- package/es/components/message-box/index.d.ts +4 -0
- package/es/components/message-box/index.js +14 -0
- package/es/components/message-box/message-box.vue.d.ts +103 -0
- package/es/components/message-box/message-box.vue.js +4 -0
- package/es/components/message-box/message-box.vue2.js +358 -0
- package/es/components/message-box/method.d.ts +3 -0
- package/es/components/message-box/method.js +100 -0
- package/es/components/message-box/style/css.d.ts +2 -0
- package/es/components/message-box/style/css.js +3 -0
- package/es/components/message-box/style/index.d.ts +2 -0
- package/es/components/message-box/style/index.js +3 -0
- package/es/components/message-box/types.d.ts +202 -0
- package/es/components/modal/index.d.ts +1 -0
- package/es/components/modal/modal-footer-action.vue2.js +24 -25
- package/es/components/modal/modal.vue.d.ts +1 -0
- package/es/components/modal/modal.vue2.js +30 -28
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +16 -17
- package/es/components/multiple-tabs/tab-content.vue2.js +2 -2
- package/es/components/multiple-tabs/use/use-tab-dropdown.js +53 -54
- package/es/components/notification/notification.vue2.js +1 -1
- package/es/components/overlay/overlay.vue2.js +1 -1
- package/es/components/page-wrapper/page-wrapper.vue2.js +2 -2
- package/es/components/pagination/components/jumper.vue2.js +28 -29
- package/es/components/pagination/components/next.vue2.js +4 -4
- package/es/components/pagination/components/pager.vue2.js +1 -1
- package/es/components/pagination/components/prev.vue2.js +4 -4
- package/es/components/pagination/components/sizes.vue2.js +20 -21
- package/es/components/pagination/components/total.vue2.js +10 -11
- package/es/components/popconfirm/index.d.ts +15 -15
- package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/es/components/popconfirm/popconfirm.vue2.js +39 -40
- package/es/components/popover/popover.vue2.js +1 -1
- package/es/components/popper/arrow.vue2.js +2 -2
- package/es/components/popper/content.vue2.js +2 -2
- package/es/components/popper/trigger.vue2.js +4 -4
- package/es/components/progress/progress.vue2.js +1 -1
- package/es/components/progress-i/progress-i.vue2.js +2 -2
- package/es/components/qrcode/qrcode.vue2.js +1 -1
- package/es/components/radio/radio-button.vue2.js +2 -2
- package/es/components/radio/radio-group.vue2.js +3 -3
- package/es/components/radio/radio.vue2.js +2 -2
- package/es/components/rate/rate.vue2.js +6 -6
- package/es/components/router-view-content/router-view-content.vue2.js +7 -7
- package/es/components/roving-focus-group/roving-focus-group.vue2.js +2 -2
- package/es/components/roving-focus-group/roving-focus-item.vue2.js +2 -2
- package/es/components/row/row.vue2.js +2 -2
- package/es/components/scrollbar/bar.vue2.js +2 -2
- package/es/components/scrollbar/scrollbar.vue2.js +7 -7
- package/es/components/scrollbar/thumb.vue2.js +2 -2
- package/es/components/search/search.vue2.js +50 -51
- package/es/components/segmented/segmented.vue2.js +7 -7
- package/es/components/select/group-item.vue.js +2 -2
- package/es/components/select/index.d.ts +4 -4
- package/es/components/select/option-item.vue.js +2 -2
- package/es/components/select/select.vue.d.ts +4 -4
- package/es/components/select/select.vue.js +1 -1
- package/es/components/select/useSelect.d.ts +4 -4
- package/es/components/select/useSelect.js +231 -232
- package/es/components/skeleton/skeleton-item.vue2.js +2 -2
- package/es/components/skeleton/skeleton.vue2.js +8 -8
- package/es/components/slider/button.vue2.js +2 -2
- package/es/components/slider/slider.vue2.js +1 -1
- package/es/components/space/space.js +1 -1
- package/es/components/statistic/statistic.vue2.js +17 -17
- package/es/components/steps/item.vue2.js +11 -11
- package/es/components/steps/steps.vue2.js +2 -2
- package/es/components/super-form/super-form-action.vue2.js +47 -48
- package/es/components/super-form/super-form-item.vue2.js +204 -206
- package/es/components/super-form/super-form.vue2.js +7 -7
- package/es/components/super-form/use/helper.d.ts +1 -1
- package/es/components/super-form/use/helper.js +63 -63
- package/es/components/super-form/use/use-form.js +8 -8
- package/es/components/switch/switch.vue2.js +1 -1
- package/es/components/table/field.js +111 -130
- package/es/components/table/table.vue2.js +128 -133
- package/es/components/table/use/use-columns.js +26 -29
- package/es/components/table/use/use-data-source.js +59 -60
- package/es/components/tabs/tab-bar.vue2.js +2 -2
- package/es/components/tabs/tab-pane.vue2.js +6 -6
- package/es/components/teleport/teleport.vue2.js +2 -2
- package/es/components/time-picker/common/picker-range-trigger.vue2.js +2 -2
- package/es/components/time-picker/common/picker.vue2.js +8 -8
- package/es/components/time-picker/time-picker-com/basic-time-spinner.vue2.js +1 -1
- package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +65 -66
- package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +133 -134
- package/es/components/time-select/time-select.vue2.js +3 -3
- package/es/components/timeline/timeline-item.vue2.js +1 -1
- package/es/components/tooltip/content.vue2.js +6 -6
- package/es/components/tooltip/tooltip.vue2.js +1 -1
- package/es/components/tooltip/trigger.vue2.js +2 -2
- package/es/components/transfer/transfer-panel.vue2.js +58 -59
- package/es/components/transfer/transfer.vue2.js +69 -70
- package/es/components/tree/tree-node.vue.js +1 -1
- package/es/components/tree/tree.vue2.js +59 -60
- package/es/components/upload/upload-content.vue2.js +47 -48
- package/es/components/upload/upload-dragger.vue2.js +2 -2
- package/es/components/upload/upload-list.vue2.js +45 -46
- package/es/components/upload/upload.vue2.js +98 -99
- package/es/components/verify-code/verify-code.vue2.js +2 -2
- package/es/components/watermark/watermark.vue2.js +2 -2
- package/es/hooks/use-id/index.js +2 -2
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/index.d.ts +0 -1
- package/es/index.js +39 -42
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/plugin.js +5 -3
- package/es/utils/helper.js +2 -2
- package/es/utils/ns-cover.js +1 -1
- package/es/utils/vue/vnode.js +3 -3
- package/lib/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/lib/components/autocomplete/index.d.ts +6 -6
- package/lib/components/button/index.d.ts +9 -9
- package/lib/components/button/use-button.cjs +1 -1
- package/lib/components/cascader/cascader.vue2.cjs +1 -1
- package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
- package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
- package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
- package/lib/components/config-provider/config-provider.vue.d.ts +0 -2
- package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
- package/lib/components/config-provider/constants.cjs +1 -1
- package/lib/components/config-provider/constants.d.ts +0 -1
- package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
- package/lib/components/config-provider/index.cjs +1 -1
- package/lib/components/config-provider/index.d.ts +0 -9
- package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
- package/lib/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
- package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
- package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
- package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
- package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
- package/lib/components/empty/empty.vue2.cjs +1 -1
- package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
- package/lib/components/image/image.vue2.cjs +1 -1
- package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
- package/lib/components/index.cjs +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/md-container/md-container.vue2.cjs +1 -1
- package/lib/components/md-container/toc.cjs +1 -1
- package/lib/components/message-box/index.cjs +1 -0
- package/lib/components/message-box/index.d.ts +4 -0
- package/lib/components/message-box/message-box.vue.cjs +1 -0
- package/lib/components/message-box/message-box.vue.d.ts +103 -0
- package/lib/components/message-box/message-box.vue2.cjs +1 -0
- package/lib/components/message-box/method.cjs +1 -0
- package/lib/components/message-box/method.d.ts +3 -0
- package/lib/components/message-box/style/css.cjs +1 -0
- package/lib/components/message-box/style/css.d.ts +2 -0
- package/lib/components/message-box/style/index.cjs +1 -0
- package/lib/components/message-box/style/index.d.ts +2 -0
- package/lib/components/message-box/types.d.ts +202 -0
- package/lib/components/modal/index.d.ts +1 -0
- package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
- package/lib/components/modal/modal.vue.d.ts +1 -0
- package/lib/components/modal/modal.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
- package/lib/components/pagination/components/jumper.vue2.cjs +1 -1
- package/lib/components/pagination/components/sizes.vue2.cjs +1 -1
- package/lib/components/pagination/components/total.vue2.cjs +1 -1
- package/lib/components/popconfirm/index.d.ts +15 -15
- package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
- package/lib/components/search/search.vue2.cjs +1 -1
- package/lib/components/select/index.d.ts +4 -4
- package/lib/components/select/select.vue.d.ts +4 -4
- package/lib/components/select/useSelect.cjs +1 -1
- package/lib/components/select/useSelect.d.ts +4 -4
- package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
- package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
- package/lib/components/super-form/use/helper.cjs +1 -1
- package/lib/components/super-form/use/helper.d.ts +1 -1
- package/lib/components/super-form/use/use-form.cjs +1 -1
- package/lib/components/table/field.cjs +1 -1
- package/lib/components/table/table.vue2.cjs +1 -1
- package/lib/components/table/use/use-columns.cjs +1 -1
- package/lib/components/table/use/use-data-source.cjs +1 -1
- package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
- package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
- package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
- package/lib/components/transfer/transfer.vue2.cjs +1 -1
- package/lib/components/tree/tree.vue2.cjs +1 -1
- package/lib/components/upload/upload-content.vue2.cjs +1 -1
- package/lib/components/upload/upload-list.vue2.cjs +1 -1
- package/lib/components/upload/upload.vue2.cjs +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/lib/plugin.cjs +1 -1
- package/package.json +3 -3
- package/theme-style/index.css +1 -1
- package/theme-style/src/message-box.scss +2 -2
- package/theme-style/src/table.scss +6 -0
- package/theme-style/vft-message-box.css +1 -1
- package/theme-style/vft-table.css +1 -1
- package/web-types.json +1 -1
- package/es/locale/index.d.ts +0 -26
- package/es/locale/index.js +0 -10
- package/es/locale/lang/en.d.ts +0 -183
- package/es/locale/lang/en.js +0 -241
- package/es/locale/lang/zh-cn.d.ts +0 -183
- package/es/locale/lang/zh-cn.js +0 -241
- package/es/locale/lang/zh-tw.d.ts +0 -183
- package/es/locale/lang/zh-tw.js +0 -241
- package/es/locale/use-locale.d.ts +0 -17
- package/es/locale/use-locale.js +0 -56
- package/lib/locale/index.cjs +0 -1
- package/lib/locale/index.d.ts +0 -26
- package/lib/locale/lang/en.cjs +0 -1
- package/lib/locale/lang/en.d.ts +0 -183
- package/lib/locale/lang/zh-cn.cjs +0 -1
- package/lib/locale/lang/zh-cn.d.ts +0 -183
- package/lib/locale/lang/zh-tw.cjs +0 -1
- package/lib/locale/lang/zh-tw.d.ts +0 -183
- package/lib/locale/use-locale.cjs +0 -1
- package/lib/locale/use-locale.d.ts +0 -17
- /package/es/{locale/index.d.js → components/message-box/types.js} +0 -0
- /package/lib/{locale/index.d.cjs → components/message-box/types.cjs} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { Action, MessageBoxState, MessageBoxType } from './types';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** 按钮尺寸 */
|
|
4
|
+
buttonSize?: 'large' | 'default' | 'small';
|
|
5
|
+
/** 是否显示遮罩 */
|
|
6
|
+
modal?: boolean;
|
|
7
|
+
/** 是否锁定 body 滚动 */
|
|
8
|
+
lockScroll?: boolean;
|
|
9
|
+
/** 是否显示关闭按钮 */
|
|
10
|
+
showClose?: boolean;
|
|
11
|
+
/** 点击遮罩是否关闭 */
|
|
12
|
+
closeOnClickModal?: boolean;
|
|
13
|
+
/** 按 ESC 是否关闭 */
|
|
14
|
+
closeOnPressEscape?: boolean;
|
|
15
|
+
/** hash 改变时是否关闭 */
|
|
16
|
+
closeOnHashChange?: boolean;
|
|
17
|
+
/** 内容是否居中 */
|
|
18
|
+
center?: boolean;
|
|
19
|
+
/** 是否可拖拽 */
|
|
20
|
+
draggable?: boolean;
|
|
21
|
+
/** 拖拽时是否允许溢出视口 */
|
|
22
|
+
overflow?: boolean;
|
|
23
|
+
/** 按钮是否使用圆角 */
|
|
24
|
+
roundButton?: boolean;
|
|
25
|
+
/** 自定义挂载节点 */
|
|
26
|
+
container?: string;
|
|
27
|
+
/** boxType,由 alert / confirm / prompt 内部传入 */
|
|
28
|
+
boxType?: MessageBoxType;
|
|
29
|
+
}
|
|
30
|
+
declare function doClose(): void;
|
|
31
|
+
declare function handleAction(action: Action): void;
|
|
32
|
+
declare function handleClose(): void;
|
|
33
|
+
declare function __VLS_template(): {
|
|
34
|
+
default?(_: {}): any;
|
|
35
|
+
};
|
|
36
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {
|
|
37
|
+
visible: import("vue").Ref<boolean, boolean>;
|
|
38
|
+
state: {
|
|
39
|
+
autofocus: boolean;
|
|
40
|
+
title: string | undefined;
|
|
41
|
+
message: string | import("vue").VNode;
|
|
42
|
+
type: import("./types").MessageBoxMessageType;
|
|
43
|
+
icon: string;
|
|
44
|
+
closeIcon: string;
|
|
45
|
+
customClass: string;
|
|
46
|
+
customStyle: Record<string, string | number>;
|
|
47
|
+
showInput: boolean;
|
|
48
|
+
inputValue: string;
|
|
49
|
+
inputPlaceholder: string;
|
|
50
|
+
inputType: string;
|
|
51
|
+
inputPattern: RegExp | null;
|
|
52
|
+
inputValidator: import("./types").MessageBoxInputValidator;
|
|
53
|
+
inputErrorMessage: string;
|
|
54
|
+
showConfirmButton: boolean;
|
|
55
|
+
showCancelButton: boolean;
|
|
56
|
+
action: Action;
|
|
57
|
+
dangerouslyUseHTMLString: boolean;
|
|
58
|
+
confirmButtonText: string;
|
|
59
|
+
cancelButtonText: string;
|
|
60
|
+
confirmButtonType: import("./types").MessageBoxButtonType;
|
|
61
|
+
cancelButtonType: import("./types").MessageBoxButtonType;
|
|
62
|
+
confirmButtonLoading: boolean;
|
|
63
|
+
cancelButtonLoading: boolean;
|
|
64
|
+
confirmButtonLoadingIcon: string;
|
|
65
|
+
cancelButtonLoadingIcon: string;
|
|
66
|
+
confirmButtonClass: string;
|
|
67
|
+
confirmButtonDisabled: boolean;
|
|
68
|
+
cancelButtonClass: string;
|
|
69
|
+
editorErrorMessage: string;
|
|
70
|
+
beforeClose: null | ((action: Action, instance: MessageBoxState, done: () => void) => void);
|
|
71
|
+
callback: null | import("./types").Callback;
|
|
72
|
+
distinguishCancelAndClose: boolean;
|
|
73
|
+
modalFade: boolean;
|
|
74
|
+
modalClass: string;
|
|
75
|
+
validateError: boolean;
|
|
76
|
+
zIndex: number;
|
|
77
|
+
};
|
|
78
|
+
doClose: typeof doClose;
|
|
79
|
+
handleClose: typeof handleClose;
|
|
80
|
+
handleAction: typeof handleAction;
|
|
81
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
82
|
+
vanish: () => void;
|
|
83
|
+
action: (action: Action) => void;
|
|
84
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
|
|
85
|
+
onAction?: ((action: Action) => any) | undefined;
|
|
86
|
+
onVanish?: (() => any) | undefined;
|
|
87
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
88
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
89
|
+
export default _default;
|
|
90
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
91
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
92
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
93
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
94
|
+
} : {
|
|
95
|
+
type: import('vue').PropType<T[K]>;
|
|
96
|
+
required: true;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
100
|
+
new (): {
|
|
101
|
+
$slots: S;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),T=require("../button/index.cjs"),P=require("../focus-trap/focus-trap.vue.cjs");require("../focus-trap/utils.cjs");const y=require("../icon/index.cjs"),A=require("../input/index.cjs"),H=require("../overlay/index.cjs");require("@vueuse/core");const M=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const U=require("../../hooks/use-draggable/index.cjs"),z=require("../../hooks/use-id/index.cjs"),F=require("../../hooks/use-lockscreen/index.cjs");require("../../hooks/use-model-toggle/index.cjs");const Z=require("../../hooks/use-namespace/index.cjs");require("@popperjs/core");const j=require("../../hooks/use-same-target/index.cjs"),W=require("../../hooks/use-z-index/index.cjs"),G=["aria-label","aria-describedby"],J=["id"],Q=e.defineComponent({name:"VftMessageBox",inheritAttrs:!1}),X=e.defineComponent({...Q,props:{buttonSize:{default:"default"},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},overflow:{type:Boolean,default:!1},roundButton:{type:Boolean,default:!1},container:{default:"body"},boxType:{default:""}},emits:["vanish","action"],setup(l,{expose:I,emit:S}){const N=S,g={primary:"icon-info-filled",success:"icon-success-filled",warning:"icon-warning-filled",info:"icon-info-filled",error:"icon-circle-close-filled"},a=Z.useNamespace("message-box"),{nextZIndex:C}=W.useZIndex(),i=e.ref(!1),t=e.reactive({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"default",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:"icon-loading",cancelButtonLoadingIcon:"icon-loading",confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:C()}),B=z.useId(),v=z.useId(),x=e.computed(()=>{const o=t.type;return{[a.bm("icon",o)]:o&&g[o]}}),p=e.computed(()=>{const o=t.type;return t.icon||o&&g[o]||""}),w=e.computed(()=>!!t.message),u=e.ref(),k=e.ref(),d=e.ref(),f=e.ref(),h=e.ref(),b=e.computed(()=>l.buttonSize),q=e.computed(()=>l.draggable),$=e.computed(()=>l.overflow),{isDragging:R}=U.useDraggable(u,k,q,$);e.watch(()=>t.inputValue,async o=>{await e.nextTick(),l.boxType==="prompt"&&o&&V()},{immediate:!0}),e.watch(()=>i.value,o=>{console.log(333),o&&(l.boxType!=="prompt"&&(t.autofocus?d.value=h.value?.$el??u.value:d.value=u.value),t.zIndex=C()),l.boxType==="prompt"&&(o?e.nextTick().then(()=>{f.value&&f.value.$el&&(t.autofocus?d.value=O()??u.value:d.value=u.value)}):(t.editorErrorMessage="",t.validateError=!1))}),e.onMounted(async()=>{await e.nextTick(),console.log(444),l.closeOnHashChange&&window.addEventListener("hashchange",m)}),e.onBeforeUnmount(()=>{l.closeOnHashChange&&window.removeEventListener("hashchange",m)});function m(){i.value&&(i.value=!1,e.nextTick(()=>{t.action&&N("action",t.action)}))}function D(){l.closeOnClickModal&&s(t.distinguishCancelAndClose?"close":"cancel")}const c=j.useSameTarget(D);function L(o){if(t.inputType!=="textarea"&&!f.value?.isComposing)return o.preventDefault(),s("confirm")}function s(o){l.boxType==="prompt"&&o==="confirm"&&!V()||(t.action=o,t.beforeClose?t.beforeClose?.(o,t,m):m())}function V(){if(l.boxType==="prompt"){const o=t.inputPattern;if(o&&!o.test(t.inputValue||""))return t.editorErrorMessage=t.inputErrorMessage||"输入的数据不合法!",t.validateError=!0,!1;const n=t.inputValidator;if(M.isFunction(n)){const r=n(t.inputValue);if(r===!1)return t.editorErrorMessage=t.inputErrorMessage||"输入的数据不合法!",t.validateError=!0,!1;if(M.isString(r))return t.editorErrorMessage=r,t.validateError=!0,!1}}return t.editorErrorMessage="",t.validateError=!1,!0}function O(){const o=f.value?.$refs;return o?.input??o?.textarea}function E(){s("close")}function K(){l.closeOnPressEscape&&E()}return l.lockScroll&&F.useLockscreen(i,{ns:a}),I({visible:i,state:t,doClose:m,handleClose:E,handleAction:s}),(o,n)=>(e.openBlock(),e.createBlock(e.Transition,{name:"vft-fade-in-linear",onAfterLeave:n[11]||(n[11]=r=>o.$emit("vanish"))},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(H.VftOverlay),{"z-index":t.zIndex,"overlay-class":[e.unref(a).is("message-box"),t.modalClass],mask:l.modal},{default:e.withCtx(()=>[e.createElementVNode("div",{role:"dialog","aria-label":t.title,"aria-modal":"true","aria-describedby":t.showInput?void 0:e.unref(B),class:e.normalizeClass(`${e.unref(a).namespace.value}-overlay-message-box`),onClick:n[8]||(n[8]=(...r)=>e.unref(c).onClick&&e.unref(c).onClick(...r)),onMousedown:n[9]||(n[9]=(...r)=>e.unref(c).onMousedown&&e.unref(c).onMousedown(...r)),onMouseup:n[10]||(n[10]=(...r)=>e.unref(c).onMouseup&&e.unref(c).onMouseup(...r))},[e.createVNode(e.unref(P.default),{loop:"",trapped:i.value,"focus-trap-el":u.value,"focus-start-el":d.value,onReleaseRequested:K},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"rootRef",ref:u,class:e.normalizeClass([e.unref(a).b(),t.customClass,e.unref(a).is("draggable",l.draggable),e.unref(a).is("dragging",e.unref(R)),{[e.unref(a).m("center")]:l.center}]),style:e.normalizeStyle(t.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=e.withModifiers(()=>{},["stop"]))},[t.title!==null&&t.title!==void 0?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"headerRef",ref:k,class:e.normalizeClass([e.unref(a).e("header"),{"show-close":l.showClose}])},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("title"))},[p.value&&l.center?(e.openBlock(),e.createBlock(e.unref(y.VftIcon),{key:0,icon:p.value,class:e.normalizeClass([e.unref(a).e("status"),x.value])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(t.title),1)],2),l.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(a).e("headerbtn")),"aria-label":"close",onClick:n[0]||(n[0]=r=>s(t.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=e.withKeys(e.withModifiers(r=>s(t.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[e.createVNode(e.unref(y.VftIcon),{icon:t.closeIcon||"icon-close",class:e.normalizeClass(e.unref(a).e("close"))},null,8,["icon","class"])],34)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{id:e.unref(B),class:e.normalizeClass(e.unref(a).e("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("container"))},[p.value&&!l.center&&w.value?(e.openBlock(),e.createBlock(e.unref(y.VftIcon),{key:0,icon:p.value,class:e.normalizeClass([e.unref(a).e("status"),x.value])},null,8,["icon","class"])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(a).e("message"))},[e.renderSlot(o.$slots,"default",{},()=>[t.dangerouslyUseHTMLString?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.showInput?"label":"p"),{key:1,for:t.showInput?e.unref(v):void 0,innerHTML:t.message},null,8,["for","innerHTML"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.showInput?"label":"p"),{key:0,for:t.showInput?e.unref(v):void 0,textContent:e.toDisplayString(t.message)},null,8,["for","textContent"]))])],2)):e.createCommentVNode("",!0)],2),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createVNode(e.unref(A.VftInput),{id:e.unref(v),ref_key:"inputRef",ref:f,modelValue:t.inputValue,"onUpdate:modelValue":n[2]||(n[2]=r=>t.inputValue=r),type:t.inputType,placeholder:t.inputPlaceholder,"aria-invalid":t.validateError,class:e.normalizeClass({invalid:t.validateError}),onKeydown:e.withKeys(L,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class"]),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("errormsg")),style:e.normalizeStyle({visibility:t.editorErrorMessage?"visible":"hidden"})},e.toDisplayString(t.editorErrorMessage),7)],2),[[e.vShow,t.showInput]])],10,J),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("btns"))},[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(T.VftButton),{key:0,type:t.cancelButtonType==="text"?"default":t.cancelButtonType,text:t.cancelButtonType==="text",loading:t.cancelButtonLoading,class:e.normalizeClass([t.cancelButtonClass]),round:l.roundButton,size:b.value,onClick:n[3]||(n[3]=r=>s("cancel")),onKeydown:n[4]||(n[4]=e.withKeys(e.withModifiers(r=>s("cancel"),["prevent"]),["enter"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelButtonText||"取消"),1)]),_:1},8,["type","text","loading","class","round","size"])):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(e.unref(T.VftButton),{ref_key:"confirmRef",ref:h,type:t.confirmButtonType==="text"?"default":t.confirmButtonType,text:t.confirmButtonType==="text",loading:t.confirmButtonLoading,class:e.normalizeClass([t.confirmButtonClass]),round:l.roundButton,disabled:t.confirmButtonDisabled,size:b.value,onClick:n[5]||(n[5]=r=>s("confirm")),onKeydown:n[6]||(n[6]=e.withKeys(e.withModifiers(r=>s("confirm"),["prevent"]),["enter"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmButtonText||"确定"),1)]),_:1},8,["type","text","loading","class","round","disabled","size"]),[[e.vShow,t.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el"])],42,G)]),_:3},8,["z-index","overlay-class","mask"]),[[e.vShow,i.value]])]),_:3}))}});exports.default=X;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@vft/utils"),m=require("@vueuse/core"),g=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const o=require("vue");require("lodash-es");require("../form/index.cjs");const _=require("./message-box.vue2.cjs"),u=new Map,h=e=>{let n=document.body;return e.appendTo&&(r.isString(e.appendTo)&&(n=document.querySelector(e.appendTo)),r.isElement(e.appendTo)&&(n=e.appendTo),r.isElement(n)||(g.debugWarn("VftMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),n=document.body)),n},f=(e,n)=>()=>{e.component?.exposed?.handleAction(n)},E=(e,n,c=null)=>{const s=o.createVNode(_.default,e,r.isFunction(e.message)||o.isVNode(e.message)?{default:r.isFunction(e.message)?()=>e.message({confirm:f(s,"confirm"),cancel:f(s,"cancel"),close:f(s,"close")}):()=>e.message}:null);return s.appContext=c,o.render(s,n),h(e).appendChild(n.firstElementChild),s.component},b=()=>document.createElement("div"),v=(e,n)=>{const c=b();e.onVanish=()=>{o.render(null,c),u.delete(l)},e.onAction=t=>{const d=u.get(l);let i;e.showInput?i={value:l.state.inputValue,action:t}:i=t,e.callback?e.callback(i,s.proxy):t==="cancel"||t==="close"?e.distinguishCancelAndClose&&t!=="cancel"?d.reject("close"):d.reject("cancel"):d.resolve(i)};const s=E(e,c,n),l=s.exposed;for(const t in e)r.hasOwn(e,t)&&!r.hasOwn(s.props,t)&&(l.state[t]=e[t]);return l.visible.value=!0,l};function a(e,n=null){if(!m.isClient)return Promise.reject();let c;return r.isString(e)||o.isVNode(e)?e={message:e}:c=e.callback,new Promise((s,l)=>{const t=v(e,n??a._context);u.set(t,{options:e,callback:c,resolve:s,reject:l})})}const x=["alert","confirm","prompt"],O={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};x.forEach(e=>{a[e]=p(e)});function p(e){return(n,c,s,l)=>{let t="";return r.isObject(c)?(s=c,t=""):r.isUndefined(c)?t="":t=c,a(Object.assign({title:t,message:n,type:"",...O[e]},s,{boxType:e}),l)}}a.close=()=>{u.forEach((e,n)=>{n.doClose()}),u.clear()};a._context=null;exports.default=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-message-box.css");require("vft/theme-style/vft-overlay.css");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("vft/theme-style/src/base.scss");require("vft/theme-style/src/message-box.scss");require("vft/theme-style/src/overlay.scss");
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import type { AppContext, VNode } from 'vue';
|
|
2
|
+
import type { CSSProperties } from 'vue';
|
|
3
|
+
export type Action = 'confirm' | 'close' | 'cancel';
|
|
4
|
+
export type MessageBoxType = '' | 'prompt' | 'alert' | 'confirm';
|
|
5
|
+
export type MessageBoxMessageType = '' | 'primary' | 'success' | 'warning' | 'info' | 'error';
|
|
6
|
+
export type MessageBoxButtonType = 'default' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'text';
|
|
7
|
+
export type CloseFn = () => void;
|
|
8
|
+
export interface MessageBoxInputData {
|
|
9
|
+
/** 输入框内的值 */
|
|
10
|
+
value: string;
|
|
11
|
+
/** 触发的动作类型 */
|
|
12
|
+
action: Action;
|
|
13
|
+
}
|
|
14
|
+
export type MessageBoxData = MessageBoxInputData & Action;
|
|
15
|
+
export interface MessageBoxActionHandlers {
|
|
16
|
+
confirm: CloseFn;
|
|
17
|
+
cancel: CloseFn;
|
|
18
|
+
close: CloseFn;
|
|
19
|
+
}
|
|
20
|
+
export type MessageBoxInputValidator = ((value: string) => boolean | string) | undefined;
|
|
21
|
+
export type Callback = ((value: string, action: Action) => any) | ((action: Action) => any);
|
|
22
|
+
export interface MessageBoxState {
|
|
23
|
+
/** 自动聚焦 */
|
|
24
|
+
autofocus: boolean;
|
|
25
|
+
/** 标题 */
|
|
26
|
+
title: string | undefined;
|
|
27
|
+
/** 消息内容 */
|
|
28
|
+
message: string | VNode;
|
|
29
|
+
/** 消息类型,控制图标 */
|
|
30
|
+
type: MessageBoxMessageType;
|
|
31
|
+
/** 自定义图标 */
|
|
32
|
+
icon: string;
|
|
33
|
+
/** 自定义关闭图标 */
|
|
34
|
+
closeIcon: string;
|
|
35
|
+
/** 自定义类名 */
|
|
36
|
+
customClass: string;
|
|
37
|
+
/** 自定义内联样式 */
|
|
38
|
+
customStyle: Record<string, string | number>;
|
|
39
|
+
/** 是否显示输入框,prompt 模式下默认 true */
|
|
40
|
+
showInput: boolean;
|
|
41
|
+
/** 输入框默认值 */
|
|
42
|
+
inputValue: string;
|
|
43
|
+
/** 输入框占位符 */
|
|
44
|
+
inputPlaceholder: string;
|
|
45
|
+
/** 输入框类型 */
|
|
46
|
+
inputType: string;
|
|
47
|
+
/** 输入框校验正则 */
|
|
48
|
+
inputPattern: RegExp | null;
|
|
49
|
+
/** 输入框自定义校验函数 */
|
|
50
|
+
inputValidator: MessageBoxInputValidator;
|
|
51
|
+
/** 输入框校验失败提示 */
|
|
52
|
+
inputErrorMessage: string;
|
|
53
|
+
/** 是否显示确认按钮 */
|
|
54
|
+
showConfirmButton: boolean;
|
|
55
|
+
/** 是否显示取消按钮 */
|
|
56
|
+
showCancelButton: boolean;
|
|
57
|
+
/** 当前触发的动作 */
|
|
58
|
+
action: Action;
|
|
59
|
+
/** 是否将 message 作为 HTML 字符串渲染 */
|
|
60
|
+
dangerouslyUseHTMLString: boolean;
|
|
61
|
+
/** 确认按钮文案 */
|
|
62
|
+
confirmButtonText: string;
|
|
63
|
+
/** 取消按钮文案 */
|
|
64
|
+
cancelButtonText: string;
|
|
65
|
+
/** 确认按钮类型 */
|
|
66
|
+
confirmButtonType: MessageBoxButtonType;
|
|
67
|
+
/** 取消按钮类型 */
|
|
68
|
+
cancelButtonType: MessageBoxButtonType;
|
|
69
|
+
/** 确认按钮加载中 */
|
|
70
|
+
confirmButtonLoading: boolean;
|
|
71
|
+
/** 取消按钮加载中 */
|
|
72
|
+
cancelButtonLoading: boolean;
|
|
73
|
+
/** 确认按钮加载图标 */
|
|
74
|
+
confirmButtonLoadingIcon: string;
|
|
75
|
+
/** 取消按钮加载图标 */
|
|
76
|
+
cancelButtonLoadingIcon: string;
|
|
77
|
+
/** 确认按钮自定义类名 */
|
|
78
|
+
confirmButtonClass: string;
|
|
79
|
+
/** 确认按钮是否禁用 */
|
|
80
|
+
confirmButtonDisabled: boolean;
|
|
81
|
+
/** 取消按钮自定义类名 */
|
|
82
|
+
cancelButtonClass: string;
|
|
83
|
+
/** 输入框校验失败信息 */
|
|
84
|
+
editorErrorMessage: string;
|
|
85
|
+
/** 关闭前回调 */
|
|
86
|
+
beforeClose: null | ((action: Action, instance: MessageBoxState, done: () => void) => void);
|
|
87
|
+
/** 关闭后回调(不使用 Promise 时) */
|
|
88
|
+
callback: null | Callback;
|
|
89
|
+
/** 是否区分取消和关闭 */
|
|
90
|
+
distinguishCancelAndClose: boolean;
|
|
91
|
+
/** 遮罩淡入淡出 */
|
|
92
|
+
modalFade: boolean;
|
|
93
|
+
/** 自定义遮罩类名 */
|
|
94
|
+
modalClass: string;
|
|
95
|
+
/** 校验是否失败 */
|
|
96
|
+
validateError: boolean;
|
|
97
|
+
/** 弹窗层级 */
|
|
98
|
+
zIndex: number;
|
|
99
|
+
}
|
|
100
|
+
/** MessageBox 选项 */
|
|
101
|
+
export interface MessageBoxOptions {
|
|
102
|
+
/** 打开时是否自动聚焦 */
|
|
103
|
+
autofocus?: boolean;
|
|
104
|
+
/** 关闭前回调,会阻止默认关闭 */
|
|
105
|
+
beforeClose?: (action: Action, instance: MessageBoxState, done: () => void) => void;
|
|
106
|
+
/** 自定义类名 */
|
|
107
|
+
customClass?: string;
|
|
108
|
+
/** 自定义内联样式 */
|
|
109
|
+
customStyle?: CSSProperties;
|
|
110
|
+
/** 是否显示遮罩 */
|
|
111
|
+
modal?: boolean;
|
|
112
|
+
/** 遮罩自定义类名 */
|
|
113
|
+
modalClass?: string;
|
|
114
|
+
/** 关闭回调 */
|
|
115
|
+
callback?: Callback;
|
|
116
|
+
/** 取消按钮文案 */
|
|
117
|
+
cancelButtonText?: string;
|
|
118
|
+
/** 确认按钮文案 */
|
|
119
|
+
confirmButtonText?: string;
|
|
120
|
+
/** 取消按钮类型 */
|
|
121
|
+
cancelButtonType?: MessageBoxButtonType;
|
|
122
|
+
/** 确认按钮类型 */
|
|
123
|
+
confirmButtonType?: MessageBoxButtonType;
|
|
124
|
+
/** 取消按钮加载图标 */
|
|
125
|
+
cancelButtonLoadingIcon?: string;
|
|
126
|
+
/** 确认按钮加载图标 */
|
|
127
|
+
confirmButtonLoadingIcon?: string;
|
|
128
|
+
/** 取消按钮自定义类名 */
|
|
129
|
+
cancelButtonClass?: string;
|
|
130
|
+
/** 确认按钮自定义类名 */
|
|
131
|
+
confirmButtonClass?: string;
|
|
132
|
+
/** 内容是否居中 */
|
|
133
|
+
center?: boolean;
|
|
134
|
+
/** 是否可拖拽 */
|
|
135
|
+
draggable?: boolean;
|
|
136
|
+
/** 拖拽时是否允许溢出视口 */
|
|
137
|
+
overflow?: boolean;
|
|
138
|
+
/** 消息内容,可为字符串、VNode 或返回 VNode 的函数 */
|
|
139
|
+
message?: string | VNode | ((params: MessageBoxActionHandlers) => VNode);
|
|
140
|
+
/** 标题 */
|
|
141
|
+
title?: string | MessageBoxOptions;
|
|
142
|
+
/** 消息类型,决定图标 */
|
|
143
|
+
type?: MessageBoxMessageType;
|
|
144
|
+
/** boxType,由 alert / confirm / prompt 内部传入 */
|
|
145
|
+
boxType?: MessageBoxType;
|
|
146
|
+
/** 自定义图标 */
|
|
147
|
+
icon?: string;
|
|
148
|
+
/** 自定义关闭图标 */
|
|
149
|
+
closeIcon?: string;
|
|
150
|
+
/** 是否将 message 作为 HTML 字符串处理 */
|
|
151
|
+
dangerouslyUseHTMLString?: boolean;
|
|
152
|
+
/** 是否区分取消和关闭 */
|
|
153
|
+
distinguishCancelAndClose?: boolean;
|
|
154
|
+
/** 是否锁定 body 滚动 */
|
|
155
|
+
lockScroll?: boolean;
|
|
156
|
+
/** 是否显示取消按钮 */
|
|
157
|
+
showCancelButton?: boolean;
|
|
158
|
+
/** 是否显示确认按钮 */
|
|
159
|
+
showConfirmButton?: boolean;
|
|
160
|
+
/** 是否显示关闭按钮 */
|
|
161
|
+
showClose?: boolean;
|
|
162
|
+
/** 按钮是否使用圆角 */
|
|
163
|
+
roundButton?: boolean;
|
|
164
|
+
/** 点击遮罩是否关闭 */
|
|
165
|
+
closeOnClickModal?: boolean;
|
|
166
|
+
/** 按 ESC 是否关闭 */
|
|
167
|
+
closeOnPressEscape?: boolean;
|
|
168
|
+
/** hash 改变时是否关闭 */
|
|
169
|
+
closeOnHashChange?: boolean;
|
|
170
|
+
/** prompt 时是否显示输入框 */
|
|
171
|
+
showInput?: boolean;
|
|
172
|
+
/** 输入框占位符 */
|
|
173
|
+
inputPlaceholder?: string;
|
|
174
|
+
/** 输入框默认值 */
|
|
175
|
+
inputValue?: string;
|
|
176
|
+
/** 输入框校验正则 */
|
|
177
|
+
inputPattern?: RegExp;
|
|
178
|
+
/** 输入框类型 */
|
|
179
|
+
inputType?: string;
|
|
180
|
+
/** 输入框自定义校验函数 */
|
|
181
|
+
inputValidator?: MessageBoxInputValidator;
|
|
182
|
+
/** 校验失败时提示文案 */
|
|
183
|
+
inputErrorMessage?: string;
|
|
184
|
+
/** 按钮尺寸 */
|
|
185
|
+
buttonSize?: 'large' | 'default' | 'small';
|
|
186
|
+
/** 自定义挂载节点 */
|
|
187
|
+
appendTo?: HTMLElement | string;
|
|
188
|
+
}
|
|
189
|
+
export type MessageBoxShortcutMethod = ((message: MessageBoxOptions['message'], options?: MessageBoxOptions, appContext?: AppContext | null) => Promise<MessageBoxData>) & ((message: MessageBoxOptions['message'], title: MessageBoxOptions['title'], options?: MessageBoxOptions, appContext?: AppContext | null) => Promise<MessageBoxData>);
|
|
190
|
+
export interface IMessageBox {
|
|
191
|
+
_context: AppContext | null;
|
|
192
|
+
/** 显示一个消息提示框 */
|
|
193
|
+
(options: MessageBoxOptions, appContext?: AppContext | null): Promise<MessageBoxData>;
|
|
194
|
+
/** 显示警告对话框 */
|
|
195
|
+
alert: MessageBoxShortcutMethod;
|
|
196
|
+
/** 显示确认对话框 */
|
|
197
|
+
confirm: MessageBoxShortcutMethod;
|
|
198
|
+
/** 显示提示输入框 */
|
|
199
|
+
prompt: MessageBoxShortcutMethod;
|
|
200
|
+
/** 关闭当前所有 message-box */
|
|
201
|
+
close: CloseFn;
|
|
202
|
+
}
|
|
@@ -566,6 +566,7 @@ export declare const VftModal: import("vft/es/utils").SFCWithInstall<{
|
|
|
566
566
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
567
567
|
$slots: {
|
|
568
568
|
default?(_: {}): any;
|
|
569
|
+
footer?(_: {}): any;
|
|
569
570
|
};
|
|
570
571
|
})> & Record<string, any>;
|
|
571
572
|
export * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../row/index.cjs"),i=require("../button/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const a=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const l=e.defineComponent({__name:"modal-footer-action",props:{showSubmitButton:{type:Boolean},showCancelButton:{type:Boolean},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},setup(t){const o=a.useNamespace("form-action"),s=e.computed(()=>({justify:"end",...t.actionRowOptions})),n=e.computed(()=>Object.assign({btnText:"确认"},t.submitButtonOptions)),r=e.computed(()=>Object.assign({btnText:"取消"},t.cancelButtonOptions));return(u,m)=>(e.openBlock(),e.createBlock(e.unref(c.VftRow),e.normalizeProps(e.guardReactiveProps(s.value)),{default:e.withCtx(()=>[t.showCancelButton?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:0},r.value,{class:e.unref(o).e("cancel")}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"submitBefore"),t.showSubmitButton?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:1,type:"primary",class:e.unref(o).e("submit")},n.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value.btnText),1)]),_:1},16,["class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"submitAfter")]),_:3},16))}});exports.default=l;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ModalActionProps, ModalMethods, ModalProps } from './types';
|
|
2
2
|
declare function __VLS_template(): {
|
|
3
3
|
default?(_: {}): any;
|
|
4
|
+
footer?(_: {}): any;
|
|
4
5
|
};
|
|
5
6
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ModalProps & ModalActionProps>, {
|
|
6
7
|
center: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../dialog/index.cjs"),m=require("@vft/utils"),h=require("./modal-footer-action.vue2.cjs"),V=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},scrollTop:{type:Boolean},appendToBody:{type:Boolean,default:!1},appendTo:{},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean,default:!0},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:["visible-change","close","ok","register","update:modelValue","submit","open","opened","closed","openAutoFocus","closeAutoFocus"],setup(u,{emit:B}){const l=u,n=B,b=e.useAttrs(),c=e.ref(null),s=e.ref(!1),a=e.ref(null),d={setModalProps:f,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(a)&&e.unref(a).setModalHeight()})}},i=e.getCurrentInstance();i&&n("register",d,i.uid);const y=e.computed(()=>({...l,...e.unref(c)})),C=e.computed(()=>({...b,...e.unref(y),modelValue:e.unref(s)}));e.watchEffect(()=>{s.value=!!l.modelValue}),e.watch(()=>e.unref(s),o=>{n("visible-change",o),n("update:modelValue",o),i&&d.emitVisible&&e.nextTick(()=>{d.emitVisible(o,i.uid)}),e.nextTick(()=>{l.scrollTop&&o&&e.unref(a)&&e.unref(a).scrollTop()})},{immediate:!1});async function p(o){if(o?.stopPropagation(),l.closeFunc&&m.isFunction(l.closeFunc)){await l.closeFunc()||f({modelValue:!1});return}f({modelValue:!1}),n("close",o)}function f(o){c.value=m.deepMerge(e.unref(c)||{},o),Reflect.has(o,"modelValue")&&(s.value=!!o.modelValue)}const g=e.computed(()=>({onClick:o=>p(o),...l.cancelButtonOptions})),w=e.computed(()=>({onClick:()=>n("submit"),...l.submitButtonOptions}));return(o,t)=>(e.openBlock(),e.createBlock(e.unref(v.VftDialog),e.mergeProps(C.value,{onClose:p,onOpen:t[0]||(t[0]=r=>n("open")),onOpened:t[1]||(t[1]=r=>n("opened")),onClosed:t[2]||(t[2]=r=>n("closed")),onOpenAutoFocus:t[3]||(t[3]=r=>n("openAutoFocus")),onCloseAutoFocus:t[4]||(t[4]=r=>n("closeAutoFocus"))}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[o.$slots.footer||u.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[u.showActionButtonGroup?(e.openBlock(),e.createBlock(h.default,{key:0,"show-cancel-button":u.showCancelButton,"show-submit-button":u.showSubmitButton,"cancel-button-options":g.value,"submit-button-options":w.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040))}});exports.default=V;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../dialog/index.cjs"),m=require("@vft/utils"),h=require("./modal-footer-action.vue2.cjs"),V=e.defineComponent({__name:"modal",props:{closeFunc:{},showActionButtonGroup:{type:Boolean,default:!1},confirmLoading:{type:Boolean},loading:{type:Boolean},scrollTop:{type:Boolean},appendToBody:{type:Boolean,default:!1},appendTo:{},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean,default:!0},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{},showSubmitButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},submitButtonOptions:{},cancelButtonOptions:{},actionRowOptions:{}},emits:["visible-change","close","ok","register","update:modelValue","submit","open","opened","closed","openAutoFocus","closeAutoFocus"],setup(u,{emit:B}){const l=u,n=B,b=e.useAttrs(),c=e.ref(null),s=e.ref(!1),a=e.ref(null),d={setModalProps:f,emitVisible:void 0,redoModalHeight:()=>{e.nextTick(()=>{e.unref(a)&&e.unref(a).setModalHeight()})}},i=e.getCurrentInstance();i&&n("register",d,i.uid);const y=e.computed(()=>({...l,...e.unref(c)})),C=e.computed(()=>({...b,...e.unref(y),modelValue:e.unref(s)}));e.watchEffect(()=>{s.value=!!l.modelValue}),e.watch(()=>e.unref(s),o=>{n("visible-change",o),n("update:modelValue",o),i&&d.emitVisible&&e.nextTick(()=>{d.emitVisible(o,i.uid)}),e.nextTick(()=>{l.scrollTop&&o&&e.unref(a)&&e.unref(a).scrollTop()})},{immediate:!1});async function p(o){if(o?.stopPropagation(),l.closeFunc&&m.isFunction(l.closeFunc)){await l.closeFunc()||f({modelValue:!1});return}f({modelValue:!1}),n("close",o)}function f(o){c.value=m.deepMerge(e.unref(c)||{},o),Reflect.has(o,"modelValue")&&(s.value=!!o.modelValue)}const g=e.computed(()=>({onClick:o=>p(o),...l.cancelButtonOptions})),w=e.computed(()=>({onClick:()=>n("submit"),...l.submitButtonOptions}));return(o,t)=>(e.openBlock(),e.createBlock(e.unref(v.VftDialog),e.mergeProps(C.value,{onClose:p,onOpen:t[0]||(t[0]=r=>n("open")),onOpened:t[1]||(t[1]=r=>n("opened")),onClosed:t[2]||(t[2]=r=>n("closed")),onOpenAutoFocus:t[3]||(t[3]=r=>n("openAutoFocus")),onCloseAutoFocus:t[4]||(t[4]=r=>n("closeAutoFocus"))}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[o.$slots.footer||u.showActionButtonGroup?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"footer",{},()=>[u.showActionButtonGroup?(e.openBlock(),e.createBlock(h.default,{key:0,"show-cancel-button":u.showCancelButton,"show-submit-button":u.showSubmitButton,"cancel-button-options":g.value,"submit-button-options":w.value},null,8,["show-cancel-button","show-submit-button","cancel-button-options","submit-button-options"])):e.createCommentVNode("",!0)])]),key:"0"}:void 0]),1040))}});exports.default=V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("../tabs/index.cjs"),y=require("../icon/index.cjs"),K=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),q=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),h=require("@vft/store"),A=require("@vft/use"),D=require("hotkeys-js"),H=require("vue-router"),W=require("./tab-content.vue2.cjs"),S=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("../tabs/index.cjs"),y=require("../icon/index.cjs"),K=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),q=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),h=require("@vft/store"),A=require("@vft/use"),D=require("hotkeys-js"),H=require("vue-router"),W=require("./tab-content.vue2.cjs"),S=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");const j=e.defineComponent({name:"vft-multiple-tabs"}),O=e.defineComponent({...j,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{default:0},fixExtraScrollWidth:{}},setup(s){const g=z.useNamespace("multiple-tabs"),l=e.getCurrentInstance().appContext.config.globalProperties.$router,P=S.initAffixTabs(l),o=h.useMultipleTabStore(),f=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab&&h.isTabPinned(t)).length),k=e.computed(()=>Math.max(s.fixTabCount,f.value)),u=e.ref(""),i=e.ref(0),b=e.ref(),{go:x}=d.useRouterHelper(l),v=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(u.value){const t=v.value.findIndex(a=>d.getRouterKeyPath(a)===u.value);t===-1?i.value=v.value?.length-1:i.value=t,i.value=i.value<f.value?f.value-1:i.value}}),K.isClient&&H.onBeforeRouteLeave(()=>{b.value=e.unref(l.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:c}=a,E=c?n:null,T=d.getRouterKeyPath(t);if(u.value!==T&&(u.value=T),E){const C=l.getRoutes().find(F=>F.path===n);C&&o.addTab(C,e.unref(b),i.value,t)}else c||o.addTab(e.unref(t),e.unref(b),i.value)});function V(t){if(u.value===t.paneName)return;const a=v.value[t.attrs.index];u.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;x(n||a.fullPath||a.path)}function _(t){o.closeTabByKey(t,l)}const{refs:U,setRefs:w}=A.useRefs();function M(t){const a=t.pane.attrs.index,n=t.event;U.value[a].handleContext(n)}const B=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...q.generateCssVars(t,"tabs"),...s.tabsStyle}}),{closeCurrent:N}=h.useTabs(),$={...q.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...s.contextMenuStyle},I=()=>{o.toggleFullScreen(o.getTabList[i.value],l)},m=e.ref(!1);let p;const L=()=>{clearInterval(p),m.value=!0,o.refreshPage(0,l,o.getTabList[i.value]),p=setTimeout(()=>{m.value=!1},500)};return e.onMounted(()=>{s.canDrag&&S.useTabsDrag(P),D("command+e, ctrl+e",()=>(N(),!1))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(g).b()),style:e.normalizeStyle(B.value)},[e.createVNode(e.unref(R.VftTabs),{"show-bar":!1,"fix-tab-count":k.value,"fix-extra-scroll-width":s.fixExtraScrollWidth,modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=n=>u.value=n),onTabClick:V,onTabRemove:_,onTabContextMenu:M},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(n,c)=>(e.openBlock(),e.createBlock(e.unref(R.VftTabPane),{key:e.unref(d.getRouterKeyPath)(n)+c,closable:!e.unref(h.isTabPinned)(n),index:c,name:e.unref(d.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(W.default,{"context-menu-style":$,"affix-num":f.value,ref_for:!0,ref:e.unref(w)(c),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:2},[s.showNavRight?{name:"navRight",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"nav-right",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g).e("nav-right"))},[e.createVNode(e.unref(y.VftIcon),{rotate:m.value,"rotate-speed":1,onClick:L,icon:"icon-refresh-right",pointer:""},null,8,["rotate"]),e.createVNode(e.unref(y.VftIcon),{onClick:I,icon:e.unref(o).isFullScreen?"icon-collapse":"icon-expand",pointer:""},null,8,["icon"])],2)])]),key:"0"}:void 0]),1032,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6))}});exports.default=O;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@vft/router"),l=require("@vft/store");require("@vft/utils");const g=require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");require("vue-router");function R(e,t){const s=g.reactive({current:null,currentIndex:0}),n=l.useMultipleTabStore(),{refreshPage:h,closeAll:p,close:b,closeLeft:f,closeOther:x,closeRight:T,newWinTab:C,fullScreen:L,alonePage:v,pinTab:q,unpinTab:D}=l.useTabs(),P=g.computed(()=>{if(!e)return;const{meta:r}=e,o=s.currentIndex,i=l.isTabPinned(e),c=!i,d=!!r?.userPinned,M=o===0||o<=t,S=n.getTabList.length<=t||o===n.getTabList.length-1&&n.getLastDragEndIndex>=0,y=n.getTabList.length===t||n.getTabList.length===t+1&&o===t,u=n.getTabList.length===t;return[{iconCfg:{icon:"icon-refresh-right"},text:"刷新",handler:()=>h(e)},{iconCfg:{icon:"icon-new-tab"},text:"新页面打开",handler:()=>C(e),divider:!0},{iconCfg:{icon:"icon-close-tab"},text:"关闭标签页",disabled:i||u,handler:()=>b(e)},{iconCfg:{icon:"icon-arrow-close-left"},text:"关闭左侧标签页",disabled:M,handler:()=>f(e)},{iconCfg:{icon:"icon-arrow-close-right"},text:"关闭右侧标签页",disabled:S,divider:!0,handler:()=>T(e)},{iconCfg:{icon:"icon-close-box-multiple-outline"},text:"关闭其它标签页",disabled:y,handler:()=>x(e)},{iconCfg:{icon:"icon-vector-square-delete"},text:"关闭所有标签页",disabled:u,divider:!0,handler:()=>p()},{iconCfg:{icon:"icon-full-screen"},text:"全屏",handler:()=>L(e)},{iconCfg:{icon:"icon-separate"},text:"独立页面",handler:()=>v(e),divider:c||d},...c?[{iconCfg:{icon:"icon-tab-pin"},text:"固定",handler:()=>q(e)}]:d?[{iconCfg:{icon:"icon-tab-unpin"},text:"取消固定",handler:()=>D(e)}]:[]]});function w(r){return o=>{if(!r)return;o?.preventDefault();const i=n.getTabList.findIndex(c=>a.getRouterKeyPath(c)===a.getRouterKeyPath(r));s.current=r,s.currentIndex=i}}return{getDropMenuList:P,handleContextMenu:w}}exports.useTabDropdown=R;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const m=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const p=require("../../input/index.cjs"),f=require("../usePagination.cjs"),g=["disabled"],q=e.defineComponent({__name:"jumper",props:{size:{}},setup(u){const a=m.useNamespace("pagination"),{pageCount:i,disabled:s,currentPage:t,changeEvent:l}=f.usePagination(),r=e.ref(),o=e.computed(()=>r.value??t?.value);function c(n){r.value=+n}function d(n){n=Math.trunc(+n),l?.(+n),r.value=void 0}return(n,v)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a).e("jump")),disabled:e.unref(s)},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("goto")])},"前往",2),e.createVNode(e.unref(p.VftInput),{size:u.size,class:e.normalizeClass([e.unref(a).e("editor"),e.unref(a).is("in-pagination")]),min:1,max:e.unref(i),disabled:e.unref(s),"model-value":o.value,"validate-event":!1,type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value"]),e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("classifier")])},"页",2)],10,g))}});exports.default=q;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),g=require("lodash-es");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("../../form/index.cjs");const z=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const p=require("../usePagination.cjs"),S=require("../../select/index.cjs"),f=a.defineComponent({__name:"sizes",props:{pageSize:{},pageSizes:{default:()=>[10,20,30,40,50,100]},popperClass:{},disabled:{type:Boolean},size:{}},emits:["page-size-change"],setup(i,{emit:t}){const r=t,u=z.useNamespace("pagination"),l=p.usePagination(),n=a.ref(i.pageSize);a.watch(()=>i.pageSizes,(e,s)=>{if(!g.isEqual(e,s)&&Array.isArray(e)){const d=e.includes(i.pageSize)?i.pageSize:i.pageSizes[0];r("page-size-change",d)}}),a.watch(()=>i.pageSize,e=>{n.value=e});const o=a.computed(()=>i.pageSizes.map(e=>({label:e+"条/页",value:e})));function c(e){e!==n.value&&(n.value=e,l.handleSizeChange?.(Number(e)))}return(e,s)=>(a.openBlock(),a.createElementBlock("span",{class:a.normalizeClass(a.unref(u).e("sizes"))},[a.createVNode(a.unref(S.VftSelect),{"model-value":n.value,disabled:i.disabled,"popper-class":i.popperClass,size:i.size,"validate-event":!1,onChange:c,options:o.value},null,8,["model-value","disabled","popper-class","size","options"])],2))}});exports.default=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../form/index.cjs");const n=require("../../../hooks/use-namespace/index.cjs");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");const a=require("../usePagination.cjs"),s=["disabled"],o=e.defineComponent({__name:"total",props:{total:{default:0}},setup(r){const t=n.useNamespace("pagination"),{disabled:i}=a.usePagination();return(u,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(t).e("total")),disabled:e.unref(i)},"共 "+e.toDisplayString(r.total)+" 条",11,s))}});exports.default=o;
|
|
@@ -7,14 +7,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
7
7
|
type: import("vue").PropType<string | number>;
|
|
8
8
|
default: number;
|
|
9
9
|
};
|
|
10
|
-
icon: {
|
|
11
|
-
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
12
|
-
default: string;
|
|
13
|
-
};
|
|
14
10
|
teleported: {
|
|
15
11
|
type: import("vue").PropType<boolean>;
|
|
16
12
|
default: boolean;
|
|
17
13
|
};
|
|
14
|
+
icon: {
|
|
15
|
+
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
16
|
+
default: string;
|
|
17
|
+
};
|
|
18
18
|
hideAfter: {
|
|
19
19
|
type: import("vue").PropType<number>;
|
|
20
20
|
default: number;
|
|
@@ -52,8 +52,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
52
52
|
cancel: (val: MouseEvent) => void;
|
|
53
53
|
}, import("vue").PublicProps, {
|
|
54
54
|
width: string | number;
|
|
55
|
-
icon: string | import("vft/es/vft").IconProps;
|
|
56
55
|
teleported: boolean;
|
|
56
|
+
icon: string | import("vft/es/vft").IconProps;
|
|
57
57
|
hideAfter: number;
|
|
58
58
|
persistent: boolean;
|
|
59
59
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -74,14 +74,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
74
74
|
type: import("vue").PropType<string | number>;
|
|
75
75
|
default: number;
|
|
76
76
|
};
|
|
77
|
-
icon: {
|
|
78
|
-
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
79
|
-
default: string;
|
|
80
|
-
};
|
|
81
77
|
teleported: {
|
|
82
78
|
type: import("vue").PropType<boolean>;
|
|
83
79
|
default: boolean;
|
|
84
80
|
};
|
|
81
|
+
icon: {
|
|
82
|
+
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
83
|
+
default: string;
|
|
84
|
+
};
|
|
85
85
|
hideAfter: {
|
|
86
86
|
type: import("vue").PropType<number>;
|
|
87
87
|
default: number;
|
|
@@ -116,8 +116,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
116
116
|
onConfirm?: ((val: MouseEvent) => any) | undefined;
|
|
117
117
|
}>, {}, {}, {}, {}, {
|
|
118
118
|
width: string | number;
|
|
119
|
-
icon: string | import("vft/es/vft").IconProps;
|
|
120
119
|
teleported: boolean;
|
|
120
|
+
icon: string | import("vft/es/vft").IconProps;
|
|
121
121
|
hideAfter: number;
|
|
122
122
|
persistent: boolean;
|
|
123
123
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -135,14 +135,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
135
135
|
type: import("vue").PropType<string | number>;
|
|
136
136
|
default: number;
|
|
137
137
|
};
|
|
138
|
-
icon: {
|
|
139
|
-
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
140
|
-
default: string;
|
|
141
|
-
};
|
|
142
138
|
teleported: {
|
|
143
139
|
type: import("vue").PropType<boolean>;
|
|
144
140
|
default: boolean;
|
|
145
141
|
};
|
|
142
|
+
icon: {
|
|
143
|
+
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
144
|
+
default: string;
|
|
145
|
+
};
|
|
146
146
|
hideAfter: {
|
|
147
147
|
type: import("vue").PropType<number>;
|
|
148
148
|
default: number;
|
|
@@ -180,8 +180,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
180
180
|
cancel: (val: MouseEvent) => void;
|
|
181
181
|
}, string, {
|
|
182
182
|
width: string | number;
|
|
183
|
-
icon: string | import("vft/es/vft").IconProps;
|
|
184
183
|
teleported: boolean;
|
|
184
|
+
icon: string | import("vft/es/vft").IconProps;
|
|
185
185
|
hideAfter: number;
|
|
186
186
|
persistent: boolean;
|
|
187
187
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -43,8 +43,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
43
43
|
onConfirm?: ((val: MouseEvent) => any) | undefined;
|
|
44
44
|
}>, {
|
|
45
45
|
width: string | number;
|
|
46
|
-
icon: string | IconProps;
|
|
47
46
|
teleported: boolean;
|
|
47
|
+
icon: string | IconProps;
|
|
48
48
|
hideAfter: number;
|
|
49
49
|
persistent: boolean;
|
|
50
50
|
confirmButtonType: ButtonType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const y=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const a=require("../button/index.cjs"),x=require("../icon/index.cjs"),B=require("../tooltip/index.cjs"),C=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const T=e.defineComponent({name:"VftPopconfirm"}),h=e.defineComponent({...T,props:{title:{},confirmButtonText:{},cancelButtonText:{},confirmButtonType:{default:"primary"},cancelButtonType:{},icon:{default:"icon-question-filled"},iconColor:{default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{default:200},teleported:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},width:{default:150}},emits:["confirm","cancel"],setup(t,{emit:u}){const r=t,l=u,o=C.useNamespace("popconfirm"),c=e.ref(),i=()=>{c.value?.onClose?.()},s=e.computed(()=>({width:y.addUnit(r.width)})),f=n=>{l("confirm",n),i()},d=n=>{l("cancel",n),i()},m=e.computed(()=>r.confirmButtonText||"确认"),p=e.computed(()=>r.cancelButtonText||"取消");return(n,V)=>(e.openBlock(),e.createBlock(e.unref(B.VftTooltip),e.mergeProps({ref_key:"tooltipRef",ref:c,trigger:"click",effect:"light"},n.$attrs,{"popper-class":`${e.unref(o).namespace.value}-popover`,"popper-style":s.value,teleported:t.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":t.hideAfter,persistent:t.persistent}),{content:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("main"))},[!t.hideIcon&&t.icon?(e.openBlock(),e.createBlock(e.unref(x.VftIcon),{key:0,icon:t.icon,size:20,class:e.normalizeClass(e.unref(o).e("icon")),style:e.normalizeStyle({color:t.iconColor})},null,8,["icon","class","style"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.title),1)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).e("action"))},[e.createVNode(e.unref(a.VftButton),{size:"small",type:t.cancelButtonType==="text"?"":t.cancelButtonType,text:t.cancelButtonType==="text",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:1},8,["type","text"]),e.createVNode(e.unref(a.VftButton),{size:"small",type:t.confirmButtonType==="text"?"":t.confirmButtonType,text:t.confirmButtonType==="text",onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value),1)]),_:1},8,["type","text"])],2)],2)]),default:e.withCtx(()=>[n.$slots.reference?e.renderSlot(n.$slots,"reference",{key:0}):e.createCommentVNode("",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});exports.default=h;
|