@koi-design/uxd-ui 14.0.3 → 14.0.4
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/Badge/Badge.mjs +3 -5
- package/es/components/Badge/Badge.mjs.map +1 -1
- package/es/components/Drawer/Drawer.d.ts +9 -0
- package/es/components/Drawer/Drawer.mjs +10 -8
- package/es/components/Drawer/Drawer.mjs.map +1 -1
- package/es/components/Drawer/Drawer.type.d.ts +4 -0
- package/es/components/Drawer/Drawer.type.mjs +4 -0
- package/es/components/Drawer/Drawer.type.mjs.map +1 -1
- package/es/components/Drawer/index.d.ts +15 -0
- package/es/components/Mask/Mask.d.ts +2 -1
- package/es/components/Mask/Mask.mjs +6 -2
- package/es/components/Mask/Mask.mjs.map +1 -1
- package/es/components/Mask/index.d.ts +5 -2
- package/es/components/Message/Message.type.d.ts +1 -0
- package/es/components/Slider/Slider.d.ts +0 -20
- package/es/components/Slider/Slider.mjs +1 -2
- package/es/components/Slider/Slider.mjs.map +1 -1
- package/es/components/Slider/Slider.type.d.ts +0 -9
- package/es/components/Slider/Slider.type.mjs +0 -13
- package/es/components/Slider/Slider.type.mjs.map +1 -1
- package/es/components/Slider/index.d.ts +0 -33
- package/es/components/Tag/Tag.mjs +6 -9
- package/es/components/Tag/Tag.mjs.map +1 -1
- package/es/components/Tag/Tag.type.d.ts +0 -4
- package/es/components/Tag/Tag.type.mjs +0 -4
- package/es/components/Tag/Tag.type.mjs.map +1 -1
- package/es/components/Tag/Tag.vue.d.ts +7 -20
- package/es/components/Tag/index.d.ts +21 -48
- package/es/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
- package/es/components/TreeSelect/index.d.ts +3 -3
- package/lib/components/Badge/Badge.js +3 -5
- package/lib/components/Badge/Badge.js.map +1 -1
- package/lib/components/Drawer/Drawer.d.ts +9 -0
- package/lib/components/Drawer/Drawer.js +10 -8
- package/lib/components/Drawer/Drawer.js.map +1 -1
- package/lib/components/Drawer/Drawer.type.d.ts +4 -0
- package/lib/components/Drawer/Drawer.type.js +4 -0
- package/lib/components/Drawer/Drawer.type.js.map +1 -1
- package/lib/components/Drawer/index.d.ts +15 -0
- package/lib/components/Mask/Mask.d.ts +2 -1
- package/lib/components/Mask/Mask.js +6 -2
- package/lib/components/Mask/Mask.js.map +1 -1
- package/lib/components/Mask/index.d.ts +5 -2
- package/lib/components/Message/Message.type.d.ts +1 -0
- package/lib/components/Slider/Slider.d.ts +0 -20
- package/lib/components/Slider/Slider.js +1 -2
- package/lib/components/Slider/Slider.js.map +1 -1
- package/lib/components/Slider/Slider.type.d.ts +0 -9
- package/lib/components/Slider/Slider.type.js +0 -13
- package/lib/components/Slider/Slider.type.js.map +1 -1
- package/lib/components/Slider/index.d.ts +0 -33
- package/lib/components/Tag/Tag.js +6 -9
- package/lib/components/Tag/Tag.js.map +1 -1
- package/lib/components/Tag/Tag.type.d.ts +0 -4
- package/lib/components/Tag/Tag.type.js +0 -4
- package/lib/components/Tag/Tag.type.js.map +1 -1
- package/lib/components/Tag/Tag.vue.d.ts +7 -20
- package/lib/components/Tag/index.d.ts +21 -48
- package/lib/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
- package/lib/components/TreeSelect/index.d.ts +3 -3
- package/package.json +1 -1
- package/styles/components/badge/index.css +1 -1
- package/styles/components/badge/index.less +14 -48
- package/styles/components/badge/var.less +7 -17
- package/styles/components/drawer/index.css +1 -1
- package/styles/components/drawer/index.less +43 -49
- package/styles/components/drawer/var.less +7 -20
- package/styles/components/slider/index.css +1 -1
- package/styles/components/slider/index.less +36 -156
- package/styles/components/slider/var.less +5 -33
- package/styles/components/tag/index.css +1 -1
- package/styles/components/tag/index.less +12 -25
- package/styles/components/tag/var.less +9 -67
- package/styles/cssVariable.less +0 -1
- package/styles/index.css +1 -1
- package/styles/mixins/index.less +0 -1
- package/types/components/Drawer/Drawer.d.ts +9 -0
- package/types/components/Drawer/Drawer.type.d.ts +4 -0
- package/types/components/Drawer/index.d.ts +15 -0
- package/types/components/Mask/Mask.d.ts +2 -1
- package/types/components/Mask/index.d.ts +5 -2
- package/types/components/Message/Message.type.d.ts +1 -0
- package/types/components/Slider/Slider.d.ts +0 -20
- package/types/components/Slider/Slider.type.d.ts +0 -9
- package/types/components/Slider/index.d.ts +0 -33
- package/types/components/Tag/Tag.type.d.ts +0 -4
- package/types/components/Tag/Tag.vue.d.ts +7 -20
- package/types/components/Tag/index.d.ts +21 -48
- package/types/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
- package/types/components/TreeSelect/index.d.ts +3 -3
- package/uxd-ui.css +1 -1
- package/uxd-ui.esm.min.mjs +6 -6
- package/uxd-ui.esm.mjs +31 -40
- package/uxd-ui.umd.js +31 -40
- package/uxd-ui.umd.min.js +6 -6
- package/styles/mixins/close.less +0 -12
|
@@ -17,13 +17,11 @@ const _sfc_main = defineComponent({
|
|
|
17
17
|
if (props.status) {
|
|
18
18
|
switch (props.status) {
|
|
19
19
|
case "success":
|
|
20
|
-
return "green";
|
|
21
|
-
case "processing":
|
|
22
|
-
return "blue";
|
|
23
20
|
case "error":
|
|
24
|
-
return "red";
|
|
25
21
|
case "warning":
|
|
26
|
-
return
|
|
22
|
+
return props.status;
|
|
23
|
+
case "processing":
|
|
24
|
+
return "primary";
|
|
27
25
|
default:
|
|
28
26
|
return void 0;
|
|
29
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.mjs","sources":["../../../../src/components/Badge/Badge.vue"],"sourcesContent":["<template>\n <span v-if=\"dot\" :class=\"prefixCls\">\n <slot />\n <sup v-show=\"badgeShow\" :class=\"`${prefixCls}-dot`\" :style=\"styles\" />\n </span>\n <span v-else-if=\"status || color\" :class=\"prefixCls\" class=\"uui-badge-status\">\n <span\n :class=\"[\n `${prefixCls}-status-dot`,\n {\n [`${prefixCls}-status-default`]: status === 'default',\n [`${prefixCls}-status-color`]: isColorStatus\n }\n ]\"\n :data-color=\"computedColor\"\n :style=\"statusStyles\"\n />\n <span class=\"uui-badge-status-text\">\n <slot name=\"text\">{{ text }}</slot>\n </span>\n </span>\n <span v-else :class=\"prefixCls\">\n <slot />\n <sup\n v-if=\"$slots.count\"\n :style=\"styles\"\n :class=\"[\n `${prefixCls}-count`,\n `${prefixCls}-count-custom`,\n {\n [`${className}`]: !!className\n }\n ]\"\n >\n <slot name=\"count\" />\n </sup>\n <sup\n v-else-if=\"hasCount\"\n v-show=\"badgeShow\"\n :style=\"styles\"\n :class=\"[\n `${prefixCls}-count`,\n {\n [`${className}`]: !!className,\n [`${prefixCls}-count-alone`]: $slots.default === undefined,\n [`${prefixCls}-count-type`]: !!type\n }\n ]\"\n :data-color=\"computedColor\"\n >\n <slot name=\"text\">{{ finalCount }}</slot>\n </sup>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue';\nimport type { CSSProperties } from 'vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { badgeProps } from './Badge.type';\nimport type { BadgeStatus, BadgeType } from './Badge.type';\nimport { colorType } from '../../utils/globalType';\n\nconst initColorList = colorType.toString().split(',');\n\nexport default defineComponent({\n name: 'UBadge',\n props: badgeProps,\n setup(props) {\n const { prefixCls } = useGlobalConfig('badge');\n\n const isColorStatus = computed(() => {\n return (!!props.color && initColorList.includes(props.color)) || (!!props.status && props.status !== 'default');\n });\n\n const computedColor = computed(() => {\n if (props.status) {\n switch (props.status as BadgeStatus) {\n case 'success':\n
|
|
1
|
+
{"version":3,"file":"Badge.mjs","sources":["../../../../src/components/Badge/Badge.vue"],"sourcesContent":["<template>\n <span v-if=\"dot\" :class=\"prefixCls\">\n <slot />\n <sup v-show=\"badgeShow\" :class=\"`${prefixCls}-dot`\" :style=\"styles\" />\n </span>\n <span v-else-if=\"status || color\" :class=\"prefixCls\" class=\"uui-badge-status\">\n <span\n :class=\"[\n `${prefixCls}-status-dot`,\n {\n [`${prefixCls}-status-default`]: status === 'default',\n [`${prefixCls}-status-color`]: isColorStatus\n }\n ]\"\n :data-color=\"computedColor\"\n :style=\"statusStyles\"\n />\n <span class=\"uui-badge-status-text\">\n <slot name=\"text\">{{ text }}</slot>\n </span>\n </span>\n <span v-else :class=\"prefixCls\">\n <slot />\n <sup\n v-if=\"$slots.count\"\n :style=\"styles\"\n :class=\"[\n `${prefixCls}-count`,\n `${prefixCls}-count-custom`,\n {\n [`${className}`]: !!className\n }\n ]\"\n >\n <slot name=\"count\" />\n </sup>\n <sup\n v-else-if=\"hasCount\"\n v-show=\"badgeShow\"\n :style=\"styles\"\n :class=\"[\n `${prefixCls}-count`,\n {\n [`${className}`]: !!className,\n [`${prefixCls}-count-alone`]: $slots.default === undefined,\n [`${prefixCls}-count-type`]: !!type\n }\n ]\"\n :data-color=\"computedColor\"\n >\n <slot name=\"text\">{{ finalCount }}</slot>\n </sup>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue';\nimport type { CSSProperties } from 'vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { badgeProps } from './Badge.type';\nimport type { BadgeStatus, BadgeType } from './Badge.type';\nimport { colorType } from '../../utils/globalType';\n\nconst initColorList = colorType.toString().split(',');\n\nexport default defineComponent({\n name: 'UBadge',\n props: badgeProps,\n setup(props) {\n const { prefixCls } = useGlobalConfig('badge');\n\n const isColorStatus = computed(() => {\n return (!!props.color && initColorList.includes(props.color)) || (!!props.status && props.status !== 'default');\n });\n\n const computedColor = computed(() => {\n if (props.status) {\n switch (props.status as BadgeStatus) {\n case 'success':\n case 'error':\n case 'warning':\n return props.status;\n case 'processing':\n return 'primary';\n\n default:\n return undefined;\n }\n }\n if (props.color) {\n return props.color && initColorList.includes(props.color) ? props.color : undefined;\n }\n if (props.type) {\n switch (props.type as BadgeType) {\n case 'success':\n case 'primary':\n case 'normal':\n case 'error':\n case 'warning':\n return props.type;\n default:\n return undefined;\n }\n }\n return undefined;\n });\n\n const statusStyles = computed(() => {\n return initColorList.includes(props.color) ? {} : { backgroundColor: props.color };\n });\n\n const styles = computed(() => {\n const style: CSSProperties = {} as CSSProperties;\n if (props.offset && props.offset.length === 2) {\n style.marginTop = `${props.offset[0]}px`;\n style.marginRight = `${props.offset[1]}px`;\n }\n return style;\n });\n\n const finalCount = computed(() => {\n if (props.text !== '') return props.text;\n return props.count !== undefined && Math.floor(props.count) >= Math.floor(props.overflowCount) ? `${props.overflowCount}+` : props.count;\n });\n\n const badgeShow = computed(() => {\n let status = false;\n\n if (props.count) {\n status = Math.floor(props.count) !== 0;\n }\n\n if (props.dot) {\n status = true;\n if (props.count !== undefined) {\n if (Math.floor(props.count) === 0) {\n status = false;\n }\n }\n }\n\n if (props.text !== '') status = true;\n\n return status || props.showZero;\n });\n\n const hasCount = computed(() => {\n if (props.count || props.text !== '') return true;\n if (props.showZero && props.count !== undefined && Math.floor(props.count) === 0) return true;\n return false;\n });\n\n return {\n prefixCls,\n styles,\n badgeShow,\n isColorStatus,\n statusStyles,\n hasCount,\n finalCount,\n computedColor\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_normalizeStyle"],"mappings":"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"}
|
|
@@ -27,6 +27,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
27
27
|
type: StringConstructor;
|
|
28
28
|
default: string;
|
|
29
29
|
};
|
|
30
|
+
description: {
|
|
31
|
+
type: StringConstructor;
|
|
32
|
+
default: string;
|
|
33
|
+
};
|
|
30
34
|
closable: {
|
|
31
35
|
type: BooleanConstructor;
|
|
32
36
|
default: boolean;
|
|
@@ -105,6 +109,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
105
109
|
type: StringConstructor;
|
|
106
110
|
default: string;
|
|
107
111
|
};
|
|
112
|
+
description: {
|
|
113
|
+
type: StringConstructor;
|
|
114
|
+
default: string;
|
|
115
|
+
};
|
|
108
116
|
closable: {
|
|
109
117
|
type: BooleanConstructor;
|
|
110
118
|
default: boolean;
|
|
@@ -156,6 +164,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
156
164
|
"onUpdate:visible"?: (v: boolean) => any;
|
|
157
165
|
"onAfter-visible-change"?: (v: boolean) => any;
|
|
158
166
|
}>, {
|
|
167
|
+
description: string;
|
|
159
168
|
visible: boolean;
|
|
160
169
|
title: string;
|
|
161
170
|
size: "default" | "large";
|
|
@@ -226,20 +226,22 @@ var Drawer = defineComponent({
|
|
|
226
226
|
const renderDrawer = lazyRender(() => {
|
|
227
227
|
const renderConrent = () => {
|
|
228
228
|
var _a;
|
|
229
|
-
return createVNode(Fragment, null, [createVNode("
|
|
230
|
-
"ref": headerRef,
|
|
231
|
-
"class": `${prefixCls.value}-header`,
|
|
232
|
-
"style": props.headerStyle
|
|
233
|
-
}, [createVNode("h2", {
|
|
234
|
-
"class": `${prefixCls.value}-header-title`
|
|
235
|
-
}, [slots.title ? slots.title() : props.title]), props.closable && createVNode("button", {
|
|
229
|
+
return createVNode(Fragment, null, [props.closable && createVNode("button", {
|
|
236
230
|
"class": `${prefixCls.value}-close`,
|
|
237
231
|
"onClick": () => handleClose("close")
|
|
238
232
|
}, [createVNode(UIcon, {
|
|
239
233
|
"class": `${prefixCls.value}-close-icon`
|
|
240
234
|
}, {
|
|
241
235
|
default: () => [createVNode(X, null, null)]
|
|
242
|
-
})])
|
|
236
|
+
})]), createVNode("div", {
|
|
237
|
+
"ref": headerRef,
|
|
238
|
+
"class": `${prefixCls.value}-header`,
|
|
239
|
+
"style": props.headerStyle
|
|
240
|
+
}, [createVNode("h2", {
|
|
241
|
+
"class": `${prefixCls.value}-header-title`
|
|
242
|
+
}, [slots.title ? slots.title() : props.title]), props.description && createVNode("p", {
|
|
243
|
+
"class": `${prefixCls.value}-header-description`
|
|
244
|
+
}, [props.description])]), createVNode("div", {
|
|
243
245
|
"class": `${prefixCls.value}-body`,
|
|
244
246
|
"style": {
|
|
245
247
|
...props.bodyStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.mjs","sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import {\n defineComponent,\n watch,\n computed,\n ref,\n provide,\n inject,\n // onMounted,\n onBeforeUnmount,\n onActivated,\n onDeactivated,\n nextTick,\n Teleport,\n Transition,\n onMounted\n} from 'vue';\nimport type { CSSProperties } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport Mask from '../Mask';\nimport KeyCode from '../../utils/KeyCode';\nimport { useGlobalConfig, useLazyRender, useShouldRender } from '../base/hooks';\nimport { setBodyStyle, isValid } from '../../utils';\nimport { drawerProps, drawerEmits, type ChangeTranslateFunction, type DrawerCloseType } from './Drawer.type';\n\nlet visibleCount = 0;\nconst drawerGlobalZIndex = 1000;\n\nexport default defineComponent({\n name: 'UDrawer',\n inheritAttrs: false,\n props: drawerProps,\n emits: drawerEmits,\n setup(props, { emit, attrs, slots }) {\n let openStatus = false;\n let shouldReopen = false;\n const { prefixCls } = useGlobalConfig('drawer');\n const selfVisible = ref(props.visible);\n const zIndex = ref<number>(drawerGlobalZIndex);\n const animationEnd = ref(false);\n const isMounted = ref(false);\n\n const wrapRef = ref<HTMLElement | null>(null);\n const headerRef = ref<HTMLElement | null>(null);\n const footerRef = ref<HTMLElement | null>(null);\n\n const lazyRender = useLazyRender(() => props.visible || !props.lazyRender);\n\n const open = () => {\n if (!openStatus) {\n if (props.zIndex !== undefined) {\n zIndex.value = +props.zIndex;\n }\n openStatus = true;\n // zIndex.value = ++drawerGlobalZIndex;\n }\n };\n\n watch(\n () => props.visible,\n (val) => {\n selfVisible.value = val;\n if (val && !openStatus) {\n open();\n if (attrs.tabindex === 0) {\n nextTick(() => {\n wrapRef.value?.focus();\n });\n }\n }\n if (!val && openStatus) {\n openStatus = false;\n }\n }\n );\n\n const handleClose = (type: DrawerCloseType) => {\n selfVisible.value = false;\n openStatus = false;\n emit('update:visible', false);\n emit('close', type);\n };\n\n /**\n * @param {*}\n * @return {*}\n * @description mask close method\n */\n const handleMaskClose = () => {\n if (props.maskClosable) {\n handleClose('mask');\n }\n };\n\n /**\n * In case drawer might has child drawer component,\n * we need to translate parent drawer to tell them apart\n */\n const drawerLevel = ref(1);\n\n const changeTrans = (val: boolean) => {\n if (val) {\n drawerLevel.value += 1;\n } else if (drawerLevel.value > 1) {\n drawerLevel.value -= 1;\n }\n };\n\n provide('changeParentTrans', changeTrans);\n\n const changeParentTrans = inject<ChangeTranslateFunction | null>('changeParentTrans', null);\n\n const changeBodyOverflow = (val: boolean) => {\n if (visibleCount > 0 && val) {\n setBodyStyle(true);\n } else if (!visibleCount) {\n setBodyStyle(false);\n }\n };\n\n const bodyHeight = ref<string>('');\n\n const calcBodyHeight = () => {\n const headerFooter = Number(headerRef.value?.offsetHeight || 0) + Number(footerRef.value?.offsetHeight || 0);\n bodyHeight.value = `calc(100% - ${headerFooter}px)`;\n };\n\n const observer = new MutationObserver(calcBodyHeight);\n\n let init = false;\n watch(\n selfVisible,\n (val) => {\n if (changeParentTrans) {\n changeParentTrans(val);\n }\n if (props.parentDom === 'body') {\n if (val) {\n visibleCount += 1;\n } else if (init) {\n visibleCount -= 1;\n }\n if (init) {\n changeBodyOverflow(val);\n }\n }\n init = true;\n if (val) {\n nextTick(() => {\n calcBodyHeight();\n const config = { attributes: true, childList: true, subtree: true };\n if (wrapRef.value) {\n observer.observe(wrapRef.value as any, config);\n }\n });\n } else {\n observer.disconnect();\n }\n },\n { immediate: true }\n );\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\n const positionStyle = computed(() => {\n const style: CSSProperties = {};\n if (toDom.value !== 'body') {\n style.position = 'absolute';\n }\n return style;\n });\n\n const wrapStyle = computed(() => {\n const style: CSSProperties = {\n zIndex: zIndex.value\n };\n\n if (isValid(props.duration)) {\n style.transitionDuration = `${props.duration}s`;\n }\n\n const place = props.placement;\n let translate = 'none';\n let widthStyle: number | undefined = props.width;\n let heightStyle: number | undefined = props.height;\n if (place === 'left' || place === 'right') {\n translate = `translate(${place === 'left' ? 180 : -180}px, 0)`;\n heightStyle = undefined;\n }\n\n if (place === 'top' || place === 'bottom') {\n translate = `translateY(${place === 'top' ? 180 : -180}px)`;\n widthStyle = undefined;\n }\n\n style.width = widthStyle && `${widthStyle}px`;\n style.height = heightStyle && `${heightStyle}px`;\n style.transform = drawerLevel.value > 1 ? translate : undefined;\n style.zIndex = zIndex.value;\n\n return style;\n });\n\n onMounted(() => {\n isMounted.value = true;\n });\n\n onBeforeUnmount(() => {\n observer.disconnect();\n if (changeParentTrans && selfVisible.value) {\n changeParentTrans(false);\n }\n if (props.parentDom === 'body') {\n if (selfVisible.value) {\n visibleCount = visibleCount > 0 ? visibleCount - 1 : visibleCount;\n changeBodyOverflow(false);\n }\n }\n });\n\n onActivated(() => {\n if (shouldReopen) {\n emit('update:visible', true);\n shouldReopen = false;\n }\n });\n\n onDeactivated(() => {\n observer.disconnect();\n if (selfVisible.value) {\n handleClose('close');\n shouldReopen = true;\n }\n });\n\n /**\n * @param {event} e\n * @return {*}\n * @description handle key down event, to close drawer\n */\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.keyCode === KeyCode.ESC && props.escClosable) {\n handleClose('esc');\n }\n };\n\n /**\n * @param {*}\n * @return {*}\n * @description after transition animation end, invoke callback and desdroy wrap\n */\n const handleAnimationEnd = () => {\n // if (wrapRef.value === e.target && e.animationName.match(/^drawerSlide/)) {\n // emit('after-visible-change', selfVisible.value);\n // animationEnd.value = !selfVisible.value;\n // }\n emit('after-visible-change', selfVisible.value);\n animationEnd.value = !selfVisible.value;\n };\n\n const renderMask = () => {\n if (props.showMask) {\n return (\n <Mask\n show={props.visible}\n zIndex={zIndex.value - 1}\n duration={props.duration}\n customStyle={{ ...props.maskStyle, ...positionStyle.value }}\n class={props.maskClass}\n onClick={handleMaskClose}\n />\n );\n }\n };\n\n const renderDrawer = lazyRender(() => {\n const renderConrent = () => (\n <>\n <div ref={headerRef} class={`${prefixCls.value}-header`} style={props.headerStyle}>\n <h2 class={`${prefixCls.value}-header-title`}>{slots.title ? slots.title() : props.title}</h2>\n {props.closable && (\n <button class={`${prefixCls.value}-close`} onClick={() => handleClose('close')}>\n <UIcon class={`${prefixCls.value}-close-icon`}>\n <X />\n </UIcon>\n </button>\n )}\n </div>\n <div class={`${prefixCls.value}-body`} style={{ ...props.bodyStyle, height: bodyHeight.value }}>\n {slots.default?.()}\n </div>\n {slots.footer ? (\n <div ref={footerRef} class={`${prefixCls.value}-footer`} style={props.footerStyle}>\n {slots.footer()}\n </div>\n ) : null}\n </>\n );\n\n return (\n <div\n v-show={selfVisible.value}\n ref={wrapRef}\n class={[prefixCls.value, props.className, `${prefixCls.value}-${props.placement}`, `${prefixCls.value}-${props.size}`]}\n style={{ ...wrapStyle.value, ...positionStyle.value }}\n {...attrs}\n tabindex={-1}\n onKeydown={handleKeyDown}\n >\n {useShouldRender(props.visible, props.destroyOnClose, animationEnd.value, renderConrent)}\n </div>\n );\n });\n\n return () =>\n isMounted.value ? (\n <Teleport to={toDom.value}>\n <Transition\n v-slots={{ default: renderDrawer }}\n name={props.transition || `drawer-slide-${props.placement}`}\n appear={props.transitionAppear}\n onAfterEnter={handleAnimationEnd}\n onAfterLeave={handleAnimationEnd}\n />\n {renderMask()}\n </Teleport>\n ) : null;\n }\n});\n"],"names":["visibleCount","drawerGlobalZIndex","defineComponent","name","inheritAttrs","props","drawerProps","emits","drawerEmits","setup","emit","attrs","slots","openStatus","shouldReopen","prefixCls","useGlobalConfig","selfVisible","ref","visible","zIndex","animationEnd","isMounted","wrapRef","headerRef","footerRef","lazyRender","useLazyRender","open","undefined","value","watch","val","tabindex","nextTick","focus","handleClose","type","handleMaskClose","maskClosable","drawerLevel","changeTrans","provide","changeParentTrans","inject","changeBodyOverflow","setBodyStyle","bodyHeight","calcBodyHeight","headerFooter","Number","offsetHeight","observer","MutationObserver","init","parentDom","config","attributes","childList","subtree","observe","disconnect","immediate","toDom","computed","positionStyle","style","position","wrapStyle","isValid","duration","transitionDuration","place","placement","translate","widthStyle","width","heightStyle","height","transform","onMounted","onBeforeUnmount","onActivated","onDeactivated","handleKeyDown","e","keyCode","KeyCode","ESC","escClosable","handleAnimationEnd","renderMask","showMask","_createVNode","Mask","maskStyle","maskClass","renderDrawer","renderConrent","_Fragment","headerStyle","title","closable","onClick","UIcon","default","X","bodyStyle","footer","footerStyle","_withDirectives","_mergeProps","className","size","useShouldRender","destroyOnClose","_vShow","Teleport","Transition","transition","transitionAppear"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Drawer.mjs","sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import {\n defineComponent,\n watch,\n computed,\n ref,\n provide,\n inject,\n // onMounted,\n onBeforeUnmount,\n onActivated,\n onDeactivated,\n nextTick,\n Teleport,\n Transition,\n onMounted\n} from 'vue';\nimport type { CSSProperties } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport Mask from '../Mask';\nimport KeyCode from '../../utils/KeyCode';\nimport { useGlobalConfig, useLazyRender, useShouldRender } from '../base/hooks';\nimport { setBodyStyle, isValid } from '../../utils';\nimport { drawerProps, drawerEmits, type ChangeTranslateFunction, type DrawerCloseType } from './Drawer.type';\n\nlet visibleCount = 0;\nconst drawerGlobalZIndex = 1000;\n\nexport default defineComponent({\n name: 'UDrawer',\n inheritAttrs: false,\n props: drawerProps,\n emits: drawerEmits,\n setup(props, { emit, attrs, slots }) {\n let openStatus = false;\n let shouldReopen = false;\n const { prefixCls } = useGlobalConfig('drawer');\n const selfVisible = ref(props.visible);\n const zIndex = ref<number>(drawerGlobalZIndex);\n const animationEnd = ref(false);\n const isMounted = ref(false);\n\n const wrapRef = ref<HTMLElement | null>(null);\n const headerRef = ref<HTMLElement | null>(null);\n const footerRef = ref<HTMLElement | null>(null);\n\n const lazyRender = useLazyRender(() => props.visible || !props.lazyRender);\n\n const open = () => {\n if (!openStatus) {\n if (props.zIndex !== undefined) {\n zIndex.value = +props.zIndex;\n }\n openStatus = true;\n // zIndex.value = ++drawerGlobalZIndex;\n }\n };\n\n watch(\n () => props.visible,\n (val) => {\n selfVisible.value = val;\n if (val && !openStatus) {\n open();\n if (attrs.tabindex === 0) {\n nextTick(() => {\n wrapRef.value?.focus();\n });\n }\n }\n if (!val && openStatus) {\n openStatus = false;\n }\n }\n );\n\n const handleClose = (type: DrawerCloseType) => {\n selfVisible.value = false;\n openStatus = false;\n emit('update:visible', false);\n emit('close', type);\n };\n\n /**\n * @param {*}\n * @return {*}\n * @description mask close method\n */\n const handleMaskClose = () => {\n if (props.maskClosable) {\n handleClose('mask');\n }\n };\n\n /**\n * In case drawer might has child drawer component,\n * we need to translate parent drawer to tell them apart\n */\n const drawerLevel = ref(1);\n\n const changeTrans = (val: boolean) => {\n if (val) {\n drawerLevel.value += 1;\n } else if (drawerLevel.value > 1) {\n drawerLevel.value -= 1;\n }\n };\n\n provide('changeParentTrans', changeTrans);\n\n const changeParentTrans = inject<ChangeTranslateFunction | null>('changeParentTrans', null);\n\n const changeBodyOverflow = (val: boolean) => {\n if (visibleCount > 0 && val) {\n setBodyStyle(true);\n } else if (!visibleCount) {\n setBodyStyle(false);\n }\n };\n\n const bodyHeight = ref<string>('');\n\n const calcBodyHeight = () => {\n const headerFooter = Number(headerRef.value?.offsetHeight || 0) + Number(footerRef.value?.offsetHeight || 0);\n bodyHeight.value = `calc(100% - ${headerFooter}px)`;\n };\n\n const observer = new MutationObserver(calcBodyHeight);\n\n let init = false;\n watch(\n selfVisible,\n (val) => {\n if (changeParentTrans) {\n changeParentTrans(val);\n }\n if (props.parentDom === 'body') {\n if (val) {\n visibleCount += 1;\n } else if (init) {\n visibleCount -= 1;\n }\n if (init) {\n changeBodyOverflow(val);\n }\n }\n init = true;\n if (val) {\n nextTick(() => {\n calcBodyHeight();\n const config = { attributes: true, childList: true, subtree: true };\n if (wrapRef.value) {\n observer.observe(wrapRef.value as any, config);\n }\n });\n } else {\n observer.disconnect();\n }\n },\n { immediate: true }\n );\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\n const positionStyle = computed(() => {\n const style: CSSProperties = {};\n if (toDom.value !== 'body') {\n style.position = 'absolute';\n }\n return style;\n });\n\n const wrapStyle = computed(() => {\n const style: CSSProperties = {\n zIndex: zIndex.value\n };\n\n if (isValid(props.duration)) {\n style.transitionDuration = `${props.duration}s`;\n }\n\n const place = props.placement;\n let translate = 'none';\n let widthStyle: number | undefined = props.width;\n let heightStyle: number | undefined = props.height;\n if (place === 'left' || place === 'right') {\n translate = `translate(${place === 'left' ? 180 : -180}px, 0)`;\n heightStyle = undefined;\n }\n\n if (place === 'top' || place === 'bottom') {\n translate = `translateY(${place === 'top' ? 180 : -180}px)`;\n widthStyle = undefined;\n }\n\n style.width = widthStyle && `${widthStyle}px`;\n style.height = heightStyle && `${heightStyle}px`;\n style.transform = drawerLevel.value > 1 ? translate : undefined;\n style.zIndex = zIndex.value;\n\n return style;\n });\n\n onMounted(() => {\n isMounted.value = true;\n });\n\n onBeforeUnmount(() => {\n observer.disconnect();\n if (changeParentTrans && selfVisible.value) {\n changeParentTrans(false);\n }\n if (props.parentDom === 'body') {\n if (selfVisible.value) {\n visibleCount = visibleCount > 0 ? visibleCount - 1 : visibleCount;\n changeBodyOverflow(false);\n }\n }\n });\n\n onActivated(() => {\n if (shouldReopen) {\n emit('update:visible', true);\n shouldReopen = false;\n }\n });\n\n onDeactivated(() => {\n observer.disconnect();\n if (selfVisible.value) {\n handleClose('close');\n shouldReopen = true;\n }\n });\n\n /**\n * @param {event} e\n * @return {*}\n * @description handle key down event, to close drawer\n */\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.keyCode === KeyCode.ESC && props.escClosable) {\n handleClose('esc');\n }\n };\n\n /**\n * @param {*}\n * @return {*}\n * @description after transition animation end, invoke callback and desdroy wrap\n */\n const handleAnimationEnd = () => {\n // if (wrapRef.value === e.target && e.animationName.match(/^drawerSlide/)) {\n // emit('after-visible-change', selfVisible.value);\n // animationEnd.value = !selfVisible.value;\n // }\n emit('after-visible-change', selfVisible.value);\n animationEnd.value = !selfVisible.value;\n };\n\n const renderMask = () => {\n if (props.showMask) {\n return (\n <Mask\n show={props.visible}\n zIndex={zIndex.value - 1}\n duration={props.duration}\n customStyle={{ ...props.maskStyle, ...positionStyle.value }}\n class={props.maskClass}\n onClick={handleMaskClose}\n />\n );\n }\n };\n\n const renderDrawer = lazyRender(() => {\n const renderConrent = () => (\n <>\n {props.closable && (\n <button class={`${prefixCls.value}-close`} onClick={() => handleClose('close')}>\n <UIcon class={`${prefixCls.value}-close-icon`}>\n <X />\n </UIcon>\n </button>\n )}\n <div ref={headerRef} class={`${prefixCls.value}-header`} style={props.headerStyle}>\n <h2 class={`${prefixCls.value}-header-title`}>{slots.title ? slots.title() : props.title}</h2>\n {props.description && <p class={`${prefixCls.value}-header-description`}>{props.description}</p>}\n </div>\n <div class={`${prefixCls.value}-body`} style={{ ...props.bodyStyle, height: bodyHeight.value }}>\n {slots.default?.()}\n </div>\n {slots.footer ? (\n <div ref={footerRef} class={`${prefixCls.value}-footer`} style={props.footerStyle}>\n {slots.footer()}\n </div>\n ) : null}\n </>\n );\n\n return (\n <div\n v-show={selfVisible.value}\n ref={wrapRef}\n class={[prefixCls.value, props.className, `${prefixCls.value}-${props.placement}`, `${prefixCls.value}-${props.size}`]}\n style={{ ...wrapStyle.value, ...positionStyle.value }}\n {...attrs}\n tabindex={-1}\n onKeydown={handleKeyDown}\n >\n {useShouldRender(props.visible, props.destroyOnClose, animationEnd.value, renderConrent)}\n </div>\n );\n });\n\n return () =>\n isMounted.value ? (\n <Teleport to={toDom.value}>\n <Transition\n v-slots={{ default: renderDrawer }}\n name={props.transition || `drawer-slide-${props.placement}`}\n appear={props.transitionAppear}\n onAfterEnter={handleAnimationEnd}\n onAfterLeave={handleAnimationEnd}\n />\n {renderMask()}\n </Teleport>\n ) : null;\n }\n});\n"],"names":["visibleCount","drawerGlobalZIndex","defineComponent","name","inheritAttrs","props","drawerProps","emits","drawerEmits","setup","emit","attrs","slots","openStatus","shouldReopen","prefixCls","useGlobalConfig","selfVisible","ref","visible","zIndex","animationEnd","isMounted","wrapRef","headerRef","footerRef","lazyRender","useLazyRender","open","undefined","value","watch","val","tabindex","nextTick","focus","handleClose","type","handleMaskClose","maskClosable","drawerLevel","changeTrans","provide","changeParentTrans","inject","changeBodyOverflow","setBodyStyle","bodyHeight","calcBodyHeight","headerFooter","Number","offsetHeight","observer","MutationObserver","init","parentDom","config","attributes","childList","subtree","observe","disconnect","immediate","toDom","computed","positionStyle","style","position","wrapStyle","isValid","duration","transitionDuration","place","placement","translate","widthStyle","width","heightStyle","height","transform","onMounted","onBeforeUnmount","onActivated","onDeactivated","handleKeyDown","e","keyCode","KeyCode","ESC","escClosable","handleAnimationEnd","renderMask","showMask","_createVNode","Mask","maskStyle","maskClass","renderDrawer","renderConrent","_Fragment","closable","onClick","UIcon","default","X","headerStyle","title","description","bodyStyle","footer","footerStyle","_withDirectives","_mergeProps","className","size","useShouldRender","destroyOnClose","_vShow","Teleport","Transition","transition","transitionAppear"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.type.mjs","sources":["../../../../src/components/Drawer/Drawer.type.ts"],"sourcesContent":["import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';\nimport { oneOf } from '../../utils/propsValidators';\nimport type Drawer from './Drawer';\n\nexport type ParentDom = string | (() => HTMLElement | string | null);\nexport const drawerPlacement = ['top', 'right', 'bottom', 'left'] as const;\nexport type DrawerPlacement = (typeof drawerPlacement)[number];\nexport const drawerSize = ['default', 'large'] as const;\nexport type DrawerSize = (typeof drawerSize)[number];\n\nexport type ChangeTranslateFunction = (val: boolean) => void;\n\nexport const drawerProps = {\n parentDom: {\n type: [String, Function] as PropType<ParentDom>,\n default: 'body'\n },\n className: String,\n visible: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String as PropType<DrawerPlacement>,\n validator: oneOf(drawerPlacement),\n default: 'right'\n },\n size: {\n type: String as PropType<DrawerSize>,\n validator: oneOf(drawerSize),\n default: 'default'\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n title: {\n type: String,\n default: ''\n },\n closable: {\n type: Boolean,\n default: true\n },\n showMask: {\n type: Boolean,\n default: true\n },\n maskClass: String,\n maskStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n headerStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n bodyStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n footerStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n width: Number,\n height: Number,\n zIndex: Number,\n duration: Number,\n escClosable: {\n type: Boolean,\n default: true\n },\n destroyOnClose: {\n type: Boolean,\n default: true\n },\n transition: String,\n transitionAppear: {\n type: Boolean,\n default: true\n },\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>;\n\nexport const drawerCloseType = ['esc', 'mask', 'close'] as const;\nexport type DrawerCloseType = (typeof drawerCloseType)[number];\n\nexport const drawerEmits = {\n 'update:visible': (v: boolean) => typeof v === 'boolean',\n close: (type: DrawerCloseType) => drawerCloseType.includes(type),\n 'after-visible-change': (v: boolean) => typeof v === 'boolean'\n};\n\nexport type DrawerEmits = typeof drawerEmits;\n\nexport type DrawerInstanceType = InstanceType<typeof Drawer>;\n"],"names":[],"mappings":";;MAKa,kBAAkB,CAAC,OAAO,SAAS,UAAU,MAAM;MAEnD,aAAa,CAAC,WAAW,OAAO;MAKhC,cAAc;AAAA,EACzB,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,QAAQ;AAAA,IACvB,SAAS;AAAA;AACX,EACA,WAAW;AAAA,EACX,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,WAAW,MAAM,eAAe;AAAA,IAChC,SAAS;AAAA;AACX,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW,MAAM,UAAU;AAAA,IAC3B,SAAS;AAAA;AACX,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,EACX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,YAAY;AAAA,EACZ,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AAEb;MAIa,kBAAkB,CAAC,OAAO,QAAQ,OAAO;MAGzC,cAAc;AAAA,EACzB,kBAAkB,CAAC,MAAe,OAAO,MAAM;AAAA,EAC/C,OAAO,CAAC,SAA0B,gBAAgB,SAAS,IAAI;AAAA,EAC/D,wBAAwB,CAAC,MAAe,OAAO,MAAM;AACvD;;;;"}
|
|
1
|
+
{"version":3,"file":"Drawer.type.mjs","sources":["../../../../src/components/Drawer/Drawer.type.ts"],"sourcesContent":["import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';\nimport { oneOf } from '../../utils/propsValidators';\nimport type Drawer from './Drawer';\n\nexport type ParentDom = string | (() => HTMLElement | string | null);\nexport const drawerPlacement = ['top', 'right', 'bottom', 'left'] as const;\nexport type DrawerPlacement = (typeof drawerPlacement)[number];\nexport const drawerSize = ['default', 'large'] as const;\nexport type DrawerSize = (typeof drawerSize)[number];\n\nexport type ChangeTranslateFunction = (val: boolean) => void;\n\nexport const drawerProps = {\n parentDom: {\n type: [String, Function] as PropType<ParentDom>,\n default: 'body'\n },\n className: String,\n visible: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String as PropType<DrawerPlacement>,\n validator: oneOf(drawerPlacement),\n default: 'right'\n },\n size: {\n type: String as PropType<DrawerSize>,\n validator: oneOf(drawerSize),\n default: 'default'\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n title: {\n type: String,\n default: ''\n },\n description: {\n type: String,\n default: ''\n },\n closable: {\n type: Boolean,\n default: true\n },\n showMask: {\n type: Boolean,\n default: true\n },\n maskClass: String,\n maskStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n headerStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n bodyStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n footerStyle: {\n type: Object as PropType<CSSProperties>,\n default: () => ({})\n },\n width: Number,\n height: Number,\n zIndex: Number,\n duration: Number,\n escClosable: {\n type: Boolean,\n default: true\n },\n destroyOnClose: {\n type: Boolean,\n default: true\n },\n transition: String,\n transitionAppear: {\n type: Boolean,\n default: true\n },\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>;\n\nexport const drawerCloseType = ['esc', 'mask', 'close'] as const;\nexport type DrawerCloseType = (typeof drawerCloseType)[number];\n\nexport const drawerEmits = {\n 'update:visible': (v: boolean) => typeof v === 'boolean',\n close: (type: DrawerCloseType) => drawerCloseType.includes(type),\n 'after-visible-change': (v: boolean) => typeof v === 'boolean'\n};\n\nexport type DrawerEmits = typeof drawerEmits;\n\nexport type DrawerInstanceType = InstanceType<typeof Drawer>;\n"],"names":[],"mappings":";;MAKa,kBAAkB,CAAC,OAAO,SAAS,UAAU,MAAM;MAEnD,aAAa,CAAC,WAAW,OAAO;MAKhC,cAAc;AAAA,EACzB,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,QAAQ;AAAA,IACvB,SAAS;AAAA;AACX,EACA,WAAW;AAAA,EACX,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,WAAW,MAAM,eAAe;AAAA,IAChC,SAAS;AAAA;AACX,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW,MAAM,UAAU;AAAA,IAC3B,SAAS;AAAA;AACX,EACA,cAAc;AAAA,IACZ,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,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,WAAW;AAAA,EACX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO;AAAC;AACnB,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,YAAY;AAAA,EACZ,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AAEb;MAIa,kBAAkB,CAAC,OAAO,QAAQ,OAAO;MAGzC,cAAc;AAAA,EACzB,kBAAkB,CAAC,MAAe,OAAO,MAAM;AAAA,EAC/C,OAAO,CAAC,SAA0B,gBAAgB,SAAS,IAAI;AAAA,EAC/D,wBAAwB,CAAC,MAAe,OAAO,MAAM;AACvD;;;;"}
|
|
@@ -27,6 +27,10 @@ export declare const UDrawer: {
|
|
|
27
27
|
type: StringConstructor;
|
|
28
28
|
default: string;
|
|
29
29
|
};
|
|
30
|
+
description: {
|
|
31
|
+
type: StringConstructor;
|
|
32
|
+
default: string;
|
|
33
|
+
};
|
|
30
34
|
closable: {
|
|
31
35
|
type: BooleanConstructor;
|
|
32
36
|
default: boolean;
|
|
@@ -84,6 +88,7 @@ export declare const UDrawer: {
|
|
|
84
88
|
}, import("vue").PublicProps, {
|
|
85
89
|
closable: boolean;
|
|
86
90
|
size: "default" | "large";
|
|
91
|
+
description: string;
|
|
87
92
|
visible: boolean;
|
|
88
93
|
placement: "top" | "bottom" | "right" | "left";
|
|
89
94
|
title: string;
|
|
@@ -133,6 +138,10 @@ export declare const UDrawer: {
|
|
|
133
138
|
type: StringConstructor;
|
|
134
139
|
default: string;
|
|
135
140
|
};
|
|
141
|
+
description: {
|
|
142
|
+
type: StringConstructor;
|
|
143
|
+
default: string;
|
|
144
|
+
};
|
|
136
145
|
closable: {
|
|
137
146
|
type: BooleanConstructor;
|
|
138
147
|
default: boolean;
|
|
@@ -186,6 +195,7 @@ export declare const UDrawer: {
|
|
|
186
195
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
187
196
|
closable: boolean;
|
|
188
197
|
size: "default" | "large";
|
|
198
|
+
description: string;
|
|
189
199
|
visible: boolean;
|
|
190
200
|
placement: "top" | "bottom" | "right" | "left";
|
|
191
201
|
title: string;
|
|
@@ -232,6 +242,10 @@ export declare const UDrawer: {
|
|
|
232
242
|
type: StringConstructor;
|
|
233
243
|
default: string;
|
|
234
244
|
};
|
|
245
|
+
description: {
|
|
246
|
+
type: StringConstructor;
|
|
247
|
+
default: string;
|
|
248
|
+
};
|
|
235
249
|
closable: {
|
|
236
250
|
type: BooleanConstructor;
|
|
237
251
|
default: boolean;
|
|
@@ -289,6 +303,7 @@ export declare const UDrawer: {
|
|
|
289
303
|
}, string, {
|
|
290
304
|
closable: boolean;
|
|
291
305
|
size: "default" | "large";
|
|
306
|
+
description: string;
|
|
292
307
|
visible: boolean;
|
|
293
308
|
placement: "top" | "bottom" | "right" | "left";
|
|
294
309
|
title: string;
|
|
@@ -58,7 +58,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
58
58
|
default: string;
|
|
59
59
|
validator: (value: any) => boolean;
|
|
60
60
|
};
|
|
61
|
-
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "after-show-mask-change"[], "after-show-mask-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
61
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "after-show-mask-change")[], "click" | "after-show-mask-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
62
62
|
show: BooleanConstructor;
|
|
63
63
|
zIndex: (StringConstructor | NumberConstructor)[];
|
|
64
64
|
duration: (StringConstructor | NumberConstructor)[];
|
|
@@ -86,6 +86,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
86
86
|
validator: (value: any) => boolean;
|
|
87
87
|
};
|
|
88
88
|
}>> & Readonly<{
|
|
89
|
+
onClick?: (...args: any[]) => any;
|
|
89
90
|
"onAfter-show-mask-change"?: (...args: any[]) => any;
|
|
90
91
|
}>, {
|
|
91
92
|
show: boolean;
|
|
@@ -51,7 +51,7 @@ const maskProps = {
|
|
|
51
51
|
var Mask = defineComponent({
|
|
52
52
|
name: "UMask",
|
|
53
53
|
props: maskProps,
|
|
54
|
-
emits: ["after-show-mask-change"],
|
|
54
|
+
emits: ["after-show-mask-change", "click"],
|
|
55
55
|
setup(props, {
|
|
56
56
|
slots,
|
|
57
57
|
emit,
|
|
@@ -82,6 +82,9 @@ var Mask = defineComponent({
|
|
|
82
82
|
const maskColor = props.color === "white" ? "255, 255, 255" : "0, 0, 0";
|
|
83
83
|
return `rgba(${maskColor}, ${opacity})`;
|
|
84
84
|
});
|
|
85
|
+
const handleClick = () => {
|
|
86
|
+
emit("click");
|
|
87
|
+
};
|
|
85
88
|
const renderMask = lazyRender(() => {
|
|
86
89
|
const style = {
|
|
87
90
|
backgroundColor: maskBackground.value,
|
|
@@ -97,7 +100,8 @@ var Mask = defineComponent({
|
|
|
97
100
|
"class": prefixCls.value,
|
|
98
101
|
"onTouchmove": props.preventScroll ? handleTouchMove : () => {
|
|
99
102
|
},
|
|
100
|
-
"onAnimationend": handleAnimationend
|
|
103
|
+
"onAnimationend": handleAnimationend,
|
|
104
|
+
"onClick": handleClick
|
|
101
105
|
}, [useShouldRender(props.show, props.desdroyOnClose, animationEnd.value, slots.default)]), [[vShow, props.show]]);
|
|
102
106
|
});
|
|
103
107
|
return () => createVNode(Transition, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mask.mjs","sources":["../../../../src/components/Mask/Mask.tsx"],"sourcesContent":["import { ref, computed, Transition, defineComponent } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport { isValid, oneOf, getPropStyle, preventDefault } from '../../utils';\nimport { useGlobalConfig, useLazyRender, useShouldRender } from '../base/hooks';\nimport type { OpacityMap, MaskColor, MaskOpacity } from './Mask.type';\n\nexport const maskColors = ['black', 'white'] as const;\nexport const maskOpacity = ['lighter', 'default', 'darker'] as const;\nexport const opacityMap: OpacityMap = {\n lighter: 0.35,\n default: 0.55,\n darker: 0.75\n};\n\nexport const maskProps = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n preventScroll: {\n type: Boolean,\n default: true\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n desdroyOnClose: {\n type: Boolean,\n default: true\n },\n customStyle: Object as PropType<CSSProperties>,\n color: {\n type: String as PropType<MaskColor>,\n default: 'black',\n validator: oneOf(maskColors)\n },\n opacity: {\n type: [Number, String],\n default: 'default',\n validator: (value: any) => {\n if (typeof value === 'string') {\n return maskOpacity.includes(value as MaskOpacity);\n }\n return value >= 0 && value <= 1;\n }\n }\n};\n\nexport default defineComponent({\n name: 'UMask',\n props: maskProps,\n emits: ['after-show-mask-change'],\n setup(props, { slots, emit, expose }) {\n const { prefixCls } = useGlobalConfig('mask');\n const maskRef = ref<HTMLElement | null>(null);\n const animationEnd = ref(false);\n const lazyRender = useLazyRender(() => props.show || !props.lazyRender);\n expose({ maskRef, animationEnd });\n\n const handleTouchMove = (event: Event) => {\n preventDefault(event, true);\n };\n\n const handleAnimationend = (event: AnimationEvent) => {\n if (event.target === maskRef.value && event.animationName.match(/uuiFade$/)) {\n animationEnd.value = !props.show;\n emit('after-show-mask-change', props.show);\n }\n };\n\n const maskBackground = computed(() => {\n const opacity = opacityMap[props.opacity as keyof OpacityMap] ?? props.opacity;\n const maskColor = props.color === 'white' ? '255, 255, 255' : '0, 0, 0';\n return `rgba(${maskColor}, ${opacity})`;\n });\n\n const renderMask = lazyRender(() => {\n const style: CSSProperties = {\n backgroundColor: maskBackground.value,\n ...getPropStyle('zIndex', props.zIndex),\n ...props.customStyle\n };\n\n if (isValid(props.duration)) {\n style.animationDuration = `${props.duration}s`;\n }\n\n return (\n <div\n ref={maskRef}\n v-show={props.show}\n style={style}\n class={prefixCls.value}\n onTouchmove={props.preventScroll ? handleTouchMove : () => {}}\n onAnimationend={handleAnimationend}\n >\n {useShouldRender(props.show, props.desdroyOnClose, animationEnd.value, slots.default)}\n </div>\n );\n });\n\n return () => <Transition v-slots={{ default: renderMask }} name={`fade`} appear />;\n }\n});\n"],"names":["maskColors","maskOpacity","opacityMap","lighter","default","darker","maskProps","show","Boolean","zIndex","Number","String","duration","preventScroll","type","lazyRender","desdroyOnClose","customStyle","Object","color","validator","oneOf","opacity","value","includes","defineComponent","name","props","emits","setup","slots","emit","expose","prefixCls","useGlobalConfig","maskRef","ref","animationEnd","useLazyRender","handleTouchMove","event","preventDefault","handleAnimationend","target","animationName","match","maskBackground","computed","maskColor","renderMask","style","backgroundColor","getPropStyle","isValid","animationDuration","_withDirectives","_createVNode","useShouldRender","_vShow","Transition"],"mappings":";;;;;;;;;;MAMaA,aAAa,CAAC,SAAS,OAAO;MAC9BC,cAAc,CAAC,WAAW,WAAW,QAAQ;MAC7CC,aAAyB;AAAA,EACpCC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,QAAQ;AACV;MAEaC,YAAY;AAAA,EACvBC,MAAMC;AAAAA,EACNC,QAAQ,CAACC,QAAQC,MAAM;AAAA,EACvBC,UAAU,CAACF,QAAQC,MAAM;AAAA,EACzBE,eAAe;AAAA,IACbC,MAAMN;AAAAA,IACNJ,SAAS;AAAA;AACX,EACAW,YAAY;AAAA,IACVD,MAAMN;AAAAA,IACNJ,SAAS;AAAA;AACX,EACAY,gBAAgB;AAAA,IACdF,MAAMN;AAAAA,IACNJ,SAAS;AAAA;AACX,EACAa,aAAaC;AAAAA,EACbC,OAAO;AAAA,IACLL,MAAMH;AAAAA,IACNP,SAAS;AAAA,IACTgB,WAAWC,MAAMrB,UAAU;AAAA;AAC7B,EACAsB,SAAS;AAAA,IACPR,MAAM,CAACJ,QAAQC,MAAM;AAAA,IACrBP,SAAS;AAAA,IACTgB,WAAYG,WAAe;AACzB,UAAI,OAAOA,UAAU,UAAU;AAC7B,eAAOtB,YAAYuB,SAASD,KAAoB;AAAA;AAElD,aAAOA,SAAS,KAAKA,SAAS;AAAA;AAChC;AAEJ;AAEA,WAAeE,gBAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOrB;AAAAA,EACPsB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"Mask.mjs","sources":["../../../../src/components/Mask/Mask.tsx"],"sourcesContent":["import { ref, computed, Transition, defineComponent } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport { isValid, oneOf, getPropStyle, preventDefault } from '../../utils';\nimport { useGlobalConfig, useLazyRender, useShouldRender } from '../base/hooks';\nimport type { OpacityMap, MaskColor, MaskOpacity } from './Mask.type';\n\nexport const maskColors = ['black', 'white'] as const;\nexport const maskOpacity = ['lighter', 'default', 'darker'] as const;\nexport const opacityMap: OpacityMap = {\n lighter: 0.35,\n default: 0.55,\n darker: 0.75\n};\n\nexport const maskProps = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n preventScroll: {\n type: Boolean,\n default: true\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n desdroyOnClose: {\n type: Boolean,\n default: true\n },\n customStyle: Object as PropType<CSSProperties>,\n color: {\n type: String as PropType<MaskColor>,\n default: 'black',\n validator: oneOf(maskColors)\n },\n opacity: {\n type: [Number, String],\n default: 'default',\n validator: (value: any) => {\n if (typeof value === 'string') {\n return maskOpacity.includes(value as MaskOpacity);\n }\n return value >= 0 && value <= 1;\n }\n }\n};\n\nexport default defineComponent({\n name: 'UMask',\n props: maskProps,\n emits: ['after-show-mask-change', 'click'],\n setup(props, { slots, emit, expose }) {\n const { prefixCls } = useGlobalConfig('mask');\n const maskRef = ref<HTMLElement | null>(null);\n const animationEnd = ref(false);\n const lazyRender = useLazyRender(() => props.show || !props.lazyRender);\n expose({ maskRef, animationEnd });\n\n const handleTouchMove = (event: Event) => {\n preventDefault(event, true);\n };\n\n const handleAnimationend = (event: AnimationEvent) => {\n if (event.target === maskRef.value && event.animationName.match(/uuiFade$/)) {\n animationEnd.value = !props.show;\n emit('after-show-mask-change', props.show);\n }\n };\n\n const maskBackground = computed(() => {\n const opacity = opacityMap[props.opacity as keyof OpacityMap] ?? props.opacity;\n const maskColor = props.color === 'white' ? '255, 255, 255' : '0, 0, 0';\n return `rgba(${maskColor}, ${opacity})`;\n });\n\n const handleClick = () => {\n emit('click');\n };\n\n const renderMask = lazyRender(() => {\n const style: CSSProperties = {\n backgroundColor: maskBackground.value,\n ...getPropStyle('zIndex', props.zIndex),\n ...props.customStyle\n };\n\n if (isValid(props.duration)) {\n style.animationDuration = `${props.duration}s`;\n }\n\n return (\n <div\n ref={maskRef}\n v-show={props.show}\n style={style}\n class={prefixCls.value}\n onTouchmove={props.preventScroll ? handleTouchMove : () => {}}\n onAnimationend={handleAnimationend}\n onClick={handleClick}\n >\n {useShouldRender(props.show, props.desdroyOnClose, animationEnd.value, slots.default)}\n </div>\n );\n });\n\n return () => <Transition v-slots={{ default: renderMask }} name={`fade`} appear />;\n }\n});\n"],"names":["maskColors","maskOpacity","opacityMap","lighter","default","darker","maskProps","show","Boolean","zIndex","Number","String","duration","preventScroll","type","lazyRender","desdroyOnClose","customStyle","Object","color","validator","oneOf","opacity","value","includes","defineComponent","name","props","emits","setup","slots","emit","expose","prefixCls","useGlobalConfig","maskRef","ref","animationEnd","useLazyRender","handleTouchMove","event","preventDefault","handleAnimationend","target","animationName","match","maskBackground","computed","maskColor","handleClick","renderMask","style","backgroundColor","getPropStyle","isValid","animationDuration","_withDirectives","_createVNode","useShouldRender","_vShow","Transition"],"mappings":"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"}
|
|
@@ -28,8 +28,9 @@ export declare const UMask: {
|
|
|
28
28
|
validator: (value: any) => boolean;
|
|
29
29
|
};
|
|
30
30
|
}>> & Readonly<{
|
|
31
|
+
onClick?: (...args: any[]) => any;
|
|
31
32
|
"onAfter-show-mask-change"?: (...args: any[]) => any;
|
|
32
|
-
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "after-show-mask-change"[], import("vue").PublicProps, {
|
|
33
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "after-show-mask-change")[], import("vue").PublicProps, {
|
|
33
34
|
color: import("./Mask.type").MaskColor;
|
|
34
35
|
show: boolean;
|
|
35
36
|
opacity: string | number;
|
|
@@ -71,6 +72,7 @@ export declare const UMask: {
|
|
|
71
72
|
validator: (value: any) => boolean;
|
|
72
73
|
};
|
|
73
74
|
}>> & Readonly<{
|
|
75
|
+
onClick?: (...args: any[]) => any;
|
|
74
76
|
"onAfter-show-mask-change"?: (...args: any[]) => any;
|
|
75
77
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
76
78
|
color: import("./Mask.type").MaskColor;
|
|
@@ -111,8 +113,9 @@ export declare const UMask: {
|
|
|
111
113
|
validator: (value: any) => boolean;
|
|
112
114
|
};
|
|
113
115
|
}>> & Readonly<{
|
|
116
|
+
onClick?: (...args: any[]) => any;
|
|
114
117
|
"onAfter-show-mask-change"?: (...args: any[]) => any;
|
|
115
|
-
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "after-show-mask-change"[], "after-show-mask-change", {
|
|
118
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "after-show-mask-change")[], "click" | "after-show-mask-change", {
|
|
116
119
|
color: import("./Mask.type").MaskColor;
|
|
117
120
|
show: boolean;
|
|
118
121
|
opacity: string | number;
|
|
@@ -49,15 +49,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
49
49
|
type: import("vue").PropType<"strong" | "surface">;
|
|
50
50
|
default: string;
|
|
51
51
|
};
|
|
52
|
-
color: {
|
|
53
|
-
type: import("vue").PropType<"blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint">;
|
|
54
|
-
default: "blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint";
|
|
55
|
-
validator: (val: "blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint") => boolean;
|
|
56
|
-
};
|
|
57
|
-
size: {
|
|
58
|
-
type: import("vue").PropType<"small" | "default">;
|
|
59
|
-
default: string;
|
|
60
|
-
};
|
|
61
52
|
direction: {
|
|
62
53
|
type: import("vue").PropType<"ltr" | "rtl">;
|
|
63
54
|
};
|
|
@@ -199,15 +190,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
199
190
|
type: import("vue").PropType<"strong" | "surface">;
|
|
200
191
|
default: string;
|
|
201
192
|
};
|
|
202
|
-
color: {
|
|
203
|
-
type: import("vue").PropType<"blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint">;
|
|
204
|
-
default: "blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint";
|
|
205
|
-
validator: (val: "blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint") => boolean;
|
|
206
|
-
};
|
|
207
|
-
size: {
|
|
208
|
-
type: import("vue").PropType<"small" | "default">;
|
|
209
|
-
default: string;
|
|
210
|
-
};
|
|
211
193
|
direction: {
|
|
212
194
|
type: import("vue").PropType<"ltr" | "rtl">;
|
|
213
195
|
};
|
|
@@ -217,9 +199,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
217
199
|
"onAfter-change"?: (v: import("./Slider.type").SliderValueType) => any;
|
|
218
200
|
}>, {
|
|
219
201
|
max: number;
|
|
220
|
-
color: "blue" | "cyan" | "green" | "lime" | "orange" | "pink" | "purple" | "red" | "violet" | "yellow" | "primary" | "iris" | "amber" | "sky" | "mint";
|
|
221
202
|
disabled: boolean;
|
|
222
|
-
size: "small" | "default";
|
|
223
203
|
vertical: boolean;
|
|
224
204
|
range: boolean;
|
|
225
205
|
min: number;
|
|
@@ -390,13 +390,12 @@ var Slider = defineComponent({
|
|
|
390
390
|
})]);
|
|
391
391
|
return createVNode("div", {
|
|
392
392
|
"ref": "sliderRef",
|
|
393
|
-
"class": [this.prefixCls, `${this.prefixCls}-variant-${this.variant}`,
|
|
393
|
+
"class": [this.prefixCls, `${this.prefixCls}-variant-${this.variant}`, {
|
|
394
394
|
[`${this.prefixCls}-with-marks`]: this.marks && Object.keys(this.marks).length,
|
|
395
395
|
[`${this.prefixCls}-disabled`]: this.disabled,
|
|
396
396
|
[`${this.prefixCls}-vertical`]: this.vertical,
|
|
397
397
|
[`${this.prefixCls}-rtl`]: this.direction === "rtl" && !this.vertical
|
|
398
398
|
}],
|
|
399
|
-
"data-color": this.color,
|
|
400
399
|
"onMousedown": this.handleMouseDown,
|
|
401
400
|
"onMouseup": this.handleMouseUp
|
|
402
401
|
}, [createVNode("div", {
|