@koi-design/uxd-ui 14.0.0 → 14.0.2
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/es/components/AutoComplete/AutoComplete.vue.d.ts +9 -0
- package/es/components/AutoComplete/index.d.ts +18 -0
- package/es/components/ColorPicker/ColorPicker.vue.d.ts +9 -0
- package/es/components/ColorPicker/index.d.ts +18 -0
- package/es/components/Dropdown/DropdownMenu.mjs +0 -1
- package/es/components/Dropdown/DropdownMenu.mjs.map +1 -1
- package/es/components/Input/Input.d.ts +6 -0
- package/es/components/Input/Input.mjs +1 -0
- package/es/components/Input/Input.mjs.map +1 -1
- package/es/components/Input/Input.type.d.ts +3 -0
- package/es/components/Input/Input.type.mjs +3 -0
- package/es/components/Input/Input.type.mjs.map +1 -1
- package/es/components/Input/index.d.ts +9 -0
- package/es/components/Modal/ConfirmDialog.mjs +24 -27
- package/es/components/Modal/ConfirmDialog.mjs.map +1 -1
- package/es/components/Modal/ConfirmDialog.vue.d.ts +18 -11
- package/es/components/Modal/Modal.mjs +6 -6
- package/es/components/Modal/Modal.mjs.map +1 -1
- package/es/components/Modal/Modal.type.d.ts +8 -5
- package/es/components/Modal/Modal.type.mjs +8 -5
- package/es/components/Modal/Modal.type.mjs.map +1 -1
- package/es/components/Modal/Modal.vue.d.ts +18 -11
- package/es/components/Modal/index.d.ts +30 -18
- package/es/components/Pagination/Options.d.ts +8 -0
- package/es/components/Pagination/Options.mjs +6 -1
- package/es/components/Pagination/Options.mjs.map +1 -1
- package/es/components/Pagination/Pagination.d.ts +8 -0
- package/es/components/Pagination/Pagination.mjs +2 -0
- package/es/components/Pagination/Pagination.mjs.map +1 -1
- package/es/components/Pagination/index.d.ts +16 -0
- package/es/components/Table/Table.vue.d.ts +16 -0
- package/es/components/Transfer/Transfer.vue.d.ts +27 -0
- package/es/components/Transfer/TransferList.vue.d.ts +9 -0
- package/es/components/Transfer/index.d.ts +72 -0
- package/lib/components/AutoComplete/AutoComplete.vue.d.ts +9 -0
- package/lib/components/AutoComplete/index.d.ts +18 -0
- package/lib/components/ColorPicker/ColorPicker.vue.d.ts +9 -0
- package/lib/components/ColorPicker/index.d.ts +18 -0
- package/lib/components/Dropdown/DropdownMenu.js +0 -1
- package/lib/components/Dropdown/DropdownMenu.js.map +1 -1
- package/lib/components/Input/Input.d.ts +6 -0
- package/lib/components/Input/Input.js +1 -0
- package/lib/components/Input/Input.js.map +1 -1
- package/lib/components/Input/Input.type.d.ts +3 -0
- package/lib/components/Input/Input.type.js +3 -0
- package/lib/components/Input/Input.type.js.map +1 -1
- package/lib/components/Input/index.d.ts +9 -0
- package/lib/components/Modal/ConfirmDialog.js +23 -26
- package/lib/components/Modal/ConfirmDialog.js.map +1 -1
- package/lib/components/Modal/ConfirmDialog.vue.d.ts +18 -11
- package/lib/components/Modal/Modal.js +6 -6
- package/lib/components/Modal/Modal.js.map +1 -1
- package/lib/components/Modal/Modal.type.d.ts +8 -5
- package/lib/components/Modal/Modal.type.js +8 -5
- package/lib/components/Modal/Modal.type.js.map +1 -1
- package/lib/components/Modal/Modal.vue.d.ts +18 -11
- package/lib/components/Modal/index.d.ts +30 -18
- package/lib/components/Pagination/Options.d.ts +8 -0
- package/lib/components/Pagination/Options.js +6 -1
- package/lib/components/Pagination/Options.js.map +1 -1
- package/lib/components/Pagination/Pagination.d.ts +8 -0
- package/lib/components/Pagination/Pagination.js +2 -0
- package/lib/components/Pagination/Pagination.js.map +1 -1
- package/lib/components/Pagination/index.d.ts +16 -0
- package/lib/components/Table/Table.vue.d.ts +16 -0
- package/lib/components/Transfer/Transfer.vue.d.ts +27 -0
- package/lib/components/Transfer/TransferList.vue.d.ts +9 -0
- package/lib/components/Transfer/index.d.ts +72 -0
- package/package.json +1 -1
- package/styles/animation/zoom.less +1 -3
- package/styles/components/alert/index.css +1 -1
- package/styles/components/autoComplete/index.css +1 -1
- package/styles/components/avatar/index.css +1 -1
- package/styles/components/badge/index.css +1 -1
- package/styles/components/badge/var.less +2 -2
- package/styles/components/button/index.css +1 -1
- package/styles/components/carousel/index.css +1 -1
- package/styles/components/cascader/index.css +1 -1
- package/styles/components/colorPicker/index.css +1 -1
- package/styles/components/colorPicker/var.less +1 -1
- package/styles/components/datePicker/index.css +1 -1
- package/styles/components/datePicker/picker.less +1 -1
- package/styles/components/dropdown/index.css +1 -1
- package/styles/components/dropdown/index.less +12 -26
- package/styles/components/dropdown/var.less +6 -19
- package/styles/components/form/index.css +1 -1
- package/styles/components/form/index.less +50 -30
- package/styles/components/form/var.less +5 -8
- package/styles/components/icon/index.css +1 -1
- package/styles/components/input/index.css +1 -1
- package/styles/components/input/index.less +4 -3
- package/styles/components/inputNumber/index.css +1 -1
- package/styles/components/link/index.css +1 -1
- package/styles/components/link/var.less +4 -4
- package/styles/components/loadingBar/index.css +1 -1
- package/styles/components/loadingBar/index.less +1 -1
- package/styles/components/mentions/index.css +1 -1
- package/styles/components/message/index.css +1 -1
- package/styles/components/message/var.less +1 -1
- package/styles/components/modal/confirm.less +15 -32
- package/styles/components/modal/index.css +1 -1
- package/styles/components/modal/index.less +1 -0
- package/styles/components/modal/modal.less +34 -68
- package/styles/components/modal/var.less +20 -26
- package/styles/components/pagination/index.css +1 -1
- package/styles/components/pagination/index.less +41 -178
- package/styles/components/pagination/var.less +8 -21
- package/styles/components/progress/index.css +1 -1
- package/styles/components/progress/index.less +2 -2
- package/styles/components/progress/var.less +1 -1
- package/styles/components/result/index.css +1 -1
- package/styles/components/result/var.less +1 -1
- package/styles/components/select/index.css +1 -1
- package/styles/components/select/index.less +4 -11
- package/styles/components/select/var.less +1 -8
- package/styles/components/spin/index.css +1 -1
- package/styles/components/steps/index.css +1 -1
- package/styles/components/steps/var.less +10 -10
- package/styles/components/tabs/index.css +1 -1
- package/styles/components/tabs/var.less +1 -1
- package/styles/components/tag/index.css +1 -1
- package/styles/components/tag/var.less +1 -1
- package/styles/components/text/index.css +1 -1
- package/styles/components/text/index.less +1 -1
- package/styles/components/timePicker/index.css +1 -1
- package/styles/components/timePicker/index.less +3 -3
- package/styles/components/timeline/index.css +1 -1
- package/styles/components/timeline/index.less +2 -2
- package/styles/components/transfer/index.css +1 -1
- package/styles/components/transfer/var.less +1 -1
- package/styles/components/upload/index.css +1 -1
- package/styles/components/upload/var.less +2 -2
- package/styles/cssVariable.css +1 -1
- package/styles/cssVariable.less +1 -1
- package/styles/index.css +1 -1
- package/types/components/AutoComplete/AutoComplete.vue.d.ts +9 -0
- package/types/components/AutoComplete/index.d.ts +18 -0
- package/types/components/ColorPicker/ColorPicker.vue.d.ts +9 -0
- package/types/components/ColorPicker/index.d.ts +18 -0
- package/types/components/Input/Input.d.ts +6 -0
- package/types/components/Input/Input.type.d.ts +3 -0
- package/types/components/Input/index.d.ts +9 -0
- package/types/components/Modal/ConfirmDialog.vue.d.ts +18 -11
- package/types/components/Modal/Modal.type.d.ts +8 -5
- package/types/components/Modal/Modal.vue.d.ts +18 -11
- package/types/components/Modal/index.d.ts +30 -18
- package/types/components/Pagination/Options.d.ts +8 -0
- package/types/components/Pagination/Pagination.d.ts +8 -0
- package/types/components/Pagination/index.d.ts +16 -0
- package/types/components/Table/Table.vue.d.ts +16 -0
- package/types/components/Transfer/Transfer.vue.d.ts +27 -0
- package/types/components/Transfer/TransferList.vue.d.ts +9 -0
- package/types/components/Transfer/index.d.ts +72 -0
- package/uxd-ui.css +1 -1
- package/uxd-ui.esm.min.mjs +6 -6
- package/uxd-ui.esm.mjs +50 -40
- package/uxd-ui.umd.js +50 -40
- package/uxd-ui.umd.min.js +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.vue"],"sourcesContent":["<template>\n <teleport :to=\"toDom\">\n <div :id=\"id\" v-bind=\"$attrs\" :class=\"`${prefixCls}-root`\">\n <transition name=\"fade\" appear>\n <div v-show=\"visible\" v-if=\"mask && !draggable && !fullScreen\" :class=\"`${prefixCls}-mask`\" :style=\"{ ...zIndexStyle, ...positionStyle }\" />\n </transition>\n <div\n :class=\"[\n `${prefixCls}-wrap`,\n `${prefixCls}-size-${size}`,\n ...customClass,\n {\n [`${prefixCls}-vertical`]: vertical,\n [`${prefixCls}-no-mask`]: draggable,\n [`${prefixCls}-visible`]: wrapVisible,\n [`${prefixCls}-full-screen`]: fullScreen\n }\n ]\"\n :style=\"{ ...zIndexStyle, ...positionStyle }\"\n @click=\"onMaskClick\"\n @mousedown=\"onMaskMouseDown\"\n >\n <transition :name=\"fullScreen ? 'zoom-big-fast' : 'zoom-big'\" appear @after-leave=\"afterLeave\" @after-enter=\"handleAnimationEnd\">\n <div v-show=\"visible\" :class=\"`${prefixCls}-container`\" :style=\"transitionDivStyle\">\n <div\n ref=\"contentRef\"\n :class=\"[\n `${prefixCls}`,\n {\n [`${prefixCls}-drag`]: draggable,\n [`${prefixCls}-dragging`]: draggable && dragData.dragging,\n [`${prefixCls}-no-title`]: !showHead\n }\n ]\"\n :style=\"modalStyles\"\n @mousedown=\"onmMouseStart\"\n >\n <button v-if=\"closable\" data-not-drag-target :class=\"`${prefixCls}-close`\" @click=\"handleClose('close')\">\n <slot name=\"close\">\n <UIcon :class=\"`${prefixCls}-close-x`\" flex>\n <component :is=\"closeIcon\" />\n </UIcon>\n </slot>\n </button>\n <div v-if=\"showHead\" key=\"header\" ref=\"header\" :class=\"`${prefixCls}-header`\">\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n </div>\n <div\n :class=\"[\n `${prefixCls}-body ${$attrs.class || ''}`,\n { [`${prefixCls}-body-footer-hide`]: footerHide, [`${prefixCls}-body-head-hide`]: !showHead }\n ]\"\n >\n <slot />\n </div>\n <div v-if=\"!footerHide\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\">\n <UButton data-not-drag-target type=\"default\" :size=\"size\" @click=\"handleClose('cancel')\">\n {{ cancelText || computedLocale.cancelText }}\n </UButton>\n <UButton data-not-drag-target type=\"primary\" :size=\"size\" :loading=\"loading\" @click=\"handleOk\">\n {{ okText || computedLocale.okText }}\n </UButton>\n </slot>\n </div>\n </div>\n </div>\n </transition>\n </div>\n </div>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, onMounted, onBeforeUnmount, watch, reactive, shallowRef } from 'vue';\nimport type { CSSProperties } from 'vue';\nimport UIcon from '@uxd-ui/components/Icon';\nimport UButton from '@uxd-ui/components/Button';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { setBodyStyle } from '../../utils/tools';\nimport { type DragData, modalProps, modalEmits, type ModalCloseType } from './Modal.type';\n\nlet openModalCount = 0;\nlet modalsList: ((e?: any) => void)[] = [];\n\nexport default defineComponent({\n name: 'UModal',\n components: {\n UIcon,\n UButton\n },\n inheritAttrs: false,\n props: modalProps,\n emits: modalEmits,\n setup(props, { emit, slots }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('modal');\n const contentRef = shallowRef<HTMLElement | null>(null);\n const dragData = reactive({\n x: 0,\n y: 0,\n eventX: null,\n eventY: null,\n dragging: false\n } as DragData);\n const isMouseIn = ref(false);\n const wrapVisible = ref(false);\n // ===================== computed ============================\n\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.modal;\n });\n\n const zIndexStyle = computed(() => {\n return props.zIndex !== undefined ? { zIndex: props.zIndex } : {};\n });\n const showHead = computed(() => {\n return slots.header || props.title;\n });\n const modalStyles = computed(() => {\n const style = {} as CSSProperties;\n if (props.fullScreen) {\n style.width = '100%';\n style.height = '100%';\n } else {\n const width = typeof props.width === 'number' ? `${props.width}px` : props.width;\n style.width = width;\n if (!props.vertical) {\n style.marginTop = `${props.top}px`;\n }\n }\n if (props.draggable) {\n style.transform = `translate(${dragData.x}px, ${dragData.y}px)`;\n }\n return {\n ...style,\n ...props.dialogStyle\n } as CSSProperties;\n });\n const toDom = computed(() => {\n if (!props.parentDom) {\n return 'body';\n }\n if (typeof props.parentDom === 'function') {\n return props.parentDom() || 'body';\n }\n return props.parentDom;\n });\n const positionStyle = computed(() => {\n const style: CSSProperties = {};\n if (toDom.value !== 'body') {\n style.position = 'absolute';\n }\n return style;\n });\n\n // ===================== methods ============================\n\n const handleClose = (type: ModalCloseType) => {\n emit('update:visible', false);\n emit('close', type);\n };\n const handleOk = (e: Event) => {\n emit('ok', e);\n };\n\n const handleVisible = () => {\n if (props.visible) {\n openModalCount += 1;\n wrapVisible.value = true;\n } else {\n openModalCount = openModalCount > 0 ? openModalCount - 1 : openModalCount;\n }\n if (openModalCount) {\n modalsList.push(() => handleClose('esc'));\n if (toDom.value === 'body') setBodyStyle(true);\n } else if (toDom.value === 'body') setBodyStyle(false);\n };\n\n const onMaskClick = (e: Event) => {\n if (!props.maskClosable) return;\n if (isMouseIn.value && props.draggable) {\n isMouseIn.value = false;\n return;\n }\n if (e.target === e.currentTarget) {\n handleClose('mask');\n }\n };\n\n const onMaskMouseDown = () => {\n isMouseIn.value = true;\n };\n\n const onKeyDown = (e: any) => {\n if (props.visible && e.keyCode === 27 && openModalCount) {\n e.stopPropagation();\n modalsList[openModalCount - 1]();\n }\n };\n // ===================== drag ============================\n const onMoveing = (event: any) => {\n const distanceX = event.clientX - dragData.eventX;\n const distanceY = event.clientY - dragData.eventY;\n dragData.eventX = event.clientX;\n dragData.eventY = event.clientY;\n\n dragData.x += distanceX;\n dragData.y += distanceY;\n };\n const onMoveEnd = () => {\n dragData.eventX = null;\n dragData.eventY = null;\n dragData.dragging = false;\n window.removeEventListener('mousemove', onMoveing);\n window.removeEventListener('mouseup', onMoveEnd);\n };\n\n const onmMouseStart = (event: any) => {\n if (!props.draggable || !contentRef.value) return;\n if (event.target.closest('[data-not-drag-target]')) return;\n // if (event.target === contentRef.value) return;\n\n dragData.eventX = event.clientX;\n dragData.eventY = event.clientY;\n dragData.dragging = true;\n\n window.addEventListener('mousemove', onMoveing);\n window.addEventListener('mouseup', onMoveEnd);\n };\n\n const handleAnimationEnd = () => {\n emit('after-visible-change', wrapVisible.value);\n };\n\n const afterLeave = () => {\n wrapVisible.value = false;\n if (props.afterClose) {\n props.afterClose();\n }\n if (!openModalCount) {\n if (toDom.value === 'body') setBodyStyle(false);\n modalsList = [];\n }\n handleAnimationEnd();\n };\n\n // ===================== watch ==============================\n watch(\n () => props.visible,\n () => {\n handleVisible();\n }\n );\n\n const transitionDivStyle = computed(() => {\n if (contentRef.value && props.mousePosition) {\n const rect = contentRef.value.getBoundingClientRect();\n const transformOrigin = `${props.mousePosition.x - rect.left}px ${props.mousePosition.y - rect.top}px`;\n return {\n transformOrigin\n };\n }\n return {};\n });\n\n onMounted(() => {\n document.addEventListener('keydown', onKeyDown);\n\n handleVisible();\n });\n\n onBeforeUnmount(() => {\n document.removeEventListener('keydown', onKeyDown);\n if (props.visible) {\n openModalCount = openModalCount > 0 ? openModalCount - 1 : openModalCount;\n afterLeave();\n }\n });\n\n return {\n prefixCls,\n wrapVisible,\n contentRef,\n toDom,\n positionStyle,\n showHead,\n zIndexStyle,\n modalStyles,\n transitionDivStyle,\n computedLocale,\n dragData,\n handleClose,\n handleOk,\n onMaskClick,\n onMaskMouseDown,\n afterLeave,\n onmMouseStart,\n onKeyDown,\n handleAnimationEnd\n };\n }\n});\n</script>\n\n<style></style>\n"],"names":["defineComponent","UIcon","UButton","modalProps","modalEmits","useGlobalConfig","shallowRef","reactive","ref","computed","_createBlock","_Teleport","_createElementVNode","_mergeProps","_createVNode","_Transition","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_resolveDynamicComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.vue"],"sourcesContent":["<template>\n <teleport :to=\"toDom\">\n <div :id=\"id\" v-bind=\"$attrs\" :class=\"`${prefixCls}-root`\">\n <transition name=\"fade\" appear>\n <div v-show=\"visible\" v-if=\"mask && !draggable && !fullScreen\" :class=\"`${prefixCls}-mask`\" :style=\"{ ...zIndexStyle, ...positionStyle }\" />\n </transition>\n <div\n :class=\"[\n `${prefixCls}-wrap`,\n\n ...customClass,\n {\n [`${prefixCls}-no-mask`]: draggable,\n [`${prefixCls}-visible`]: wrapVisible,\n [`${prefixCls}-full-screen`]: fullScreen\n }\n ]\"\n :style=\"{ ...zIndexStyle, ...positionStyle }\"\n @click=\"onMaskClick\"\n @mousedown=\"onMaskMouseDown\"\n >\n <transition :name=\"fullScreen ? 'zoom-big-fast' : 'zoom-big'\" appear @after-leave=\"afterLeave\" @after-enter=\"handleAnimationEnd\">\n <div v-show=\"visible\" :class=\"`${prefixCls}-container`\" :style=\"transitionDivStyle\">\n <div\n ref=\"contentRef\"\n :class=\"[\n `${prefixCls}`,\n `${prefixCls}-size-${size}`,\n {\n [`${prefixCls}-drag`]: draggable,\n [`${prefixCls}-dragging`]: draggable && dragData.dragging,\n [`${prefixCls}-no-title`]: !showHead\n }\n ]\"\n :style=\"modalStyles\"\n @mousedown=\"onmMouseStart\"\n >\n <button v-if=\"closable\" data-not-drag-target :class=\"`${prefixCls}-close`\" @click=\"handleClose('close')\">\n <slot name=\"close\">\n <UIcon :class=\"`${prefixCls}-close-x`\" flex>\n <component :is=\"closeIcon\" />\n </UIcon>\n </slot>\n </button>\n <div v-if=\"showHead\" key=\"header\" ref=\"header\" :class=\"`${prefixCls}-header`\">\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n <div v-if=\"description\" :class=\"`${prefixCls}-description`\">{{ description }}</div>\n </slot>\n </div>\n <div\n :class=\"[\n `${prefixCls}-body ${$attrs.class || ''}`,\n { [`${prefixCls}-body-footer-hide`]: footerHide, [`${prefixCls}-body-head-hide`]: !showHead }\n ]\"\n >\n <slot />\n </div>\n <div v-if=\"!footerHide\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\">\n <UButton data-not-drag-target type=\"default\" :size=\"size\" @click=\"handleClose('cancel')\">\n {{ cancelText || computedLocale.cancelText }}\n </UButton>\n <UButton data-not-drag-target type=\"primary\" :size=\"size\" :loading=\"loading\" @click=\"handleOk\">\n {{ okText || computedLocale.okText }}\n </UButton>\n </slot>\n </div>\n </div>\n </div>\n </transition>\n </div>\n </div>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, onMounted, onBeforeUnmount, watch, reactive, shallowRef } from 'vue';\nimport type { CSSProperties } from 'vue';\nimport UIcon from '@uxd-ui/components/Icon';\nimport UButton from '@uxd-ui/components/Button';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { setBodyStyle } from '../../utils/tools';\nimport { type DragData, modalProps, modalEmits, type ModalCloseType } from './Modal.type';\n\nlet openModalCount = 0;\nlet modalsList: ((e?: any) => void)[] = [];\n\nexport default defineComponent({\n name: 'UModal',\n components: {\n UIcon,\n UButton\n },\n inheritAttrs: false,\n props: modalProps,\n emits: modalEmits,\n setup(props, { emit, slots }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('modal');\n const contentRef = shallowRef<HTMLElement | null>(null);\n const dragData = reactive({\n x: 0,\n y: 0,\n eventX: null,\n eventY: null,\n dragging: false\n } as DragData);\n const isMouseIn = ref(false);\n const wrapVisible = ref(false);\n // ===================== computed ============================\n\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.modal;\n });\n\n const zIndexStyle = computed(() => {\n return props.zIndex !== undefined ? { zIndex: props.zIndex } : {};\n });\n const showHead = computed(() => {\n return slots.header || props.title;\n });\n const modalStyles = computed(() => {\n const style = {} as CSSProperties;\n if (props.fullScreen) {\n style.width = '100%';\n style.height = '100%';\n } else {\n const width = typeof props.width === 'number' ? `${props.width}px` : props.width;\n style.width = width;\n // if (!props.vertical) {\n // style.marginTop = `${props.top}px`;\n // }\n }\n if (props.draggable) {\n style.transform = `translate(${dragData.x}px, ${dragData.y}px)`;\n }\n return {\n ...style,\n ...props.dialogStyle\n } as CSSProperties;\n });\n const toDom = computed(() => {\n if (!props.parentDom) {\n return 'body';\n }\n if (typeof props.parentDom === 'function') {\n return props.parentDom() || 'body';\n }\n return props.parentDom;\n });\n const positionStyle = computed(() => {\n const style: CSSProperties = {};\n if (toDom.value !== 'body') {\n style.position = 'absolute';\n }\n return style;\n });\n\n // ===================== methods ============================\n\n const handleClose = (type: ModalCloseType) => {\n emit('update:visible', false);\n emit('close', type);\n };\n const handleOk = (e: Event) => {\n emit('ok', e);\n };\n\n const handleVisible = () => {\n if (props.visible) {\n openModalCount += 1;\n wrapVisible.value = true;\n } else {\n openModalCount = openModalCount > 0 ? openModalCount - 1 : openModalCount;\n }\n if (openModalCount) {\n modalsList.push(() => handleClose('esc'));\n if (toDom.value === 'body') setBodyStyle(true);\n } else if (toDom.value === 'body') setBodyStyle(false);\n };\n\n const onMaskClick = (e: Event) => {\n if (!props.maskClosable) return;\n if (isMouseIn.value && props.draggable) {\n isMouseIn.value = false;\n return;\n }\n if (e.target === e.currentTarget) {\n handleClose('mask');\n }\n };\n\n const onMaskMouseDown = () => {\n isMouseIn.value = true;\n };\n\n const onKeyDown = (e: any) => {\n if (props.visible && e.keyCode === 27 && openModalCount) {\n e.stopPropagation();\n modalsList[openModalCount - 1]();\n }\n };\n // ===================== drag ============================\n const onMoveing = (event: any) => {\n const distanceX = event.clientX - dragData.eventX;\n const distanceY = event.clientY - dragData.eventY;\n dragData.eventX = event.clientX;\n dragData.eventY = event.clientY;\n\n dragData.x += distanceX;\n dragData.y += distanceY;\n };\n const onMoveEnd = () => {\n dragData.eventX = null;\n dragData.eventY = null;\n dragData.dragging = false;\n window.removeEventListener('mousemove', onMoveing);\n window.removeEventListener('mouseup', onMoveEnd);\n };\n\n const onmMouseStart = (event: any) => {\n if (!props.draggable || !contentRef.value) return;\n if (event.target.closest('[data-not-drag-target]')) return;\n // if (event.target === contentRef.value) return;\n\n dragData.eventX = event.clientX;\n dragData.eventY = event.clientY;\n dragData.dragging = true;\n\n window.addEventListener('mousemove', onMoveing);\n window.addEventListener('mouseup', onMoveEnd);\n };\n\n const handleAnimationEnd = () => {\n emit('after-visible-change', wrapVisible.value);\n };\n\n const afterLeave = () => {\n wrapVisible.value = false;\n if (props.afterClose) {\n props.afterClose();\n }\n if (!openModalCount) {\n if (toDom.value === 'body') setBodyStyle(false);\n modalsList = [];\n }\n handleAnimationEnd();\n };\n\n // ===================== watch ==============================\n watch(\n () => props.visible,\n () => {\n handleVisible();\n }\n );\n\n const transitionDivStyle = computed(() => {\n if (contentRef.value && props.mousePosition) {\n const rect = contentRef.value.getBoundingClientRect();\n const transformOrigin = `${props.mousePosition.x - rect.left}px ${props.mousePosition.y - rect.top}px`;\n return {\n transformOrigin\n };\n }\n return {};\n });\n\n onMounted(() => {\n document.addEventListener('keydown', onKeyDown);\n\n handleVisible();\n });\n\n onBeforeUnmount(() => {\n document.removeEventListener('keydown', onKeyDown);\n if (props.visible) {\n openModalCount = openModalCount > 0 ? openModalCount - 1 : openModalCount;\n afterLeave();\n }\n });\n\n return {\n prefixCls,\n wrapVisible,\n contentRef,\n toDom,\n positionStyle,\n showHead,\n zIndexStyle,\n modalStyles,\n transitionDivStyle,\n computedLocale,\n dragData,\n handleClose,\n handleOk,\n onMaskClick,\n onMaskMouseDown,\n afterLeave,\n onmMouseStart,\n onKeyDown,\n handleAnimationEnd\n };\n }\n});\n</script>\n\n<style></style>\n"],"names":["defineComponent","UIcon","UButton","modalProps","modalEmits","useGlobalConfig","shallowRef","reactive","ref","computed","_createBlock","_Teleport","_createElementVNode","_mergeProps","_createVNode","_Transition","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_resolveDynamicComponent"],"mappings":"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"}
|
|
@@ -12,7 +12,14 @@ export declare const modalProps: {
|
|
|
12
12
|
type: BooleanConstructor;
|
|
13
13
|
default: boolean;
|
|
14
14
|
};
|
|
15
|
-
title:
|
|
15
|
+
title: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
description: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
16
23
|
closable: {
|
|
17
24
|
type: BooleanConstructor;
|
|
18
25
|
default: boolean;
|
|
@@ -53,10 +60,6 @@ export declare const modalProps: {
|
|
|
53
60
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
54
61
|
};
|
|
55
62
|
afterClose: PropType<() => void>;
|
|
56
|
-
vertical: {
|
|
57
|
-
type: BooleanConstructor;
|
|
58
|
-
default: boolean;
|
|
59
|
-
};
|
|
60
63
|
locale: PropType<ModalLocal>;
|
|
61
64
|
top: {
|
|
62
65
|
type: NumberConstructor;
|
|
@@ -13,7 +13,14 @@ const modalProps = {
|
|
|
13
13
|
type: Boolean,
|
|
14
14
|
default: false
|
|
15
15
|
},
|
|
16
|
-
title:
|
|
16
|
+
title: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: ""
|
|
19
|
+
},
|
|
20
|
+
description: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: ""
|
|
23
|
+
},
|
|
17
24
|
closable: {
|
|
18
25
|
type: Boolean,
|
|
19
26
|
default: false
|
|
@@ -54,10 +61,6 @@ const modalProps = {
|
|
|
54
61
|
default: () => lucideVueNext.X
|
|
55
62
|
},
|
|
56
63
|
afterClose: Function,
|
|
57
|
-
vertical: {
|
|
58
|
-
type: Boolean,
|
|
59
|
-
default: false
|
|
60
|
-
},
|
|
61
64
|
locale: Object,
|
|
62
65
|
top: {
|
|
63
66
|
type: Number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.type.js","sources":["../../../../src/components/Modal/Modal.type.ts"],"sourcesContent":["import type { CSSProperties, ExtractPropTypes, PropType, VNodeChild } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport type { IconPropType } from '../../utils/globalType';\nimport type { ModalLocal } from '../locale/default';\nimport type { ParentDom } from '../Drawer/Drawer.type';\n\nimport type Modal from './Modal.vue';\n\nexport const modalProps = {\n parentDom: {\n type: [String, Function] as PropType<ParentDom>,\n default: 'body'\n },\n visible: {\n type: Boolean,\n default: false\n },\n title: String,\n closable: {\n type: Boolean,\n default: false\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n loading: {\n type: Boolean,\n default: false\n },\n fullScreen: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n mask: {\n type: Boolean,\n default: true\n },\n okText: String,\n cancelText: String,\n width: {\n type: [String, Number],\n default: 520\n },\n footerHide: {\n type: Boolean,\n default: false\n },\n zIndex: Number,\n closeIcon: {\n type: [String, Object, Function] as PropType<IconPropType>,\n default: () => X\n },\n afterClose: Function as PropType<() => void>,\n
|
|
1
|
+
{"version":3,"file":"Modal.type.js","sources":["../../../../src/components/Modal/Modal.type.ts"],"sourcesContent":["import type { CSSProperties, ExtractPropTypes, PropType, VNodeChild } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport type { IconPropType } from '../../utils/globalType';\nimport type { ModalLocal } from '../locale/default';\nimport type { ParentDom } from '../Drawer/Drawer.type';\n\nimport type Modal from './Modal.vue';\n\nexport const modalProps = {\n parentDom: {\n type: [String, Function] as PropType<ParentDom>,\n default: 'body'\n },\n visible: {\n type: Boolean,\n default: false\n },\n title: {\n type: String,\n default: ''\n },\n description: {\n type: String,\n default: ''\n },\n closable: {\n type: Boolean,\n default: false\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n loading: {\n type: Boolean,\n default: false\n },\n fullScreen: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n mask: {\n type: Boolean,\n default: true\n },\n okText: String,\n cancelText: String,\n width: {\n type: [String, Number],\n default: 520\n },\n footerHide: {\n type: Boolean,\n default: false\n },\n zIndex: Number,\n closeIcon: {\n type: [String, Object, Function] as PropType<IconPropType>,\n default: () => X\n },\n afterClose: Function as PropType<() => void>,\n locale: Object as PropType<ModalLocal>,\n top: {\n type: Number,\n default: 100\n },\n // confirm\n customClass: {\n type: Array as PropType<string[]>,\n default: (): string[] => []\n },\n mousePosition: {\n type: Object as PropType<{ x: number; y: number } | undefined>\n },\n dialogStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({} as CSSProperties)\n },\n id: String,\n size: {\n type: String as PropType<'small' | 'default'>,\n default: 'default',\n validator: (val: string) => ['small', 'default'].includes(val)\n }\n};\n\nexport type ModalProps = ExtractPropTypes<typeof modalProps>;\n\nexport interface DragData {\n x: number | null;\n y: number | null;\n eventX: number | null;\n eventY: number | null;\n dragging: boolean;\n}\n\nexport const confirmDialogProps = {\n visible: {\n type: Boolean,\n default: false\n },\n width: {\n type: [String, Number]\n },\n type: String,\n content: [String, Function] as PropType<string | (() => VNodeChild)>,\n title: String,\n loading: {\n type: Boolean,\n default: false\n },\n okCancel: Boolean,\n iconName: [String, Object] as PropType<IconPropType>,\n okText: String,\n cancelText: String,\n close: Function as PropType<() => void>,\n afterClose: Function as PropType<() => void>,\n onOk: Function as PropType<() => void>,\n onCancel: Function as PropType<() => void>,\n id: String,\n locale: Object as PropType<ModalLocal>,\n\n closable: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<'small' | 'default'>,\n default: 'default',\n validator: (val: string) => ['small', 'default'].includes(val)\n }\n};\n\nexport type ConfirmDialogProps = ExtractPropTypes<typeof confirmDialogProps>;\n\nexport const modalCloseType = ['cancel', 'mask', 'close', 'esc'] as const;\nexport type ModalCloseType = (typeof modalCloseType)[number];\n\nexport const modalEmits = {\n 'update:visible': (v: boolean) => typeof v === 'boolean',\n close: (type: ModalCloseType) => modalCloseType.includes(type),\n ok: (e: Event) => e instanceof Event,\n 'after-visible-change': (v: boolean) => typeof v === 'boolean'\n};\n\nexport type ModalEmits = typeof modalEmits;\n\nexport type ModalInstanceType = InstanceType<typeof Modal>;\n"],"names":["X"],"mappings":";;;;;;MAQa,aAAa;AAAA,EACxB,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,QAAQ;AAAA,IACvB,SAAS;AAAA;AACX,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA;AACX,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,IAC/B,SAAS,MAAMA;AAAA;AACjB,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,MAAgB;AAAC;AAC5B,EACA,eAAe;AAAA,IACb,MAAM;AAAA;AACR,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,IAAI;AAAA,EACJ,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW,CAAC,QAAgB,CAAC,SAAS,SAAS,EAAE,SAAS,GAAG;AAAA;AAEjE;MAYa,qBAAqB;AAAA,EAChC,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA;AACvB,EACA,MAAM;AAAA,EACN,SAAS,CAAC,QAAQ,QAAQ;AAAA,EAC1B,OAAO;AAAA,EACP,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,EACV,UAAU,CAAC,QAAQ,MAAM;AAAA,EACzB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,QAAQ;AAAA,EAER,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW,CAAC,QAAgB,CAAC,SAAS,SAAS,EAAE,SAAS,GAAG;AAAA;AAEjE;MAIa,iBAAiB,CAAC,UAAU,QAAQ,SAAS,KAAK;MAGlD,aAAa;AAAA,EACxB,kBAAkB,CAAC,MAAe,OAAO,MAAM;AAAA,EAC/C,OAAO,CAAC,SAAyB,eAAe,SAAS,IAAI;AAAA,EAC7D,IAAI,CAAC,MAAa,aAAa;AAAA,EAC/B,wBAAwB,CAAC,MAAe,OAAO,MAAM;AACvD;;;;;;;"}
|
|
@@ -9,7 +9,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
9
9
|
type: BooleanConstructor;
|
|
10
10
|
default: boolean;
|
|
11
11
|
};
|
|
12
|
-
title:
|
|
12
|
+
title: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
description: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
13
20
|
closable: {
|
|
14
21
|
type: BooleanConstructor;
|
|
15
22
|
default: boolean;
|
|
@@ -50,10 +57,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
50
57
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
51
58
|
};
|
|
52
59
|
afterClose: import("vue").PropType<() => void>;
|
|
53
|
-
vertical: {
|
|
54
|
-
type: BooleanConstructor;
|
|
55
|
-
default: boolean;
|
|
56
|
-
};
|
|
57
60
|
locale: import("vue").PropType<import("../locale/default").ModalLocal>;
|
|
58
61
|
top: {
|
|
59
62
|
type: NumberConstructor;
|
|
@@ -127,7 +130,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
127
130
|
type: BooleanConstructor;
|
|
128
131
|
default: boolean;
|
|
129
132
|
};
|
|
130
|
-
title:
|
|
133
|
+
title: {
|
|
134
|
+
type: StringConstructor;
|
|
135
|
+
default: string;
|
|
136
|
+
};
|
|
137
|
+
description: {
|
|
138
|
+
type: StringConstructor;
|
|
139
|
+
default: string;
|
|
140
|
+
};
|
|
131
141
|
closable: {
|
|
132
142
|
type: BooleanConstructor;
|
|
133
143
|
default: boolean;
|
|
@@ -168,10 +178,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
168
178
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
169
179
|
};
|
|
170
180
|
afterClose: import("vue").PropType<() => void>;
|
|
171
|
-
vertical: {
|
|
172
|
-
type: BooleanConstructor;
|
|
173
|
-
default: boolean;
|
|
174
|
-
};
|
|
175
181
|
locale: import("vue").PropType<import("../locale/default").ModalLocal>;
|
|
176
182
|
top: {
|
|
177
183
|
type: NumberConstructor;
|
|
@@ -209,8 +215,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
209
215
|
size: "small" | "default";
|
|
210
216
|
width: string | number;
|
|
211
217
|
mask: boolean;
|
|
218
|
+
description: string;
|
|
212
219
|
visible: boolean;
|
|
213
|
-
|
|
220
|
+
title: string;
|
|
214
221
|
parentDom: import("..").ParentDom;
|
|
215
222
|
maskClosable: boolean;
|
|
216
223
|
fullScreen: boolean;
|
|
@@ -19,7 +19,14 @@ export declare const UModal: ({
|
|
|
19
19
|
type: BooleanConstructor;
|
|
20
20
|
default: boolean;
|
|
21
21
|
};
|
|
22
|
-
title:
|
|
22
|
+
title: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
default: string;
|
|
25
|
+
};
|
|
26
|
+
description: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
23
30
|
closable: {
|
|
24
31
|
type: BooleanConstructor;
|
|
25
32
|
default: boolean;
|
|
@@ -60,10 +67,6 @@ export declare const UModal: ({
|
|
|
60
67
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
61
68
|
};
|
|
62
69
|
afterClose: import("vue").PropType<() => void>;
|
|
63
|
-
vertical: {
|
|
64
|
-
type: BooleanConstructor;
|
|
65
|
-
default: boolean;
|
|
66
|
-
};
|
|
67
70
|
locale: import("vue").PropType<import("../locale/default").ModalLocal>;
|
|
68
71
|
top: {
|
|
69
72
|
type: NumberConstructor;
|
|
@@ -140,8 +143,9 @@ export declare const UModal: ({
|
|
|
140
143
|
size: "small" | "default";
|
|
141
144
|
width: string | number;
|
|
142
145
|
mask: boolean;
|
|
146
|
+
description: string;
|
|
143
147
|
visible: boolean;
|
|
144
|
-
|
|
148
|
+
title: string;
|
|
145
149
|
parentDom: import("..").ParentDom;
|
|
146
150
|
maskClosable: boolean;
|
|
147
151
|
fullScreen: boolean;
|
|
@@ -857,7 +861,14 @@ export declare const UModal: ({
|
|
|
857
861
|
type: BooleanConstructor;
|
|
858
862
|
default: boolean;
|
|
859
863
|
};
|
|
860
|
-
title:
|
|
864
|
+
title: {
|
|
865
|
+
type: StringConstructor;
|
|
866
|
+
default: string;
|
|
867
|
+
};
|
|
868
|
+
description: {
|
|
869
|
+
type: StringConstructor;
|
|
870
|
+
default: string;
|
|
871
|
+
};
|
|
861
872
|
closable: {
|
|
862
873
|
type: BooleanConstructor;
|
|
863
874
|
default: boolean;
|
|
@@ -898,10 +909,6 @@ export declare const UModal: ({
|
|
|
898
909
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
899
910
|
};
|
|
900
911
|
afterClose: import("vue").PropType<() => void>;
|
|
901
|
-
vertical: {
|
|
902
|
-
type: BooleanConstructor;
|
|
903
|
-
default: boolean;
|
|
904
|
-
};
|
|
905
912
|
locale: import("vue").PropType<import("../locale/default").ModalLocal>;
|
|
906
913
|
top: {
|
|
907
914
|
type: NumberConstructor;
|
|
@@ -973,8 +980,9 @@ export declare const UModal: ({
|
|
|
973
980
|
size: "small" | "default";
|
|
974
981
|
width: string | number;
|
|
975
982
|
mask: boolean;
|
|
983
|
+
description: string;
|
|
976
984
|
visible: boolean;
|
|
977
|
-
|
|
985
|
+
title: string;
|
|
978
986
|
parentDom: import("..").ParentDom;
|
|
979
987
|
maskClosable: boolean;
|
|
980
988
|
fullScreen: boolean;
|
|
@@ -996,7 +1004,14 @@ export declare const UModal: ({
|
|
|
996
1004
|
type: BooleanConstructor;
|
|
997
1005
|
default: boolean;
|
|
998
1006
|
};
|
|
999
|
-
title:
|
|
1007
|
+
title: {
|
|
1008
|
+
type: StringConstructor;
|
|
1009
|
+
default: string;
|
|
1010
|
+
};
|
|
1011
|
+
description: {
|
|
1012
|
+
type: StringConstructor;
|
|
1013
|
+
default: string;
|
|
1014
|
+
};
|
|
1000
1015
|
closable: {
|
|
1001
1016
|
type: BooleanConstructor;
|
|
1002
1017
|
default: boolean;
|
|
@@ -1037,10 +1052,6 @@ export declare const UModal: ({
|
|
|
1037
1052
|
default: () => import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
1038
1053
|
};
|
|
1039
1054
|
afterClose: import("vue").PropType<() => void>;
|
|
1040
|
-
vertical: {
|
|
1041
|
-
type: BooleanConstructor;
|
|
1042
|
-
default: boolean;
|
|
1043
|
-
};
|
|
1044
1055
|
locale: import("vue").PropType<import("../locale/default").ModalLocal>;
|
|
1045
1056
|
top: {
|
|
1046
1057
|
type: NumberConstructor;
|
|
@@ -1117,8 +1128,9 @@ export declare const UModal: ({
|
|
|
1117
1128
|
size: "small" | "default";
|
|
1118
1129
|
width: string | number;
|
|
1119
1130
|
mask: boolean;
|
|
1131
|
+
description: string;
|
|
1120
1132
|
visible: boolean;
|
|
1121
|
-
|
|
1133
|
+
title: string;
|
|
1122
1134
|
parentDom: import("..").ParentDom;
|
|
1123
1135
|
maskClosable: boolean;
|
|
1124
1136
|
fullScreen: boolean;
|
|
@@ -42,6 +42,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
42
42
|
type: NumberConstructor;
|
|
43
43
|
default: number;
|
|
44
44
|
};
|
|
45
|
+
totalPage: {
|
|
46
|
+
type: NumberConstructor;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
45
49
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
46
50
|
'change-page-size': (v: number) => boolean;
|
|
47
51
|
'change-page': (v: number) => boolean;
|
|
@@ -88,6 +92,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
88
92
|
type: NumberConstructor;
|
|
89
93
|
default: number;
|
|
90
94
|
};
|
|
95
|
+
totalPage: {
|
|
96
|
+
type: NumberConstructor;
|
|
97
|
+
required: true;
|
|
98
|
+
};
|
|
91
99
|
}>> & Readonly<{
|
|
92
100
|
"onChange-page-size"?: (v: number) => any;
|
|
93
101
|
"onChange-page"?: (v: number) => any;
|
|
@@ -58,6 +58,10 @@ var Options = vue.defineComponent({
|
|
|
58
58
|
dropdownWidth: {
|
|
59
59
|
type: Number,
|
|
60
60
|
default: 128
|
|
61
|
+
},
|
|
62
|
+
totalPage: {
|
|
63
|
+
type: Number,
|
|
64
|
+
required: true
|
|
61
65
|
}
|
|
62
66
|
},
|
|
63
67
|
emits: {
|
|
@@ -131,7 +135,8 @@ var Options = vue.defineComponent({
|
|
|
131
135
|
"modelValue": stateValue.value,
|
|
132
136
|
"onUpdate:modelValue": ($event) => stateValue.value = $event,
|
|
133
137
|
"onKeyup": handleJumpTo,
|
|
134
|
-
"onBlur": handleBlur
|
|
138
|
+
"onBlur": handleBlur,
|
|
139
|
+
"inputSize": props.totalPage.toString().length
|
|
135
140
|
}, null), vue.createVNode("span", null, [props.locale.page])]);
|
|
136
141
|
}
|
|
137
142
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Options.js","sources":["../../../../src/components/Pagination/Options.tsx"],"sourcesContent":["import { ref, watch, defineComponent } from 'vue';\nimport type { PropType, Ref } from 'vue';\nimport USelect from '@uxd-ui/components/Select';\nimport UInput from '@uxd-ui/components/Input';\nimport keyCode from '../../utils/KeyCode';\nimport Render from '../base/Render';\nimport type { SelectValueType } from '../Select/Select.type';\nimport type { NormalSizeMap } from '../../utils/globalType';\n\nexport default defineComponent({\n name: 'PaginationOption',\n components: {\n Render\n },\n props: {\n prefixCls: {\n type: String\n },\n current: {\n type: Number,\n required: true\n },\n showSizer: {\n type: Boolean,\n default: false\n },\n pageSizeOptions: {\n type: Array as PropType<number[]>,\n required: true\n },\n locale: {\n type: Object,\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n pageSize: {\n type: Number\n },\n showElevator: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<NormalSizeMap>,\n default: 'default'\n },\n variant: {\n type: String as PropType<'soft' | 'surface' | 'simple'>,\n default: 'surface'\n },\n dropdownWidth: {\n type: Number,\n default: 128\n }\n },\n emits: {\n 'change-page-size': (v: number) => typeof v === 'number',\n 'change-page': (v: number) => typeof v === 'number'\n },\n setup(props, { emit }) {\n const stateValue: Ref<string> = ref(props.current.toString());\n const changeSize = (value: number) => {\n stateValue.value = props.current.toString();\n emit('change-page-size', value);\n };\n watch(\n () => props.current,\n (value) => {\n stateValue.value = value.toString();\n }\n );\n\n const handleBlur = () => {\n const value = !stateValue.value || Number.isNaN(Number(stateValue.value)) ? props.current : Number(stateValue.value);\n emit('change-page', value);\n };\n const handleJumpTo = (e: any) => {\n if (stateValue.value === '') return;\n if (e.keyCode === keyCode.ENTER || e.type === 'click') {\n emit('change-page', Number(stateValue.value));\n }\n };\n\n return () => {\n const { prefixCls, showSizer, size, disabled, pageSize, locale } = props;\n\n const renderSelect = () => {\n if (showSizer) {\n const options = props.pageSizeOptions.map((opt) => {\n return {\n value: opt,\n label: `${opt}${locale.item}/${locale.page}`\n };\n });\n\n const cls = `${prefixCls}-options-size-changer`;\n return (\n <USelect\n class={cls}\n disabled={disabled}\n size={size}\n modelValue={pageSize}\n options={options}\n onChange={(value: SelectValueType) => changeSize(Number(value))}\n clearable={false}\n variant={props.variant !== 'simple' ? props.variant : undefined}\n dropdownMenuWidth={props.dropdownWidth}\n >\n {options}\n </USelect>\n );\n }\n return null;\n };\n\n const renderJumpInput = () => {\n if (props.showElevator) {\n return (\n <div class={`${props.prefixCls}-options-quick-jumper`}>\n <span>{props.locale.jumpTo}</span>\n <UInput\n disabled={props.disabled}\n size={size}\n variant={props.variant !== 'simple' ? props.variant : undefined}\n v-model={stateValue.value}\n onKeyup={handleJumpTo}\n onBlur={handleBlur}\n />\n <span>{props.locale.page}</span>\n </div>\n );\n }\n return null;\n };\n\n return (\n <li class={`${prefixCls}-options`}>\n {renderSelect()}\n {renderJumpInput()}\n </li>\n );\n };\n }\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","components","Render","props","prefixCls","type","String","current","Number","required","showSizer","Boolean","default","pageSizeOptions","Array","locale","disabled","pageSize","showElevator","size","variant","dropdownWidth","emits","v","setup","emit","stateValue","ref","changeSize","value","watch","handleBlur","isNaN","handleJumpTo","e","keyCode","ENTER","renderSelect","options","map","opt","label","item","page","cls","_createVNode","USelect","undefined","renderJumpInput","jumpTo","UInput","$event"],"mappings":";;;;;;;;;;AAKoC,SAAAA,QAAAC;AAAA,gBAAAA,oBAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,4BAAAK,YAAAL,CAAA;AAAA;AAIpC,cAAeM,oBAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,YAAY;AAAA,YACVC;AAAAA;AACF,EACAC,OAAO;AAAA,IACLC,WAAW;AAAA,MACTC,MAAMC;AAAAA;AACR,IACAC,SAAS;AAAA,MACPF,MAAMG;AAAAA,MACNC,UAAU;AAAA;AACZ,IACAC,WAAW;AAAA,MACTL,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAC,iBAAiB;AAAA,MACfR,MAAMS;AAAAA,MACNL,UAAU;AAAA;AACZ,IACAM,QAAQ;AAAA,MACNV,MAAMX;AAAAA,MACNe,UAAU;AAAA;AACZ,IACAO,UAAU;AAAA,MACRX,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAK,UAAU;AAAA,MACRZ,MAAMG;AAAAA;AACR,IACAU,cAAc;AAAA,MACZb,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAO,MAAM;AAAA,MACJd,MAAMC;AAAAA,MACNM,SAAS;AAAA;AACX,IACAQ,SAAS;AAAA,MACPf,MAAMC;AAAAA,MACNM,SAAS;AAAA;AACX,IACAS,eAAe;AAAA,MACbhB,MAAMG;AAAAA,MACNI,SAAS;AAAA;AACX;AACF,
|
|
1
|
+
{"version":3,"file":"Options.js","sources":["../../../../src/components/Pagination/Options.tsx"],"sourcesContent":["import { ref, watch, defineComponent } from 'vue';\nimport type { PropType, Ref } from 'vue';\nimport USelect from '@uxd-ui/components/Select';\nimport UInput from '@uxd-ui/components/Input';\nimport keyCode from '../../utils/KeyCode';\nimport Render from '../base/Render';\nimport type { SelectValueType } from '../Select/Select.type';\nimport type { NormalSizeMap } from '../../utils/globalType';\n\nexport default defineComponent({\n name: 'PaginationOption',\n components: {\n Render\n },\n props: {\n prefixCls: {\n type: String\n },\n current: {\n type: Number,\n required: true\n },\n showSizer: {\n type: Boolean,\n default: false\n },\n pageSizeOptions: {\n type: Array as PropType<number[]>,\n required: true\n },\n locale: {\n type: Object,\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n pageSize: {\n type: Number\n },\n showElevator: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<NormalSizeMap>,\n default: 'default'\n },\n variant: {\n type: String as PropType<'soft' | 'surface' | 'simple'>,\n default: 'surface'\n },\n dropdownWidth: {\n type: Number,\n default: 128\n },\n totalPage: {\n type: Number,\n required: true\n }\n },\n emits: {\n 'change-page-size': (v: number) => typeof v === 'number',\n 'change-page': (v: number) => typeof v === 'number'\n },\n setup(props, { emit }) {\n const stateValue: Ref<string> = ref(props.current.toString());\n const changeSize = (value: number) => {\n stateValue.value = props.current.toString();\n emit('change-page-size', value);\n };\n watch(\n () => props.current,\n (value) => {\n stateValue.value = value.toString();\n }\n );\n\n const handleBlur = () => {\n const value = !stateValue.value || Number.isNaN(Number(stateValue.value)) ? props.current : Number(stateValue.value);\n emit('change-page', value);\n };\n const handleJumpTo = (e: any) => {\n if (stateValue.value === '') return;\n if (e.keyCode === keyCode.ENTER || e.type === 'click') {\n emit('change-page', Number(stateValue.value));\n }\n };\n\n return () => {\n const { prefixCls, showSizer, size, disabled, pageSize, locale } = props;\n\n const renderSelect = () => {\n if (showSizer) {\n const options = props.pageSizeOptions.map((opt) => {\n return {\n value: opt,\n label: `${opt}${locale.item}/${locale.page}`\n };\n });\n\n const cls = `${prefixCls}-options-size-changer`;\n return (\n <USelect\n class={cls}\n disabled={disabled}\n size={size}\n modelValue={pageSize}\n options={options}\n onChange={(value: SelectValueType) => changeSize(Number(value))}\n clearable={false}\n variant={props.variant !== 'simple' ? props.variant : undefined}\n dropdownMenuWidth={props.dropdownWidth}\n >\n {options}\n </USelect>\n );\n }\n return null;\n };\n\n const renderJumpInput = () => {\n if (props.showElevator) {\n return (\n <div class={`${props.prefixCls}-options-quick-jumper`}>\n <span>{props.locale.jumpTo}</span>\n <UInput\n disabled={props.disabled}\n size={size}\n variant={props.variant !== 'simple' ? props.variant : undefined}\n v-model={stateValue.value}\n onKeyup={handleJumpTo}\n onBlur={handleBlur}\n inputSize={props.totalPage.toString().length}\n />\n <span>{props.locale.page}</span>\n </div>\n );\n }\n return null;\n };\n\n return (\n <li class={`${prefixCls}-options`}>\n {renderSelect()}\n {renderJumpInput()}\n </li>\n );\n };\n }\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","components","Render","props","prefixCls","type","String","current","Number","required","showSizer","Boolean","default","pageSizeOptions","Array","locale","disabled","pageSize","showElevator","size","variant","dropdownWidth","totalPage","emits","v","setup","emit","stateValue","ref","changeSize","value","watch","handleBlur","isNaN","handleJumpTo","e","keyCode","ENTER","renderSelect","options","map","opt","label","item","page","cls","_createVNode","USelect","undefined","renderJumpInput","jumpTo","UInput","$event","length"],"mappings":";;;;;;;;;;AAKoC,SAAAA,QAAAC;AAAA,gBAAAA,oBAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,4BAAAK,YAAAL,CAAA;AAAA;AAIpC,cAAeM,oBAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,YAAY;AAAA,YACVC;AAAAA;AACF,EACAC,OAAO;AAAA,IACLC,WAAW;AAAA,MACTC,MAAMC;AAAAA;AACR,IACAC,SAAS;AAAA,MACPF,MAAMG;AAAAA,MACNC,UAAU;AAAA;AACZ,IACAC,WAAW;AAAA,MACTL,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAC,iBAAiB;AAAA,MACfR,MAAMS;AAAAA,MACNL,UAAU;AAAA;AACZ,IACAM,QAAQ;AAAA,MACNV,MAAMX;AAAAA,MACNe,UAAU;AAAA;AACZ,IACAO,UAAU;AAAA,MACRX,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAK,UAAU;AAAA,MACRZ,MAAMG;AAAAA;AACR,IACAU,cAAc;AAAA,MACZb,MAAMM;AAAAA,MACNC,SAAS;AAAA;AACX,IACAO,MAAM;AAAA,MACJd,MAAMC;AAAAA,MACNM,SAAS;AAAA;AACX,IACAQ,SAAS;AAAA,MACPf,MAAMC;AAAAA,MACNM,SAAS;AAAA;AACX,IACAS,eAAe;AAAA,MACbhB,MAAMG;AAAAA,MACNI,SAAS;AAAA;AACX,IACAU,WAAW;AAAA,MACTjB,MAAMG;AAAAA,MACNC,UAAU;AAAA;AACZ;AACF,EACAc,OAAO;AAAA,IACL,oBAAqBC,OAAc,OAAOA,MAAM;AAAA,IAChD,eAAgBA,OAAc,OAAOA,MAAM;AAAA;AAC7C,EACAC,MAAMtB,OAAO;AAAA,IAAEuB;AAAAA,KAAQ;AACrB,UAAMC,aAA0BC,QAAIzB,MAAMI,QAAQX,UAAU;AAC5D,UAAMiC,aAAcC,WAAkB;AACpCH,iBAAWG,QAAQ3B,MAAMI,QAAQX;AACjC8B,WAAK,oBAAoBI,KAAK;AAAA;AAEhCC,cACE,MAAM5B,MAAMI,SACXuB,WAAU;AACTH,iBAAWG,QAAQA,MAAMlC;AAAS,KAEtC;AAEA,UAAMoC,aAAaA,MAAM;AACvB,YAAMF,QAAQ,CAACH,WAAWG,SAAStB,OAAOyB,MAAMzB,OAAOmB,WAAWG,KAAK,CAAC,IAAI3B,MAAMI,UAAUC,OAAOmB,WAAWG,KAAK;AACnHJ,WAAK,eAAeI,KAAK;AAAA;AAE3B,UAAMI,eAAgBC,OAAW;AAC/B,UAAIR,WAAWG,UAAU;AAAI;AAC7B,UAAIK,EAAEC,YAAYA,mBAAQC,SAASF,EAAE9B,SAAS,SAAS;AACrDqB,aAAK,eAAelB,OAAOmB,WAAWG,KAAK,CAAC;AAAA;AAC9C;AAGF,WAAO,MAAM;AACX,YAAM;AAAA,QAAE1B;AAAAA,QAAWM;AAAAA,QAAWS;AAAAA,QAAMH;AAAAA,QAAUC;AAAAA,QAAUF;AAAAA,UAAWZ;AAEnE,YAAMmC,eAAeA,MAAM;AACzB,YAAI5B,WAAW;AACb,gBAAM6B,UAAUpC,MAAMU,gBAAgB2B,IAAKC,SAAQ;AACjD,mBAAO;AAAA,cACLX,OAAOW;AAAAA,cACPC,OAAO,GAAGD,MAAM1B,OAAO4B,QAAQ5B,OAAO6B;AAAAA;AACxC,WACD;AAED,gBAAMC,MAAM,GAAGzC;AACf,iBAAA0C,gBAAAC;YAAA,SAEWF;AAAAA,YAAG,YACA7B;AAAAA,YAAQ,QACZG;AAAAA,YAAI,cACEF;AAAAA,YAAQ,WACXsB;AAAAA,YAAO,YACLT,WAA2BD,WAAWrB,OAAOsB,KAAK,CAAC;AAAA,YAAC,aACpD;AAAA,YAAK,WACP3B,MAAMiB,YAAY,WAAWjB,MAAMiB,UAAU4B;AAAAA,YAAS,qBAC5C7C,MAAMkB;AAAAA,aAAa7B,QAErC+C,OAAO,IAAPA;YAAO3B,SAAAA,OAAP2B,OAAO;AAAA;;AAId,eAAO;AAAA;AAGT,YAAMU,kBAAkBA,MAAM;AAC5B,YAAI9C,MAAMe,cAAc;AACtB,iBAAA4B;YAAA,SACc,GAAG3C,MAAMC;AAAAA,cAAgC0C,+BAC5C3C,MAAMY,OAAOmC,MAAM,IAAAJ,gBAAAK;YAAA,YAEdhD,MAAMa;AAAAA,YAAQ,QAClBG;AAAAA,YAAI,WACDhB,MAAMiB,YAAY,WAAWjB,MAAMiB,UAAU4B;AAAAA,YAAS,cACtDrB,WAAWG;AAAAA,YAAK,uBAAAsB,YAAhBzB,WAAWG,QAAKsB;AAAAA,YAAA,WAChBlB;AAAAA,YAAY,UACbF;AAAAA,YAAU,aACP7B,MAAMmB,UAAU1B,WAAWyD;AAAAA,oBAAMP,+BAEvC3C,MAAMY,OAAO6B,IAAI;;AAI9B,eAAO;AAAA;AAGT,aAAAE;QAAA,SACa,GAAG1C;AAAAA,UACXkC,gBACAW,iBAAiB;;AAGxB;AAEJ,CAAC;;;;"}
|
|
@@ -436,6 +436,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
436
436
|
type: NumberConstructor;
|
|
437
437
|
default: number;
|
|
438
438
|
};
|
|
439
|
+
totalPage: {
|
|
440
|
+
type: NumberConstructor;
|
|
441
|
+
required: true;
|
|
442
|
+
};
|
|
439
443
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
440
444
|
'change-page-size': (v: number) => boolean;
|
|
441
445
|
'change-page': (v: number) => boolean;
|
|
@@ -482,6 +486,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
482
486
|
type: NumberConstructor;
|
|
483
487
|
default: number;
|
|
484
488
|
};
|
|
489
|
+
totalPage: {
|
|
490
|
+
type: NumberConstructor;
|
|
491
|
+
required: true;
|
|
492
|
+
};
|
|
485
493
|
}>> & Readonly<{
|
|
486
494
|
"onChange-page-size"?: (v: number) => any;
|
|
487
495
|
"onChange-page"?: (v: number) => any;
|
|
@@ -226,6 +226,7 @@ var Pagination = vue.defineComponent({
|
|
|
226
226
|
"modelValue": this.stateCurrent,
|
|
227
227
|
"disabled": this.disabled,
|
|
228
228
|
"size": this.size,
|
|
229
|
+
"inputSize": this.totalPage.toString().length,
|
|
229
230
|
"onKeyup": this.onKeyUp,
|
|
230
231
|
"onKeydown": this.onKeyDown,
|
|
231
232
|
"onBlur": this.onBlur
|
|
@@ -275,6 +276,7 @@ var Pagination = vue.defineComponent({
|
|
|
275
276
|
"dropdownWidth": this.selectDropdownWidth,
|
|
276
277
|
"variant": this.variant,
|
|
277
278
|
"pageSizeOptions": this.pageSizeOptions,
|
|
279
|
+
"totalPage": this.totalPage,
|
|
278
280
|
"onChange-page-size": this.onChangePageSize,
|
|
279
281
|
"onChange-page": this.onChangePage
|
|
280
282
|
}, null)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { defineComponent, computed, ref, watch } from 'vue';\nimport { ChevronRight, ChevronLeft } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport UInput from '@uxd-ui/components/Input';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport useCalculate from './hooks/useCalculate';\nimport useGenerateList from './hooks/useGenerateList';\nimport keyCode from '../../utils/KeyCode';\nimport Pager from './Pager.vue';\nimport Options from './Options';\nimport { paginationProps, paginationEmits } from './Pagination.type';\n\nexport default defineComponent({\n name: 'UPagination',\n components: {\n Pager,\n Options,\n UIcon,\n ChevronRight,\n ChevronLeft\n },\n props: paginationProps,\n emits: paginationEmits,\n setup(props, { emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('pagination');\n const stateCurrent = ref(1);\n const statePageSize = ref(10);\n\n const { calculatePage } = useCalculate();\n const { generatePagerList } = useGenerateList(props, stateCurrent, statePageSize, calculatePage);\n // ===================== computed ============================\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.pagination;\n });\n const prevDisabled = computed(() => {\n return stateCurrent.value === 1;\n });\n const nextDisabled = computed(() => {\n return stateCurrent.value === calculatePage(undefined, statePageSize.value, props.total);\n });\n const totalPage = computed(() => {\n return calculatePage(undefined, statePageSize.value, props.total);\n });\n\n const isSimple = computed(() => {\n return props.simple || props.variant === 'simple';\n });\n\n watch(\n () => props.current,\n (val) => {\n stateCurrent.value = val;\n },\n { immediate: true }\n );\n\n watch(\n () => props.pageSize,\n (val) => {\n statePageSize.value = val;\n },\n { immediate: true }\n );\n\n const pagerList = computed(() => {\n return generatePagerList(totalPage.value, computedLocale.value, prefixCls.value);\n });\n\n const isValueValid = (value: number) => {\n return typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value;\n };\n const onChangePage = (page: number) => {\n const pageBool = isValueValid(page) && page !== stateCurrent.value;\n const result = props.beforeChange ? props.beforeChange(page) : true;\n if (pageBool && !props.disabled && result) {\n // const currentPage = calculatePage(\n // undefined,\n // statePageSize.value,\n // props.total\n // );\n if (page > totalPage.value) {\n stateCurrent.value = totalPage.value;\n } else if (page < 1) {\n stateCurrent.value = 1;\n } else {\n stateCurrent.value = page;\n }\n emit('update:current', stateCurrent.value);\n emit('change', stateCurrent.value, statePageSize.value);\n }\n };\n const onChangePageSize = (size: number) => {\n const newTotal = calculatePage(size, statePageSize.value, props.total);\n stateCurrent.value = stateCurrent.value > newTotal ? newTotal : stateCurrent.value;\n statePageSize.value = size;\n emit('update:current', stateCurrent.value);\n emit('update:pageSize', statePageSize.value);\n emit('page-size-change', statePageSize.value, stateCurrent.value);\n };\n const onPrev = () => {\n if (stateCurrent.value > 1) {\n const page = stateCurrent.value - 1;\n onChangePage(page);\n }\n };\n const onNext = () => {\n if (stateCurrent.value < totalPage.value) {\n const page = stateCurrent.value + 1;\n onChangePage(page);\n }\n };\n const getValidValue = (e: any) => {\n const inputValue = e.target.value;\n let value;\n if (inputValue === '') {\n value = inputValue;\n } else if (Number.isNaN(Number(inputValue))) {\n value = stateCurrent.value;\n } else if (inputValue >= totalPage.value) {\n value = totalPage.value;\n } else {\n value = Number(inputValue);\n }\n\n return value;\n };\n\n const onKeyDown = (e: any) => {\n if (e.keyCode === keyCode.UP || e.keyCode === keyCode.DOWN) {\n e.preventDefault();\n }\n };\n const onKeyUp = (e: any) => {\n if (e.isComposing || e.target.composing) return;\n const value = getValidValue(e);\n if (e.keyCode === keyCode.ENTER) {\n onChangePage(value);\n } else if (e.keyCode === keyCode.UP) {\n onChangePage(value + 1);\n } else if (e.keyCode === keyCode.DOWN) {\n onChangePage(value - 1);\n }\n };\n const onBlur = (e: any) => {\n const value = getValidValue(e);\n if (value === stateCurrent.value) {\n e.target.value = value;\n } else {\n stateCurrent.value = value;\n }\n\n onChangePage(stateCurrent.value);\n };\n const onKeyEnter = (event: KeyboardEvent, callBack: () => void) => {\n if (event.key === 'Enter' || event.charCode === 13) {\n callBack();\n }\n };\n const onPrevEnter = (event: KeyboardEvent) => {\n onKeyEnter(event, onPrev);\n };\n const onNextEnter = (event: KeyboardEvent) => {\n onKeyEnter(event, onNext);\n };\n return {\n prefixCls,\n stateCurrent,\n statePageSize,\n computedLocale,\n totalPage,\n pagerList,\n prevDisabled,\n nextDisabled,\n isSimple,\n onChangePage,\n onChangePageSize,\n onPrev,\n onNext,\n onKeyDown,\n onKeyUp,\n onBlur,\n onKeyEnter,\n onPrevEnter,\n onNextEnter\n };\n },\n render() {\n const { prefixCls } = this;\n const previousBtn = () => {\n return (\n <li\n class={[\n `${prefixCls}-item`,\n `${prefixCls}-prev`,\n {\n [`${prefixCls}-item-disabled`]: this.prevDisabled,\n [`${prefixCls}-item-simple`]: this.isSimple,\n [`${prefixCls}-item-custom`]: !!this.$slots.customPrev\n }\n ]}\n title={this.computedLocale.prevPage}\n tabindex={this.prevDisabled || this.disabled ? undefined : 0}\n onClick={this.onPrev}\n onKeypress={this.onPrevEnter}\n >\n {this.$slots.customPrev && !this.isSimple ? (\n this.$slots.customPrev()\n ) : (\n <a class={`${prefixCls}-item-link`}>\n <UIcon>\n <ChevronLeft />\n </UIcon>\n </a>\n )}\n </li>\n );\n };\n const nextBtn = () => {\n return (\n <li\n class={[\n `${prefixCls}-item`,\n `${prefixCls}-next`,\n {\n [`${prefixCls}-item-disabled`]: this.nextDisabled,\n [`${prefixCls}-item-simple`]: this.isSimple,\n [`${prefixCls}-item-custom`]: !!this.$slots.customNext\n }\n ]}\n title={this.computedLocale.nextPage}\n tabindex={this.nextDisabled || this.disabled ? undefined : 0}\n onClick={this.onNext}\n onKeypress={this.onNextEnter}\n >\n {this.$slots.customNext && !this.isSimple ? (\n this.$slots.customNext()\n ) : (\n <a class={`${prefixCls}-item-link`}>\n <UIcon>\n <ChevronRight />\n </UIcon>\n </a>\n )}\n </li>\n );\n };\n\n const pagerContent = () => {\n if (this.isSimple) {\n return (\n <li class={`${prefixCls}-simple-pager`} title={`${this.stateCurrent} / ${this.totalPage}`}>\n <UInput\n modelValue={this.stateCurrent}\n disabled={this.disabled}\n size={this.size}\n onKeyup={this.onKeyUp}\n onKeydown={this.onKeyDown}\n onBlur={this.onBlur}\n />\n <span class={`${prefixCls}-slash`}>/</span>\n <span class={`${prefixCls}-slash`}>{this.totalPage}</span>\n </li>\n );\n }\n return this.pagerList.map((pager) => (\n <Pager\n key={pager.key}\n active={pager.active}\n page={pager.page}\n title={pager.title}\n type={pager.type}\n prefixCls={prefixCls}\n disabled={this.disabled}\n className={pager.className}\n onClick={this.onChangePage}\n onKeyEnter={this.onKeyEnter}\n />\n ));\n };\n\n const totalContent = (\n <li class={`${prefixCls}-total-text`}>\n {this.$slots.totalText\n ? this.$slots.totalText({\n data: {\n total: this.total,\n range: [(this.stateCurrent - 1) * this.statePageSize + 1, this.stateCurrent * this.statePageSize]\n }\n })\n : `${this.computedLocale.total} ${this.total} ${this.computedLocale.item}`}\n </li>\n );\n\n return (\n <ul\n ref=\"paginationRef\"\n class={[\n `${prefixCls}`,\n `${prefixCls}-size-${this.size}`,\n `${prefixCls}-align-${this.align}`,\n {\n [`${prefixCls}-disabled`]: this.disabled,\n [`${prefixCls}-variant-${this.variant}`]: !this.isSimple,\n [`${prefixCls}-variant-simple`]: this.isSimple\n }\n ]}\n >\n {this.showTotal && !this.isSimple && totalContent}\n {previousBtn()}\n {pagerContent()}\n {nextBtn()}\n {!this.isSimple && (\n <Options\n prefixCls={prefixCls}\n disabled={this.disabled}\n size={this.size}\n locale={this.computedLocale}\n current={this.stateCurrent}\n showSizer={this.showSizer}\n showElevator={this.showElevator}\n pageSize={this.statePageSize}\n dropdownWidth={this.selectDropdownWidth}\n variant={this.variant}\n pageSizeOptions={this.pageSizeOptions}\n onChange-page-size={this.onChangePageSize}\n onChange-page={this.onChangePage}\n />\n )}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Pager","Options","UIcon","ChevronRight","ChevronLeft","props","paginationProps","emits","paginationEmits","setup","emit","prefixCls","config","globalConfig","useGlobalConfig","stateCurrent","ref","statePageSize","calculatePage","useCalculate","generatePagerList","useGenerateList","computedLocale","computed","locale","pagination","prevDisabled","value","nextDisabled","undefined","total","totalPage","isSimple","simple","variant","watch","current","val","immediate","pageSize","pagerList","isValueValid","Number","isFinite","Math","floor","onChangePage","page","pageBool","result","beforeChange","disabled","onChangePageSize","size","newTotal","onPrev","onNext","getValidValue","e","inputValue","target","isNaN","onKeyDown","keyCode","UP","DOWN","preventDefault","onKeyUp","isComposing","composing","ENTER","onBlur","onKeyEnter","event","callBack","key","charCode","onPrevEnter","onNextEnter","render","previousBtn","_createVNode","$slots","customPrev","prevPage","default","nextBtn","customNext","nextPage","pagerContent","UInput","_createTextVNode","map","pager","active","title","type","className","totalContent","totalText","data","range","item","align","showTotal","showSizer","showElevator","selectDropdownWidth","pageSizeOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { defineComponent, computed, ref, watch } from 'vue';\nimport { ChevronRight, ChevronLeft } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport UInput from '@uxd-ui/components/Input';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport useCalculate from './hooks/useCalculate';\nimport useGenerateList from './hooks/useGenerateList';\nimport keyCode from '../../utils/KeyCode';\nimport Pager from './Pager.vue';\nimport Options from './Options';\nimport { paginationProps, paginationEmits } from './Pagination.type';\n\nexport default defineComponent({\n name: 'UPagination',\n components: {\n Pager,\n Options,\n UIcon,\n ChevronRight,\n ChevronLeft\n },\n props: paginationProps,\n emits: paginationEmits,\n setup(props, { emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('pagination');\n const stateCurrent = ref(1);\n const statePageSize = ref(10);\n\n const { calculatePage } = useCalculate();\n const { generatePagerList } = useGenerateList(props, stateCurrent, statePageSize, calculatePage);\n // ===================== computed ============================\n const computedLocale = computed(() => {\n return props.locale || globalConfig.locale.pagination;\n });\n const prevDisabled = computed(() => {\n return stateCurrent.value === 1;\n });\n const nextDisabled = computed(() => {\n return stateCurrent.value === calculatePage(undefined, statePageSize.value, props.total);\n });\n const totalPage = computed(() => {\n return calculatePage(undefined, statePageSize.value, props.total);\n });\n\n const isSimple = computed(() => {\n return props.simple || props.variant === 'simple';\n });\n\n watch(\n () => props.current,\n (val) => {\n stateCurrent.value = val;\n },\n { immediate: true }\n );\n\n watch(\n () => props.pageSize,\n (val) => {\n statePageSize.value = val;\n },\n { immediate: true }\n );\n\n const pagerList = computed(() => {\n return generatePagerList(totalPage.value, computedLocale.value, prefixCls.value);\n });\n\n const isValueValid = (value: number) => {\n return typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value;\n };\n const onChangePage = (page: number) => {\n const pageBool = isValueValid(page) && page !== stateCurrent.value;\n const result = props.beforeChange ? props.beforeChange(page) : true;\n if (pageBool && !props.disabled && result) {\n // const currentPage = calculatePage(\n // undefined,\n // statePageSize.value,\n // props.total\n // );\n if (page > totalPage.value) {\n stateCurrent.value = totalPage.value;\n } else if (page < 1) {\n stateCurrent.value = 1;\n } else {\n stateCurrent.value = page;\n }\n emit('update:current', stateCurrent.value);\n emit('change', stateCurrent.value, statePageSize.value);\n }\n };\n const onChangePageSize = (size: number) => {\n const newTotal = calculatePage(size, statePageSize.value, props.total);\n stateCurrent.value = stateCurrent.value > newTotal ? newTotal : stateCurrent.value;\n statePageSize.value = size;\n emit('update:current', stateCurrent.value);\n emit('update:pageSize', statePageSize.value);\n emit('page-size-change', statePageSize.value, stateCurrent.value);\n };\n const onPrev = () => {\n if (stateCurrent.value > 1) {\n const page = stateCurrent.value - 1;\n onChangePage(page);\n }\n };\n const onNext = () => {\n if (stateCurrent.value < totalPage.value) {\n const page = stateCurrent.value + 1;\n onChangePage(page);\n }\n };\n const getValidValue = (e: any) => {\n const inputValue = e.target.value;\n let value;\n if (inputValue === '') {\n value = inputValue;\n } else if (Number.isNaN(Number(inputValue))) {\n value = stateCurrent.value;\n } else if (inputValue >= totalPage.value) {\n value = totalPage.value;\n } else {\n value = Number(inputValue);\n }\n\n return value;\n };\n\n const onKeyDown = (e: any) => {\n if (e.keyCode === keyCode.UP || e.keyCode === keyCode.DOWN) {\n e.preventDefault();\n }\n };\n const onKeyUp = (e: any) => {\n if (e.isComposing || e.target.composing) return;\n const value = getValidValue(e);\n if (e.keyCode === keyCode.ENTER) {\n onChangePage(value);\n } else if (e.keyCode === keyCode.UP) {\n onChangePage(value + 1);\n } else if (e.keyCode === keyCode.DOWN) {\n onChangePage(value - 1);\n }\n };\n const onBlur = (e: any) => {\n const value = getValidValue(e);\n if (value === stateCurrent.value) {\n e.target.value = value;\n } else {\n stateCurrent.value = value;\n }\n\n onChangePage(stateCurrent.value);\n };\n const onKeyEnter = (event: KeyboardEvent, callBack: () => void) => {\n if (event.key === 'Enter' || event.charCode === 13) {\n callBack();\n }\n };\n const onPrevEnter = (event: KeyboardEvent) => {\n onKeyEnter(event, onPrev);\n };\n const onNextEnter = (event: KeyboardEvent) => {\n onKeyEnter(event, onNext);\n };\n return {\n prefixCls,\n stateCurrent,\n statePageSize,\n computedLocale,\n totalPage,\n pagerList,\n prevDisabled,\n nextDisabled,\n isSimple,\n onChangePage,\n onChangePageSize,\n onPrev,\n onNext,\n onKeyDown,\n onKeyUp,\n onBlur,\n onKeyEnter,\n onPrevEnter,\n onNextEnter\n };\n },\n render() {\n const { prefixCls } = this;\n const previousBtn = () => {\n return (\n <li\n class={[\n `${prefixCls}-item`,\n `${prefixCls}-prev`,\n {\n [`${prefixCls}-item-disabled`]: this.prevDisabled,\n [`${prefixCls}-item-simple`]: this.isSimple,\n [`${prefixCls}-item-custom`]: !!this.$slots.customPrev\n }\n ]}\n title={this.computedLocale.prevPage}\n tabindex={this.prevDisabled || this.disabled ? undefined : 0}\n onClick={this.onPrev}\n onKeypress={this.onPrevEnter}\n >\n {this.$slots.customPrev && !this.isSimple ? (\n this.$slots.customPrev()\n ) : (\n <a class={`${prefixCls}-item-link`}>\n <UIcon>\n <ChevronLeft />\n </UIcon>\n </a>\n )}\n </li>\n );\n };\n const nextBtn = () => {\n return (\n <li\n class={[\n `${prefixCls}-item`,\n `${prefixCls}-next`,\n {\n [`${prefixCls}-item-disabled`]: this.nextDisabled,\n [`${prefixCls}-item-simple`]: this.isSimple,\n [`${prefixCls}-item-custom`]: !!this.$slots.customNext\n }\n ]}\n title={this.computedLocale.nextPage}\n tabindex={this.nextDisabled || this.disabled ? undefined : 0}\n onClick={this.onNext}\n onKeypress={this.onNextEnter}\n >\n {this.$slots.customNext && !this.isSimple ? (\n this.$slots.customNext()\n ) : (\n <a class={`${prefixCls}-item-link`}>\n <UIcon>\n <ChevronRight />\n </UIcon>\n </a>\n )}\n </li>\n );\n };\n\n const pagerContent = () => {\n if (this.isSimple) {\n return (\n <li class={`${prefixCls}-simple-pager`} title={`${this.stateCurrent} / ${this.totalPage}`}>\n <UInput\n modelValue={this.stateCurrent}\n disabled={this.disabled}\n size={this.size}\n inputSize={this.totalPage.toString().length}\n onKeyup={this.onKeyUp}\n onKeydown={this.onKeyDown}\n onBlur={this.onBlur}\n />\n <span class={`${prefixCls}-slash`}>/</span>\n <span class={`${prefixCls}-slash`}>{this.totalPage}</span>\n </li>\n );\n }\n return this.pagerList.map((pager) => (\n <Pager\n key={pager.key}\n active={pager.active}\n page={pager.page}\n title={pager.title}\n type={pager.type}\n prefixCls={prefixCls}\n disabled={this.disabled}\n className={pager.className}\n onClick={this.onChangePage}\n onKeyEnter={this.onKeyEnter}\n />\n ));\n };\n\n const totalContent = (\n <li class={`${prefixCls}-total-text`}>\n {this.$slots.totalText\n ? this.$slots.totalText({\n data: {\n total: this.total,\n range: [(this.stateCurrent - 1) * this.statePageSize + 1, this.stateCurrent * this.statePageSize]\n }\n })\n : `${this.computedLocale.total} ${this.total} ${this.computedLocale.item}`}\n </li>\n );\n\n return (\n <ul\n ref=\"paginationRef\"\n class={[\n `${prefixCls}`,\n `${prefixCls}-size-${this.size}`,\n `${prefixCls}-align-${this.align}`,\n {\n [`${prefixCls}-disabled`]: this.disabled,\n [`${prefixCls}-variant-${this.variant}`]: !this.isSimple,\n [`${prefixCls}-variant-simple`]: this.isSimple\n }\n ]}\n >\n {this.showTotal && !this.isSimple && totalContent}\n {previousBtn()}\n {pagerContent()}\n {nextBtn()}\n {!this.isSimple && (\n <Options\n prefixCls={prefixCls}\n disabled={this.disabled}\n size={this.size}\n locale={this.computedLocale}\n current={this.stateCurrent}\n showSizer={this.showSizer}\n showElevator={this.showElevator}\n pageSize={this.statePageSize}\n dropdownWidth={this.selectDropdownWidth}\n variant={this.variant}\n pageSizeOptions={this.pageSizeOptions}\n totalPage={this.totalPage}\n onChange-page-size={this.onChangePageSize}\n onChange-page={this.onChangePage}\n />\n )}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Pager","Options","UIcon","ChevronRight","ChevronLeft","props","paginationProps","emits","paginationEmits","setup","emit","prefixCls","config","globalConfig","useGlobalConfig","stateCurrent","ref","statePageSize","calculatePage","useCalculate","generatePagerList","useGenerateList","computedLocale","computed","locale","pagination","prevDisabled","value","nextDisabled","undefined","total","totalPage","isSimple","simple","variant","watch","current","val","immediate","pageSize","pagerList","isValueValid","Number","isFinite","Math","floor","onChangePage","page","pageBool","result","beforeChange","disabled","onChangePageSize","size","newTotal","onPrev","onNext","getValidValue","e","inputValue","target","isNaN","onKeyDown","keyCode","UP","DOWN","preventDefault","onKeyUp","isComposing","composing","ENTER","onBlur","onKeyEnter","event","callBack","key","charCode","onPrevEnter","onNextEnter","render","previousBtn","_createVNode","$slots","customPrev","prevPage","default","nextBtn","customNext","nextPage","pagerContent","UInput","toString","length","_createTextVNode","map","pager","active","title","type","className","totalContent","totalText","data","range","item","align","showTotal","showSizer","showElevator","selectDropdownWidth","pageSizeOptions"],"mappings":"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"}
|
|
@@ -364,6 +364,10 @@ export declare const UPagination: {
|
|
|
364
364
|
type: NumberConstructor;
|
|
365
365
|
default: number;
|
|
366
366
|
};
|
|
367
|
+
totalPage: {
|
|
368
|
+
type: NumberConstructor;
|
|
369
|
+
required: true;
|
|
370
|
+
};
|
|
367
371
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
368
372
|
'change-page-size': (v: number) => boolean;
|
|
369
373
|
'change-page': (v: number) => boolean;
|
|
@@ -410,6 +414,10 @@ export declare const UPagination: {
|
|
|
410
414
|
type: NumberConstructor;
|
|
411
415
|
default: number;
|
|
412
416
|
};
|
|
417
|
+
totalPage: {
|
|
418
|
+
type: NumberConstructor;
|
|
419
|
+
required: true;
|
|
420
|
+
};
|
|
413
421
|
}>> & Readonly<{
|
|
414
422
|
"onChange-page-size"?: (v: number) => any;
|
|
415
423
|
"onChange-page"?: (v: number) => any;
|
|
@@ -1054,6 +1062,10 @@ export declare const UPagination: {
|
|
|
1054
1062
|
type: NumberConstructor;
|
|
1055
1063
|
default: number;
|
|
1056
1064
|
};
|
|
1065
|
+
totalPage: {
|
|
1066
|
+
type: NumberConstructor;
|
|
1067
|
+
required: true;
|
|
1068
|
+
};
|
|
1057
1069
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
1058
1070
|
'change-page-size': (v: number) => boolean;
|
|
1059
1071
|
'change-page': (v: number) => boolean;
|
|
@@ -1100,6 +1112,10 @@ export declare const UPagination: {
|
|
|
1100
1112
|
type: NumberConstructor;
|
|
1101
1113
|
default: number;
|
|
1102
1114
|
};
|
|
1115
|
+
totalPage: {
|
|
1116
|
+
type: NumberConstructor;
|
|
1117
|
+
required: true;
|
|
1118
|
+
};
|
|
1103
1119
|
}>> & Readonly<{
|
|
1104
1120
|
"onChange-page-size"?: (v: number) => any;
|
|
1105
1121
|
"onChange-page"?: (v: number) => any;
|