@touchvue/ui 1.0.0-beta.45 → 1.0.0-beta.47

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.
Files changed (36) hide show
  1. package/es/components/button/src/button.vue.d.ts +2 -0
  2. package/es/components/float/index.d.ts +15 -0
  3. package/es/components/float/src/Float.vue.d.ts +9 -0
  4. package/es/components/float/src/float.d.ts +4 -0
  5. package/es/components/grid/src/grid-item.vue.d.ts +2 -9
  6. package/es/components/scroll/index.d.ts +3 -3
  7. package/es/components/scroll/src/Scroll.vue.d.ts +1 -1
  8. package/es/packages/components/button/src/button.vue2.mjs +8 -2
  9. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  10. package/es/packages/components/float/src/Float.vue2.mjs +84 -72
  11. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  12. package/es/packages/components/float/src/float.mjs +2 -1
  13. package/es/packages/components/float/src/float.mjs.map +1 -1
  14. package/es/packages/components/grid/src/grid-item.vue2.mjs +9 -52
  15. package/es/packages/components/grid/src/grid-item.vue2.mjs.map +1 -1
  16. package/es/packages/hooks/useDevice.mjs.map +1 -1
  17. package/lib/components/button/src/button.vue.d.ts +2 -0
  18. package/lib/components/float/index.d.ts +15 -0
  19. package/lib/components/float/src/Float.vue.d.ts +9 -0
  20. package/lib/components/float/src/float.d.ts +4 -0
  21. package/lib/components/grid/src/grid-item.vue.d.ts +2 -9
  22. package/lib/components/scroll/index.d.ts +3 -3
  23. package/lib/components/scroll/src/Scroll.vue.d.ts +1 -1
  24. package/lib/packages/components/button/src/button.vue2.js +7 -1
  25. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  26. package/lib/packages/components/float/src/Float.vue2.js +84 -72
  27. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  28. package/lib/packages/components/float/src/float.js +2 -1
  29. package/lib/packages/components/float/src/float.js.map +1 -1
  30. package/lib/packages/components/grid/src/grid-item.vue2.js +8 -51
  31. package/lib/packages/components/grid/src/grid-item.vue2.js.map +1 -1
  32. package/lib/packages/hooks/useDevice.js.map +1 -1
  33. package/package.json +1 -1
  34. package/theme/components/index.css +29 -3
  35. package/theme/index.css +29 -3
  36. package/theme/skin/default.css +29 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Float.vue2.mjs","sources":["../../../../../../packages/components/float/src/Float.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFloat',\n\tinheritAttrs: false\n});\n</script>\n<template>\n\t<Teleport to=\"body\" :disabled=\"!global\">\n\t\t<div v-if=\"lazy ? ifShow : true\" ref=\"el\" class=\"to-float\" :class=\"[setClass, attrs.class as string | string[] | undefined]\" :style=\"[setStyle, attrs.style as Record<string, string | number> | undefined]\" @mousedown=\"$emit('click')\" @touchstart=\"$emit('click')\" @mouseenter=\"$emit('mouseenter')\" @mouseleave=\"$emit('mouseleave')\" @click.stop>\n\t\t\t<div ref=\"mask\" class=\"to-float-mask\" @click=\"maskClickHandle\"></div>\n\t\t\t<div ref=\"wrapper\" class=\"to-float-wrapper\" :style=\"slide ? wrapperStyle : null\">\n\t\t\t\t<div ref=\"content\" class=\"to-float-content\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, onMounted, onBeforeUnmount, nextTick, onDeactivated, onActivated, CSSProperties, useAttrs } from 'vue'\nimport { floatProps, floatEmits } from './float'\n\n// 获取当前 vue 实例\n\n\nconst props = defineProps(floatProps)\nconst emit = defineEmits(floatEmits)\nconst attrs = useAttrs()\n\nconst el = ref<HTMLElement | null>(null)\nconst origin = ref('top')\nconst ifShow = ref(false)\nconst scrollNode = ref<HTMLElement | null>(null)\nconst iposition = ref<string>(props.position || (props.slide ? 'right' : 'auto'))\nconst ialign = ref(props.align)\nconst link = ref<\n\t| HTMLElement\n\t| {\n\t\t\tx?: number\n\t\t\ttouches?: TouchList\n\t\t\tclientX?: number\n\t\t\tclientY?: number\n\t\t\toffsetWidth?: number\n\t\t\toffsetHeight?: number\n\t\t\tgetBoundingClientRect?: () => DOMRect\n\t\t\ttarget?: HTMLElement\n\t\t\tparentNode?: HTMLElement\n\t }\n\t| null\n>(null)\nconst isOpen = ref(false)\nconst isOver = ref(false)\nconst mask = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\nconst content = ref<HTMLElement | null>(null)\nconst event = ref('')\nconst size = ref(1)\n\nwatch(\n\t() => props.position,\n\tval => {\n\t\tiposition.value = val || (props.slide ? 'right' : 'auto')\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.align,\n\tval => {\n\t\tialign.value = val\n\t},\n\t{ immediate: true }\n)\n\nconst setClass = computed(() => {\n\tconst arr = [] as string[]\n\tif (isOpen.value) arr.push('is-show')\n\tif (props.slide) {\n\t\tarr.push('is-slide')\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (iposition.value !== 'auto') arr.push(`position-${iposition.value}`)\n\tif (origin.value === 'bottom') arr.push('origin-bottom')\n\tif (props.mask) arr.push('is-mask')\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, any> = {}\n\tif (props.width && !props.slide) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\tif (props.left) {\n\t\tif (isNaN(Number(props.left))) obj.left = props.left\n\t\telse obj.left = props.left + 'em'\n\t}\n\tif (props.top) {\n\t\tif (isNaN(Number(props.top))) obj.top = props.top\n\t\telse obj.top = props.top + 'em'\n\t}\n\tif (size.value !== 1) {\n\t\tobj.fontSize = size.value + 'em'\n\t}\n\tif (props.zIndex) {\n\t\tobj.zIndex = props.zIndex\n\t} else {\n\t\tobj.zIndex = (window as any).$TouchUI?.zIndex.toString()\n\t\t;(window as any).$TouchUI ? (window as any).$TouchUI.zIndex++ : ((window as any).$TouchUI = { zIndex: 1 })\n\t}\n\treturn obj\n})\n\nconst wrapperStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\n\t// 宽度设置\n\t// 高度设置在打开的时候再设置,因为涉及到动态计算 wrapper 的高度\n\tif ((iposition.value === 'right' || iposition.value === 'left') && props.width) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\treturn obj\n})\n\n// 初始化\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nfunction init() {\n\tif (!props.slide) {\n\t\twindow.addEventListener('resize', close, false)\n\t}\n}\n\nfunction destroy() {\n\tif (!props.slide) {\n\t\tdocument.body.removeEventListener('mousedown', blur)\n\t\tdocument.body.removeEventListener('touchstart', blur)\n\t\twindow.removeEventListener('resize', close)\n\t}\n\tdocument.body.removeEventListener('scroll', close)\n\tdocument.body.removeEventListener('wheel', close)\n}\n\nfunction maskClickHandle() {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\nfunction set(link?: any) {\n\t// 重置 wrapper 高度,这样下次打开的时候才好重新计算是否超过整体高度\n\tif (props.slide) {\n\t\tsetTimeout(() => {\n\t\t\tif ((iposition.value === 'top' || iposition.value === 'bottom') && !props.height && wrapper.value) {\n\t\t\t\twrapper.value.style.height = ''\n\t\t\t\twrapper.value.style.height = wrapper.value.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}, 0)\n\t} else if (link) {\n\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\tnextTick(() => {\n\t\t\t// 宽度设置\n\t\t\tif (!props.width && el.value) {\n\t\t\t\tif ('x' in link || 'touches' in link) {\n\t\t\t\t\tel.value.style.width = '14em'\n\t\t\t\t} else {\n\t\t\t\t\tel.value.style.width = link.getBoundingClientRect().width + 'px'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.top === '' || props.left === '') {\n\t\t\t\tlet x: number, y: number, linkWidth: number, linkHeight: number\n\t\t\t\tconst wrapperWidth = wrapper.value?.getBoundingClientRect().width || 0\n\t\t\t\tconst wrapperHeight = wrapper.value?.getBoundingClientRect().height || 0\n\t\t\t\tconst bodyWidth = document.body.getBoundingClientRect().width\n\t\t\t\tconst bodyHeight = document.body.getBoundingClientRect().height\n\t\t\t\tlet topSpace: number, bottomSpace: number, leftSpace: number, rightSpace: number\n\t\t\t\tlet useSpace = 0\n\t\t\t\tconst dx = Number(props.dx) * 1 // 这里 em() 需根据实际情况补充\n\t\t\t\tconst dy = Number(props.dy) * 1\n\t\t\t\tif ('clientX' in link || 'touches' in link) {\n\t\t\t\t\tx = 'clientX' in link ? link.clientX : link.touches[0].clientX\n\t\t\t\t\ty = 'clientY' in link ? link.clientY : link.touches[0].clientY\n\t\t\t\t\tlinkWidth = 0\n\t\t\t\t\tlinkHeight = 0\n\t\t\t\t} else {\n\t\t\t\t\tx = link.getBoundingClientRect().left\n\t\t\t\t\ty = link.getBoundingClientRect().top\n\t\t\t\t\tlinkWidth = link.getBoundingClientRect().width\n\t\t\t\t\tlinkHeight = link.getBoundingClientRect().height\n\t\t\t\t}\n\t\t\t\ttopSpace = y\n\t\t\t\tbottomSpace = bodyHeight - y - linkHeight\n\t\t\t\tleftSpace = x\n\t\t\t\trightSpace = bodyWidth - x - linkWidth\n\t\t\t\t// 计算相对位置\n\t\t\t\tif (!props.position) {\n\t\t\t\t\tif (bottomSpace >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t} else if (y >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// 自动计算对齐方式\n\t\t\t\tif (props.align === 'auto') {\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (rightSpace >= wrapperWidth) {\n\t\t\t\t\t\t\tialign.value = 'left'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'right'\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tialign.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'bottom'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (el.value === null) return\n\t\t\t\tif (iposition.value === 'top') {\n\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\tel.value.style.bottom = bottomSpace + linkHeight - 1 - dy + 'px'\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\tel.value.style.top = topSpace + linkHeight - 1 + dy + 'px'\n\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\tif (ialign.value === 'left') {\n\t\t\t\t\t\tel.value.style.left = leftSpace + dx + 'px'\n\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t} else if (ialign.value === 'center') {\n\t\t\t\t\t\tel.value.style.left = leftSpace - wrapperWidth / 2 + linkWidth / 2 + 'px'\n\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.value.style.right = rightSpace - dx + 'px'\n\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'left') {\n\t\t\t\t\tel.value.style.right = rightSpace + linkWidth - dx - 1 + 'px'\n\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'right') {\n\t\t\t\t\tel.value.style.left = leftSpace + linkWidth + dx - 1 + 'px'\n\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'left' || iposition.value === 'right') {\n\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\tel.value.style.bottom = bottomSpace - dy + 'px'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.value.style.top = topSpace + dy + 'px'\n\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\tuseSpace = bottomSpace\n\t\t\t\t\torigin.value = 'top'\n\t\t\t\t} else if (iposition.value === 'top') {\n\t\t\t\t\tuseSpace = topSpace\n\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t} else {\n\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\tuseSpace = topSpace + linkHeight\n\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t} else if (ialign.value === 'top') {\n\t\t\t\t\t\tuseSpace = bottomSpace + linkHeight\n\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('[ToFloat] 浮层对齐方式设置错误!position 在左右两侧时,对齐方式应是顶部或底部')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (useSpace < wrapperHeight && wrapper.value) {\n\t\t\t\t\tisOver.value = true\n\t\t\t\t\twrapper.value.style.height = useSpace + 'px'\n\t\t\t\t}\n\t\t\t\t// 自动计算大小\n\t\t\t\tif (link) {\n\t\t\t\t\tconst ratio = link.getBoundingClientRect().width / link.offsetWidth\n\t\t\t\t\tconst ratio2 = Number(getComputedStyle(link).fontSize.trim().toLowerCase().replace(/px$/, '')) / Number(getComputedStyle(document.body).fontSize.trim().toLowerCase().replace(/px$/, ''))\n\t\t\t\t\tsize.value = ratio * ratio2\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunction open(by?: any) {\n\tif (props.beforeOpen) {\n\t\tconst fn = props.beforeOpen()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\topenAction(by)\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) openAction(by)\n\t\t}\n\t} else {\n\t\topenAction(by)\n\t}\n}\n\nfunction openAction(by?: any) {\n\tif (!isOpen.value) {\n\t\temit('beforeOpen')\n\n\t\tif (props.slide) {\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置样式\n\t\t\tnextTick(() => {\n\t\t\t\tset()\n\t\t\t\tsetOpenStyle()\n\t\t\t})\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\tlet timer: any = null\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\temit('opened')\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}, 100)\n\n\t\t\tisOpen.value = true\n\t\t} else {\n\t\t\tdocument.body.addEventListener('mousedown', blur)\n\t\t\tdocument.body.addEventListener('touchstart', blur)\n\n\t\t\tif (by) {\n\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\tlink.value = by\n\t\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\t\tevent.value = 'contextmenu'\n\t\t\t\t\t}\n\t\t\t\t\tif (by.type === 'contextmenu') {\n\t\t\t\t\t\tby.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// 兼容处理:如果by是DOM元素则直接使用,否则通过$refs.el获取\n\t\t\t\t\tif (by instanceof HTMLElement) {\n\t\t\t\t\t\tlink.value = by\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetElementFromRef(by).then(element => {\n\t\t\t\t\t\t\tlink.value = element\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置其他依赖项\n\t\t\tsetTimeout(() => {\n\t\t\t\tset(link.value)\n\t\t\t\tsetOpenStyle()\n\t\t\t\tif (link.value && !('x' in link.value) && !('touches' in link.value)) {\n\t\t\t\t\tsetScrollStatus()\n\t\t\t\t}\n\t\t\t}, 0)\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\temit('opened')\n\t\t\tisOpen.value = true\n\t\t}\n\t}\n}\n\nfunction setOpenStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\twrapper.value.style.transition = 'transform 100ms ease-out'\n\t\t\twrapper.value.style.transform = 'translateY(0)'\n\t\t\tsetTimeout(() => {\n\t\t\t\twrapper.value.style.transform = ''\n\t\t\t}, 100)\n\t\t}, 0)\n\t} else {\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t\tel.value.style.visibility = 'visible'\n\t\tsetTimeout(() => {\n\t\t\tel.value.style.transition = 'transform 100ms ease-out'\n\t\t\tel.value.style.transform = 'scale(1)'\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.value.style.transform = ''\n\t\t\t}, 100)\n\t\t}, 0)\n\t}\n}\n\nfunction close(e?: Event) {\n\t// float 组件内部滚动不关闭\n\tif (e && el.value && e.target && el.value.contains(e.target as Node)) {\n\t\treturn\n\t}\n\tif (isOpen.value) {\n\t\tif (props.beforeClose) {\n\t\t\tconst fn = props.beforeClose()\n\t\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tcloseAction()\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tconsole.log(error)\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (fn) closeAction()\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAction()\n\t\t}\n\t}\n}\n\nfunction closeAction() {\n\t// 参数重置\n\tif (!props.height && wrapper.value) {\n\t\twrapper.value.style.height = ''\n\t}\n\tisOver.value = false\n\n\tif (props.slide) {\n\t\tsetCloseStyle()\n\t\tisOpen.value = false\n\t} else {\n\t\t// 移除事件\n\t\tif (scrollNode.value) {\n\t\t\tscrollNode.value.removeEventListener('scroll', close)\n\t\t}\n\n\t\t// 前置事件\n\t\temit('beforeClose')\n\n\t\t// 样式设置\n\t\tsetCloseStyle()\n\n\t\t// 关闭\n\t\tisOpen.value = false\n\t}\n\n\tsetTimeout(() => {\n\t\t// 销毁\n\t\tif (props.lazy) {\n\t\t\tifShow.value = false\n\t\t}\n\n\t\t// 后置事件\n\t\temit('closed')\n\n\t\t// 后置方法\n\t\tif (props.afterClose && Object.prototype.toString.call(props.afterClose) === '[object Function]') {\n\t\t\tprops.afterClose()\n\t\t}\n\t}, 100)\n}\n\nfunction setCloseStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t} else {\n\t\tel.value.style.transform = 'scale(1,0)'\n\t}\n}\n\nfunction toggle(by?: any) {\n\tif (isOpen.value) {\n\t\tclose()\n\t} else {\n\t\tif (by) {\n\t\t\topen(by)\n\t\t} else {\n\t\t\topen()\n\t\t}\n\t}\n}\n\nfunction blur(e: MouseEvent | TouchEvent) {\n\tif (!props.closeOnBlur) return\n\tnextTick(() => {\n\t\tlet node = e.target as HTMLElement | null\n\t\tif (event.value === 'contextmenu') {\n\t\t\t// 右键点击,任意位置均隐藏 && node !== this.$el\n\t\t\twhile (node && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else if (link.value && 'target' in link.value && link.value.target) {\n\t\t\twhile (node && node !== el.value && node !== link.value.target && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else {\n\t\t\twhile (node && node !== el.value && node !== link.value && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t}\n\t\tif (node && node.nodeName === 'BODY') {\n\t\t\tclose()\n\t\t}\n\t})\n}\n\nfunction setScrollStatus() {\n\tdocument.body.addEventListener('scroll', close, { passive: true })\n\tdocument.body.addEventListener('wheel', close, { passive: true })\n}\n\nasync function getElementFromRef(refOrNode) {\n\tawait nextTick() // 保证 DOM 已渲染\n\tif (!refOrNode) return null\n\tconst val = refOrNode.value ?? refOrNode\n\tif (!val) return null\n\tif (val instanceof Element || val instanceof Text) return val\n\tif (val.$el) return val.$el\n\tif (val._vnode && val._vnode.el) return val._vnode.el\n\treturn null\n}\n\n// 暴露方法\ndefineExpose({ open, close, toggle, set })\n</script>\n"],"names":["DO_defineComponent","link","_createBlock","_Teleport","global","lazy","_createElementBlock","_unref","_normalizeStyle","$emit","_createElementVNode","slide","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Float.vue2.mjs","sources":["../../../../../../packages/components/float/src/Float.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFloat',\n\tinheritAttrs: false\n});\n</script>\n<template>\n\t<Teleport to=\"body\" :disabled=\"!global\">\n\t\t<div v-if=\"lazy ? ifShow : true\" ref=\"el\" class=\"to-float\" :class=\"[setClass, attrs.class as string | string[] | undefined]\" :style=\"[setStyle, attrs.style as Record<string, string | number> | undefined]\" @mousedown=\"$emit('click')\" @touchstart=\"$emit('click')\" @mouseenter=\"$emit('mouseenter')\" @mouseleave=\"$emit('mouseleave')\" @click.stop>\n\t\t\t<div ref=\"mask\" class=\"to-float-mask\" @click=\"maskClickHandle\"></div>\n\t\t\t<div ref=\"wrapper\" class=\"to-float-wrapper\" :style=\"slide ? wrapperStyle : null\">\n\t\t\t\t<div ref=\"content\" class=\"to-float-content\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, onMounted, onBeforeUnmount, nextTick, onDeactivated, onActivated, CSSProperties, useAttrs } from 'vue'\nimport { floatProps, floatEmits } from './float'\n\n// 获取当前 vue 实例\n\n\nconst props = defineProps(floatProps)\nconst emit = defineEmits(floatEmits)\nconst attrs = useAttrs()\n\nconst el = ref<HTMLElement | null>(null)\nconst origin = ref('top')\nconst ifShow = ref(false)\nconst scrollNode = ref<HTMLElement | null>(null)\nconst iposition = ref<string>(props.position || (props.slide ? 'right' : 'auto'))\nconst ialign = ref(props.align)\nconst link = ref<\n\t| HTMLElement\n\t| {\n\t\t\tx?: number\n\t\t\ttouches?: TouchList\n\t\t\tclientX?: number\n\t\t\tclientY?: number\n\t\t\toffsetWidth?: number\n\t\t\toffsetHeight?: number\n\t\t\tgetBoundingClientRect?: () => DOMRect\n\t\t\ttarget?: HTMLElement\n\t\t\tparentNode?: HTMLElement\n\t }\n\t| null\n>(null)\nconst isOpen = ref(false)\nconst isOver = ref(false)\nconst mask = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\nconst content = ref<HTMLElement | null>(null)\nconst event = ref('')\nconst size = ref(1)\n\nwatch(\n\t() => props.position,\n\tval => {\n\t\tiposition.value = val || (props.slide ? 'right' : 'auto')\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.align,\n\tval => {\n\t\tialign.value = val\n\t},\n\t{ immediate: true }\n)\n\nconst setClass = computed(() => {\n\tconst arr = [] as string[]\n\tif (isOpen.value) arr.push('is-show')\n\tif (props.slide) {\n\t\tarr.push('is-slide')\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (iposition.value !== 'auto') arr.push(`position-${iposition.value}`)\n\tif (origin.value === 'bottom') arr.push('origin-bottom')\n\tif (props.mask) arr.push('is-mask')\n\treturn arr\n})\nconst transitionTransform = computed(() => `transform ${props.speed}ms ease-out`)\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, any> = {}\n\tif (props.width && !props.slide) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\tif (props.left) {\n\t\tif (isNaN(Number(props.left))) obj.left = props.left\n\t\telse obj.left = props.left + 'em'\n\t}\n\tif (props.top) {\n\t\tif (isNaN(Number(props.top))) obj.top = props.top\n\t\telse obj.top = props.top + 'em'\n\t}\n\tif (size.value !== 1) {\n\t\tobj.fontSize = size.value + 'em'\n\t}\n\tif (props.zIndex) {\n\t\tobj.zIndex = props.zIndex\n\t} else {\n\t\tobj.zIndex = (window as any).$TouchUI?.zIndex.toString()\n\t\t;(window as any).$TouchUI ? (window as any).$TouchUI.zIndex++ : ((window as any).$TouchUI = { zIndex: 1 })\n\t}\n\treturn obj\n})\n\nconst wrapperStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\n\t// 宽度设置\n\t// 高度设置在打开的时候再设置,因为涉及到动态计算 wrapper 的高度\n\tif ((iposition.value === 'right' || iposition.value === 'left') && props.width) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\treturn obj\n})\n\n// 初始化\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nfunction init() {\n\tif (!props.slide) {\n\t\twindow.addEventListener('resize', close, false)\n\t}\n}\n\nfunction destroy() {\n\tif (!props.slide) {\n\t\tdocument.body.removeEventListener('mousedown', blur)\n\t\tdocument.body.removeEventListener('touchstart', blur)\n\t\twindow.removeEventListener('resize', close)\n\t}\n\tdocument.body.removeEventListener('scroll', close)\n\tdocument.body.removeEventListener('wheel', close)\n}\n\nfunction maskClickHandle() {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\nfunction set(link?: any) {\n\t// 重置 wrapper 高度,这样下次打开的时候才好重新计算是否超过整体高度\n\tif (props.slide) {\n\t\tsetTimeout(() => {\n\t\t\tif ((iposition.value === 'top' || iposition.value === 'bottom') && !props.height && wrapper.value) {\n\t\t\t\twrapper.value.style.height = ''\n\t\t\t\twrapper.value.style.height = wrapper.value.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}, 0)\n\t} else if (link) {\n\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\t// 关闭后 el 上仍有 scale(1,0)+transition;若只清 transform,会沿关闭时的 transition 插值展开,\n\t\t// nextTick 里测量时往往仍是收起态 → 高度仍为 0。测量前必须无过渡地重置;展开由 setOpenStyle 重播\n\t\tif (el.value) {\n\t\t\tel.value.style.transition = 'none'\n\t\t\tel.value.style.transform = ''\n\t\t}\n\t\tnextTick(() => {\n\t\t\t// 宽度设置\n\t\t\tif (!props.width && el.value) {\n\t\t\t\tif ('x' in link || 'touches' in link) {\n\t\t\t\t\tel.value.style.width = '14em'\n\t\t\t\t} else {\n\t\t\t\t\tel.value.style.width = link.getBoundingClientRect().width + 'px'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.top === '' || props.left === '') {\n\t\t\t\tlet x: number, y: number, linkWidth: number, linkHeight: number\n\t\t\t\tconst wrapperWidth = wrapper.value?.getBoundingClientRect().width || 0\n\t\t\t\tconst wrapperHeight = wrapper.value?.getBoundingClientRect().height || 0\n\t\t\t\tconst bodyWidth = document.body.getBoundingClientRect().width\n\t\t\t\tconst bodyHeight = document.body.getBoundingClientRect().height\n\t\t\t\tlet topSpace: number, bottomSpace: number, leftSpace: number, rightSpace: number\n\t\t\t\tlet useSpace = 0\n\t\t\t\tconst dx = Number(props.dx) * 1 // 这里 em() 需根据实际情况补充\n\t\t\t\tconst dy = Number(props.dy) * 1\n\t\t\t\tif ('clientX' in link || 'touches' in link) {\n\t\t\t\t\tx = 'clientX' in link ? link.clientX : link.touches[0].clientX\n\t\t\t\t\ty = 'clientY' in link ? link.clientY : link.touches[0].clientY\n\t\t\t\t\tlinkWidth = 0\n\t\t\t\t\tlinkHeight = 0\n\t\t\t\t} else {\n\t\t\t\t\tx = link.getBoundingClientRect().left\n\t\t\t\t\ty = link.getBoundingClientRect().top\n\t\t\t\t\tlinkWidth = link.getBoundingClientRect().width\n\t\t\t\t\tlinkHeight = link.getBoundingClientRect().height\n\t\t\t\t}\n\t\t\t\ttopSpace = y\n\t\t\t\tbottomSpace = bodyHeight - y - linkHeight\n\t\t\t\tleftSpace = x\n\t\t\t\trightSpace = bodyWidth - x - linkWidth\n\t\t\t\t// 计算相对位置\n\t\t\t\tif (!props.position) {\n\t\t\t\t\tif (bottomSpace >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t} else if (y >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// 自动计算对齐方式\n\t\t\t\tif (props.align === 'auto') {\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (rightSpace >= wrapperWidth) {\n\t\t\t\t\t\t\tialign.value = 'left'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'right'\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tialign.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'bottom'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (el.value) {\n\t\t\t\t\tif (iposition.value === 'top') {\n\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\tel.value.style.bottom = bottomSpace + linkHeight - 1 - dy + 'px'\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tel.value.style.top = topSpace + linkHeight - 1 + dy + 'px'\n\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (ialign.value === 'left') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace + dx + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else if (ialign.value === 'center') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace - wrapperWidth / 2 + linkWidth / 2 + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.right = rightSpace - dx + 'px'\n\t\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left') {\n\t\t\t\t\t\tel.value.style.right = rightSpace + linkWidth - dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'right') {\n\t\t\t\t\t\tel.value.style.left = leftSpace + linkWidth + dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left' || iposition.value === 'right') {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\t\tel.value.style.bottom = bottomSpace - dy + 'px'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.top = topSpace + dy + 'px'\n\t\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tuseSpace = bottomSpace\n\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t} else if (iposition.value === 'top') {\n\t\t\t\t\t\tuseSpace = topSpace\n\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tuseSpace = topSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t\t} else if (ialign.value === 'top') {\n\t\t\t\t\t\t\tuseSpace = bottomSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.error('[ToFloat] 浮层对齐方式设置错误!position 在左右两侧时,对齐方式应是顶部或底部')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (useSpace < wrapperHeight && wrapper.value) {\n\t\t\t\t\t\tisOver.value = true\n\t\t\t\t\t\twrapper.value.style.height = useSpace + 'px'\n\t\t\t\t\t}\n\t\t\t\t\t// 自动计算大小\n\t\t\t\t\tif (link) {\n\t\t\t\t\t\tconst ratio = link.getBoundingClientRect().width / link.offsetWidth\n\t\t\t\t\t\tconst ratio2 = Number(getComputedStyle(link).fontSize.trim().toLowerCase().replace(/px$/, '')) / Number(getComputedStyle(document.body).fontSize.trim().toLowerCase().replace(/px$/, ''))\n\t\t\t\t\t\tsize.value = ratio * ratio2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (el.value) {\n\t\t\t\tsetOpenStyle()\n\t\t\t}\n\t\t\tif (link && !('x' in link) && !('touches' in link)) {\n\t\t\t\tsetScrollStatus()\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunction open(by?: any) {\n\tif (props.beforeOpen) {\n\t\tconst fn = props.beforeOpen()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\topenAction(by)\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) openAction(by)\n\t\t}\n\t} else {\n\t\topenAction(by)\n\t}\n}\n\nfunction openAction(by?: any) {\n\tif (!isOpen.value) {\n\t\temit('beforeOpen')\n\n\t\tif (props.slide) {\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置样式\n\t\t\tnextTick(() => {\n\t\t\t\tset()\n\t\t\t\tsetOpenStyle()\n\t\t\t})\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\tlet timer: any = null\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\temit('opened')\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}, Number(props.speed))\n\n\t\t\tisOpen.value = true\n\t\t} else {\n\t\t\tdocument.body.addEventListener('mousedown', blur)\n\t\t\tdocument.body.addEventListener('touchstart', blur)\n\n\t\t\tif (by) {\n\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\tlink.value = by\n\t\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\t\tevent.value = 'contextmenu'\n\t\t\t\t\t}\n\t\t\t\t\tif (by.type === 'contextmenu') {\n\t\t\t\t\t\tby.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// 兼容处理:如果by是DOM元素则直接使用,否则通过$refs.el获取\n\t\t\t\t\tif (by instanceof HTMLElement) {\n\t\t\t\t\t\tlink.value = by\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetElementFromRef(by).then(element => {\n\t\t\t\t\t\t\tlink.value = element\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置其他依赖项\n\t\t\tsetTimeout(() => {\n\t\t\t\tset(link.value)\n\t\t\t}, 0)\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\temit('opened')\n\t\t\tisOpen.value = true\n\t\t}\n\t}\n}\n\nfunction setOpenStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\twrapper.value.style.transition = transitionTransform.value\n\t\t\twrapper.value.style.transform = 'translateY(0)'\n\t\t\tsetTimeout(() => {\n\t\t\t\twrapper.value.style.transform = ''\n\t\t\t}, Number(props.speed))\n\t\t}, 0)\n\t} else {\n\t\t// 先固定为收起态且无过渡,再下一帧加 transition 并展开,避免与布局测量同一帧合并导致无动画\n\t\tel.value.style.transition = 'none'\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t\tel.value.style.visibility = 'visible'\n\t\trequestAnimationFrame(() => {\n\t\t\tel.value.style.transition = transitionTransform.value\n\t\t\tel.value.style.transform = 'scale(1)'\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.value.style.transform = ''\n\t\t\t\tel.value.style.transition = ''\n\t\t\t}, Number(props.speed))\n\t\t})\n\t}\n\tel.value.style.zIndex = (window as any).$TouchUI?.zIndex\n}\n\nfunction close(e?: Event) {\n\t// float 组件内部滚动不关闭\n\tif (e && el.value && e.target && typeof Node !== 'undefined' && e.target instanceof Node && el.value.contains(e.target)) {\n\t\treturn\n\t}\n\tif (isOpen.value) {\n\t\tif (props.beforeClose) {\n\t\t\tconst fn = props.beforeClose()\n\t\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tcloseAction()\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tconsole.log(error)\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (fn) closeAction()\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAction()\n\t\t}\n\t}\n}\n\nfunction closeAction() {\n\t// 参数重置\n\tif (!props.height && wrapper.value) {\n\t\twrapper.value.style.height = ''\n\t}\n\tisOver.value = false\n\n\tif (props.slide) {\n\t\tsetCloseStyle()\n\t\tisOpen.value = false\n\t} else {\n\t\t// 移除事件\n\t\tif (scrollNode.value) {\n\t\t\tscrollNode.value.removeEventListener('scroll', close)\n\t\t}\n\n\t\t// 前置事件\n\t\temit('beforeClose')\n\n\t\t// 样式设置\n\t\tsetCloseStyle()\n\n\t\t// 关闭\n\t\tisOpen.value = false\n\t}\n\n\tsetTimeout(() => {\n\t\t// 销毁\n\t\tif (props.lazy) {\n\t\t\tifShow.value = false\n\t\t}\n\n\t\t// 后置事件\n\t\temit('closed')\n\n\t\t// 后置方法\n\t\tif (props.afterClose && Object.prototype.toString.call(props.afterClose) === '[object Function]') {\n\t\t\tprops.afterClose()\n\t\t}\n\t}, Number(props.speed))\n}\n\nfunction setCloseStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t} else {\n\t\t// 打开结束时会清空 transition,这里必须带上 transition,否则收起没有过渡\n\t\tel.value.style.transition = transitionTransform.value\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t}\n}\n\nfunction toggle(by?: any) {\n\tif (isOpen.value) {\n\t\tclose()\n\t} else {\n\t\tif (by) {\n\t\t\topen(by)\n\t\t} else {\n\t\t\topen()\n\t\t}\n\t}\n}\n\nfunction blur(e: MouseEvent | TouchEvent) {\n\tif (!props.closeOnBlur) return\n\tnextTick(() => {\n\t\tlet node = e.target as HTMLElement | null\n\t\tif (event.value === 'contextmenu') {\n\t\t\t// 右键点击,任意位置均隐藏 && node !== this.$el\n\t\t\twhile (node && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else if (link.value && 'target' in link.value && link.value.target) {\n\t\t\twhile (node && node !== el.value && node !== link.value.target && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else {\n\t\t\twhile (node && node !== el.value && node !== link.value && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t}\n\t\tif (node && node.nodeName === 'BODY') {\n\t\t\tclose()\n\t\t}\n\t})\n}\n\nfunction setScrollStatus() {\n\tdocument.body.addEventListener('scroll', close, { passive: true })\n\tdocument.body.addEventListener('wheel', close, { passive: true })\n}\n\nasync function getElementFromRef(refOrNode) {\n\tawait nextTick() // 保证 DOM 已渲染\n\tif (!refOrNode) return null\n\tconst val = refOrNode.value ?? refOrNode\n\tif (!val) return null\n\tif (val instanceof Element || val instanceof Text) return val\n\tif (val.$el) return val.$el\n\tif (val._vnode && val._vnode.el) return val._vnode.el\n\treturn null\n}\n\n// 暴露方法\ndefineExpose({ open, close, toggle, set })\n</script>\n"],"names":["DO_defineComponent","link","_createBlock","_Teleport","global","lazy","_createElementBlock","_unref","_normalizeStyle","$emit","_createElementVNode","slide","_renderSlot"],"mappings":"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"}
@@ -17,7 +17,8 @@ const floatProps = {
17
17
  dx: { type: [Number, String], default: 0 },
18
18
  dy: { type: [Number, String], default: 0 },
19
19
  mode: { type: String, default: "" },
20
- global: { type: Boolean, default: true }
20
+ global: { type: Boolean, default: true },
21
+ speed: { type: [Number, String], default: 100 }
21
22
  };
22
23
  const floatEmits = ["click", "mouseenter", "mouseleave", "beforeOpen", "opened", "beforeClose", "closed"];
23
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"float.mjs","sources":["../../../../../../packages/components/float/src/float.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const floatProps = {\n\tslide: { type: Boolean, default: false },\n\tlazy: { type: Boolean, default: true },\n\tposition: { type: String, default: '' },\n\twidth: { type: [Number, String], default: '' },\n\theight: { type: [Number, String], default: '' },\n\tleft: { type: [Number, String], default: '' },\n\ttop: { type: [Number, String], default: '' },\n\talign: { type: String, default: 'auto' },\n\tmask: { type: Boolean, default: true },\n\tzIndex: { type: Number, default: 0 },\n\tcloseOnBlur: { type: Boolean, default: true },\n\tbeforeClose: { type: Function, default: null },\n\tbeforeOpen: { type: Function, default: null },\n\tafterClose: { type: Function, default: null },\n\tafterOpen: { type: Function, default: null },\n\tdx: { type: [Number, String], default: 0 },\n\tdy: { type: [Number, String], default: 0 },\n\tmode: { type: String, default: '' },\n\tglobal: { type: Boolean, default: true }\n}\n\nexport type FloatProps = ExtractPropTypes<typeof floatProps>\n\nexport const floatEmits = ['click', 'mouseenter', 'mouseleave', 'beforeOpen', 'opened', 'beforeClose', 'closed']\n\nexport type FloatEmits = typeof floatEmits\n"],"names":[],"mappings":"AAEO,MAAM,UAAa,GAAA;AAAA,EACzB,KAAO,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,QAAU,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EACtC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC7C,MAAA,EAAQ,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC9C,IAAA,EAAM,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC5C,GAAA,EAAK,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC3C,KAAO,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,MAAO,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,MAAQ,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,CAAE,EAAA;AAAA,EACnC,WAAa,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EAC5C,WAAa,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC7C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,SAAW,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC3C,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,IAAM,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EAClC,MAAQ,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AACxC,EAAA;AAIa,MAAA,UAAA,GAAa,CAAC,OAAS,EAAA,YAAA,EAAc,cAAc,YAAc,EAAA,QAAA,EAAU,eAAe,QAAQ;;;;"}
1
+ {"version":3,"file":"float.mjs","sources":["../../../../../../packages/components/float/src/float.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const floatProps = {\n\tslide: { type: Boolean, default: false },\n\tlazy: { type: Boolean, default: true },\n\tposition: { type: String, default: '' },\n\twidth: { type: [Number, String], default: '' },\n\theight: { type: [Number, String], default: '' },\n\tleft: { type: [Number, String], default: '' },\n\ttop: { type: [Number, String], default: '' },\n\talign: { type: String, default: 'auto' },\n\tmask: { type: Boolean, default: true },\n\tzIndex: { type: Number, default: 0 },\n\tcloseOnBlur: { type: Boolean, default: true },\n\tbeforeClose: { type: Function, default: null },\n\tbeforeOpen: { type: Function, default: null },\n\tafterClose: { type: Function, default: null },\n\tafterOpen: { type: Function, default: null },\n\tdx: { type: [Number, String], default: 0 },\n\tdy: { type: [Number, String], default: 0 },\n\tmode: { type: String, default: '' },\n\tglobal: { type: Boolean, default: true },\n\tspeed: { type: [Number, String], default: 100 }\n}\n\nexport type FloatProps = ExtractPropTypes<typeof floatProps>\n\nexport const floatEmits = ['click', 'mouseenter', 'mouseleave', 'beforeOpen', 'opened', 'beforeClose', 'closed']\n\nexport type FloatEmits = typeof floatEmits\n"],"names":[],"mappings":"AAEO,MAAM,UAAa,GAAA;AAAA,EACzB,KAAO,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,QAAU,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EACtC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC7C,MAAA,EAAQ,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC9C,IAAA,EAAM,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC5C,GAAA,EAAK,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC3C,KAAO,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,MAAO,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,MAAQ,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,CAAE,EAAA;AAAA,EACnC,WAAa,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EAC5C,WAAa,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC7C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,SAAW,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC3C,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,IAAM,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EAClC,MAAQ,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACvC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,GAAI,EAAA;AAC/C,EAAA;AAIa,MAAA,UAAA,GAAa,CAAC,OAAS,EAAA,YAAA,EAAc,cAAc,YAAc,EAAA,QAAA,EAAU,eAAe,QAAQ;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from 'vue';
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, renderSlot } from 'vue';
2
2
 
3
3
  const __default__ = defineComponent({
4
4
  name: "ToGridItem"
@@ -6,41 +6,13 @@ const __default__ = defineComponent({
6
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  ...__default__,
8
8
  props: {
9
- merge: { default: 1 },
10
9
  width: { default: "" },
11
- side: { type: Boolean, default: false }
10
+ flex: { type: Boolean, default: false }
12
11
  },
13
12
  setup(__props) {
14
13
  const props = __props;
15
- const grid = inject("grid", {});
16
- function parseVal(val) {
17
- return Number(val != null ? val : 0);
18
- }
19
14
  const setStyle = computed(() => {
20
15
  const style = {};
21
- const space = parseVal(grid == null ? void 0 : grid.space);
22
- const spaceX = parseVal(grid == null ? void 0 : grid.spaceX);
23
- const spaceY = parseVal(grid == null ? void 0 : grid.spaceY);
24
- if (space > 0) {
25
- style.paddingTop = `${space}em`;
26
- style.paddingLeft = `${space}em`;
27
- }
28
- if (spaceY > 0) {
29
- style.paddingTop = `${spaceY}em`;
30
- }
31
- if (spaceX > 0) {
32
- style.paddingLeft = `${spaceX}em`;
33
- }
34
- if (space === -1) {
35
- style.marginTop = "-1px";
36
- style.marginLeft = "-1px";
37
- }
38
- if (spaceY === -1) {
39
- style.marginTop = "-1px";
40
- }
41
- if (spaceX === -1) {
42
- style.marginLeft = "-1px";
43
- }
44
16
  if (props.width) {
45
17
  if (!isNaN(Number(props.width))) {
46
18
  style.width = `${props.width}em`;
@@ -52,29 +24,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
24
  }
53
25
  return style;
54
26
  });
55
- const setClass = computed(() => {
56
- const arr = [];
57
- if (Number(props.merge) > 1) {
58
- arr.push(`merge-${props.merge}`);
59
- }
60
- if (props.side) {
61
- arr.push("is-side");
62
- }
63
- return arr;
64
- });
65
27
  return (_ctx, _cache) => {
66
- return openBlock(), createElementBlock(
67
- "div",
68
- {
69
- class: normalizeClass(["to-grid-item", setClass.value]),
70
- style: normalizeStyle(setStyle.value)
71
- },
72
- [
73
- renderSlot(_ctx.$slots, "default")
74
- ],
75
- 6
76
- /* CLASS, STYLE */
77
- );
28
+ return openBlock(), createElementBlock("div", {
29
+ flex: _ctx.flex ? _ctx.flex : null,
30
+ class: "to-grid-item",
31
+ style: normalizeStyle(setStyle.value)
32
+ }, [
33
+ renderSlot(_ctx.$slots, "default")
34
+ ], 12, ["flex"]);
78
35
  };
79
36
  }
80
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grid-item.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGridItem',\n});\n</script>\n<template>\n\t<div class=\"to-grid-item\" :style=\"setStyle\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\n\n\nexport interface GridProps {\n\tspace?: number | string\n\tspaceX?: number | string\n\tspaceY?: number | string\n}\n\nexport interface Props {\n\tmerge?: number | string\n\twidth?: number | string\n\tside?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmerge: 1,\n\twidth: '',\n\tside: false,\n})\n\nconst grid = inject<GridProps>('grid', {})\n\nfunction parseVal(val: number | string | undefined): number {\n\treturn Number(val ?? 0)\n}\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\n\tconst space = parseVal(grid?.space)\n\tconst spaceX = parseVal(grid?.spaceX)\n\tconst spaceY = parseVal(grid?.spaceY)\n\n\tif (space > 0) {\n\t\tstyle.paddingTop = `${space}em`\n\t\tstyle.paddingLeft = `${space}em`\n\t}\n\tif (spaceY > 0) {\n\t\tstyle.paddingTop = `${spaceY}em`\n\t}\n\tif (spaceX > 0) {\n\t\tstyle.paddingLeft = `${spaceX}em`\n\t}\n\n\tif (space === -1) {\n\t\tstyle.marginTop = '-1px'\n\t\tstyle.marginLeft = '-1px'\n\t}\n\tif (spaceY === -1) {\n\t\tstyle.marginTop = '-1px'\n\t}\n\tif (spaceX === -1) {\n\t\tstyle.marginLeft = '-1px'\n\t}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tstyle.width = `${props.width}em`\n\t\t} else if (props.width === 'full') {\n\t\t\tstyle.width = '100%'\n\t\t} else {\n\t\t\tstyle.width = props.width.toString()\n\t\t}\n\t}\n\n\treturn style\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\n\tif (Number(props.merge) > 1) {\n\t\tarr.push(`merge-${props.merge}`)\n\t}\n\tif (props.side) {\n\t\tarr.push('is-side')\n\t}\n\n\treturn arr\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"grid-item.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGridItem'\n});\n</script>\n<template>\n\t<div :flex=\"flex ? flex : null\" class=\"to-grid-item\" :style=\"setStyle\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\n\n\nexport interface Props {\n\twidth?: number | string\n\tflex?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\twidth: '',\n\tflex: false\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tstyle.width = `${props.width}em`\n\t\t} else if (props.width === 'full') {\n\t\t\tstyle.width = '100%'\n\t\t} else {\n\t\t\tstyle.width = props.width.toString()\n\t\t}\n\t}\n\n\treturn style\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_renderSlot"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,YAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;AAkBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,QAAgC,EAAC,CAAA;AAEvC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,UAAM,KAAA,CAAA,KAAA,GAAQ,GAAG,KAAM,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACxB,MAAA,IAAW,KAAM,CAAA,KAAA,KAAU,MAAQ,EAAA;AAClC,UAAA,KAAA,CAAM,KAAQ,GAAA,MAAA,CAAA;AAAA,SACR,MAAA;AACN,UAAM,KAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,CAAM,QAAS,EAAA,CAAA;AAAA,SACpC;AAAA,OACD;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,KACP,CAAA,CAAA;;wBAlCA,EAAAC,kBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,KAAM,EAAA,cAAA;AAAA,QAAgB,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QACpEC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDevice.mjs","sources":["../../../../packages/hooks/useDevice.ts"],"sourcesContent":["import { ref, computed, onMounted, onUnmounted } from 'vue';\nimport { getMedia } from '@touchvue/utils';\n\n/**\n * 设备类型\n */\nexport type DeviceType = 'pc' | 'pad' | 'phone';\n\n/**\n * 全局设备检测管理器\n * 使用单例模式避免重复注册resize事件\n */\nclass DeviceManager {\n private static instance: DeviceManager;\n private deviceType = ref<DeviceType>(getMedia());\n private listeners = new Set<() => void>();\n private resizeHandler: (() => void) | null = null;\n\n private constructor() {\n this.initResizeListener();\n }\n\n static getInstance(): DeviceManager {\n if (!DeviceManager.instance) {\n DeviceManager.instance = new DeviceManager();\n }\n return DeviceManager.instance;\n }\n\n private initResizeListener() {\n if (typeof window !== 'undefined') {\n this.resizeHandler = () => {\n const newDeviceType = getMedia();\n if (this.deviceType.value !== newDeviceType) {\n this.deviceType.value = newDeviceType;\n // 通知所有监听器\n this.listeners.forEach(listener => listener());\n }\n };\n window.addEventListener('resize', this.resizeHandler);\n }\n }\n\n getDeviceType() {\n return this.deviceType;\n }\n\n addListener(listener: () => void) {\n this.listeners.add(listener);\n }\n\n removeListener(listener: () => void) {\n this.listeners.delete(listener);\n\n // 如果没有监听器了,移除resize事件\n if (this.listeners.size === 0 && this.resizeHandler && typeof window !== 'undefined') {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n destroy() {\n if (this.resizeHandler && typeof window !== 'undefined') {\n window.removeEventListener('resize', this.resizeHandler);\n }\n this.listeners.clear();\n this.resizeHandler = null;\n }\n}\n\n/**\n * 设备检测 Hook\n * 提供响应式的设备类型判断,替代 Vue2 中的 $phone、$pc、$pad\n * 使用单例模式避免重复注册resize事件监听器\n */\nexport function useDevice() {\n const manager = DeviceManager.getInstance();\n const deviceType = manager.getDeviceType();\n\n // 计算属性:是否为手机\n const isPhone = computed(() => deviceType.value === 'phone');\n\n // 计算属性:是否为平板\n const isPad = computed(() => deviceType.value === 'pad');\n\n // 计算属性:是否为PC\n const isPc = computed(() => deviceType.value === 'pc');\n\n // 计算属性:是否为移动设备(手机或平板)\n const isMobile = computed(() => deviceType.value === 'phone' || deviceType.value === 'pad');\n\n // 更新设备类型的回调\n const updateCallback = () => {\n // 这里不需要做任何事情,因为deviceType是响应式的\n // 当manager更新deviceType时,所有计算属性会自动更新\n };\n\n // 手动更新设备类型\n const updateDeviceType = () => {\n const newDeviceType = getMedia();\n if (deviceType.value !== newDeviceType) {\n // 直接更新manager中的deviceType\n (deviceType as any).value = newDeviceType;\n }\n };\n\n // 组件挂载时添加监听器\n onMounted(() => {\n manager.addListener(updateCallback);\n });\n\n // 组件卸载时移除监听器\n onUnmounted(() => {\n manager.removeListener(updateCallback);\n });\n\n return {\n // 设备类型(响应式)\n deviceType,\n\n // 响应式判断\n isPhone,\n isPad,\n isPc,\n isMobile,\n\n // 手动更新设备类型\n updateDeviceType,\n };\n}\n\n/**\n * 获取当前设备类型(非响应式)\n * @returns 设备类型字符串\n */\nexport function getDeviceType(): DeviceType {\n return getMedia();\n}\n\n/**\n * 判断是否为手机设备(非响应式)\n * @returns 是否为手机\n */\nexport function isPhoneDevice(): boolean {\n return getMedia() === 'phone';\n}\n\n/**\n * 判断是否为平板设备(非响应式)\n * @returns 是否为平板\n */\nexport function isPadDevice(): boolean {\n return getMedia() === 'pad';\n}\n\n/**\n * 判断是否为PC设备(非响应式)\n * @returns 是否为PC\n */\nexport function isPcDevice(): boolean {\n return getMedia() === 'pc';\n}\n\n/**\n * 判断是否为移动设备(非响应式)\n * @returns 是否为移动设备(手机或平板)\n */\nexport function isMobileDevice(): boolean {\n const device = getMedia();\n return device === 'phone' || device === 'pad';\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDevice.mjs","sources":["../../../../packages/hooks/useDevice.ts"],"sourcesContent":["import { ref, computed, onMounted, onUnmounted } from 'vue'\nimport { getMedia } from '@touchvue/utils'\n\n/**\n * 设备类型\n */\nexport type DeviceType = 'pc' | 'pad' | 'phone'\n\n/**\n * 全局设备检测管理器\n * 使用单例模式避免重复注册resize事件\n */\nclass DeviceManager {\n\tprivate static instance: DeviceManager\n\tprivate deviceType = ref<DeviceType>(getMedia())\n\tprivate listeners = new Set<() => void>()\n\tprivate resizeHandler: (() => void) | null = null\n\n\tprivate constructor() {\n\t\tthis.initResizeListener()\n\t}\n\n\tstatic getInstance(): DeviceManager {\n\t\tif (!DeviceManager.instance) {\n\t\t\tDeviceManager.instance = new DeviceManager()\n\t\t}\n\t\treturn DeviceManager.instance\n\t}\n\n\tprivate initResizeListener() {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tthis.resizeHandler = () => {\n\t\t\t\tconst newDeviceType = getMedia()\n\t\t\t\tif (this.deviceType.value !== newDeviceType) {\n\t\t\t\t\tthis.deviceType.value = newDeviceType\n\t\t\t\t\t// 通知所有监听器\n\t\t\t\t\tthis.listeners.forEach(listener => listener())\n\t\t\t\t}\n\t\t\t}\n\t\t\twindow.addEventListener('resize', this.resizeHandler)\n\t\t}\n\t}\n\n\tgetDeviceType() {\n\t\treturn this.deviceType\n\t}\n\n\taddListener(listener: () => void) {\n\t\tthis.listeners.add(listener)\n\t}\n\n\tremoveListener(listener: () => void) {\n\t\tthis.listeners.delete(listener)\n\n\t\t// 如果没有监听器了,移除resize事件\n\t\tif (this.listeners.size === 0 && this.resizeHandler && typeof window !== 'undefined') {\n\t\t\twindow.removeEventListener('resize', this.resizeHandler)\n\t\t\tthis.resizeHandler = null\n\t\t}\n\t}\n\n\tdestroy() {\n\t\tif (this.resizeHandler && typeof window !== 'undefined') {\n\t\t\twindow.removeEventListener('resize', this.resizeHandler)\n\t\t}\n\t\tthis.listeners.clear()\n\t\tthis.resizeHandler = null\n\t}\n}\n\n/**\n * 设备检测 Hook\n * 提供响应式的设备类型判断,替代 Vue2 中的 $phone、$pc、$pad\n * 使用单例模式避免重复注册resize事件监听器\n */\nexport function useDevice() {\n\tconst manager = DeviceManager.getInstance()\n\tconst deviceType = manager.getDeviceType()\n\n\t// 计算属性:是否为手机\n\tconst isPhone = computed(() => deviceType.value === 'phone')\n\n\t// 计算属性:是否为平板\n\tconst isPad = computed(() => deviceType.value === 'pad')\n\n\t// 计算属性:是否为PC\n\tconst isPc = computed(() => deviceType.value === 'pc')\n\n\t// 计算属性:是否为移动设备(手机或平板)\n\tconst isMobile = computed(() => deviceType.value === 'phone' || deviceType.value === 'pad')\n\n\t// 更新设备类型的回调\n\tconst updateCallback = () => {\n\t\t// 这里不需要做任何事情,因为deviceType是响应式的\n\t\t// 当manager更新deviceType时,所有计算属性会自动更新\n\t}\n\n\t// 手动更新设备类型\n\tconst updateDeviceType = () => {\n\t\tconst newDeviceType = getMedia()\n\t\tif (deviceType.value !== newDeviceType) {\n\t\t\t// 直接更新manager中的deviceType\n\t\t\t;(deviceType as any).value = newDeviceType\n\t\t}\n\t}\n\n\t// 组件挂载时添加监听器\n\tonMounted(() => {\n\t\tmanager.addListener(updateCallback)\n\t})\n\n\t// 组件卸载时移除监听器\n\tonUnmounted(() => {\n\t\tmanager.removeListener(updateCallback)\n\t})\n\n\treturn {\n\t\t// 设备类型(响应式)\n\t\tdeviceType,\n\n\t\t// 响应式判断\n\t\tisPhone,\n\t\tisPad,\n\t\tisPc,\n\t\tisMobile,\n\n\t\t// 手动更新设备类型\n\t\tupdateDeviceType\n\t}\n}\n\n/**\n * 获取当前设备类型(非响应式)\n * @returns 设备类型字符串\n */\nexport function getDeviceType(): DeviceType {\n\treturn getMedia()\n}\n\n/**\n * 判断是否为手机设备(非响应式)\n * @returns 是否为手机\n */\nexport function isPhoneDevice(): boolean {\n\treturn getMedia() === 'phone'\n}\n\n/**\n * 判断是否为平板设备(非响应式)\n * @returns 是否为平板\n */\nexport function isPadDevice(): boolean {\n\treturn getMedia() === 'pad'\n}\n\n/**\n * 判断是否为PC设备(非响应式)\n * @returns 是否为PC\n */\nexport function isPcDevice(): boolean {\n\treturn getMedia() === 'pc'\n}\n\n/**\n * 判断是否为移动设备(非响应式)\n * @returns 是否为移动设备(手机或平板)\n */\nexport function isMobileDevice(): boolean {\n\tconst device = getMedia()\n\treturn device === 'phone' || device === 'pad'\n}\n"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ interface Props {
11
11
  progress?: string | number;
12
12
  desc?: string;
13
13
  flex?: boolean;
14
+ text?: string;
14
15
  }
15
16
  declare function __VLS_template(): {
16
17
  default?(_: {}): any;
@@ -38,6 +39,7 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {
38
39
  disabled: boolean;
39
40
  desc: string;
40
41
  expand: boolean;
42
+ text: string;
41
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
42
44
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
43
45
  export default _default;
@@ -76,6 +76,10 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
76
76
  type: BooleanConstructor;
77
77
  default: boolean;
78
78
  };
79
+ speed: {
80
+ type: (NumberConstructor | StringConstructor)[];
81
+ default: number;
82
+ };
79
83
  }>> & Readonly<{}>, {
80
84
  open: (by?: any) => void;
81
85
  close: (e?: Event) => void;
@@ -101,6 +105,7 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
101
105
  mask: boolean;
102
106
  dx: string | number;
103
107
  dy: string | number;
108
+ speed: string | number;
104
109
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
105
110
  P: {};
106
111
  B: {};
@@ -185,6 +190,10 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
185
190
  type: BooleanConstructor;
186
191
  default: boolean;
187
192
  };
193
+ speed: {
194
+ type: (NumberConstructor | StringConstructor)[];
195
+ default: number;
196
+ };
188
197
  }>> & Readonly<{}>, {
189
198
  open: (by?: any) => void;
190
199
  close: (e?: Event) => void;
@@ -210,6 +219,7 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
210
219
  mask: boolean;
211
220
  dx: string | number;
212
221
  dy: string | number;
222
+ speed: string | number;
213
223
  }>;
214
224
  __isFragment?: never;
215
225
  __isTeleport?: never;
@@ -291,6 +301,10 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
291
301
  type: BooleanConstructor;
292
302
  default: boolean;
293
303
  };
304
+ speed: {
305
+ type: (NumberConstructor | StringConstructor)[];
306
+ default: number;
307
+ };
294
308
  }>> & Readonly<{}>, {
295
309
  open: (by?: any) => void;
296
310
  close: (e?: Event) => void;
@@ -316,6 +330,7 @@ export declare const ToFloat: import("@touchvue/ui/lib/utils").SFCWithInstall<{
316
330
  mask: boolean;
317
331
  dx: string | number;
318
332
  dy: string | number;
333
+ speed: string | number;
319
334
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
320
335
  $slots: {
321
336
  default?(_: {}): any;
@@ -82,6 +82,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
82
82
  type: BooleanConstructor;
83
83
  default: boolean;
84
84
  };
85
+ speed: {
86
+ type: (NumberConstructor | StringConstructor)[];
87
+ default: number;
88
+ };
85
89
  }>, {
86
90
  open: typeof open;
87
91
  close: typeof close;
@@ -164,6 +168,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
164
168
  type: BooleanConstructor;
165
169
  default: boolean;
166
170
  };
171
+ speed: {
172
+ type: (NumberConstructor | StringConstructor)[];
173
+ default: number;
174
+ };
167
175
  }>> & Readonly<{}>, {
168
176
  mode: string;
169
177
  left: string | number;
@@ -184,6 +192,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
184
192
  mask: boolean;
185
193
  dx: string | number;
186
194
  dy: string | number;
195
+ speed: string | number;
187
196
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
188
197
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
189
198
  export default _default;
@@ -76,6 +76,10 @@ export declare const floatProps: {
76
76
  type: BooleanConstructor;
77
77
  default: boolean;
78
78
  };
79
+ speed: {
80
+ type: (NumberConstructor | StringConstructor)[];
81
+ default: number;
82
+ };
79
83
  };
80
84
  export type FloatProps = ExtractPropTypes<typeof floatProps>;
81
85
  export declare const floatEmits: string[];
@@ -1,20 +1,13 @@
1
- export interface GridProps {
2
- space?: number | string;
3
- spaceX?: number | string;
4
- spaceY?: number | string;
5
- }
6
1
  export interface Props {
7
- merge?: number | string;
8
2
  width?: number | string;
9
- side?: boolean;
3
+ flex?: boolean;
10
4
  }
11
5
  declare function __VLS_template(): {
12
6
  default?(_: {}): any;
13
7
  };
14
8
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
9
+ flex: boolean;
15
10
  width: number | string;
16
- merge: number | string;
17
- side: boolean;
18
11
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
19
12
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
20
13
  export default _default;
@@ -88,8 +88,8 @@ export declare const ToScroll: import("@touchvue/ui/lib/utils").SFCWithInstall<{
88
88
  modelValue: string | number;
89
89
  bottom: string | number;
90
90
  top: string | number;
91
- virtual: boolean;
92
91
  speed: number;
92
+ virtual: boolean;
93
93
  barDisplay: string;
94
94
  except: string;
95
95
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
@@ -180,8 +180,8 @@ export declare const ToScroll: import("@touchvue/ui/lib/utils").SFCWithInstall<{
180
180
  modelValue: string | number;
181
181
  bottom: string | number;
182
182
  top: string | number;
183
- virtual: boolean;
184
183
  speed: number;
184
+ virtual: boolean;
185
185
  barDisplay: string;
186
186
  except: string;
187
187
  }>;
@@ -277,8 +277,8 @@ export declare const ToScroll: import("@touchvue/ui/lib/utils").SFCWithInstall<{
277
277
  modelValue: string | number;
278
278
  bottom: string | number;
279
279
  top: string | number;
280
- virtual: boolean;
281
280
  speed: number;
281
+ virtual: boolean;
282
282
  barDisplay: string;
283
283
  except: string;
284
284
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
@@ -145,8 +145,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
145
145
  modelValue: string | number;
146
146
  bottom: string | number;
147
147
  top: string | number;
148
- virtual: boolean;
149
148
  speed: number;
149
+ virtual: boolean;
150
150
  barDisplay: string;
151
151
  except: string;
152
152
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -22,7 +22,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
22
  iconPosition: { default: "" },
23
23
  progress: { default: 0 },
24
24
  desc: { default: "" },
25
- flex: { type: Boolean, default: false }
25
+ flex: { type: Boolean, default: false },
26
+ text: { default: "" }
26
27
  },
27
28
  emits: ["click", "dblclick", "contextmenu"],
28
29
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -106,6 +107,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
106
107
  value: props.loading ? "loading" : _ctx.icon.split("|")[0].trim()
107
108
  }, null, 8, ["value"])) : vue.createCommentVNode("v-if", true),
108
109
  vue.createElementVNode("span", { class: "to-button-text" }, [
110
+ vue.createTextVNode(
111
+ vue.toDisplayString(props.text),
112
+ 1
113
+ /* TEXT */
114
+ ),
109
115
  vue.renderSlot(_ctx.$slots, "default")
110
116
  ]),
111
117
  _ctx.expand ? (vue.openBlock(), vue.createBlock(_component_ToIcon, {
@@ -1 +1 @@
1
- {"version":3,"file":"button.vue2.js","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToButton'\n});\n</script>\n<template>\n\t<button ref=\"el\" v-dis=\"loading || disabled\" :flex=\"flex ? flex : null\" class=\"to-button\" :class=\"setClass\" :style=\"setStyle\" :desc=\"desc\" @click=\"handleClick\" @dblclick=\"handleDblClick\" @contextmenu=\"handleContextMenu\">\n\t\t<ToIcon v-if=\"icon || loading\" class=\"to-button-icon\" :value=\"props.loading ? 'loading' : icon.split('|')[0].trim()\"></ToIcon>\n\t\t<span class=\"to-button-text\">\n\t\t\t<slot></slot>\n\t\t</span>\n\t\t<ToIcon v-if=\"expand\" value=\"expand\" class=\"to-button-expand\"></ToIcon>\n\t\t<span v-if=\"Number(progress) > 0\" class=\"to-button-progress\">\n\t\t\t<span ref=\"progress\" class=\"to-button-bar\" :class=\"{ 'is-completed': Number(progress) === 100 }\" :style=\"{ width: progress + '%' }\"></span>\n\t\t</span>\n\t</button>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { commitTouchReport } from '@touchvue/utils'\n\n\n\nconst el = ref(null)\nconst emit = defineEmits(['click', 'dblclick', 'contextmenu'])\n\ninterface Props {\n\tdisabled?: boolean\n\texpand?: boolean\n\tloading?: boolean\n\ticon?: string\n\tsize?: string\n\tmode?: string\n\tcolor?: string\n\twidth?: string | number\n\ticonPosition?: string\n\tprogress?: string | number\n\tdesc?: string\n\tflex?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolor: '',\n\tsize: '',\n\ticon: '',\n\twidth: '',\n\ticonPosition: '',\n\tloading: false,\n\tdisabled: false,\n\tprogress: 0,\n\tdesc: '',\n\texpand: false,\n\tflex: false\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.width && props.width !== 'full') {\n\t\tstyle.width = `${props.width}em`\n\t}\n\treturn style\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.width === 'full') {\n\t\tarr.push(`width-full`)\n\t}\n\tif (props.mode) {\n\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\tconst element = props.mode.split(' ')[i]\n\t\t\tarr.push(`mode-${element}`)\n\t\t}\n\t}\n\tif (props.size) {\n\t\tarr.push(`size-${props.size}`)\n\t}\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\tif (props.iconPosition) {\n\t\tarr.push(`icon-position-${props.iconPosition}`)\n\t}\n\tif (props.icon.includes('|')) {\n\t\tconst iconArr = props.icon.split('|')\n\t\tif (iconArr[1].includes('top') || iconArr[1].includes('right') || iconArr[1].includes('bottom')) {\n\t\t\tarr.push(`icon-position-${iconArr[1].trim()}`)\n\t\t}\n\t}\n\treturn arr\n})\n\nconst exportDetail = () => {\n\tconst detail = {\n\t\tname: 'ToButton',\n\t\tdesc: props.desc,\n\t\tvalue: props.desc\n\t}\n\tcommitTouchReport(detail)\n}\n\nconst handleClick = evt => {\n\temit('click', evt)\n\texportDetail()\n}\n\nconst handleDblClick = evt => {\n\temit('dblclick', evt)\n\texportDetail()\n}\n\nconst handleContextMenu = evt => {\n\tevt.preventDefault()\n\temit('contextmenu', evt)\n\texportDetail()\n}\n\ndefineExpose({ el })\n</script>\n"],"names":["DO_defineComponent","ref","computed","commitTouchReport","_createElementBlock","flex","_normalizeClass","desc","icon","loading","_createBlock","_createElementVNode","_renderSlot","expand","progress","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"button.vue2.js","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToButton'\n});\n</script>\n<template>\n\t<button ref=\"el\" v-dis=\"loading || disabled\" :flex=\"flex ? flex : null\" class=\"to-button\" :class=\"setClass\" :style=\"setStyle\" :desc=\"desc\" @click=\"handleClick\" @dblclick=\"handleDblClick\" @contextmenu=\"handleContextMenu\">\n\t\t<ToIcon v-if=\"icon || loading\" class=\"to-button-icon\" :value=\"props.loading ? 'loading' : icon.split('|')[0].trim()\"></ToIcon>\n\t\t<span class=\"to-button-text\"> {{ props.text }}<slot></slot> </span>\n\t\t<ToIcon v-if=\"expand\" value=\"expand\" class=\"to-button-expand\"></ToIcon>\n\t\t<span v-if=\"Number(progress) > 0\" class=\"to-button-progress\">\n\t\t\t<span ref=\"progress\" class=\"to-button-bar\" :class=\"{ 'is-completed': Number(progress) === 100 }\" :style=\"{ width: progress + '%' }\"></span>\n\t\t</span>\n\t</button>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { commitTouchReport } from '@touchvue/utils'\n\n\n\nconst el = ref(null)\nconst emit = defineEmits(['click', 'dblclick', 'contextmenu'])\n\ninterface Props {\n\tdisabled?: boolean\n\texpand?: boolean\n\tloading?: boolean\n\ticon?: string\n\tsize?: string\n\tmode?: string\n\tcolor?: string\n\twidth?: string | number\n\ticonPosition?: string\n\tprogress?: string | number\n\tdesc?: string\n\tflex?: boolean\n\ttext?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolor: '',\n\tsize: '',\n\ticon: '',\n\twidth: '',\n\ticonPosition: '',\n\tloading: false,\n\tdisabled: false,\n\tprogress: 0,\n\tdesc: '',\n\texpand: false,\n\tflex: false,\n\ttext: ''\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.width && props.width !== 'full') {\n\t\tstyle.width = `${props.width}em`\n\t}\n\treturn style\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.width === 'full') {\n\t\tarr.push(`width-full`)\n\t}\n\tif (props.mode) {\n\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\tconst element = props.mode.split(' ')[i]\n\t\t\tarr.push(`mode-${element}`)\n\t\t}\n\t}\n\tif (props.size) {\n\t\tarr.push(`size-${props.size}`)\n\t}\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\tif (props.iconPosition) {\n\t\tarr.push(`icon-position-${props.iconPosition}`)\n\t}\n\tif (props.icon.includes('|')) {\n\t\tconst iconArr = props.icon.split('|')\n\t\tif (iconArr[1].includes('top') || iconArr[1].includes('right') || iconArr[1].includes('bottom')) {\n\t\t\tarr.push(`icon-position-${iconArr[1].trim()}`)\n\t\t}\n\t}\n\treturn arr\n})\n\nconst exportDetail = () => {\n\tconst detail = {\n\t\tname: 'ToButton',\n\t\tdesc: props.desc,\n\t\tvalue: props.desc\n\t}\n\tcommitTouchReport(detail)\n}\n\nconst handleClick = evt => {\n\temit('click', evt)\n\texportDetail()\n}\n\nconst handleDblClick = evt => {\n\temit('dblclick', evt)\n\texportDetail()\n}\n\nconst handleContextMenu = evt => {\n\tevt.preventDefault()\n\temit('contextmenu', evt)\n\texportDetail()\n}\n\ndefineExpose({ el })\n</script>\n"],"names":["DO_defineComponent","ref","computed","commitTouchReport","_createElementBlock","flex","_normalizeClass","desc","icon","loading","_createBlock","_createElementVNode","_createTextVNode","_toDisplayString","_renderSlot","expand","progress","disabled"],"mappings":"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"}