@touchvue/ui 1.0.0-beta.42 → 1.0.0-beta.44

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 (80) hide show
  1. package/es/components/center-scroll/index.d.ts +9 -0
  2. package/es/components/center-scroll/src/CenterScroll.vue.d.ts +9 -0
  3. package/es/components/center-scroll/src/center-scroll.d.ts +7 -0
  4. package/es/components/daterange/src/date-range.vue.d.ts +3 -0
  5. package/es/components/guider/src/guider.vue.d.ts +4 -1
  6. package/es/components/scroll/index.d.ts +9 -9
  7. package/es/components/scroll/src/Scroll.vue.d.ts +5 -5
  8. package/es/components/scroll/src/scroll.d.ts +2 -2
  9. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.mjs +3 -3
  10. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.mjs.map +1 -1
  11. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue2.mjs.map +1 -1
  12. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  13. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  14. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  15. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +24 -17
  16. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  17. package/es/packages/components/center-scroll/src/center-scroll.mjs +8 -1
  18. package/es/packages/components/center-scroll/src/center-scroll.mjs.map +1 -1
  19. package/es/packages/components/daterange/src/date-range.vue2.mjs +74 -38
  20. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  21. package/es/packages/components/form/src/form.vue2.mjs +3 -1
  22. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  23. package/es/packages/components/guider/src/guider.vue2.mjs +108 -122
  24. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  25. package/es/packages/components/page/src/page.vue2.mjs +5 -1
  26. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  27. package/es/packages/components/scroll/src/Scroll.vue2.mjs +3 -4
  28. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  29. package/es/packages/components/scroll/src/scroll.mjs +2 -2
  30. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  31. package/es/packages/components/table/src/table-body.vue2.mjs +6 -4
  32. package/es/packages/components/table/src/table-body.vue2.mjs.map +1 -1
  33. package/es/packages/components/table/src/table.vue2.mjs +6 -2
  34. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  35. package/es/packages/locale/lang/en-US.mjs +1 -0
  36. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  37. package/es/packages/locale/lang/zh-CN.mjs +1 -0
  38. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  39. package/lib/components/center-scroll/index.d.ts +9 -0
  40. package/lib/components/center-scroll/src/CenterScroll.vue.d.ts +9 -0
  41. package/lib/components/center-scroll/src/center-scroll.d.ts +7 -0
  42. package/lib/components/daterange/src/date-range.vue.d.ts +3 -0
  43. package/lib/components/guider/src/guider.vue.d.ts +4 -1
  44. package/lib/components/scroll/index.d.ts +9 -9
  45. package/lib/components/scroll/src/Scroll.vue.d.ts +5 -5
  46. package/lib/components/scroll/src/scroll.d.ts +2 -2
  47. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.js +3 -3
  48. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.js.map +1 -1
  49. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue2.js.map +1 -1
  50. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  51. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  52. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  53. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +23 -16
  54. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  55. package/lib/packages/components/center-scroll/src/center-scroll.js +8 -1
  56. package/lib/packages/components/center-scroll/src/center-scroll.js.map +1 -1
  57. package/lib/packages/components/daterange/src/date-range.vue2.js +73 -37
  58. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  59. package/lib/packages/components/form/src/form.vue2.js +3 -1
  60. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  61. package/lib/packages/components/guider/src/guider.vue2.js +107 -121
  62. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  63. package/lib/packages/components/page/src/page.vue2.js +5 -1
  64. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  65. package/lib/packages/components/scroll/src/Scroll.vue2.js +3 -4
  66. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  67. package/lib/packages/components/scroll/src/scroll.js +2 -2
  68. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  69. package/lib/packages/components/table/src/table-body.vue2.js +5 -3
  70. package/lib/packages/components/table/src/table-body.vue2.js.map +1 -1
  71. package/lib/packages/components/table/src/table.vue2.js +6 -2
  72. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  73. package/lib/packages/locale/lang/en-US.js +1 -0
  74. package/lib/packages/locale/lang/en-US.js.map +1 -1
  75. package/lib/packages/locale/lang/zh-CN.js +1 -0
  76. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  77. package/package.json +1 -1
  78. package/theme/components/index.css +364 -313
  79. package/theme/index.css +364 -313
  80. package/theme/skin/default.css +364 -313
@@ -1 +1 @@
1
- {"version":3,"file":"Scroll.vue2.js","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScroll'\n});\n</script>\n<template>\n\t<div class=\"to-scroll\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<!-- 自定义滚动条 -->\n\t\t<div v-if=\"props.virtual\" class=\"to-scroll-bar\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"barThumb\" class=\"to-scroll-thumb\" :style=\"thumbStyle\" @mousedown=\"onThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 横向滚动条 -->\n\t\t<div v-if=\"props.virtual && hasHorizontalScroll\" class=\"to-scroll-bar horizontal\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"horizontalBarThumb\" class=\"to-scroll-thumb\" :style=\"horizontalThumbStyle\" @mousedown=\"onHorizontalThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 滚动内容区域 -->\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" :class=\"{ 'virtual-scroll': props.virtual }\" @scroll=\"handleScroll\">\n\t\t\t<!-- 默认内容插槽 -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\nimport { scrollProps, ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollProps)\nconst emit = defineEmits<{\n\t(e: 'scroll', event: Event): void\n\t(e: 'scrollEnd'): void\n\t(e: 'change', position: number): void\n\t(e: 'update:value', position: number | string): void\n\t(e: 'update:modelValue', position: number | string): void\n\t(e: 'bottom'): void\n\t(e: 'top'): void\n}>()\n\nconst scrollRef = ref<HTMLElement | null>(null)\nconst barThumb = ref<HTMLElement | null>(null)\nconst horizontalBarThumb = ref<HTMLElement | null>(null)\nconst isScrolling = ref(false)\nconst isHovering = ref(false)\n// 添加一个标志来标识是否由tab点击导致的滚动\nlet isTabTriggeredScroll = false\n// 添加自动滚动的节流控制\nlet autoScrollThrottleTimer: ReturnType<typeof setTimeout> | null = null\n// 滚动防抖定时器\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\nlet isDragging = ref(false)\nlet isHorizontalDragging = ref(false)\nlet startY = 0\nlet startX = 0\nlet startScrollTop = 0\nlet startScrollLeft = 0\nconst hasHorizontalScroll = ref(false)\n// 存储滚动点信息\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\n// 获取当前绑定值(优先使用modelValue,兼容value)\nconst bindValue = computed(() => props.modelValue || props.value)\n// 当前选中的滚动点值\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\n\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\n// 提供给子组件的上下文\nprovide<ScrollContext>('ToScroll', {\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\n\t\t// 在下一个渲染周期更新滚动点\n\t\tnextTick(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\t}\n})\n\n// 提供当前值给子组件\nprovide('scrollValue', currentPointValue)\n\n// 计算属性\nconst barVisibleClass = computed(() => {\n\treturn `bar-${String(props.barDisplay)}`\n})\n\n// 检查是否需要横向滚动条\nconst checkHorizontalScroll = () => {\n\tif (scrollRef.value) {\n\t\tconst { scrollWidth, clientWidth } = scrollRef.value\n\t\thasHorizontalScroll.value = scrollWidth > clientWidth\n\t}\n}\n\n// 设置滚动点\nconst setScrollPoints = () => {\n\tif (!scrollRef.value) return\n\n\t// 先清空现有的滚动点\n\tscrollPoints.value = []\n\n\t// 查找所有滚动点元素\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\n\tif (!nodes || nodes.length === 0) {\n\t\treturn\n\t}\n\n\t// 收集滚动点信息\n\tnodes.forEach(item => {\n\t\tconst itemEl = item as HTMLElement\n\t\t// 获取滚动点的值\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\n\n\t\t// 获取元素相对于滚动容器的精确位置\n\t\tconst offsetTop = itemEl.offsetTop\n\t\tconst height = itemEl.offsetHeight\n\n\t\t// 记录滚动点信息\n\t\tscrollPoints.value.push({\n\t\t\tvalue: pointValue,\n\t\t\tstart: offsetTop,\n\t\t\tend: offsetTop + height\n\t\t})\n\t})\n\n\t// 初始滚动到指定位置\n\tif (props.value && scrollRef.value) {\n\t\tscrollToValue(props.value, 'auto')\n\t}\n}\n\n// 滚动到指定值对应的位置\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\n\n\t// 查找匹配值的滚动点\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\n\tif (targetPoint) {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: targetPoint.start,\n\t\t\tbehavior: behavior\n\t\t})\n\n\t\t// 主动触发滚动点高亮状态更新\n\t\tnotifyScrollPointsActive(value)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// 主动通知滚动点更新高亮状态\nconst notifyScrollPointsActive = (activeValue: string | number) => {\n\t// 使用事件通知,避免直接操作DOM\n\tif (scrollRef.value) {\n\t\tconst event = new CustomEvent('scroll-point-active', {\n\t\t\tdetail: { value: activeValue },\n\t\t\tbubbles: true\n\t\t})\n\t\tscrollRef.value.dispatchEvent(event)\n\n\t\t// 确保更新内部状态\n\t\tcurrentPointValue.value = activeValue\n\t}\n}\n\n// 根据当前滚动位置查找对应的滚动点值\nconst findScrollPoint = (scrollTop: number): string | number | null => {\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\n\n\tconst clientHeight = scrollRef.value.clientHeight\n\tconst scrollBottom = scrollTop + clientHeight\n\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\n\tfor (const point of scrollPoints.value) {\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\n\tfor (const point of scrollPoints.value) {\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 3. 查找当前在视口中显示最多的点\n\tlet bestPoint = null\n\tlet maxVisibleHeight = 0\n\n\tfor (const point of scrollPoints.value) {\n\t\t// 计算可见部分\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\n\t\tconst visibleHeight = visibleBottom - visibleTop\n\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\n\t\t\tmaxVisibleHeight = visibleHeight\n\t\t\tbestPoint = point\n\t\t}\n\t}\n\n\t// 4. 特殊情况处理:滚动到顶部或底部\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[0].value // 顶部\n\t}\n\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\n\t}\n\n\t// 5. 如果找到了最佳点,返回它的值\n\tif (bestPoint) {\n\t\treturn bestPoint.value\n\t}\n\n\t// 6. 后备方案:返回最接近当前滚动位置的点\n\tlet closestPoint = null\n\tlet minDistance = Infinity\n\n\tfor (const point of scrollPoints.value) {\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\n\n\t\tif (distance < minDistance) {\n\t\t\tminDistance = distance\n\t\t\tclosestPoint = point\n\t\t}\n\t}\n\n\treturn closestPoint ? closestPoint.value : null\n}\n\n// 监听value/modelValue变化\nwatch(\n\t() => bindValue.value,\n\t(newVal, oldVal) => {\n\t\t// 避免重复处理相同的值\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\n\n\t\t// 更新内部记录的值\n\t\tcurrentPointValue.value = newVal\n\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\n\t\tif (!isScrolling.value) {\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\n\t\t\tisTabTriggeredScroll = true\n\n\t\t\tnextTick(() => {\n\t\t\t\t// 尝试滚动到对应位置\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\n\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\n\t\t\t\tif (!scrollSuccess) {\n\t\t\t\t\tsetScrollPoints()\n\t\t\t\t\tscrollToValue(newVal)\n\t\t\t\t}\n\n\t\t\t\t// 滚动动作完成后重置标记\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisTabTriggeredScroll = false\n\t\t\t\t}, 500) // 等待滚动动画完成\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nonMounted(() => {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n})\n\nonUnmounted(() => {\n\tif (props.virtual) {\n\t\twindow.removeEventListener('mousemove', onMousemove)\n\t\twindow.removeEventListener('mouseup', onMouseup)\n\t\twindow.removeEventListener('mouseleave', onMouseup)\n\n\t\t// 移除鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.removeEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.removeEventListener('mouseleave', onMouseleave)\n\t\t}\n\t}\n\n\t// 清除所有定时器\n\tif (scrollUpdateTimer) {\n\t\tclearTimeout(scrollUpdateTimer)\n\t\tscrollUpdateTimer = null\n\t}\n\n\tif (autoScrollThrottleTimer) {\n\t\tclearTimeout(autoScrollThrottleTimer)\n\t\tautoScrollThrottleTimer = null\n\t}\n})\n\n// 鼠标进入滚动区域\nconst onMouseenter = () => {\n\tisHovering.value = true\n}\n\n// 鼠标离开滚动区域\nconst onMouseleave = () => {\n\tif (!isDragging.value && !isHorizontalDragging.value) {\n\t\tisHovering.value = false\n\t}\n}\n\n// 虚拟滚动条垂直拖动\nconst onThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar')\n\t}\n\n\tstartY = e.clientY\n\tstartScrollTop = scrollRef.value.scrollTop\n\tisDragging.value = true\n}\n\n// 虚拟滚动条水平拖动\nconst onHorizontalThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar-horizontal')\n\t}\n\n\tstartX = e.clientX\n\tstartScrollLeft = scrollRef.value.scrollLeft\n\tisHorizontalDragging.value = true\n}\n\nconst onMousemove = (e: MouseEvent) => {\n\t// 处理垂直拖动\n\tif (isDragging.value && scrollRef.value && barThumb.value) {\n\t\tconst deltaY = e.clientY - startY\n\t\tconst contentHeight = scrollRef.value.scrollHeight\n\t\tconst containerHeight = scrollRef.value.clientHeight\n\t\tconst ratio = containerHeight / contentHeight\n\n\t\tscrollRef.value.scrollTop = startScrollTop + deltaY / ratio\n\t}\n\n\t// 处理水平拖动\n\tif (isHorizontalDragging.value && scrollRef.value && horizontalBarThumb.value) {\n\t\tconst deltaX = e.clientX - startX\n\t\tconst contentWidth = scrollRef.value.scrollWidth\n\t\tconst containerWidth = scrollRef.value.clientWidth\n\t\tconst ratio = containerWidth / contentWidth\n\n\t\tscrollRef.value.scrollLeft = startScrollLeft + deltaX / ratio\n\t}\n}\n\nconst onMouseup = () => {\n\tisDragging.value = false\n\tisHorizontalDragging.value = false\n\n\t// 拖动结束后,如果鼠标不在滚动区域内,则隐藏滚动条\n\tif (!isHovering.value) {\n\t\tsetTimeout(() => {\n\t\t\tisHovering.value = false\n\t\t}, 300)\n\t}\n\n\t// 移除拖动状态的类\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.remove('dragging-scrollbar')\n\t\tscrollRef.value.classList.remove('dragging-scrollbar-horizontal')\n\t}\n}\n\n// 处理滚动事件\nconst handleScroll = (event: Event) => {\n\t// 触发原始滚动事件\n\temit('scroll', event)\n\n\t// 如果是由Tab触发的滚动,不处理滚动检测\n\tif (isTabTriggeredScroll) {\n\t\treturn\n\t}\n\n\tif (!scrollRef.value) return\n\n\t// 获取当前滚动位置\n\tconst scrollTop = scrollRef.value.scrollTop\n\n\t// 触发滚动位置变化事件\n\temit('change', scrollTop)\n\n\tif (scrollEventDebounceTimer) {\n\t\tclearTimeout(scrollEventDebounceTimer)\n\t}\n\n\t// 检测是否滚动到底部\n\tscrollEventDebounceTimer = setTimeout(() => {\n\t\t// 检测是否滚动到底部\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\n\t\t\temit('bottom')\n\t\t}\n\n\t\tif (scrollTop <= 5) {\n\t\t\temit('top')\n\t\t}\n\t}, 100) // 防抖时间设置为 100ms\n\n\t// 如果有滚动点,立即检测当前位置对应哪个点\n\tif (scrollPoints.value.length > 0) {\n\t\t// 先清除之前的定时器\n\t\tif (autoScrollThrottleTimer) {\n\t\t\tclearTimeout(autoScrollThrottleTimer)\n\t\t\tautoScrollThrottleTimer = null\n\t\t}\n\t\tif (scrollUpdateTimer) {\n\t\t\tclearTimeout(scrollUpdateTimer)\n\t\t\tscrollUpdateTimer = null\n\t\t}\n\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\n\t\trequestAnimationFrame(() => {\n\t\t\t// 重新查找当前滚动位置对应的点\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\n\n\t\t\t// 如果找到点且与当前值不同,立即更新值\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\n\t\t\t\t// 更新内部记录的值\n\t\t\t\tcurrentPointValue.value = pointValue\n\n\t\t\t\t// 同时发送两种事件,确保兼容性\n\t\t\t\temit('update:modelValue', pointValue)\n\t\t\t\temit('update:value', pointValue)\n\n\t\t\t\t// 通知滚动点更新高亮状态\n\t\t\t\tnotifyScrollPointsActive(pointValue)\n\n\t\t\t\t// 如果使用了虚拟滚动条,确保它的位置也正确更新\n\t\t\t\tif (props.virtual && barThumb.value) {\n\t\t\t\t\tupdateVirtualScrollbar()\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\t// 标记为正在滚动\n\tisScrolling.value = true\n\n\t// 滚动结束后重置状态\n\tclearTimeout(scrollUpdateTimer)\n\tscrollUpdateTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\temit('scrollEnd')\n\t}, 100)\n}\n\n// 更新虚拟滚动条位置(如果使用)\nconst updateVirtualScrollbar = () => {\n\tif (!scrollRef.value || !props.virtual) return\n\n\t// 强制更新滚动条位置\n\tnextTick(() => {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = scrollRef.value\n\t\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\t\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\t\tif (barThumb.value) {\n\t\t\tbarThumb.value.style.transform = `translateY(${thumbTop}px)`\n\t\t}\n\t})\n}\n\n// 统一的滚动方法,支持多种参数类型\nconst to = (target: HTMLElement | string | number | any) => {\n\tif (!scrollRef.value) return\n\n\t// 滚动到底部\n\tif (target === '$bottom') {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定元素\n\tif (target instanceof HTMLElement) {\n\t\tconst elementTop = target.getBoundingClientRect().top\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: relativeTop,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定位置(数字或数字字符串)\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\n\t\tconst position = typeof target === 'string' ? Number(target) : target\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: position,\n\t\t\tleft: 0,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定选项配置\n\tif (typeof target === 'object' && target !== null) {\n\t\tscrollRef.value.scrollTo(target)\n\t\treturn\n\t}\n}\n\n// 垂直滚动条样式计算\nconst thumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientHeight, scrollHeight, scrollTop } = scrollRef.value\n\n\t// 计算滚动条高度比例\n\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\n\t// 计算滚动条位置比例\n\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\treturn {\n\t\theight: `${thumbHeight}px`,\n\t\ttransform: `translateY(${thumbTop}px)`,\n\t\twidth: '6px'\n\t}\n})\n\n// 水平滚动条样式计算\nconst horizontalThumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientWidth, scrollWidth, scrollLeft } = scrollRef.value\n\n\t// 计算滚动条宽度比例\n\tconst thumbWidth = Math.max(30, (clientWidth / scrollWidth) * clientWidth)\n\n\t// 计算滚动条位置比例\n\tconst thumbLeft = (scrollLeft / (scrollWidth - clientWidth)) * (clientWidth - thumbWidth)\n\n\treturn {\n\t\twidth: `${thumbWidth}px`,\n\t\ttransform: `translateX(${thumbLeft}px)`,\n\t\theight: '6px'\n\t}\n})\n\nconst setStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t} = {}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\n\tif (props.virtual) {\n\t\tarr.push('hide-scrollbar')\n\t}\n\n\t// 添加mode类名\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\treturn arr\n})\n\nconst setContentStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t\tpadding?: string | number\n\t\tpaddingTop?: string\n\t\tpaddingRight?: string\n\t\tpaddingBottom?: string\n\t\tpaddingLeft?: string\n\t\tmaxHeight?: string\n\t\toverflow?: string\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\n\t\twidth?: string\n\t\tdisplay?: string\n\t} = {}\n\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\tif (String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj.padding = padded\n\t}\n\n\tif (props.paddingPosition) {\n\t\t// 根据paddingPosition设置padding位置\n\t\tconst padding = String(props.padding || '0')\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\n\n\t\tswitch (props.paddingPosition) {\n\t\t\tcase 'top':\n\t\t\t\tobj.paddingTop = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'right':\n\t\t\t\tobj.paddingRight = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'bottom':\n\t\t\t\tobj.paddingBottom = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'left':\n\t\t\t\tobj.paddingLeft = paddingValue\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tif (props.virtual) {\n\t\tobj.overflow = 'auto'\n\t\tobj.position = 'relative'\n\t\tobj.width = '100%'\n\t}\n\n\t// 根据 mode 设置特定样式\n\tif (props.mode === 'horizontal') {\n\t\tobj.width = props.virtual ? '100%' : 'max-content'\n\t\tobj.display = 'inline-block'\n\t}\n\n\treturn obj\n})\n\nfunction adjust() {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n}\n\n// 导出方法供父组件调用\ndefineExpose({\n\tto,\n\tscrollRef,\n\tisScrolling,\n\tsetScrollPoints,\n\tfindScrollPoint,\n\tcheckHorizontalScroll,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","provide","nextTick","watch","onMounted","onUnmounted","hasUnit","_createElementBlock","_normalizeClass","flex","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Scroll.vue2.js","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScroll'\n});\n</script>\n<template>\n\t<div class=\"to-scroll\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<!-- 自定义滚动条 -->\n\t\t<div v-if=\"props.virtual\" class=\"to-scroll-bar\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"barThumb\" class=\"to-scroll-thumb\" :style=\"thumbStyle\" @mousedown=\"onThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 横向滚动条 -->\n\t\t<div v-if=\"props.virtual && hasHorizontalScroll\" class=\"to-scroll-bar horizontal\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"horizontalBarThumb\" class=\"to-scroll-thumb\" :style=\"horizontalThumbStyle\" @mousedown=\"onHorizontalThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 滚动内容区域 -->\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" :class=\"{ 'virtual-scroll': props.virtual }\" @scroll=\"handleScroll\">\n\t\t\t<!-- 默认内容插槽 -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\nimport { scrollProps, ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollProps)\nconst emit = defineEmits<{\n\t(e: 'scroll', event: Event): void\n\t(e: 'scrollEnd'): void\n\t(e: 'change', position: number): void\n\t(e: 'update:value', position: number | string): void\n\t(e: 'update:modelValue', position: number | string): void\n\t(e: 'bottom'): void\n\t(e: 'top'): void\n}>()\n\nconst scrollRef = ref<HTMLElement | null>(null)\nconst barThumb = ref<HTMLElement | null>(null)\nconst horizontalBarThumb = ref<HTMLElement | null>(null)\nconst isScrolling = ref(false)\nconst isHovering = ref(false)\n// 添加一个标志来标识是否由tab点击导致的滚动\nlet isTabTriggeredScroll = false\n// 添加自动滚动的节流控制\nlet autoScrollThrottleTimer: ReturnType<typeof setTimeout> | null = null\n// 滚动防抖定时器\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\nlet isDragging = ref(false)\nlet isHorizontalDragging = ref(false)\nlet startY = 0\nlet startX = 0\nlet startScrollTop = 0\nlet startScrollLeft = 0\nconst hasHorizontalScroll = ref(false)\n// 存储滚动点信息\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\n// 获取当前绑定值(优先使用modelValue,兼容value)\nconst bindValue = computed(() => props.modelValue || props.value)\n// 当前选中的滚动点值\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\n\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\n// 提供给子组件的上下文\nprovide<ScrollContext>('ToScroll', {\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\n\t\t// 在下一个渲染周期更新滚动点\n\t\tnextTick(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\t}\n})\n\n// 提供当前值给子组件\nprovide('scrollValue', currentPointValue)\n\n// 计算属性\nconst barVisibleClass = computed(() => {\n\treturn `bar-${String(props.barDisplay)}`\n})\n\n// 检查是否需要横向滚动条\nconst checkHorizontalScroll = () => {\n\tif (scrollRef.value) {\n\t\tconst { scrollWidth, clientWidth } = scrollRef.value\n\t\thasHorizontalScroll.value = scrollWidth > clientWidth\n\t}\n}\n\n// 设置滚动点\nconst setScrollPoints = () => {\n\tif (!scrollRef.value) return\n\n\t// 先清空现有的滚动点\n\tscrollPoints.value = []\n\n\t// 查找所有滚动点元素\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\n\tif (!nodes || nodes.length === 0) {\n\t\treturn\n\t}\n\n\t// 收集滚动点信息\n\tnodes.forEach(item => {\n\t\tconst itemEl = item as HTMLElement\n\t\t// 获取滚动点的值\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\n\n\t\t// 获取元素相对于滚动容器的精确位置\n\t\tconst offsetTop = itemEl.offsetTop\n\t\tconst height = itemEl.offsetHeight\n\n\t\t// 记录滚动点信息\n\t\tscrollPoints.value.push({\n\t\t\tvalue: pointValue,\n\t\t\tstart: offsetTop,\n\t\t\tend: offsetTop + height\n\t\t})\n\t})\n\n\t// 初始滚动到指定位置\n\tif (props.value && scrollRef.value) {\n\t\tscrollToValue(props.value, 'auto')\n\t}\n}\n\n// 滚动到指定值对应的位置\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\n\n\t// 查找匹配值的滚动点\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\n\tif (targetPoint) {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: targetPoint.start,\n\t\t\tbehavior: behavior\n\t\t})\n\n\t\t// 主动触发滚动点高亮状态更新\n\t\tnotifyScrollPointsActive(value)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// 主动通知滚动点更新高亮状态\nconst notifyScrollPointsActive = (activeValue: string | number) => {\n\t// 使用事件通知,避免直接操作DOM\n\tif (scrollRef.value) {\n\t\tconst event = new CustomEvent('scroll-point-active', {\n\t\t\tdetail: { value: activeValue },\n\t\t\tbubbles: true\n\t\t})\n\t\tscrollRef.value.dispatchEvent(event)\n\n\t\t// 确保更新内部状态\n\t\tcurrentPointValue.value = activeValue\n\t}\n}\n\n// 根据当前滚动位置查找对应的滚动点值\nconst findScrollPoint = (scrollTop: number): string | number | null => {\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\n\n\tconst clientHeight = scrollRef.value.clientHeight\n\tconst scrollBottom = scrollTop + clientHeight\n\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\n\tfor (const point of scrollPoints.value) {\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\n\tfor (const point of scrollPoints.value) {\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 3. 查找当前在视口中显示最多的点\n\tlet bestPoint = null\n\tlet maxVisibleHeight = 0\n\n\tfor (const point of scrollPoints.value) {\n\t\t// 计算可见部分\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\n\t\tconst visibleHeight = visibleBottom - visibleTop\n\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\n\t\t\tmaxVisibleHeight = visibleHeight\n\t\t\tbestPoint = point\n\t\t}\n\t}\n\n\t// 4. 特殊情况处理:滚动到顶部或底部\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[0].value // 顶部\n\t}\n\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\n\t}\n\n\t// 5. 如果找到了最佳点,返回它的值\n\tif (bestPoint) {\n\t\treturn bestPoint.value\n\t}\n\n\t// 6. 后备方案:返回最接近当前滚动位置的点\n\tlet closestPoint = null\n\tlet minDistance = Infinity\n\n\tfor (const point of scrollPoints.value) {\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\n\n\t\tif (distance < minDistance) {\n\t\t\tminDistance = distance\n\t\t\tclosestPoint = point\n\t\t}\n\t}\n\n\treturn closestPoint ? closestPoint.value : null\n}\n\n// 监听value/modelValue变化\nwatch(\n\t() => bindValue.value,\n\t(newVal, oldVal) => {\n\t\t// 避免重复处理相同的值\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\n\n\t\t// 更新内部记录的值\n\t\tcurrentPointValue.value = newVal\n\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\n\t\tif (!isScrolling.value) {\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\n\t\t\tisTabTriggeredScroll = true\n\n\t\t\tnextTick(() => {\n\t\t\t\t// 尝试滚动到对应位置\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\n\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\n\t\t\t\tif (!scrollSuccess) {\n\t\t\t\t\tsetScrollPoints()\n\t\t\t\t\tscrollToValue(newVal)\n\t\t\t\t}\n\n\t\t\t\t// 滚动动作完成后重置标记\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisTabTriggeredScroll = false\n\t\t\t\t}, 500) // 等待滚动动画完成\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nonMounted(() => {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n})\n\nonUnmounted(() => {\n\tif (props.virtual) {\n\t\twindow.removeEventListener('mousemove', onMousemove)\n\t\twindow.removeEventListener('mouseup', onMouseup)\n\t\twindow.removeEventListener('mouseleave', onMouseup)\n\n\t\t// 移除鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.removeEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.removeEventListener('mouseleave', onMouseleave)\n\t\t}\n\t}\n\n\t// 清除所有定时器\n\tif (scrollUpdateTimer) {\n\t\tclearTimeout(scrollUpdateTimer)\n\t\tscrollUpdateTimer = null\n\t}\n\n\tif (autoScrollThrottleTimer) {\n\t\tclearTimeout(autoScrollThrottleTimer)\n\t\tautoScrollThrottleTimer = null\n\t}\n})\n\n// 鼠标进入滚动区域\nconst onMouseenter = () => {\n\tisHovering.value = true\n}\n\n// 鼠标离开滚动区域\nconst onMouseleave = () => {\n\tif (!isDragging.value && !isHorizontalDragging.value) {\n\t\tisHovering.value = false\n\t}\n}\n\n// 虚拟滚动条垂直拖动\nconst onThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar')\n\t}\n\n\tstartY = e.clientY\n\tstartScrollTop = scrollRef.value.scrollTop\n\tisDragging.value = true\n}\n\n// 虚拟滚动条水平拖动\nconst onHorizontalThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar-horizontal')\n\t}\n\n\tstartX = e.clientX\n\tstartScrollLeft = scrollRef.value.scrollLeft\n\tisHorizontalDragging.value = true\n}\n\nconst onMousemove = (e: MouseEvent) => {\n\t// 处理垂直拖动\n\tif (isDragging.value && scrollRef.value && barThumb.value) {\n\t\tconst deltaY = e.clientY - startY\n\t\tconst contentHeight = scrollRef.value.scrollHeight\n\t\tconst containerHeight = scrollRef.value.clientHeight\n\t\tconst ratio = containerHeight / contentHeight\n\n\t\tscrollRef.value.scrollTop = startScrollTop + deltaY / ratio\n\t}\n\n\t// 处理水平拖动\n\tif (isHorizontalDragging.value && scrollRef.value && horizontalBarThumb.value) {\n\t\tconst deltaX = e.clientX - startX\n\t\tconst contentWidth = scrollRef.value.scrollWidth\n\t\tconst containerWidth = scrollRef.value.clientWidth\n\t\tconst ratio = containerWidth / contentWidth\n\n\t\tscrollRef.value.scrollLeft = startScrollLeft + deltaX / ratio\n\t}\n}\n\nconst onMouseup = () => {\n\tisDragging.value = false\n\tisHorizontalDragging.value = false\n\n\t// 拖动结束后,如果鼠标不在滚动区域内,则隐藏滚动条\n\tif (!isHovering.value) {\n\t\tsetTimeout(() => {\n\t\t\tisHovering.value = false\n\t\t}, 300)\n\t}\n\n\t// 移除拖动状态的类\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.remove('dragging-scrollbar')\n\t\tscrollRef.value.classList.remove('dragging-scrollbar-horizontal')\n\t}\n}\n\n// 处理滚动事件\nconst handleScroll = (event: Event) => {\n\t// 触发原始滚动事件\n\temit('scroll', event)\n\n\t// 如果是由Tab触发的滚动,不处理滚动检测\n\tif (isTabTriggeredScroll) {\n\t\treturn\n\t}\n\n\tif (!scrollRef.value) return\n\n\t// 获取当前滚动位置\n\tconst scrollTop = scrollRef.value.scrollTop\n\n\t// 触发滚动位置变化事件\n\temit('change', scrollTop)\n\n\tif (scrollEventDebounceTimer) {\n\t\tclearTimeout(scrollEventDebounceTimer)\n\t}\n\n\t// 检测是否滚动到底部\n\tscrollEventDebounceTimer = setTimeout(() => {\n\t\t// 检测是否滚动到底部\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\n\t\t\temit('bottom')\n\t\t}\n\n\t\tif (scrollTop <= 5) {\n\t\t\temit('top')\n\t\t}\n\t}, 100) // 防抖时间设置为 100ms\n\n\t// 如果有滚动点,立即检测当前位置对应哪个点\n\tif (scrollPoints.value.length > 0) {\n\t\t// 先清除之前的定时器\n\t\tif (autoScrollThrottleTimer) {\n\t\t\tclearTimeout(autoScrollThrottleTimer)\n\t\t\tautoScrollThrottleTimer = null\n\t\t}\n\t\tif (scrollUpdateTimer) {\n\t\t\tclearTimeout(scrollUpdateTimer)\n\t\t\tscrollUpdateTimer = null\n\t\t}\n\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\n\t\trequestAnimationFrame(() => {\n\t\t\t// 重新查找当前滚动位置对应的点\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\n\n\t\t\t// 如果找到点且与当前值不同,立即更新值\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\n\t\t\t\t// 更新内部记录的值\n\t\t\t\tcurrentPointValue.value = pointValue\n\n\t\t\t\t// 同时发送两种事件,确保兼容性\n\t\t\t\temit('update:modelValue', pointValue)\n\t\t\t\temit('update:value', pointValue)\n\n\t\t\t\t// 通知滚动点更新高亮状态\n\t\t\t\tnotifyScrollPointsActive(pointValue)\n\n\t\t\t\t// 如果使用了虚拟滚动条,确保它的位置也正确更新\n\t\t\t\tif (props.virtual && barThumb.value) {\n\t\t\t\t\tupdateVirtualScrollbar()\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\t// 标记为正在滚动\n\tisScrolling.value = true\n\n\t// 滚动结束后重置状态\n\tclearTimeout(scrollUpdateTimer)\n\tscrollUpdateTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\temit('scrollEnd')\n\t}, 100)\n}\n\n// 更新虚拟滚动条位置(如果使用)\nconst updateVirtualScrollbar = () => {\n\tif (!scrollRef.value || !props.virtual) return\n\n\t// 强制更新滚动条位置\n\tnextTick(() => {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = scrollRef.value\n\t\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\t\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\t\tif (barThumb.value) {\n\t\t\tbarThumb.value.style.transform = `translateY(${thumbTop}px)`\n\t\t}\n\t})\n}\n\n// 统一的滚动方法,支持多种参数类型\nconst to = (target: HTMLElement | string | number | any) => {\n\tif (!scrollRef.value) return\n\n\t// 滚动到底部\n\tif (target === '$bottom') {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定元素\n\tif (target instanceof HTMLElement) {\n\t\tconst elementTop = target.getBoundingClientRect().top\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: relativeTop,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定位置(数字或数字字符串)\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\n\t\tconst position = typeof target === 'string' ? Number(target) : target\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: position,\n\t\t\tleft: 0,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定选项配置\n\tif (typeof target === 'object' && target !== null) {\n\t\tscrollRef.value.scrollTo(target)\n\t\treturn\n\t}\n}\n\n// 垂直滚动条样式计算\nconst thumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientHeight, scrollHeight, scrollTop } = scrollRef.value\n\n\t// 计算滚动条高度比例\n\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\n\t// 计算滚动条位置比例\n\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\treturn {\n\t\theight: `${thumbHeight}px`,\n\t\ttransform: `translateY(${thumbTop}px)`,\n\t\twidth: '6px'\n\t}\n})\n\n// 水平滚动条样式计算\nconst horizontalThumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientWidth, scrollWidth, scrollLeft } = scrollRef.value\n\n\t// 计算滚动条宽度比例\n\tconst thumbWidth = Math.max(30, (clientWidth / scrollWidth) * clientWidth)\n\n\t// 计算滚动条位置比例\n\tconst thumbLeft = (scrollLeft / (scrollWidth - clientWidth)) * (clientWidth - thumbWidth)\n\n\treturn {\n\t\twidth: `${thumbWidth}px`,\n\t\ttransform: `translateX(${thumbLeft}px)`,\n\t\theight: '6px'\n\t}\n})\n\nconst setStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t} = {}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\n\tif (props.virtual) {\n\t\tarr.push('hide-scrollbar')\n\t}\n\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\n\treturn arr\n})\n\nconst setContentStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t\tpadding?: string | number\n\t\tpaddingTop?: string\n\t\tpaddingRight?: string\n\t\tpaddingBottom?: string\n\t\tpaddingLeft?: string\n\t\tmaxHeight?: string\n\t\toverflow?: string\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\n\t\twidth?: string\n\t\tdisplay?: string\n\t} = {}\n\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\tif (String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj.padding = padded\n\t}\n\n\tif (props.paddingPosition) {\n\t\t// 根据paddingPosition设置padding位置\n\t\tconst padding = String(props.padding || '0')\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\n\n\t\tswitch (props.paddingPosition) {\n\t\t\tcase 'top':\n\t\t\t\tobj.paddingTop = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'right':\n\t\t\t\tobj.paddingRight = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'bottom':\n\t\t\t\tobj.paddingBottom = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'left':\n\t\t\t\tobj.paddingLeft = paddingValue\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tif (props.virtual) {\n\t\tobj.overflow = 'auto'\n\t\tobj.position = 'relative'\n\t\tobj.width = '100%'\n\t}\n\n\treturn obj\n})\n\nfunction adjust() {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n}\n\n// 导出方法供父组件调用\ndefineExpose({\n\tto,\n\tscrollRef,\n\tisScrolling,\n\tsetScrollPoints,\n\tfindScrollPoint,\n\tcheckHorizontalScroll,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","provide","nextTick","watch","onMounted","onUnmounted","hasUnit","_createElementBlock","_normalizeClass","flex","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -83,14 +83,14 @@ const scrollProps = {
83
83
  /**
84
84
  * 背景颜色
85
85
  */
86
- color: {
86
+ mode: {
87
87
  type: String,
88
88
  default: ""
89
89
  },
90
90
  /**
91
91
  * 滚动模式
92
92
  */
93
- mode: {
93
+ type: {
94
94
  type: String,
95
95
  default: ""
96
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sources":["../../../../../../packages/components/scroll/src/scroll.ts"],"sourcesContent":["import { ExtractPropTypes } from 'vue'\n\nexport const scrollProps = {\n\tflex: Boolean,\n\t/**\n\t * 是否使用模拟滚动条\n\t */\n\tvirtual: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 滚动幅度(仅模拟滚动条支持)\n\t */\n\tspeed: {\n\t\ttype: Number,\n\t\tdefault: 10\n\t},\n\t/**\n\t * 顶部间距\n\t */\n\ttop: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 双向绑定的滚动位置,支持v-model\n\t */\n\tmodelValue: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 兼容旧版本,等同于modelValue\n\t * @deprecated 推荐使用modelValue\n\t */\n\tvalue: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 内边距\n\t */\n\tpadding: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 内边距位置\n\t */\n\tpaddingPosition: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 底部间距\n\t */\n\tbottom: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 高度\n\t */\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 滚动条显示方式\n\t */\n\tbarDisplay: {\n\t\ttype: String,\n\t\tdefault: 'hover'\n\t},\n\t/**\n\t * 排除项\n\t */\n\texcept: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 背景颜色\n\t */\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 滚动模式\n\t */\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t}\n}\n\nexport type ScrollProps = ExtractPropTypes<typeof scrollProps>\n\nexport interface ScrollInstance {\n\t/**\n\t * 滚动到指定位置\n\t */\n\tscrollTo: (options: ScrollToOptions | number, yCoord?: number) => void\n\t/**\n\t * 滚动到指定元素\n\t */\n\tscrollToElement: (element: HTMLElement | null, offset?: number) => void\n\t/**\n\t * 按步长滚动\n\t */\n\tscrollStep: (direction: 'up' | 'down' | 'left' | 'right') => void\n\t/**\n\t * 滚动容器元素\n\t */\n\tscrollRef: HTMLElement | null\n\t/**\n\t * 是否正在滚动\n\t */\n\tisScrolling: boolean\n\t/**\n\t * 滚动到指定目标\n\t */\n\tto: (target: HTMLElement | string | number | any) => void\n}\n\n/**\n * Scroll组件提供给子组件的上下文接口\n */\nexport interface ScrollContext {\n\t/**\n\t * 注册滚动点\n\t */\n\tregisterScrollPoint: (el: HTMLElement, value: string | number) => void\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAc,GAAA;AAAA,EAC1B,IAAM,EAAA,OAAA;AAAA;AAAA;AAAA;AAAA,EAIN,OAAS,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,GAAK,EAAA;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAO,EAAA;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,eAAiB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AACD;;;;"}
1
+ {"version":3,"file":"scroll.js","sources":["../../../../../../packages/components/scroll/src/scroll.ts"],"sourcesContent":["import { ExtractPropTypes } from 'vue'\n\nexport const scrollProps = {\n\tflex: Boolean,\n\t/**\n\t * 是否使用模拟滚动条\n\t */\n\tvirtual: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 滚动幅度(仅模拟滚动条支持)\n\t */\n\tspeed: {\n\t\ttype: Number,\n\t\tdefault: 10\n\t},\n\t/**\n\t * 顶部间距\n\t */\n\ttop: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 双向绑定的滚动位置,支持v-model\n\t */\n\tmodelValue: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 兼容旧版本,等同于modelValue\n\t * @deprecated 推荐使用modelValue\n\t */\n\tvalue: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 内边距\n\t */\n\tpadding: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 内边距位置\n\t */\n\tpaddingPosition: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 底部间距\n\t */\n\tbottom: {\n\t\ttype: [Number, String],\n\t\tdefault: 0\n\t},\n\t/**\n\t * 高度\n\t */\n\theight: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 滚动条显示方式\n\t */\n\tbarDisplay: {\n\t\ttype: String,\n\t\tdefault: 'hover'\n\t},\n\t/**\n\t * 排除项\n\t */\n\texcept: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 背景颜色\n\t */\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 滚动模式\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t}\n}\n\nexport type ScrollProps = ExtractPropTypes<typeof scrollProps>\n\nexport interface ScrollInstance {\n\t/**\n\t * 滚动到指定位置\n\t */\n\tscrollTo: (options: ScrollToOptions | number, yCoord?: number) => void\n\t/**\n\t * 滚动到指定元素\n\t */\n\tscrollToElement: (element: HTMLElement | null, offset?: number) => void\n\t/**\n\t * 按步长滚动\n\t */\n\tscrollStep: (direction: 'up' | 'down' | 'left' | 'right') => void\n\t/**\n\t * 滚动容器元素\n\t */\n\tscrollRef: HTMLElement | null\n\t/**\n\t * 是否正在滚动\n\t */\n\tisScrolling: boolean\n\t/**\n\t * 滚动到指定目标\n\t */\n\tto: (target: HTMLElement | string | number | any) => void\n}\n\n/**\n * Scroll组件提供给子组件的上下文接口\n */\nexport interface ScrollContext {\n\t/**\n\t * 注册滚动点\n\t */\n\tregisterScrollPoint: (el: HTMLElement, value: string | number) => void\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAc,GAAA;AAAA,EAC1B,IAAM,EAAA,OAAA;AAAA;AAAA;AAAA;AAAA,EAIN,OAAS,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,GAAK,EAAA;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAO,EAAA;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,eAAiB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACV;AACD;;;;"}
@@ -134,12 +134,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
134
134
  }
135
135
  });
136
136
  }
137
- function toggleDetail(row) {
137
+ const tableRef = vue.inject("TableRef");
138
+ function toggleDetail(row, index) {
138
139
  if (row.detailShow) {
139
140
  row.detailShow = false;
140
141
  } else {
141
142
  row.detailShow = true;
142
143
  }
144
+ tableRef.hanldeDetailChange(row, index, row.detailShow);
143
145
  }
144
146
  __expose({
145
147
  checkAll,
@@ -227,7 +229,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
227
229
  column.detailToggle ? (vue.openBlock(), vue.createElementBlock("span", {
228
230
  key: 1,
229
231
  class: vue.normalizeClass(["to-table-detail-toggle", { "is-detail": row.detailShow }]),
230
- onClick: ($event) => toggleDetail(row)
232
+ onClick: ($event) => toggleDetail(row, index)
231
233
  }, null, 10, ["onClick"])) : vue.createCommentVNode("v-if", true),
232
234
  vue.renderSlot(_ctx.$slots, column.prop, {
233
235
  row,
@@ -259,7 +261,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
259
261
  column.detailToggle ? (vue.openBlock(), vue.createElementBlock("span", {
260
262
  key: 1,
261
263
  class: vue.normalizeClass(["to-table-detail-toggle", { "is-detail": row.detailShow }]),
262
- onClick: ($event) => toggleDetail(row)
264
+ onClick: ($event) => toggleDetail(row, index)
263
265
  }, null, 10, ["onClick"])) : vue.createCommentVNode("v-if", true),
264
266
  vue.renderSlot(_ctx.$slots, column.prop, {
265
267
  row,
@@ -1 +1 @@
1
- {"version":3,"file":"table-body.vue2.js","sources":["../../../../../../packages/components/table/src/table-body.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTableBody'\n});\n</script>\n<template>\n\t<tbody ref=\"$el\" class=\"to-table-body\">\n\t\t<template v-for=\"(row, index) in visibleRows\" :key=\"index\">\n\t\t\t<tr class=\"to-table-body-row\">\n\t\t\t\t<template v-for=\"column in props.columnData\">\n\t\t\t\t\t<td v-if=\"column.type === 'check'\" :key=\"column.prop + 'check'\" class=\"to-table-td type-check\">\n\t\t\t\t\t\t<ToCheckbox v-model=\"row._checked\" @change=\"change\"></ToCheckbox>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-else-if=\"column.type === 'radio'\" :key=\"column.prop + 'radio'\" class=\"to-table-td type-check\">\n\t\t\t\t\t\t<div class=\"to-table-radio\" :class=\"{ 'is-checked': row._checked }\" @click=\"radioChange(row)\"></div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-else-if=\"column.type === 'action'\" :key=\"column.prop + 'action'\" class=\"to-table-td type-action\">\n\t\t\t\t\t\t<div class=\"to-table-action\">\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t{{ row[column.prop] }}\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<template v-else-if=\"column._show !== false\">\n\t\t\t\t\t\t<td v-if=\"tipShow === index && column.showTip\" :key=\"column.prop\" v-tip=\"row[column.prop]\" class=\"to-table-td\" :class=\"setTdClass(column).value\" :style=\"{ paddingLeft: column.toggler && row._level ? `${row._level + 2}em` : '' }\" @mouseenter=\"e => handleMouseEnter(e, index)\" @mouseleave=\"handleMouseLeave\">\n\t\t\t\t\t\t\t<span v-if=\"hasChildren(row) && column.toggler\" class=\"to-table-toggle\" :class=\"{ 'is-expand': expandedSet.has(row._id) }\" @click=\"toggleExpand(row)\"></span>\n\t\t\t\t\t\t\t<span v-if=\"column.detailToggle\" class=\"to-table-detail-toggle\" :class=\"{ 'is-detail': row.detailShow }\" @click=\"toggleDetail(row)\"></span>\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t<span>{{ row[column.prop] }}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td v-else :key=\"column.prop + 'else'\" class=\"to-table-td\" :class=\"setTdClass(column).value\" :style=\"{ paddingLeft: column.toggler && row._level ? `${row._level + 2}em` : '' }\" @mouseenter=\"e => handleMouseEnter(e, index)\" @mouseleave=\"handleMouseLeave\">\n\t\t\t\t\t\t\t<span v-if=\"hasChildren(row) && column.toggler\" class=\"to-table-toggle\" :class=\"{ 'is-expand': expandedSet.has(row._id) }\" @click=\"toggleExpand(row)\"></span>\n\t\t\t\t\t\t\t<span v-if=\"column.detailToggle\" class=\"to-table-detail-toggle\" :class=\"{ 'is-detail': row.detailShow }\" @click=\"toggleDetail(row)\"></span>\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t<span>{{ row[column.prop] }}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\t\t\t</tr>\n\t\t\t<tr v-if=\"row.detailShow\" class=\"to-table-detail-row\">\n\t\t\t\t<td :colspan=\"props.columnData.length\" class=\"to-table-detail-cell\">\n\t\t\t\t\t<slot name=\"detail\" :row=\"row\" :index=\"index\"></slot>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</template>\n\t</tbody>\n</template>\n<script setup lang=\"ts\">\nimport { computed, ref, reactive, nextTick } from 'vue'\n\nconst emit = defineEmits(['change'])\ninterface Props {\n\ttype?: string\n\tdata?: Record<string, any>[]\n\tcolumnData?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; showTip?: boolean; detailToggle?: boolean }[]\n}\nconst props = withDefaults(defineProps<Props>(), {\n\ttype: '',\n\tdata: () => [],\n\tcolumnData: () => []\n})\nconst $el = ref(null)\nconst flatData = computed(() => flattenTree(props.data))\nconst expandedSet = ref(new Set<number>())\nconst visibleRows = computed(() => flatData.value.filter(item => item._level === 0 || isVisible(item, flatData.value)))\nconst tipShow = ref<string | number>('')\n\n// 选择\nconst checkedRows = computed(() => {\n\tlet checked = []\n\tvisibleRows.value.map(item => {\n\t\tif (item._checked) {\n\t\t\tchecked.push(item)\n\t\t}\n\t})\n\treturn checked\n})\n\nconst allChecked = computed(() => {\n\treturn checkedRows.value.length === flatData.value.length\n})\n\nlet uid = 0\ninterface FlatNode {\n\t_id: number\n\t_parentId?: number\n\t_level: number\n\tchildren?: any[]\n\t_checked: boolean\n\t_show: boolean\n\tdetailShow: boolean\n\t[key: string]: any\n}\nfunction flattenTree(data: any[], _level = 0, _parentId?: number): FlatNode[] {\n\tconst result: FlatNode[] = []\n\tfor (const item of data) {\n\t\tconst _id = uid++\n\t\tconst { children, ...rest } = item\n\t\tresult.push(reactive({ ...rest, _id, _parentId, _level, _checked: Boolean(item._checked) }))\n\n\t\tif (children && Array.isArray(children)) {\n\t\t\tresult.push(...flattenTree(children, _level + 1, _id))\n\t\t}\n\t}\n\treturn result\n}\nfunction isVisible(item: FlatNode, all: FlatNode[]) {\n\t// 只有它的所有祖先都被展开,才能显示\n\tlet _parentId = item._parentId\n\twhile (_parentId !== undefined) {\n\t\tif (!expandedSet.value.has(_parentId)) return false\n\t\tconst parent = all.find(n => n.id === _parentId)\n\t\t_parentId = parent?._parentId\n\t}\n\treturn true\n}\n\nfunction toggleExpand(row: FlatNode) {\n\tif (expandedSet.value.has(row._id)) {\n\t\texpandedSet.value.delete(row._id)\n\t} else {\n\t\texpandedSet.value.add(row._id)\n\t}\n}\n\nfunction hasChildren(row: FlatNode) {\n\treturn flatData.value.some(item => item._parentId === row._id)\n}\n\nfunction change(checked) {\n\tnextTick(() => {\n\t\temit('change', checkedRows.value, checked, allChecked.value)\n\t})\n}\n\nfunction checkAll(boolean) {\n\tvisibleRows.value.map(item => {\n\t\titem._checked = boolean\n\t})\n}\n\nfunction radioChange(row) {\n\tif (!row._checked) {\n\t\tvisibleRows.value.map(item => {\n\t\t\titem._checked = false\n\t\t})\n\t\trow._checked = true\n\t\temit('change', row, true)\n\t} else {\n\t\trow._checked = false\n\t\temit('change', null, false)\n\t}\n}\n\nconst setTdClass = column => {\n\treturn computed(() => {\n\t\tconst classes: string[] = []\n\t\tif (column.type === 'action') classes.push('is-action')\n\t\tif (column.wrap) {\n\t\t\tclasses.push('is-wrap')\n\t\t} else if (column.wrap === false) {\n\t\t\tclasses.push('is-nowrap')\n\t\t}\n\t\tif (column.type) classes.push(`type-${column.type}`)\n\t\treturn classes\n\t})\n}\n\nfunction handleMouseEnter(e, idx) {\n\tif (e.target.scrollWidth > e.target.clientWidth) {\n\t\ttipShow.value = idx\n\t}\n}\n\nfunction handleMouseLeave() {\n\ttipShow.value = ''\n}\n\nfunction setCheckData(ids, valueKeys) {\n\tvisibleRows.value.map(item => {\n\t\tif (ids) {\n\t\t\tif (Array.isArray(ids)) {\n\t\t\t\tif (ids.includes(item[valueKeys])) {\n\t\t\t\t\titem._checked = true\n\t\t\t\t} else {\n\t\t\t\t\titem._checked = false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (item[valueKeys] === ids) {\n\t\t\t\t\titem._checked = true\n\t\t\t\t} else {\n\t\t\t\t\titem._checked = false\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem._checked = false\n\t\t}\n\t})\n}\nfunction toggleDetail(row) {\n\tif (row.detailShow) {\n\t\trow.detailShow = false\n\t} else {\n\t\trow.detailShow = true\n\t}\n}\n\ndefineExpose({\n\tcheckAll,\n\tflatData,\n\tsetCheckData\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","reactive","nextTick","_createElementBlock","_openBlock","_Fragment","_renderList","_createElementVNode","_createVNode","_normalizeClass","_renderSlot","_normalizeStyle","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"table-body.vue2.js","sources":["../../../../../../packages/components/table/src/table-body.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTableBody'\n});\n</script>\n<template>\n\t<tbody ref=\"$el\" class=\"to-table-body\">\n\t\t<template v-for=\"(row, index) in visibleRows\" :key=\"index\">\n\t\t\t<tr class=\"to-table-body-row\">\n\t\t\t\t<template v-for=\"column in props.columnData\">\n\t\t\t\t\t<td v-if=\"column.type === 'check'\" :key=\"column.prop + 'check'\" class=\"to-table-td type-check\">\n\t\t\t\t\t\t<ToCheckbox v-model=\"row._checked\" @change=\"change\"></ToCheckbox>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-else-if=\"column.type === 'radio'\" :key=\"column.prop + 'radio'\" class=\"to-table-td type-check\">\n\t\t\t\t\t\t<div class=\"to-table-radio\" :class=\"{ 'is-checked': row._checked }\" @click=\"radioChange(row)\"></div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td v-else-if=\"column.type === 'action'\" :key=\"column.prop + 'action'\" class=\"to-table-td type-action\">\n\t\t\t\t\t\t<div class=\"to-table-action\">\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t{{ row[column.prop] }}\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<template v-else-if=\"column._show !== false\">\n\t\t\t\t\t\t<td v-if=\"tipShow === index && column.showTip\" :key=\"column.prop\" v-tip=\"row[column.prop]\" class=\"to-table-td\" :class=\"setTdClass(column).value\" :style=\"{ paddingLeft: column.toggler && row._level ? `${row._level + 2}em` : '' }\" @mouseenter=\"e => handleMouseEnter(e, index)\" @mouseleave=\"handleMouseLeave\">\n\t\t\t\t\t\t\t<span v-if=\"hasChildren(row) && column.toggler\" class=\"to-table-toggle\" :class=\"{ 'is-expand': expandedSet.has(row._id) }\" @click=\"toggleExpand(row)\"></span>\n\t\t\t\t\t\t\t<span v-if=\"column.detailToggle\" class=\"to-table-detail-toggle\" :class=\"{ 'is-detail': row.detailShow }\" @click=\"toggleDetail(row, index)\"></span>\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t<span>{{ row[column.prop] }}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td v-else :key=\"column.prop + 'else'\" class=\"to-table-td\" :class=\"setTdClass(column).value\" :style=\"{ paddingLeft: column.toggler && row._level ? `${row._level + 2}em` : '' }\" @mouseenter=\"e => handleMouseEnter(e, index)\" @mouseleave=\"handleMouseLeave\">\n\t\t\t\t\t\t\t<span v-if=\"hasChildren(row) && column.toggler\" class=\"to-table-toggle\" :class=\"{ 'is-expand': expandedSet.has(row._id) }\" @click=\"toggleExpand(row)\"></span>\n\t\t\t\t\t\t\t<span v-if=\"column.detailToggle\" class=\"to-table-detail-toggle\" :class=\"{ 'is-detail': row.detailShow }\" @click=\"toggleDetail(row, index)\"></span>\n\t\t\t\t\t\t\t<slot :name=\"column.prop\" :row=\"row\" :column=\"column\" :index=\"index\">\n\t\t\t\t\t\t\t\t<span>{{ row[column.prop] }}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\t\t\t</tr>\n\t\t\t<tr v-if=\"row.detailShow\" class=\"to-table-detail-row\">\n\t\t\t\t<td :colspan=\"props.columnData.length\" class=\"to-table-detail-cell\">\n\t\t\t\t\t<slot name=\"detail\" :row=\"row\" :index=\"index\"></slot>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</template>\n\t</tbody>\n</template>\n<script setup lang=\"ts\">\nimport { computed, ref, reactive, nextTick, inject } from 'vue'\nimport { TableProvideType } from './table.vue'\n\nconst emit = defineEmits(['change'])\ninterface Props {\n\ttype?: string\n\tdata?: Record<string, any>[]\n\tcolumnData?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; showTip?: boolean; detailToggle?: boolean }[]\n}\nconst props = withDefaults(defineProps<Props>(), {\n\ttype: '',\n\tdata: () => [],\n\tcolumnData: () => []\n})\nconst $el = ref(null)\nconst flatData = computed(() => flattenTree(props.data))\nconst expandedSet = ref(new Set<number>())\nconst visibleRows = computed(() => flatData.value.filter(item => item._level === 0 || isVisible(item, flatData.value)))\nconst tipShow = ref<string | number>('')\n\n// 选择\nconst checkedRows = computed(() => {\n\tlet checked = []\n\tvisibleRows.value.map(item => {\n\t\tif (item._checked) {\n\t\t\tchecked.push(item)\n\t\t}\n\t})\n\treturn checked\n})\n\nconst allChecked = computed(() => {\n\treturn checkedRows.value.length === flatData.value.length\n})\n\nlet uid = 0\ninterface FlatNode {\n\t_id: number\n\t_parentId?: number\n\t_level: number\n\tchildren?: any[]\n\t_checked: boolean\n\t_show: boolean\n\tdetailShow: boolean\n\t[key: string]: any\n}\nfunction flattenTree(data: any[], _level = 0, _parentId?: number): FlatNode[] {\n\tconst result: FlatNode[] = []\n\tfor (const item of data) {\n\t\tconst _id = uid++\n\t\tconst { children, ...rest } = item\n\t\tresult.push(reactive({ ...rest, _id, _parentId, _level, _checked: Boolean(item._checked) }))\n\n\t\tif (children && Array.isArray(children)) {\n\t\t\tresult.push(...flattenTree(children, _level + 1, _id))\n\t\t}\n\t}\n\treturn result\n}\nfunction isVisible(item: FlatNode, all: FlatNode[]) {\n\t// 只有它的所有祖先都被展开,才能显示\n\tlet _parentId = item._parentId\n\twhile (_parentId !== undefined) {\n\t\tif (!expandedSet.value.has(_parentId)) return false\n\t\tconst parent = all.find(n => n.id === _parentId)\n\t\t_parentId = parent?._parentId\n\t}\n\treturn true\n}\n\nfunction toggleExpand(row: FlatNode) {\n\tif (expandedSet.value.has(row._id)) {\n\t\texpandedSet.value.delete(row._id)\n\t} else {\n\t\texpandedSet.value.add(row._id)\n\t}\n}\n\nfunction hasChildren(row: FlatNode) {\n\treturn flatData.value.some(item => item._parentId === row._id)\n}\n\nfunction change(checked) {\n\tnextTick(() => {\n\t\temit('change', checkedRows.value, checked, allChecked.value)\n\t})\n}\n\nfunction checkAll(boolean) {\n\tvisibleRows.value.map(item => {\n\t\titem._checked = boolean\n\t})\n}\n\nfunction radioChange(row) {\n\tif (!row._checked) {\n\t\tvisibleRows.value.map(item => {\n\t\t\titem._checked = false\n\t\t})\n\t\trow._checked = true\n\t\temit('change', row, true)\n\t} else {\n\t\trow._checked = false\n\t\temit('change', null, false)\n\t}\n}\n\nconst setTdClass = column => {\n\treturn computed(() => {\n\t\tconst classes: string[] = []\n\t\tif (column.type === 'action') classes.push('is-action')\n\t\tif (column.wrap) {\n\t\t\tclasses.push('is-wrap')\n\t\t} else if (column.wrap === false) {\n\t\t\tclasses.push('is-nowrap')\n\t\t}\n\t\tif (column.type) classes.push(`type-${column.type}`)\n\t\treturn classes\n\t})\n}\n\nfunction handleMouseEnter(e, idx) {\n\tif (e.target.scrollWidth > e.target.clientWidth) {\n\t\ttipShow.value = idx\n\t}\n}\n\nfunction handleMouseLeave() {\n\ttipShow.value = ''\n}\n\nfunction setCheckData(ids, valueKeys) {\n\tvisibleRows.value.map(item => {\n\t\tif (ids) {\n\t\t\tif (Array.isArray(ids)) {\n\t\t\t\tif (ids.includes(item[valueKeys])) {\n\t\t\t\t\titem._checked = true\n\t\t\t\t} else {\n\t\t\t\t\titem._checked = false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (item[valueKeys] === ids) {\n\t\t\t\t\titem._checked = true\n\t\t\t\t} else {\n\t\t\t\t\titem._checked = false\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem._checked = false\n\t\t}\n\t})\n}\nconst tableRef: TableProvideType = inject('TableRef')\nfunction toggleDetail(row, index) {\n\tif (row.detailShow) {\n\t\trow.detailShow = false\n\t} else {\n\t\trow.detailShow = true\n\t}\n\ttableRef.hanldeDetailChange(row, index, row.detailShow)\n}\n\ndefineExpose({\n\tcheckAll,\n\tflatData,\n\tsetCheckData\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","reactive","nextTick","inject","_createElementBlock","_openBlock","_Fragment","_renderList","_createElementVNode","_createVNode","_normalizeClass","_renderSlot","_normalizeStyle","_toDisplayString"],"mappings":"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"}
@@ -28,7 +28,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
28
  valueKeys: { default: "_id" },
29
29
  sortFunction: { type: [Function, null], default: null }
30
30
  },
31
- emits: ["change", "update:modelValue", "sort"],
31
+ emits: ["change", "update:modelValue", "sort", "detailChange"],
32
32
  setup(__props, { emit: __emit }) {
33
33
  const emit = __emit;
34
34
  const props = __props;
@@ -379,8 +379,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
379
379
  props.sortFunction(column, type);
380
380
  }
381
381
  };
382
+ const hanldeDetailChange = (column, index, value) => {
383
+ emit("detailChange", column, index, value);
384
+ };
382
385
  vue.provide("TableRef", {
383
- handleTheadCellClick
386
+ handleTheadCellClick,
387
+ hanldeDetailChange
384
388
  });
385
389
  return (_ctx, _cache) => {
386
390
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTable'\n});\n</script>\n<template>\n\t<div ref=\"$el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-table\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"body\" class=\"to-table-wrapper\" @scroll=\"scrollHandle\">\n\t\t\t<table ref=\"bodyTable\" class=\"to-table-table\">\n\t\t\t\t<colgroup>\n\t\t\t\t\t<col v-for=\"(item, index) in columns\" :key=\"index\" :class=\"item.type ? `type-${item.type}` : ''\" class=\"to-table-col\" :style=\"{ width: getColWidth(item) }\" />\n\t\t\t\t</colgroup>\n\t\t\t\t<TableHead ref=\"bodyHead\" :checked-all=\"checkedAll\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"bodyBody\" :type=\"hasRadio ? 'radio' : hasCheck ? 'check' : ''\" :data=\"data\" :checked-all=\"checkedAll\" :column-data=\"columns\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t\t<div v-if=\"!data.length\" class=\"to-table-empty\">{{ props.emptyText || t('to.table.emptyText') }}</div>\n\t\t</div>\n\t\t<div v-if=\"Number(fixTop) > 0\" ref=\"top\" class=\"to-table-top\">\n\t\t\t<table ref=\"topTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"topHead\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0\" ref=\"left\" class=\"to-table-left\">\n\t\t\t<table ref=\"leftTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"leftBody\" :data=\"data\" :column-data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0 && Number(fixTop) > 0\" ref=\"leftTop\" class=\"to-table-left-top\">\n\t\t\t<table ref=\"leftTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftTopHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0\" ref=\"right\" class=\"to-table-right\">\n\t\t\t<table ref=\"rightTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"rightBody\" :data=\"data\" :column-data=\"columns.slice(columns.length - Number(fixRight), columns.length)\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0 && Number(fixTop) > 0\" ref=\"rightTop\" class=\"to-table-right-top\">\n\t\t\t<table ref=\"rightTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightTopHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport TableHead from './table-head.vue'\nimport TableBody from './table-body.vue'\nimport { computed, onMounted, ref, watch, nextTick, provide } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\n\nconst emit = defineEmits(['change', 'update:modelValue', 'sort'])\nexport type modelType = any[] | string | number\n// 定义参数\nexport interface Props {\n\tflex?: boolean\n\tcolumns?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; width?: number | string; wrap?: boolean }[]\n\tdata?: Record<string, any>[]\n\theight?: number | string\n\tfixTop?: number | string\n\tfixLeft?: number | string\n\tfixRight?: number | string\n\tmode?: string\n\twrap?: boolean\n\tthWrap?: boolean\n\temptyText?: string\n\tmodelValue?: modelType\n\tvalueKeys?: string | number\n\tsortFunction?: ((column, type) => any) | null\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolumns: () => [],\n\tdata: () => [],\n\theight: '',\n\tfixLeft: 0,\n\tfixRight: 0,\n\tfixTop: 0,\n\twrap: false,\n\tthWrap: false,\n\temptyText: '',\n\tmodelValue: '',\n\tvalueKeys: '_id',\n\tflex: false,\n\tsortFunction: null\n})\n\n// 获取 ref\nconst $el = ref(null)\nconst top = ref(null)\nconst topTable = ref(null)\nconst topHead = ref(null)\nconst body = ref(null)\nconst bodyTable = ref(null)\nconst bodyHead = ref(null)\nconst bodyBody = ref(null)\nconst left = ref(null)\nconst leftTable = ref(null)\nconst leftHead = ref(null)\nconst leftBody = ref(null)\nconst leftTop = ref(null)\nconst leftTopTable = ref(null)\nconst leftTopHead = ref(null)\nconst right = ref(null)\nconst rightTable = ref(null)\nconst rightHead = ref(null)\nconst rightBody = ref(null)\nconst rightTop = ref(null)\nconst rightTopTable = ref(null)\nconst rightTopHead = ref(null)\n\n// 定义变量\nconst checkedAll = ref(false)\n\n// 设置样式\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\tif (props.height === 'full') classes.push('height-full')\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\tif (props.wrap) classes.push('is-wrap')\n\tif (isSetWidth()) {\n\t\tclasses.push('is-fixed')\n\t}\n\treturn classes\n})\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height as string)) ? String(props.height) : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tbodyBody.value.setCheckData(val, props.valueKeys)\n\t\t\tif (Number(props.fixLeft) > 0) {\n\t\t\t\tleftBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t\tif (Number(props.fixRight) > 0) {\n\t\t\t\trightBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\n\nfunction isSetWidth() {\n\treturn props.columns.some(item => item.width)\n}\n\n// 固定表头/表身\nfunction getBarWidth() {\n\tvar scrollTester = document.createElement('div')\n\tscrollTester.id = 'scrollTester'\n\tscrollTester.style.width = '200px'\n\tscrollTester.style.height = '200px'\n\tscrollTester.style.position = 'absolute'\n\tscrollTester.style.visibility = 'hidden'\n\tscrollTester.style.overflow = 'scroll'\n\tdocument.body.appendChild(scrollTester)\n\tvar barWidth = document.getElementById('scrollTester').offsetWidth - document.getElementById('scrollTester').scrollWidth\n\tdocument.body.removeChild(scrollTester)\n\tscrollTester = null\n\treturn barWidth\n}\nfunction db(fn, wait = 50) {\n\tlet timer = null\n\treturn function (...args) {\n\t\tif (timer) clearTimeout(timer)\n\t\ttimer = setTimeout(() => {\n\t\t\tfn.apply(this, args)\n\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}, wait)\n\t}\n}\nfunction adjust() {\n\tdb(() => {\n\t\t// setBottomLine()\n\t\t// setNodata()\n\t\tsetFix()\n\t}, 200)()\n}\nwatch(\n\t() => props.data,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tsetFix()\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\nfunction setFix() {\n\tnextTick(() => {\n\t\tsetFixDiv()\n\t\tsyncThWidth()\n\t\tsyncTrHeight()\n\t})\n\t// setTimeout(() => {\n\t// \t// if (this.type === 'v') {\n\t// \t// \treturn\n\t// \t// }\n\t// \tsetFixDiv()\n\t// \tsyncThWidth()\n\t// \tsyncTrHeight()\n\t// }, 0)\n}\nfunction hasVScroll() {\n\treturn bodyTable.value.offsetHeight > $el.value.offsetHeight\n}\nfunction hasHScroll() {\n\treturn bodyTable.value.offsetWidth > $el.value.offsetWidth\n}\nfunction setFixDiv() {\n\tif (Number(props.fixTop) > 0 && top.value && topTable.value) {\n\t\tif (hasVScroll()) {\n\t\t\ttop.value.style.width = body.value.offsetWidth - getBarWidth() + 'px'\n\t\t}\n\t\ttopTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t\tbodyTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t}\n\tif (Number(props.fixLeft) > 0 && left.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tleft.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t}\n\tif (Number(props.fixRight) > 0 && right.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tright.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t\tif (hasVScroll()) {\n\t\t\tright.value.style.right = getBarWidth() + 'px'\n\t\t\tif (Number(props.fixTop) > 0) {\n\t\t\t\trightTop.value.style.right = getBarWidth() + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction syncThWidth() {\n\tif (props.columns.length > 0 && bodyHead.value && bodyHead.value.row) {\n\t\tconst trs = bodyHead.value.row.children\n\t\tif (Number(props.fixTop) > 0 && topHead.value && topHead.value.row) {\n\t\t\tconst topTrs = topHead.value.row.children\n\t\t\tfor (let i = 0; i < topTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst topThs = topTrs[i]?.children\n\t\t\t\tif (ths && topThs) {\n\t\t\t\t\tfor (let j = 0; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst topTh = topThs[j]\n\t\t\t\t\t\tif (th && topTh) {\n\t\t\t\t\t\t\ttopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixLeft) > 0 && leftHead.value && leftHead.value.row) {\n\t\t\tconst leftTrs = leftHead.value.row.children\n\t\t\tfor (let i = 0; i < leftTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst leftThs = leftTrs[i]?.children\n\t\t\t\tif (ths && leftThs && leftThs.length > 0) {\n\t\t\t\t\tfor (let j = 0; j < leftThs.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst leftTh = leftThs[j]\n\t\t\t\t\t\tif (th && leftTh) {\n\t\t\t\t\t\t\tleftTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\tleftTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && leftTopHead.value && leftTopHead.value.row) {\n\t\t\t\tconst leftTopTrs = leftTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < leftTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst leftTopThs = leftTopTrs[i]?.children\n\t\t\t\t\tif (ths && leftTopThs && leftTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = 0; j < leftTopThs.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst leftTopTh = leftTopThs[j]\n\t\t\t\t\t\t\tif (th && leftTopTh) {\n\t\t\t\t\t\t\t\tleftTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\tleftTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixRight) > 0 && rightHead.value && rightHead.value.row) {\n\t\t\tconst rightTrs = rightHead.value.row.children\n\t\t\tfor (let i = 0; i < rightTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst rightThs = rightTrs[i]?.children\n\t\t\t\tif (ths && rightThs && rightThs.length > 0) {\n\t\t\t\t\tfor (let j = ths.length - rightThs.length; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst rightTh = rightThs[j - ths.length + rightThs.length]\n\t\t\t\t\t\tif (th && rightTh) {\n\t\t\t\t\t\t\trightTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\trightTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && rightTopHead.value && rightTopHead.value.row) {\n\t\t\t\tconst rightTopTrs = rightTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < rightTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst rightTopThs = rightTopTrs[i]?.children\n\t\t\t\t\tif (ths && rightTopThs && rightTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = ths.length - rightTopThs.length; j < ths.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst rightTopTh = rightTopThs[j - ths.length + rightTopThs.length]\n\t\t\t\t\t\t\tif (th && rightTopTh) {\n\t\t\t\t\t\t\t\trightTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\trightTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nfunction syncTrHeight() {\n\t// if (this.type === 'v' || !props.syncHeight) { return }\n\tif (!(props.fixRight || props.fixLeft)) return\n\tif (bodyBody.value?.$el.children.length) {\n\t\tfor (let i = 0; i < bodyBody.value.$el.children.length; i++) {\n\t\t\tconst tr = bodyBody.value.$el.children[i]\n\t\t\tif (Number(props.fixRight) > 0 && rightBody.value) {\n\t\t\t\trightBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t\tif (Number(props.fixLeft) > 0 && leftBody.value) {\n\t\t\t\tleftBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction scrollHandle() {\n\tvar scrollLeft = body.value.scrollLeft\n\tvar scrollTop = body.value.scrollTop\n\tif (typeof scrollLeft !== 'undefined') {\n\t\tif (props.fixTop && topTable.value) {\n\t\t\ttopTable.value.style.left = 0 - scrollLeft + 'px'\n\t\t}\n\t\tif (props.fixRight && rightTable.value) {\n\t\t\trightTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t\tif (props.fixLeft && leftTable.value) {\n\t\t\tleftTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t}\n}\n\nonMounted(() => {\n\tadjust()\n})\n\n// 选择支持\nconst hasRadio = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'radio') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\n\n// 排序支持\nfunction sortChange(sortInfo) {\n\temit('sort', sortInfo)\n}\nconst hasCheck = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'check') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\nfunction change(rows, checked, isAll) {\n\tif (rows) {\n\t\t//type=check\n\t\tlet ids: modelType = ''\n\t\tif (Array.isArray(rows)) {\n\t\t\tids = rows.map(item => item[props.valueKeys])\n\t\t} else {\n\t\t\tids = rows[props.valueKeys]\n\t\t}\n\t\temit('update:modelValue', ids)\n\t} else {\n\t\temit('update:modelValue', '')\n\t}\n\temit('change', rows, checked, isAll)\n\tcheckedAll.value = isAll\n}\nfunction checkedAllChange(isAll) {\n\tif (isAll) {\n\t\tlet ids = props.data.map(item => item[props.valueKeys])\n\t\temit('update:modelValue', ids)\n\t\temit('change', props.data, true, true)\n\t} else {\n\t\temit('update:modelValue', [])\n\t\temit('change', [], false, false)\n\t}\n\tbodyBody.value.checkAll(isAll)\n\tif (Number(props.fixLeft) > 0) {\n\t\tleftBody.value.checkAll(isAll)\n\t}\n\tif (Number(props.fixRight) > 0) {\n\t\trightBody.value.checkAll(isAll)\n\t}\n}\n\n// todo 默认全选的需求\n\n// 多级表头支持\nconst flattenColumns = computed(() => {\n\t// 打平多级 columns 数组,用于 slot 遍历\n\tlet arr = []\n\tfunction setArr(data) {\n\t\tdata.map(column => {\n\t\t\tlet tempColumn = JSON.parse(JSON.stringify(column))\n\t\t\tif (tempColumn.children) {\n\t\t\t\tdelete tempColumn.children\n\t\t\t}\n\t\t\tarr.push(tempColumn)\n\t\t\tif (column.children) {\n\t\t\t\tsetArr(column.children)\n\t\t\t}\n\t\t})\n\t}\n\tsetArr(props.columns)\n\treturn arr\n})\n\nfunction getColWidth(column) {\n\tif (column.width) {\n\t\tif (isNaN(Number(column.width))) {\n\t\t\treturn column.width\n\t\t} else {\n\t\t\treturn column.width + 'em'\n\t\t}\n\t}\n}\nconst handleTheadCellClick = (column, type) => {\n\tif (props.sortFunction) {\n\t\tprops.sortFunction(column, type)\n\t}\n}\nexport interface TableProvideType {\n\thandleTheadCellClick: (column, type) => void\n}\n\nprovide<TableProvideType>('TableRef', {\n\thandleTheadCellClick\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","watch","nextTick","onMounted","provide","_createElementBlock","_unref","langKey","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","columns","_normalizeStyle","_createVNode","TableHead","TableBody","data","_withCtx","_renderSlot","_renderList","t","fixTop","fixLeft","fixRight"],"mappings":"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"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTable'\n});\n</script>\n<template>\n\t<div ref=\"$el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-table\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"body\" class=\"to-table-wrapper\" @scroll=\"scrollHandle\">\n\t\t\t<table ref=\"bodyTable\" class=\"to-table-table\">\n\t\t\t\t<colgroup>\n\t\t\t\t\t<col v-for=\"(item, index) in columns\" :key=\"index\" :class=\"item.type ? `type-${item.type}` : ''\" class=\"to-table-col\" :style=\"{ width: getColWidth(item) }\" />\n\t\t\t\t</colgroup>\n\t\t\t\t<TableHead ref=\"bodyHead\" :checked-all=\"checkedAll\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"bodyBody\" :type=\"hasRadio ? 'radio' : hasCheck ? 'check' : ''\" :data=\"data\" :checked-all=\"checkedAll\" :column-data=\"columns\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t\t<div v-if=\"!data.length\" class=\"to-table-empty\">{{ props.emptyText || t('to.table.emptyText') }}</div>\n\t\t</div>\n\t\t<div v-if=\"Number(fixTop) > 0\" ref=\"top\" class=\"to-table-top\">\n\t\t\t<table ref=\"topTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"topHead\" :data=\"columns\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0\" ref=\"left\" class=\"to-table-left\">\n\t\t\t<table ref=\"leftTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"leftBody\" :data=\"data\" :column-data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixLeft) > 0 && Number(fixTop) > 0\" ref=\"leftTop\" class=\"to-table-left-top\">\n\t\t\t<table ref=\"leftTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"leftTopHead\" :data=\"columns.slice(0, Number(props.fixLeft))\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0\" ref=\"right\" class=\"to-table-right\">\n\t\t\t<table ref=\"rightTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t\t<TableBody ref=\"rightBody\" :data=\"data\" :column-data=\"columns.slice(columns.length - Number(fixRight), columns.length)\" @change=\"change\">\n\t\t\t\t\t<template v-for=\"columnItem in flattenColumns\" #[columnItem.prop]=\"slotProps\">\n\t\t\t\t\t\t<slot :name=\"columnItem.prop\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #detail=\"slotProps\">\n\t\t\t\t\t\t<slot name=\"detail\" v-bind=\"slotProps\" />\n\t\t\t\t\t</template>\n\t\t\t\t</TableBody>\n\t\t\t</table>\n\t\t</div>\n\t\t<div v-if=\"Number(fixRight) > 0 && Number(fixTop) > 0\" ref=\"rightTop\" class=\"to-table-right-top\">\n\t\t\t<table ref=\"rightTopTable\" class=\"to-table-table\">\n\t\t\t\t<TableHead ref=\"rightTopHead\" :data=\"columns.slice(columns.length - Number(props.fixRight), columns.length)\" @change=\"checkedAllChange\" @sort=\"sortChange\"></TableHead>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport TableHead from './table-head.vue'\nimport TableBody from './table-body.vue'\nimport { computed, onMounted, ref, watch, nextTick, provide } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\n\nconst emit = defineEmits(['change', 'update:modelValue', 'sort', 'detailChange'])\nexport type modelType = any[] | string | number\n// 定义参数\nexport interface Props {\n\tflex?: boolean\n\tcolumns?: { prop?: string; label?: string; type?: string; toggler?: boolean; _show: boolean; width?: number | string; wrap?: boolean }[]\n\tdata?: Record<string, any>[]\n\theight?: number | string\n\tfixTop?: number | string\n\tfixLeft?: number | string\n\tfixRight?: number | string\n\tmode?: string\n\twrap?: boolean\n\tthWrap?: boolean\n\temptyText?: string\n\tmodelValue?: modelType\n\tvalueKeys?: string | number\n\tsortFunction?: ((column, type) => any) | null\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolumns: () => [],\n\tdata: () => [],\n\theight: '',\n\tfixLeft: 0,\n\tfixRight: 0,\n\tfixTop: 0,\n\twrap: false,\n\tthWrap: false,\n\temptyText: '',\n\tmodelValue: '',\n\tvalueKeys: '_id',\n\tflex: false,\n\tsortFunction: null\n})\n\n// 获取 ref\nconst $el = ref(null)\nconst top = ref(null)\nconst topTable = ref(null)\nconst topHead = ref(null)\nconst body = ref(null)\nconst bodyTable = ref(null)\nconst bodyHead = ref(null)\nconst bodyBody = ref(null)\nconst left = ref(null)\nconst leftTable = ref(null)\nconst leftHead = ref(null)\nconst leftBody = ref(null)\nconst leftTop = ref(null)\nconst leftTopTable = ref(null)\nconst leftTopHead = ref(null)\nconst right = ref(null)\nconst rightTable = ref(null)\nconst rightHead = ref(null)\nconst rightBody = ref(null)\nconst rightTop = ref(null)\nconst rightTopTable = ref(null)\nconst rightTopHead = ref(null)\n\n// 定义变量\nconst checkedAll = ref(false)\n\n// 设置样式\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\tif (props.height === 'full') classes.push('height-full')\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\tif (props.wrap) classes.push('is-wrap')\n\tif (isSetWidth()) {\n\t\tclasses.push('is-fixed')\n\t}\n\treturn classes\n})\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height as string)) ? String(props.height) : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tbodyBody.value.setCheckData(val, props.valueKeys)\n\t\t\tif (Number(props.fixLeft) > 0) {\n\t\t\t\tleftBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t\tif (Number(props.fixRight) > 0) {\n\t\t\t\trightBody.value.setCheckData(val, props.valueKeys)\n\t\t\t}\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\n\nfunction isSetWidth() {\n\treturn props.columns.some(item => item.width)\n}\n\n// 固定表头/表身\nfunction getBarWidth() {\n\tvar scrollTester = document.createElement('div')\n\tscrollTester.id = 'scrollTester'\n\tscrollTester.style.width = '200px'\n\tscrollTester.style.height = '200px'\n\tscrollTester.style.position = 'absolute'\n\tscrollTester.style.visibility = 'hidden'\n\tscrollTester.style.overflow = 'scroll'\n\tdocument.body.appendChild(scrollTester)\n\tvar barWidth = document.getElementById('scrollTester').offsetWidth - document.getElementById('scrollTester').scrollWidth\n\tdocument.body.removeChild(scrollTester)\n\tscrollTester = null\n\treturn barWidth\n}\nfunction db(fn, wait = 50) {\n\tlet timer = null\n\treturn function (...args) {\n\t\tif (timer) clearTimeout(timer)\n\t\ttimer = setTimeout(() => {\n\t\t\tfn.apply(this, args)\n\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}, wait)\n\t}\n}\nfunction adjust() {\n\tdb(() => {\n\t\t// setBottomLine()\n\t\t// setNodata()\n\t\tsetFix()\n\t}, 200)()\n}\nwatch(\n\t() => props.data,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tsetFix()\n\t\t})\n\t},\n\t{ immediate: true, deep: true }\n)\nfunction setFix() {\n\tnextTick(() => {\n\t\tsetFixDiv()\n\t\tsyncThWidth()\n\t\tsyncTrHeight()\n\t})\n\t// setTimeout(() => {\n\t// \t// if (this.type === 'v') {\n\t// \t// \treturn\n\t// \t// }\n\t// \tsetFixDiv()\n\t// \tsyncThWidth()\n\t// \tsyncTrHeight()\n\t// }, 0)\n}\nfunction hasVScroll() {\n\treturn bodyTable.value.offsetHeight > $el.value.offsetHeight\n}\nfunction hasHScroll() {\n\treturn bodyTable.value.offsetWidth > $el.value.offsetWidth\n}\nfunction setFixDiv() {\n\tif (Number(props.fixTop) > 0 && top.value && topTable.value) {\n\t\tif (hasVScroll()) {\n\t\t\ttop.value.style.width = body.value.offsetWidth - getBarWidth() + 'px'\n\t\t}\n\t\ttopTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t\tbodyTable.value.style.width = bodyTable.value.offsetWidth + 'px'\n\t}\n\tif (Number(props.fixLeft) > 0 && left.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tleft.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t}\n\tif (Number(props.fixRight) > 0 && right.value && $el.value) {\n\t\tif (hasHScroll()) {\n\t\t\tright.value.style.height = $el.value.offsetHeight - getBarWidth() + 'px'\n\t\t}\n\t\tif (hasVScroll()) {\n\t\t\tright.value.style.right = getBarWidth() + 'px'\n\t\t\tif (Number(props.fixTop) > 0) {\n\t\t\t\trightTop.value.style.right = getBarWidth() + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction syncThWidth() {\n\tif (props.columns.length > 0 && bodyHead.value && bodyHead.value.row) {\n\t\tconst trs = bodyHead.value.row.children\n\t\tif (Number(props.fixTop) > 0 && topHead.value && topHead.value.row) {\n\t\t\tconst topTrs = topHead.value.row.children\n\t\t\tfor (let i = 0; i < topTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst topThs = topTrs[i]?.children\n\t\t\t\tif (ths && topThs) {\n\t\t\t\t\tfor (let j = 0; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst topTh = topThs[j]\n\t\t\t\t\t\tif (th && topTh) {\n\t\t\t\t\t\t\ttopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixLeft) > 0 && leftHead.value && leftHead.value.row) {\n\t\t\tconst leftTrs = leftHead.value.row.children\n\t\t\tfor (let i = 0; i < leftTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst leftThs = leftTrs[i]?.children\n\t\t\t\tif (ths && leftThs && leftThs.length > 0) {\n\t\t\t\t\tfor (let j = 0; j < leftThs.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst leftTh = leftThs[j]\n\t\t\t\t\t\tif (th && leftTh) {\n\t\t\t\t\t\t\tleftTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\tleftTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && leftTopHead.value && leftTopHead.value.row) {\n\t\t\t\tconst leftTopTrs = leftTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < leftTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst leftTopThs = leftTopTrs[i]?.children\n\t\t\t\t\tif (ths && leftTopThs && leftTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = 0; j < leftTopThs.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst leftTopTh = leftTopThs[j]\n\t\t\t\t\t\t\tif (th && leftTopTh) {\n\t\t\t\t\t\t\t\tleftTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\tleftTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Number(props.fixRight) > 0 && rightHead.value && rightHead.value.row) {\n\t\t\tconst rightTrs = rightHead.value.row.children\n\t\t\tfor (let i = 0; i < rightTrs.length; i++) {\n\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\tconst rightThs = rightTrs[i]?.children\n\t\t\t\tif (ths && rightThs && rightThs.length > 0) {\n\t\t\t\t\tfor (let j = ths.length - rightThs.length; j < ths.length; j++) {\n\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\tconst rightTh = rightThs[j - ths.length + rightThs.length]\n\t\t\t\t\t\tif (th && rightTh) {\n\t\t\t\t\t\t\trightTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\trightTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Number(props.fixTop) > 0 && rightTopHead.value && rightTopHead.value.row) {\n\t\t\t\tconst rightTopTrs = rightTopHead.value.row.children\n\t\t\t\tfor (let i = 0; i < rightTopTrs.length; i++) {\n\t\t\t\t\tconst ths = trs[i]?.children\n\t\t\t\t\tconst rightTopThs = rightTopTrs[i]?.children\n\t\t\t\t\tif (ths && rightTopThs && rightTopThs.length > 0) {\n\t\t\t\t\t\tfor (let j = ths.length - rightTopThs.length; j < ths.length; j++) {\n\t\t\t\t\t\t\tconst th = ths[j]\n\t\t\t\t\t\t\tconst rightTopTh = rightTopThs[j - ths.length + rightTopThs.length]\n\t\t\t\t\t\t\tif (th && rightTopTh) {\n\t\t\t\t\t\t\t\trightTopTh.style.width = th.getBoundingClientRect().width + 'px'\n\t\t\t\t\t\t\t\trightTopTh.style.height = th.getBoundingClientRect().height + 'px'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nfunction syncTrHeight() {\n\t// if (this.type === 'v' || !props.syncHeight) { return }\n\tif (!(props.fixRight || props.fixLeft)) return\n\tif (bodyBody.value?.$el.children.length) {\n\t\tfor (let i = 0; i < bodyBody.value.$el.children.length; i++) {\n\t\t\tconst tr = bodyBody.value.$el.children[i]\n\t\t\tif (Number(props.fixRight) > 0 && rightBody.value) {\n\t\t\t\trightBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t\tif (Number(props.fixLeft) > 0 && leftBody.value) {\n\t\t\t\tleftBody.value.$el.children[i].style.height = tr.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction scrollHandle() {\n\tvar scrollLeft = body.value.scrollLeft\n\tvar scrollTop = body.value.scrollTop\n\tif (typeof scrollLeft !== 'undefined') {\n\t\tif (props.fixTop && topTable.value) {\n\t\t\ttopTable.value.style.left = 0 - scrollLeft + 'px'\n\t\t}\n\t\tif (props.fixRight && rightTable.value) {\n\t\t\trightTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t\tif (props.fixLeft && leftTable.value) {\n\t\t\tleftTable.value.style.top = 0 - scrollTop + 'px'\n\t\t}\n\t}\n}\n\nonMounted(() => {\n\tadjust()\n})\n\n// 选择支持\nconst hasRadio = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'radio') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\n\n// 排序支持\nfunction sortChange(sortInfo) {\n\temit('sort', sortInfo)\n}\nconst hasCheck = computed(() => {\n\tlet flag = false\n\tprops.columns.map(item => {\n\t\tif (item.type === 'check') {\n\t\t\tflag = true\n\t\t}\n\t})\n\treturn flag\n})\nfunction change(rows, checked, isAll) {\n\tif (rows) {\n\t\t//type=check\n\t\tlet ids: modelType = ''\n\t\tif (Array.isArray(rows)) {\n\t\t\tids = rows.map(item => item[props.valueKeys])\n\t\t} else {\n\t\t\tids = rows[props.valueKeys]\n\t\t}\n\t\temit('update:modelValue', ids)\n\t} else {\n\t\temit('update:modelValue', '')\n\t}\n\temit('change', rows, checked, isAll)\n\tcheckedAll.value = isAll\n}\nfunction checkedAllChange(isAll) {\n\tif (isAll) {\n\t\tlet ids = props.data.map(item => item[props.valueKeys])\n\t\temit('update:modelValue', ids)\n\t\temit('change', props.data, true, true)\n\t} else {\n\t\temit('update:modelValue', [])\n\t\temit('change', [], false, false)\n\t}\n\tbodyBody.value.checkAll(isAll)\n\tif (Number(props.fixLeft) > 0) {\n\t\tleftBody.value.checkAll(isAll)\n\t}\n\tif (Number(props.fixRight) > 0) {\n\t\trightBody.value.checkAll(isAll)\n\t}\n}\n\n// todo 默认全选的需求\n\n// 多级表头支持\nconst flattenColumns = computed(() => {\n\t// 打平多级 columns 数组,用于 slot 遍历\n\tlet arr = []\n\tfunction setArr(data) {\n\t\tdata.map(column => {\n\t\t\tlet tempColumn = JSON.parse(JSON.stringify(column))\n\t\t\tif (tempColumn.children) {\n\t\t\t\tdelete tempColumn.children\n\t\t\t}\n\t\t\tarr.push(tempColumn)\n\t\t\tif (column.children) {\n\t\t\t\tsetArr(column.children)\n\t\t\t}\n\t\t})\n\t}\n\tsetArr(props.columns)\n\treturn arr\n})\n\nfunction getColWidth(column) {\n\tif (column.width) {\n\t\tif (isNaN(Number(column.width))) {\n\t\t\treturn column.width\n\t\t} else {\n\t\t\treturn column.width + 'em'\n\t\t}\n\t}\n}\nconst handleTheadCellClick = (column, type) => {\n\tif (props.sortFunction) {\n\t\tprops.sortFunction(column, type)\n\t}\n}\nconst hanldeDetailChange = (column, index, value) => {\n\temit('detailChange', column, index, value)\n}\nexport interface TableProvideType {\n\thandleTheadCellClick: (column, type) => void\n\thanldeDetailChange: (column, index, value) => void\n}\n\nprovide<TableProvideType>('TableRef', {\n\thandleTheadCellClick,\n\thanldeDetailChange\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","watch","nextTick","onMounted","provide","_createElementBlock","_unref","langKey","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","columns","_normalizeStyle","_createVNode","TableHead","TableBody","data","_withCtx","_renderSlot","_renderList","t","fixTop","fixLeft","fixRight"],"mappings":"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"}
@@ -125,6 +125,7 @@ var enTouchvueLocale = {
125
125
  fold: "Fold"
126
126
  },
127
127
  guider: {
128
+ dontShowAgain: "Don't show again",
128
129
  restart: "Restart",
129
130
  finish: "Done",
130
131
  skip: "Skip",