@touchvue/ui 1.0.0-beta.52 → 1.0.0-beta.54

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 (180) hide show
  1. package/es/components/calendar/src/calendar.d.ts +8 -1
  2. package/es/components/calendar/src/calendar.vue.d.ts +9 -0
  3. package/es/components/cascader/src/cascader-item.vue.d.ts +5 -1
  4. package/es/components/cascader/src/cascader.vue.d.ts +0 -7
  5. package/es/components/datepicker/src/DatePicker.vue.d.ts +9 -0
  6. package/es/components/datepicker/src/Picker.vue.d.ts +9 -0
  7. package/es/components/datepicker/src/date-picker.d.ts +1 -1
  8. package/es/components/datepicker/src/use-date-picker.d.ts +1 -0
  9. package/es/components/float/index.d.ts +15 -0
  10. package/es/components/float/src/Float.vue.d.ts +9 -0
  11. package/es/components/float/src/float.d.ts +4 -0
  12. package/es/components/icon/src/icon.vue.d.ts +2 -0
  13. package/es/components/slide/src/slide.vue.d.ts +4 -0
  14. package/es/components/tab/src/tab-item.vue.d.ts +2 -0
  15. package/es/components/timeline/src/timeline.vue.d.ts +5 -0
  16. package/es/directives/index.d.ts +2 -1
  17. package/es/directives/press/index.d.ts +2 -0
  18. package/es/directives/press/src/press.d.ts +20 -0
  19. package/es/index.d.mjs +1 -0
  20. package/es/index.d.mjs.map +1 -1
  21. package/es/index.mjs +1 -0
  22. package/es/index.mjs.map +1 -1
  23. package/es/packages/components/calendar/src/calendar.mjs +7 -0
  24. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  25. package/es/packages/components/calendar/src/calendar.vue2.mjs +31 -38
  26. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  27. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +36 -84
  28. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  29. package/es/packages/components/cascader/src/cascader.vue2.mjs +86 -28
  30. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  31. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +2 -3
  32. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  33. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +9 -3
  34. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  35. package/es/packages/components/datepicker/src/Picker.vue2.mjs +4 -0
  36. package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
  37. package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
  38. package/es/packages/components/datepicker/src/use-date-picker.mjs +8 -8
  39. package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
  40. package/es/packages/components/float/src/Float.vue2.mjs +10 -3
  41. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  42. package/es/packages/components/float/src/float.mjs +1 -0
  43. package/es/packages/components/float/src/float.mjs.map +1 -1
  44. package/es/packages/components/header/src/header.vue2.mjs +1 -0
  45. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  46. package/es/packages/components/icon/src/icon.vue2.mjs +7 -3
  47. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  48. package/es/packages/components/index.d.mjs +1 -0
  49. package/es/packages/components/index.d.mjs.map +1 -1
  50. package/es/packages/components/index.mjs +1 -0
  51. package/es/packages/components/index.mjs.map +1 -1
  52. package/es/packages/components/input/src/input.vue2.mjs +9 -9
  53. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  54. package/es/packages/components/select/src/select.vue2.mjs +0 -9
  55. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  56. package/es/packages/components/slide/src/slide.vue2.mjs +3 -1
  57. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  58. package/es/packages/components/tab/src/tab-item.vue2.mjs +3 -1
  59. package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
  60. package/es/packages/components/tab/src/tab.vue2.mjs +54 -9
  61. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  62. package/es/packages/components/tree/src/tree.vue2.mjs +2 -0
  63. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  64. package/es/packages/directives/index.d.mjs +1 -0
  65. package/es/packages/directives/index.d.mjs.map +1 -1
  66. package/es/packages/directives/index.mjs +3 -3
  67. package/es/packages/directives/index.mjs.map +1 -1
  68. package/es/packages/directives/press/index.d.mjs +2 -0
  69. package/es/packages/directives/press/index.mjs +2 -0
  70. package/es/packages/directives/press/src/press.d.mjs +2 -0
  71. package/es/packages/directives/press/src/press.d.mjs.map +1 -0
  72. package/es/packages/directives/press/src/press.mjs +100 -0
  73. package/es/packages/directives/press/src/press.mjs.map +1 -0
  74. package/es/packages/locale/lang/en-US.mjs +6 -0
  75. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  76. package/es/packages/locale/lang/zh-CN.mjs +6 -0
  77. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  78. package/es/packages/utils/validate.mjs.map +1 -1
  79. package/lib/components/calendar/src/calendar.d.ts +8 -1
  80. package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
  81. package/lib/components/cascader/src/cascader-item.vue.d.ts +5 -1
  82. package/lib/components/cascader/src/cascader.vue.d.ts +0 -7
  83. package/lib/components/datepicker/src/DatePicker.vue.d.ts +9 -0
  84. package/lib/components/datepicker/src/Picker.vue.d.ts +9 -0
  85. package/lib/components/datepicker/src/date-picker.d.ts +1 -1
  86. package/lib/components/datepicker/src/use-date-picker.d.ts +1 -0
  87. package/lib/components/float/index.d.ts +15 -0
  88. package/lib/components/float/src/Float.vue.d.ts +9 -0
  89. package/lib/components/float/src/float.d.ts +4 -0
  90. package/lib/components/icon/src/icon.vue.d.ts +2 -0
  91. package/lib/components/slide/src/slide.vue.d.ts +4 -0
  92. package/lib/components/tab/src/tab-item.vue.d.ts +2 -0
  93. package/lib/components/timeline/src/timeline.vue.d.ts +5 -0
  94. package/lib/directives/index.d.ts +2 -1
  95. package/lib/directives/press/index.d.ts +2 -0
  96. package/lib/directives/press/src/press.d.ts +20 -0
  97. package/lib/index.d.js +2 -0
  98. package/lib/index.d.js.map +1 -1
  99. package/lib/index.js +2 -0
  100. package/lib/index.js.map +1 -1
  101. package/lib/packages/components/calendar/src/calendar.js +7 -0
  102. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  103. package/lib/packages/components/calendar/src/calendar.vue2.js +31 -38
  104. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  105. package/lib/packages/components/cascader/src/cascader-item.vue2.js +35 -83
  106. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  107. package/lib/packages/components/cascader/src/cascader.vue2.js +85 -27
  108. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  109. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -2
  110. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  111. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +9 -3
  112. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  113. package/lib/packages/components/datepicker/src/Picker.vue2.js +4 -0
  114. package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
  115. package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
  116. package/lib/packages/components/datepicker/src/use-date-picker.js +8 -8
  117. package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
  118. package/lib/packages/components/float/src/Float.vue2.js +9 -2
  119. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  120. package/lib/packages/components/float/src/float.js +1 -0
  121. package/lib/packages/components/float/src/float.js.map +1 -1
  122. package/lib/packages/components/header/src/header.vue2.js +1 -0
  123. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  124. package/lib/packages/components/icon/src/icon.vue2.js +7 -3
  125. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  126. package/lib/packages/components/index.d.js +2 -0
  127. package/lib/packages/components/index.d.js.map +1 -1
  128. package/lib/packages/components/index.js +2 -0
  129. package/lib/packages/components/index.js.map +1 -1
  130. package/lib/packages/components/input/src/input.vue2.js +9 -9
  131. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  132. package/lib/packages/components/select/src/select.vue2.js +0 -9
  133. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  134. package/lib/packages/components/slide/src/slide.vue2.js +3 -1
  135. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  136. package/lib/packages/components/tab/src/tab-item.vue2.js +3 -1
  137. package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
  138. package/lib/packages/components/tab/src/tab.vue2.js +53 -8
  139. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  140. package/lib/packages/components/tree/src/tree.vue2.js +2 -0
  141. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  142. package/lib/packages/directives/index.d.js +2 -0
  143. package/lib/packages/directives/index.d.js.map +1 -1
  144. package/lib/packages/directives/index.js +3 -2
  145. package/lib/packages/directives/index.js.map +1 -1
  146. package/lib/packages/directives/press/index.d.js +8 -0
  147. package/lib/packages/directives/press/index.js +8 -0
  148. package/lib/packages/directives/press/src/press.d.js +3 -0
  149. package/lib/packages/directives/press/src/press.d.js.map +1 -0
  150. package/lib/packages/directives/press/src/press.js +102 -0
  151. package/lib/packages/directives/press/src/press.js.map +1 -0
  152. package/lib/packages/locale/lang/en-US.js +6 -0
  153. package/lib/packages/locale/lang/en-US.js.map +1 -1
  154. package/lib/packages/locale/lang/zh-CN.js +6 -0
  155. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  156. package/lib/packages/utils/validate.js.map +1 -1
  157. package/package.json +1 -1
  158. package/theme/components/index.css +74 -18
  159. package/theme/index.css +74 -18
  160. package/theme/skin/default.css +74 -18
  161. package/es/directives/longtap/index.d.ts +0 -2
  162. package/es/directives/longtap/src/longtap.d.ts +0 -7
  163. package/es/packages/directives/longtap/index.d.mjs +0 -2
  164. package/es/packages/directives/longtap/index.mjs +0 -2
  165. package/es/packages/directives/longtap/src/longtap.d.mjs +0 -2
  166. package/es/packages/directives/longtap/src/longtap.d.mjs.map +0 -1
  167. package/es/packages/directives/longtap/src/longtap.mjs +0 -80
  168. package/es/packages/directives/longtap/src/longtap.mjs.map +0 -1
  169. package/lib/directives/longtap/index.d.ts +0 -2
  170. package/lib/directives/longtap/src/longtap.d.ts +0 -7
  171. package/lib/packages/directives/longtap/index.d.js +0 -8
  172. package/lib/packages/directives/longtap/index.js +0 -8
  173. package/lib/packages/directives/longtap/src/longtap.d.js +0 -3
  174. package/lib/packages/directives/longtap/src/longtap.d.js.map +0 -1
  175. package/lib/packages/directives/longtap/src/longtap.js +0 -82
  176. package/lib/packages/directives/longtap/src/longtap.js.map +0 -1
  177. /package/es/packages/directives/{longtap → press}/index.d.mjs.map +0 -0
  178. /package/es/packages/directives/{longtap → press}/index.mjs.map +0 -0
  179. /package/lib/packages/directives/{longtap → press}/index.d.js.map +0 -0
  180. /package/lib/packages/directives/{longtap → press}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"slide.vue2.mjs","sources":["../../../../../../packages/components/slide/src/slide.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToSlide'\n});\n</script>\n<template>\n\t<div ref=\"slide\" :flex=\"flex ? flex : null\" class=\"to-slide\" :class=\"setClass\" @mouseover=\"pause\" @mouseout=\"play\" @touchstart=\"touchstart\" @touchend=\"touchend\" @touchmove=\"touchmove\">\n\t\t<div class=\"to-slide-pic\">\n\t\t\t<ul ref=\"ul\" class=\"to-slide-wrapper\" :style=\"setUlStyle\">\n\t\t\t\t<li ref=\"firstFake\" class=\"to-slide-item\"></li>\n\t\t\t\t<slot></slot>\n\t\t\t\t<li ref=\"lastFake\" class=\"to-slide-item\"></li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-fn\">\n\t\t\t<to-icon value=\"back\" link class=\"to-slide-fn-item type-prev\" @click=\"prev()\"></to-icon>\n\t\t\t<to-icon value=\"next\" link class=\"to-slide-fn-item type-next\" @click=\"next()\"></to-icon>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-page\">\n\t\t\t<span v-for=\"index of length\" :key=\"index\" class=\"to-slide-page-item\" :class=\"{ 'is-on': index === current + 1 }\" @click=\"to(index - 1)\"></span>\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, onMounted, ref, nextTick } from 'vue'\n\n\n\ninterface Props {\n\tmode?: string\n\tautoplay?: boolean\n\tspeed?: number | string\n\tpagerPosition?: string\n\tflex?: boolean\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tautoplay: false,\n\tspeed: 2000,\n\tpagerPosition: '',\n\tflex: false\n})\n\nconst length = ref(0)\nconst current = ref(0)\nconst dis = ref(0)\nconst animate = ref(true)\nconst width = ref(0)\nconst playTimer = ref(null)\nconst startPosition = ref(0)\nconst slide = ref(null)\nconst ul = ref(null)\nconst lastFake = ref(null)\nconst firstFake = ref(null)\nconst ulPosition = computed(() => {\n\treturn (current.value + 1) * width.value * -1\n})\nconst setUlStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tobj.transform = `translateX(${ulPosition.value + dis.value}px)`\n\tif (animate.value) {\n\t\tobj.transition = 'transform 0.3s ease-out'\n\t}\n\tobj.width = `${(length.value + 2) * 100}%`\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.pagerPosition === 'outer') {\n\t\tarr.push(`is-outer`)\n\t}\n\treturn arr\n})\n\nonMounted(() => {\n\tnextTick(() => {\n\t\twidth.value = slide.value.offsetWidth\n\t\tsetLength()\n\t\tlastFake.value.innerHTML = ul.value.querySelector(':nth-child(2)').innerHTML\n\t\tfirstFake.value.innerHTML = ul.value.querySelector(`:nth-child(${length.value + 1})`).innerHTML\n\t\tplay()\n\t\twindow.addEventListener('resize', () => {\n\t\t\tadjust()\n\t\t})\n\t})\n})\n\nfunction play() {\n\tif (!props.autoplay || length.value < 2) {\n\t\treturn\n\t}\n\tplayTimer.value = setInterval(() => {\n\t\tnext()\n\t}, Number(props.speed))\n}\nfunction pause() {\n\tclearInterval(playTimer.value)\n}\nfunction setLength() {\n\tlength.value = ul.value.children.length - 2\n}\nfunction next() {\n\tif (animate.value) {\n\t\tcurrent.value += 1\n\t\tif (current.value === length.value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = 0\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction prev() {\n\tif (animate.value) {\n\t\tcurrent.value -= 1\n\t\tif (current.value === -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = length.value - 1\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction touchstart(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tstartPosition.value = e.touches[0].clientX\n\tanimate.value = false\n}\nfunction touchend() {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tanimate.value = true\n\tif (dis.value > 10) {\n\t\tprev()\n\t\tdis.value = 0\n\t} else if (dis.value < -10) {\n\t\tnext()\n\t\tdis.value = 0\n\t}\n}\nfunction touchmove(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tdis.value = e.touches[0].clientX - startPosition.value\n}\nfunction adjust() {\n\twidth.value = slide.value.offsetWidth\n}\nfunction reset() {\n\tcurrent.value = 0\n}\nfunction to(i: number) {\n\tcurrent.value = i\n}\n\ndefineExpose({\n\treset,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_Fragment","_renderList"],"mappings":"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"}
1
+ {"version":3,"file":"slide.vue2.mjs","sources":["../../../../../../packages/components/slide/src/slide.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToSlide'\n});\n</script>\n<template>\n\t<div ref=\"slide\" :flex=\"flex ? flex : null\" class=\"to-slide\" :class=\"setClass\" @mouseover=\"pause\" @mouseout=\"play\" @touchstart=\"touchstart\" @touchend=\"touchend\" @touchmove=\"touchmove\">\n\t\t<div class=\"to-slide-pic\">\n\t\t\t<ul ref=\"ul\" class=\"to-slide-wrapper\" :style=\"setUlStyle\">\n\t\t\t\t<li ref=\"firstFake\" class=\"to-slide-item\"></li>\n\t\t\t\t<slot></slot>\n\t\t\t\t<li ref=\"lastFake\" class=\"to-slide-item\"></li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-fn\">\n\t\t\t<to-icon value=\"back\" link class=\"to-slide-fn-item type-prev\" @click=\"prev()\"></to-icon>\n\t\t\t<to-icon value=\"next\" link class=\"to-slide-fn-item type-next\" @click=\"next()\"></to-icon>\n\t\t</div>\n\t\t<div v-if=\"length > 1\" class=\"to-slide-page\">\n\t\t\t<span v-for=\"index of length\" :key=\"index\" class=\"to-slide-page-item\" :class=\"{ 'is-on': index === current + 1 }\" @click=\"to(index - 1)\"></span>\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, onMounted, ref, nextTick } from 'vue'\n\n\n\ninterface Props {\n\tmode?: string\n\tautoplay?: boolean\n\tspeed?: number | string\n\tpagerPosition?: string\n\tflex?: boolean\n}\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tautoplay: false,\n\tspeed: 2000,\n\tpagerPosition: '',\n\tflex: false\n})\n\nconst length = ref(0)\nconst current = ref(0)\nconst dis = ref(0)\nconst animate = ref(true)\nconst width = ref(0)\nconst playTimer = ref(null)\nconst startPosition = ref(0)\nconst slide = ref(null)\nconst ul = ref(null)\nconst lastFake = ref(null)\nconst firstFake = ref(null)\nconst ulPosition = computed(() => {\n\treturn (current.value + 1) * width.value * -1\n})\nconst setUlStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tobj.transform = `translateX(${ulPosition.value + dis.value}px)`\n\tif (animate.value) {\n\t\tobj.transition = 'transform 0.3s ease-out'\n\t}\n\tobj.width = `${(length.value + 2) * 100}%`\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.pagerPosition === 'outer') {\n\t\tarr.push(`is-outer`)\n\t}\n\treturn arr\n})\n\nonMounted(() => {\n\tnextTick(() => {\n\t\twidth.value = slide.value.offsetWidth\n\t\tsetLength()\n\t\tlastFake.value.innerHTML = ul.value.querySelector(':nth-child(2)').innerHTML\n\t\tfirstFake.value.innerHTML = ul.value.querySelector(`:nth-child(${length.value + 1})`).innerHTML\n\t\tplay()\n\t\twindow.addEventListener('resize', () => {\n\t\t\tadjust()\n\t\t})\n\t})\n})\n\nfunction play() {\n\tif (!props.autoplay || length.value < 2) {\n\t\treturn\n\t}\n\tplayTimer.value = setInterval(() => {\n\t\tnext()\n\t}, Number(props.speed))\n}\nfunction pause() {\n\tclearInterval(playTimer.value)\n}\nfunction setLength() {\n\tlength.value = ul.value.children.length - 2\n}\nfunction next() {\n\tif (animate.value) {\n\t\tcurrent.value += 1\n\t\tif (current.value === length.value) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = 0\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction prev() {\n\tif (animate.value) {\n\t\tcurrent.value -= 1\n\t\tif (current.value === -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tanimate.value = false\n\t\t\t\tcurrent.value = length.value - 1\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimate.value = true\n\t\t\t\t}, 300)\n\t\t\t}, 300)\n\t\t}\n\t}\n}\nfunction touchstart(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tstartPosition.value = e.touches[0].clientX\n\tanimate.value = false\n}\nfunction touchend() {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tanimate.value = true\n\tif (dis.value > 10) {\n\t\tprev()\n\t\tdis.value = 0\n\t} else if (dis.value < -10) {\n\t\tnext()\n\t\tdis.value = 0\n\t}\n}\nfunction touchmove(e) {\n\tif (length.value < 2) {\n\t\treturn\n\t}\n\tdis.value = e.touches[0].clientX - startPosition.value\n}\nfunction adjust() {\n\twidth.value = slide.value.offsetWidth\n}\nfunction reset() {\n\tcurrent.value = 0\n}\nfunction to(i: number) {\n\tcurrent.value = i\n}\n\ndefineExpose({\n\treset,\n\tadjust,\n\tprev,\n\tnext\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_Fragment","_renderList"],"mappings":"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"}
@@ -15,7 +15,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  number: { default: "" },
16
16
  lazy: { type: Boolean, default: false },
17
17
  on: { type: Boolean, default: false },
18
- disabled: { type: Boolean, default: false }
18
+ disabled: { type: Boolean, default: false },
19
+ count: { default: "" }
19
20
  },
20
21
  setup(__props) {
21
22
  const slots = useSlots();
@@ -49,6 +50,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
49
50
  disabled: props.disabled,
50
51
  data: props.data,
51
52
  on: props.on,
53
+ count: props.count,
52
54
  labelSlot: slots.label
53
55
  };
54
56
  tabProvide.addTab(tabData);
@@ -1 +1 @@
1
- {"version":3,"file":"tab-item.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTabItem'\n});\n</script>\n<template>\n\t<div v-show=\"show\" v-if=\"lazy ? show : true\" :key=\"langKey\" class=\"to-tab-page-item\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, inject, useSlots, watch } from 'vue'\nimport { ITabProvide } from './tab.vue'\nimport { langKey } from '@touchvue/locale'\n\n\n\ninterface TabItemProps {\n\tdata?: any\n\tlabel?: string\n\tvalue?: string | number\n\ticon?: string\n\tpic?: string\n\tnumber?: string | number\n\tlazy?: boolean\n\ton?: boolean\n\tdisabled?: boolean\n}\n\nconst slots = useSlots()\n\nconst props = withDefaults(defineProps<TabItemProps>(), {\n\tdata: null,\n\tlabel: '',\n\tvalue: '',\n\ticon: '',\n\tpic: '',\n\tnumber: '',\n\tlazy: false,\n\ton: false,\n\tdisabled: false\n})\n\n// 注入父组件的值\nconst tabProvide: ITabProvide = inject('TabProvide')\n\n// computed\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.disabled) {\n\t\tarr.push('disabled')\n\t}\n\treturn arr\n})\n\nconst show = computed(() => {\n\treturn tabProvide.selectValue.value === (props.value || props.label)\n})\n\n// 监听 label 变化,更新 tab 数据\nwatch(\n\t() => props.label,\n\t(newLabel, oldLabel) => {\n\t\tif (tabProvide && tabProvide.updateTabLabel) {\n\t\t\ttabProvide.updateTabLabel(oldLabel, newLabel)\n\t\t}\n\t}\n)\n\n// methods\nfunction init() {\n\tconst tabData = {\n\t\tlabel: props.label,\n\t\tvalue: props.value ? props.value : props.label,\n\t\ticon: props.icon,\n\t\tpic: props.pic,\n\t\tnumber: props.number,\n\t\tdisabled: props.disabled,\n\t\tdata: props.data,\n\t\ton: props.on,\n\t\tlabelSlot: slots.label\n\t}\n\ttabProvide.addTab(tabData)\n}\n\nnextTick(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\t// tabProvide.removeTab(props.value)\n})\n</script>\n"],"names":["DO_defineComponent","lazy","_createElementBlock","_unref","_normalizeClass","_renderSlot"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,WAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;AA2BD,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAad,IAAM,MAAA,UAAA,GAA0B,OAAO,YAAY,CAAA,CAAA;AAGnD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,QAAU,EAAA;AACnB,QAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC3B,MAAA,OAAO,UAAW,CAAA,WAAA,CAAY,KAAW,MAAA,KAAA,CAAM,SAAS,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,KAC9D,CAAA,CAAA;AAGD,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,UAAU,QAAa,KAAA;AACvB,QAAI,IAAA,UAAA,IAAc,WAAW,cAAgB,EAAA;AAC5C,UAAW,UAAA,CAAA,cAAA,CAAe,UAAU,QAAQ,CAAA,CAAA;AAAA,SAC7C;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAA,SAAS,IAAO,GAAA;AACf,MAAA,MAAM,OAAU,GAAA;AAAA,QACf,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,KAAO,EAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA;AAAA,QACzC,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,IAAI,KAAM,CAAA,EAAA;AAAA,QACV,WAAW,KAAM,CAAA,KAAA;AAAA,OAClB,CAAA;AACA,MAAA,UAAA,CAAW,OAAO,OAAO,CAAA,CAAA;AAAA,KAC1B;AAEA,IAAA,QAAA,CAAS,MAAM;AACd,MAAK,IAAA,EAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AAAA,KAErB,CAAA,CAAA;;AAtFyBC,MAAAA,OAAAA,CAAAA,KAAAA,IAAO,GAAA,IAAA,CAAI,QAAA,mCAApC,EAAAC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAFwC,GAAA,EAAKC,MAAO,OAAA,CAAA;AAAA,UAAE,OAAKC,cAAA,CAAA,CAAC,kBAA2B,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;;UACpGC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;cADD,EAAA,IAAA,CAAI,KAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"tab-item.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTabItem'\n});\n</script>\n<template>\n\t<div v-show=\"show\" v-if=\"lazy ? show : true\" :key=\"langKey\" class=\"to-tab-page-item\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, inject, useSlots, watch } from 'vue'\nimport { ITabProvide } from './tab.vue'\nimport { langKey } from '@touchvue/locale'\n\n\n\ninterface TabItemProps {\n\tdata?: any\n\tlabel?: string\n\tvalue?: string | number\n\ticon?: string\n\tpic?: string\n\tnumber?: string | number\n\tlazy?: boolean\n\ton?: boolean\n\tdisabled?: boolean\n\tcount?: string | number\n}\n\nconst slots = useSlots()\n\nconst props = withDefaults(defineProps<TabItemProps>(), {\n\tdata: null,\n\tlabel: '',\n\tvalue: '',\n\ticon: '',\n\tpic: '',\n\tnumber: '',\n\tlazy: false,\n\ton: false,\n\tdisabled: false,\n\tcount: ''\n})\n\n// 注入父组件的值\nconst tabProvide: ITabProvide = inject('TabProvide')\n\n// computed\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.disabled) {\n\t\tarr.push('disabled')\n\t}\n\treturn arr\n})\n\nconst show = computed(() => {\n\treturn tabProvide.selectValue.value === (props.value || props.label)\n})\n\n// 监听 label 变化,更新 tab 数据\nwatch(\n\t() => props.label,\n\t(newLabel, oldLabel) => {\n\t\tif (tabProvide && tabProvide.updateTabLabel) {\n\t\t\ttabProvide.updateTabLabel(oldLabel, newLabel)\n\t\t}\n\t}\n)\n\n// methods\nfunction init() {\n\tconst tabData = {\n\t\tlabel: props.label,\n\t\tvalue: props.value ? props.value : props.label,\n\t\ticon: props.icon,\n\t\tpic: props.pic,\n\t\tnumber: props.number,\n\t\tdisabled: props.disabled,\n\t\tdata: props.data,\n\t\ton: props.on,\n\t\tcount: props.count,\n\t\tlabelSlot: slots.label\n\t}\n\ttabProvide.addTab(tabData)\n}\n\nnextTick(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\t// tabProvide.removeTab(props.value)\n})\n</script>\n"],"names":["DO_defineComponent","lazy","_createElementBlock","_unref","_normalizeClass","_renderSlot"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,WAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;AA4BD,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAcd,IAAM,MAAA,UAAA,GAA0B,OAAO,YAAY,CAAA,CAAA;AAGnD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,QAAU,EAAA;AACnB,QAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC3B,MAAA,OAAO,UAAW,CAAA,WAAA,CAAY,KAAW,MAAA,KAAA,CAAM,SAAS,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,KAC9D,CAAA,CAAA;AAGD,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,UAAU,QAAa,KAAA;AACvB,QAAI,IAAA,UAAA,IAAc,WAAW,cAAgB,EAAA;AAC5C,UAAW,UAAA,CAAA,cAAA,CAAe,UAAU,QAAQ,CAAA,CAAA;AAAA,SAC7C;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAA,SAAS,IAAO,GAAA;AACf,MAAA,MAAM,OAAU,GAAA;AAAA,QACf,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,KAAO,EAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA;AAAA,QACzC,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,IAAI,KAAM,CAAA,EAAA;AAAA,QACV,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,WAAW,KAAM,CAAA,KAAA;AAAA,OAClB,CAAA;AACA,MAAA,UAAA,CAAW,OAAO,OAAO,CAAA,CAAA;AAAA,KAC1B;AAEA,IAAA,QAAA,CAAS,MAAM;AACd,MAAK,IAAA,EAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AAAA,KAErB,CAAA,CAAA;;AAzFyBC,MAAAA,OAAAA,CAAAA,KAAAA,IAAO,GAAA,IAAA,CAAI,QAAA,mCAApC,EAAAC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAFwC,GAAA,EAAKC,MAAO,OAAA,CAAA;AAAA,UAAE,OAAKC,cAAA,CAAA,CAAC,kBAA2B,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;;UACpGC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;cADD,EAAA,IAAA,CAAI,KAAA,CAAA;AAAA;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, useSlots, watch, onMounted, onBeforeUnmount, nextTick, provide, resolveComponent, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock, mergeProps, withModifiers, Teleport, createVNode, withCtx } from 'vue';
1
+ import { defineComponent, ref, computed, useSlots, watch, onMounted, onBeforeUnmount, nextTick, provide, resolveComponent, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createBlock, mergeProps, withCtx, withModifiers, Teleport, createVNode } from 'vue';
2
2
  import { ToIcon } from '../../icon/index.mjs';
3
3
  import { ToFloat } from '../../float/index.mjs';
4
4
  import { langKey } from '../../../locale/index.mjs';
@@ -65,6 +65,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
65
65
  (val, old) => {
66
66
  if (val || val === 0) {
67
67
  selectValue.value = val;
68
+ scrollSelectTabIntoView();
68
69
  } else {
69
70
  emit("update:modelValue", old);
70
71
  }
@@ -202,6 +203,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
202
203
  selectValue.value = item.value;
203
204
  emit("update:modelValue", item.value);
204
205
  emit("change", item.value, item, index);
206
+ scrollTabIntoView(index);
205
207
  setTimeout(() => {
206
208
  stopChange = false;
207
209
  }, 10);
@@ -364,13 +366,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
364
366
  tabScrollable.value = false;
365
367
  tabScrollWidth.value = 0;
366
368
  tabScrollLeft.value = 0;
369
+ list.value.scrollLeft = 0;
367
370
  return;
368
371
  }
372
+ const scrollLeft = Math.max(0, Math.min(scrollRange, list.value.scrollLeft));
373
+ if (scrollLeft !== list.value.scrollLeft) {
374
+ list.value.scrollLeft = scrollLeft;
375
+ }
369
376
  tabScrollable.value = true;
370
377
  tabScrollWidth.value = Math.max(listWidth * listWidth / scrollWidth, 16);
371
378
  const trackRange = Math.max(listWidth - tabScrollWidth.value, 0);
372
- const scrollRatio = list.value.scrollLeft / scrollRange;
373
- tabScrollLeft.value = list.value.scrollLeft + scrollRatio * trackRange;
379
+ const scrollRatio = scrollLeft / scrollRange;
380
+ tabScrollLeft.value = scrollLeft + scrollRatio * trackRange;
374
381
  }
375
382
  function getTabScrollRange() {
376
383
  if (!list.value || !ul.value)
@@ -467,13 +474,29 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
467
474
  }
468
475
  function scrollTabIntoView(index) {
469
476
  nextTick(() => {
470
- var _a;
471
- const node = (_a = ul.value) == null ? void 0 : _a.querySelector(`.to-tab-item[data-tab-index="${index}"]`);
472
- node == null ? void 0 : node.scrollIntoView({ block: "nearest", inline: "nearest" });
473
- updateOverflowTabs();
474
- updateTabScroll();
477
+ if (!list.value || !ul.value)
478
+ return;
479
+ const node = ul.value.querySelector(`.to-tab-item[data-tab-index="${index}"]`);
480
+ if (!node)
481
+ return;
482
+ const listRect = list.value.getBoundingClientRect();
483
+ const nodeRect = node.getBoundingClientRect();
484
+ if (nodeRect.right > listRect.right) {
485
+ setTabScrollLeft(list.value.scrollLeft + nodeRect.right - listRect.right);
486
+ } else if (nodeRect.left < listRect.left) {
487
+ setTabScrollLeft(list.value.scrollLeft + nodeRect.left - listRect.left);
488
+ } else {
489
+ updateOverflowTabs();
490
+ updateTabScroll();
491
+ }
475
492
  });
476
493
  }
494
+ function scrollSelectTabIntoView() {
495
+ const index = _data.value.findIndex((item) => item.value === selectValue.value);
496
+ if (index !== -1) {
497
+ scrollTabIntoView(index);
498
+ }
499
+ }
477
500
  function controlLeftScroll() {
478
501
  scrollTimer = setInterval(() => {
479
502
  var _a;
@@ -513,6 +536,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
513
536
  });
514
537
  return (_ctx, _cache) => {
515
538
  const _component_to_pic = resolveComponent("to-pic");
539
+ const _component_to_tag = resolveComponent("to-tag");
516
540
  const _component_to_scroll = resolveComponent("to-scroll");
517
541
  return openBlock(), createElementBlock("div", {
518
542
  key: unref(langKey),
@@ -599,8 +623,29 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
599
623
  )
600
624
  ])
601
625
  ]),
626
+ item.count ? (openBlock(), createBlock(
627
+ _component_to_tag,
628
+ {
629
+ key: 2,
630
+ type: "number",
631
+ class: "to-tab-item-count"
632
+ },
633
+ {
634
+ default: withCtx(() => [
635
+ createTextVNode(
636
+ toDisplayString(item.count),
637
+ 1
638
+ /* TEXT */
639
+ )
640
+ ]),
641
+ _: 2
642
+ /* DYNAMIC */
643
+ },
644
+ 1024
645
+ /* DYNAMIC_SLOTS */
646
+ )) : createCommentVNode("v-if", true),
602
647
  _ctx.removable ? (openBlock(), createBlock(unref(ToIcon), {
603
- key: 2,
648
+ key: 3,
604
649
  value: "close",
605
650
  link: "",
606
651
  class: "to-tab-item-remove",
@@ -1 +1 @@
1
- {"version":3,"file":"tab.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTab'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" class=\"to-tab\" :class=\"setClass\" :flex=\"flex ? flex : null\" :style=\"setStyle\">\n\t\t<div class=\"to-tab-tab\">\n\t\t\t<div v-if=\"props.title || $slots.title\" class=\"to-tab-title\">\n\t\t\t\t<div class=\"to-tab-title-text\">\n\t\t\t\t\t<slot name=\"title\">{{ title }}</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div ref=\"list\" class=\"to-tab-list\" @scroll=\"handleListScroll\">\n\t\t\t\t<div ref=\"ul\" class=\"to-tab-wrapper\">\n\t\t\t\t\t<template v-for=\"(item, index) in _data\" :key=\"index\">\n\t\t\t\t\t\t<div v-if=\"$slots.center && Math.floor(_data.length / 2) === index\">\n\t\t\t\t\t\t\t<slot name=\"center\"></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"to-tab-item\" :data-tab-index=\"index\" :class=\"{ 'is-on': item.value === selectValue, 'is-disabled': item.disabled }\" :style=\"setTabStyle\" @click=\"changeTab(item, index, 'click')\" @mouseover=\"changeTab(item, index, 'hover')\" @contextmenu=\"contextmenu(item, index)\">\n\t\t\t\t\t\t\t<slot name=\"item\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-item-main\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-left\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-content\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"item.pic\" class=\"to-tab-item-pic\" :src=\"item.value === selectValue ? getPicOn(item.pic) : item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"item.icon\" :value=\"item.icon\" class=\"to-tab-item-icon\" :type=\"item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-item-remove\" @click.stop=\"removePTab(item, index)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-right\"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"to-tab-indicator\"></div>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"tabScrollShow\" ref=\"tabScrollRef\" class=\"to-tab-list-scroll\" :class=\"{ 'is-dragging': tabScrollDragging }\" :style=\"tabScrollStyle\" @mousedown=\"startTabScrollDrag\">\n\t\t\t\t\t<div class=\"to-tab-list-scroll-bar\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"controlShow || overflowFloatShow || slot.fn\" class=\"to-tab-fn\">\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"back\" @mousedown=\"controlLeftScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"next\" @mousedown=\"controlRightScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<slot name=\"fn\"></slot>\n\t\t\t\t<to-icon v-if=\"overflowFloatShow\" ref=\"overflowIconRef\" value=\"more\" link @click=\"toggleOverflowFloat\"></to-icon>\n\t\t\t\t<Teleport v-if=\"overflowFloatShow\" to=\"body\">\n\t\t\t\t\t<div class=\"to-tab\">\n\t\t\t\t\t\t<to-float ref=\"overflowFloatRef\" align=\"right\" :global=\"false\" class=\"to-tab-over-float\" :lazy=\"false\" width=\"12\">\n\t\t\t\t\t\t\t<to-scroll class=\"to-tab-over-scroll\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-over-list\">\n\t\t\t\t\t\t\t\t\t<div v-for=\"tab in overflowTabs\" :key=\"tab.index\" class=\"to-tab-over-item\" :class=\"{ 'is-on': tab.item.value === selectValue, 'is-disabled': tab.item.disabled }\" @click=\"changeOverflowTab(tab)\" @contextmenu=\"contextmenu(tab.item, tab.index)\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"tab.item.pic\" class=\"to-tab-over-item-pic\" :src=\"tab.item.value === selectValue ? getPicOn(tab.item.pic) : tab.item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"tab.item.icon\" :value=\"tab.item.icon\" class=\"to-tab-over-item-icon\" :type=\"tab.item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-over-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"tab.item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ tab.item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-over-item-remove\" @click.stop=\"removeOverflowTab(tab)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t\t</to-float>\n\t\t\t\t\t</div>\n\t\t\t\t</Teleport>\n\t\t\t</div>\n\t\t\t<div class=\"to-tab-divider\"></div>\n\t\t</div>\n\t\t<to-float v-if=\"contentType === 'float'\" ref=\"floatRef\" :lazy=\"false\">\n\t\t\t<slot></slot>\n\t\t</to-float>\n\t\t<div v-else class=\"to-tab-page\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, CSSProperties, provide, Ref, onMounted, onBeforeUnmount, watch, nextTick, useSlots } from 'vue'\nimport { ToFloat, ToIcon } from '@touchvue/components'\nimport { useDevice } from '@touchvue/hooks'\nimport { langKey } from '@touchvue/locale'\n\n\nconst emit = defineEmits(['update:modelValue', 'change', 'remove', 'contextmenu'])\n\nexport interface TabItem {\n\tlabel: string\n\tvalue: string | number\n\t[key: string]: any\n}\n\ninterface OverflowTab {\n\titem: TabItem\n\tindex: number\n}\n\nexport interface TabProps {\n\tflex?: boolean\n\tmodelValue?: string | number\n\titemWidth?: string | number\n\tmode?: string\n\tdata?: TabItem[] | string\n\tremovable?: boolean\n\tposition?: 'left' | 'right' | 'bottom' | 'top' | ''\n\titemDir?: 'v' | ''\n\tover?: 'float' | 'wrap' | 'control' | 'avg' | ''\n\tevent?: string\n\tcontentType?: string\n\ttitle?: string\n\theight?: string | number\n\tchangePic?: boolean\n\talign?: 'center' | ''\n\tbeforeChange?: () => boolean | Promise<boolean>\n\tbeforeRemove?: () => boolean | Promise<boolean>\n}\n\nexport interface ITabProvide {\n\taddTab: (item: TabItem) => void\n\tremoveTab: (val: string | number) => void\n\tupdateTabLabel: (val: string | number, label: string) => void\n\tselectValue: Ref<string, string>\n}\n\nconst props = withDefaults(defineProps<TabProps>(), {\n\tmodelValue: '',\n\titemWidth: '',\n\tmode: 'default',\n\tover: '',\n\titemDir: '',\n\tevent: 'click',\n\tremovable: false,\n\tdata: () => [] as TabItem[],\n\tcontentType: '',\n\ttitle: '',\n\theight: '',\n\tbeforeChange: null,\n\tbeforeRemove: null,\n\tchangePic: false,\n\tposition: '',\n\talign: '',\n\tflex: false\n})\n\nconst selectValue: any = ref('')\nconst _data = ref<TabItem[]>([])\nconst floatRef = ref<any>(null)\nconst overflowFloatRef = ref<any>(null)\nconst overflowIconRef = ref<any>(null)\nconst overflowTabs = ref<OverflowTab[]>([])\nconst overflowFloatShow = computed(() => props.over === 'float' && overflowTabs.value.length > 0)\nconst ul = ref<HTMLElement | null>(null)\nconst list = ref<HTMLElement | null>(null)\nconst tabScrollRef = ref<HTMLElement | null>(null)\nconst tabScrollWidth = ref(0)\nconst tabScrollLeft = ref(0)\nconst tabScrollable = ref(false)\nconst tabScrollDragging = ref(false)\nconst activeOver = ref<TabProps['over']>('')\nlet scrollTimer: ReturnType<typeof setInterval> | null = null\nconst controlShow = ref(false)\nlet stopChange = false\nlet activeOverVersion = 0\nconst slot = useSlots()\nconst { isPc } = useDevice()\nconst tabScrollShow = computed(() => isPc.value && tabScrollable.value)\nconst tabScrollStyle = computed<CSSProperties>(() => {\n\treturn {\n\t\twidth: `${tabScrollWidth.value}px`,\n\t\tleft: `${tabScrollLeft.value}px`\n\t}\n})\n\nwatch(\n\t() => props.modelValue,\n\t(val, old) => {\n\t\tif (val || val === 0) {\n\t\t\tselectValue.value = val\n\t\t} else {\n\t\t\temit('update:modelValue', old)\n\t\t}\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.data,\n\t() => {\n\t\tif (!stopChange) {\n\t\t\tinitData()\n\t\t}\n\t},\n\t{ deep: true }\n)\nwatch(\n\t() => isPc.value,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nwatch(\n\t() => props.over,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nonMounted(() => {\n\tinitData()\n\twindow.addEventListener('resize', updateTabLayout)\n})\nonBeforeUnmount(() => {\n\twindow.removeEventListener('resize', updateTabLayout)\n\tstopTabScrollDrag()\n\tscrollStop()\n})\n\nfunction initData() {\n\tif (props.data && props.data.length) {\n\t\tif (typeof props.data === 'string') {\n\t\t\t_data.value = props.data.split(',').map(item => ({ label: item, value: item }))\n\t\t} else if (Array.isArray(props.data) && props.data.length) {\n\t\t\t_data.value = props.data\n\t\t}\n\t\tif (!selectValue.value && selectValue.value !== 0) {\n\t\t\tconst hasNoOnItems = !_data.value.some(item => item.on)\n\t\t\tif (hasNoOnItems) {\n\t\t\t\tselectValue.value = _data.value[0].value\n\t\t\t}\n\t\t}\n\t}\n\tif (props.over === 'control') {\n\t\tnextTick(() => {\n\t\t\tsetLayout()\n\t\t})\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n}\nconst setTabStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.itemWidth && !isNaN(Number(props.itemWidth)) && props.itemWidth !== 'avg') {\n\t\tobj.width = props.itemWidth + 'em'\n\t}\n\treturn obj\n})\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.height === 'full') {\n\t\tarr.push(`height-full`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.position === 'left') {\n\t\tarr.push(`position-left`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'right') {\n\t\tarr.push(`position-right`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'bottom') {\n\t\tarr.push(`position-bottom`)\n\t}\n\tif (props.itemDir) {\n\t\tarr.push(`item-dir-${props.itemDir}`)\n\t}\n\tif (props.itemWidth === 'avg') {\n\t\tarr.push(`item-width-avg`)\n\t}\n\tif (props.align) {\n\t\tarr.push(`align-${props.align}`)\n\t}\n\tif (activeOver.value) {\n\t\tarr.push(`over-${activeOver.value}`)\n\t}\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\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 = props.height as string\n\t\t}\n\t}\n\treturn obj\n})\n\nasync function changeTab(item, index, event, force = false) {\n\tif (!force && props.event !== event) return false\n\tif (item.disabled) return false\n\tlet flag = true\n\tif (props.beforeChange) {\n\t\tlet fn = props.beforeChange\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (props.contentType === 'float') {\n\t\tfloatRef.value.open(ul.value)\n\t}\n\tselectValue.value = item.value\n\temit('update:modelValue', item.value)\n\temit('change', item.value, item, index)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n\treturn true\n}\n\nasync function removePTab(item, idx) {\n\tlet flag = true\n\tif (props.beforeRemove) {\n\t\tlet fn = props.beforeRemove\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (item.value === selectValue.value) {\n\t\tif (idx > 0) {\n\t\t\tselectValue.value = _data.value[idx - 1].value\n\t\t} else {\n\t\t\tselectValue.value = ''\n\t\t}\n\t\temit('update:modelValue', selectValue.value)\n\t}\n\t_data.value.splice(idx, 1)\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n\temit('remove', item.value, item, idx)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction removeTab(val) {\n\t//\n\tconsole.log(val)\n}\nfunction addTab(tab) {\n\tif (props.data && props.data.length) return false\n\tstopChange = true\n\tlet idx = _data.value.findIndex(item => item.value === tab.value)\n\tif (idx === -1) {\n\t\tif (tab.on) {\n\t\t\tselectValue.value = tab.value\n\t\t}\n\t\t_data.value.push(tab)\n\t\tif (props.over === 'control') {\n\t\t\tnextTick(() => {\n\t\t\t\tsetLayout()\n\t\t\t})\n\t\t}\n\t\tif (props.over === 'float') {\n\t\t\tupdateOverflowTabs()\n\t\t}\n\t\tupdateTabScroll()\n\t\tupdateActiveOver()\n\t}\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction updateTabLabel(oldLabel: string | number, label: string) {\n\tlet idx = _data.value.findIndex(item => item.label === oldLabel)\n\tif (idx !== -1) {\n\t\t_data.value[idx].label = label\n\t\tupdateTabLayout()\n\t}\n}\nfunction getPicOn(pic) {\n\tlet src = ''\n\tif (pic && props.changePic) {\n\t\tlet arr = pic.split('.')\n\t\tif (arr.length === 2) {\n\t\t\tsrc = arr[0] + '-on.' + arr[1]\n\t\t} else if (arr.length > 2) {\n\t\t\tarr.forEach((item, idx) => {\n\t\t\t\tif (idx === arr.length - 1) {\n\t\t\t\t\tsrc += '-on.' + item\n\t\t\t\t} else {\n\t\t\t\t\tsrc += item\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t} else {\n\t\tsrc = pic\n\t}\n\treturn src\n}\nfunction contextmenu(item, idx) {\n\temit('contextmenu', item.value, item, idx)\n}\nfunction updateTabLayout() {\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tupdateActiveOver()\n\tupdateOverflowTabs()\n\tupdateTabScroll()\n}\nfunction handleListScroll() {\n\tsetOverflowTabs()\n\tsetTabScroll()\n}\nfunction updateOverflowTabs() {\n\tnextTick(() => {\n\t\tsetOverflowTabs()\n\t})\n}\nfunction setOverflowTabs() {\n\tif (props.over !== 'float' || !list.value || !ul.value) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst listRect = list.value.getBoundingClientRect()\n\tif (!listRect.width || !listRect.height) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst hiddenIndexes = new Set<number>()\n\tconst itemNodes = Array.from(ul.value.querySelectorAll('.to-tab-item')) as HTMLElement[]\n\titemNodes.forEach(node => {\n\t\tconst index = Number(node.dataset.tabIndex)\n\t\tif (Number.isNaN(index)) return\n\t\tconst rect = node.getBoundingClientRect()\n\t\tconst isHidden = rect.left < listRect.left - 1 || rect.right > listRect.right + 1 || rect.top < listRect.top - 1 || rect.bottom > listRect.bottom + 1\n\t\tif (isHidden) {\n\t\t\thiddenIndexes.add(index)\n\t\t}\n\t})\n\tconst oldShow = overflowTabs.value.length > 0\n\toverflowTabs.value = _data.value.map((item, index) => ({ item, index })).filter(tab => hiddenIndexes.has(tab.index))\n\tif (oldShow !== overflowTabs.value.length > 0) {\n\t\tupdateOverflowTabs()\n\t}\n}\nfunction updateTabScroll() {\n\tnextTick(() => {\n\t\tsetTabScroll()\n\t})\n}\nfunction setTabScroll() {\n\tif (!isPc.value || !list.value || !ul.value) {\n\t\ttabScrollable.value = false\n\t\treturn\n\t}\n\tconst listWidth = list.value.clientWidth\n\tconst scrollWidth = ul.value.scrollWidth\n\tconst scrollRange = scrollWidth - listWidth\n\tif (listWidth <= 0 || scrollRange <= 1) {\n\t\ttabScrollable.value = false\n\t\ttabScrollWidth.value = 0\n\t\ttabScrollLeft.value = 0\n\t\treturn\n\t}\n\ttabScrollable.value = true\n\ttabScrollWidth.value = Math.max((listWidth * listWidth) / scrollWidth, 16)\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 0)\n\tconst scrollRatio = list.value.scrollLeft / scrollRange\n\ttabScrollLeft.value = list.value.scrollLeft + scrollRatio * trackRange\n}\nfunction getTabScrollRange() {\n\tif (!list.value || !ul.value) return 0\n\treturn Math.max(ul.value.scrollWidth - list.value.clientWidth, 0)\n}\nasync function updateActiveOver() {\n\tconst version = ++activeOverVersion\n\tconst over = props.over\n\tif (over !== 'avg' && over !== 'wrap') {\n\t\tactiveOver.value = over\n\t\treturn\n\t}\n\tactiveOver.value = ''\n\tawait nextTick()\n\tif (version !== activeOverVersion || props.over !== over || !list.value || !ul.value) return\n\tactiveOver.value = getTabScrollRange() > 1 ? over : ''\n\tawait nextTick()\n\tif (version !== activeOverVersion) return\n\tsetTabScroll()\n}\nfunction setTabScrollLeft(scrollLeft: number) {\n\tif (!list.value) return\n\tconst scrollRange = getTabScrollRange()\n\tlist.value.scrollLeft = Math.max(0, Math.min(scrollRange, scrollLeft))\n\tsetTabScroll()\n\tsetOverflowTabs()\n}\nfunction startTabScrollDrag(event: MouseEvent) {\n\tif (!tabScrollShow.value || !list.value || !ul.value) return\n\tevent.preventDefault()\n\ttabScrollDragging.value = true\n\tconst startX = event.clientX\n\tconst startScrollLeft = list.value.scrollLeft\n\tconst listWidth = list.value.clientWidth\n\tconst scrollRange = getTabScrollRange()\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 1)\n\tconst move = (moveEvent: MouseEvent) => {\n\t\tmoveEvent.preventDefault()\n\t\tconst nextScrollLeft = startScrollLeft + ((moveEvent.clientX - startX) / trackRange) * scrollRange\n\t\tsetTabScrollLeft(nextScrollLeft)\n\t}\n\tconst up = () => {\n\t\tstopTabScrollDrag()\n\t}\n\twindow.addEventListener('mousemove', move)\n\twindow.addEventListener('mouseup', up, { once: true })\n\ttabScrollMove = move\n\ttabScrollUp = up\n}\nlet tabScrollMove: ((event: MouseEvent) => void) | null = null\nlet tabScrollUp: (() => void) | null = null\nfunction stopTabScrollDrag() {\n\ttabScrollDragging.value = false\n\tif (tabScrollMove) {\n\t\twindow.removeEventListener('mousemove', tabScrollMove)\n\t\ttabScrollMove = null\n\t}\n\tif (tabScrollUp) {\n\t\twindow.removeEventListener('mouseup', tabScrollUp)\n\t\ttabScrollUp = null\n\t}\n}\nasync function toggleOverflowFloat() {\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.toggle?.(overflowIconRef.value)\n\t} else {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nasync function changeOverflowTab(tab: OverflowTab) {\n\tconst changed = await changeTab(tab.item, tab.index, 'click', true)\n\tif (changed !== false) {\n\t\toverflowFloatRef.value?.close?.()\n\t\tscrollTabIntoView(tab.index)\n\t}\n}\nasync function removeOverflowTab(tab: OverflowTab) {\n\tawait removePTab(tab.item, tab.index)\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (!overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nfunction scrollTabIntoView(index: number) {\n\tnextTick(() => {\n\t\tconst node = ul.value?.querySelector(`.to-tab-item[data-tab-index=\"${index}\"]`) as HTMLElement | null\n\t\tnode?.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n\t\tupdateOverflowTabs()\n\t\tupdateTabScroll()\n\t})\n}\n// function calcTabFloat() {\n// \tlet listWidth = list.value.offsetWidth\n// \tlet nodeList = ul.value.querySelectorAll('.to-tab-item')\n// \tlet liWidths = 0\n// \tlet maxIdx = 0\n// \tnodeList.forEach((item, idx) => {\n// \t\tif (liWidths + item.offsetWidth < listWidth) {\n// \t\t\tliWidths += item.offsetWidth\n// \t\t\tmaxIdx = idx\n// \t\t}\n// \t})\n// }\nfunction controlLeftScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) - 3)\n\t}, 1)\n}\nfunction controlRightScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) + 3)\n\t}, 1)\n}\nfunction scrollStop() {\n\tif (scrollTimer) {\n\t\tclearInterval(scrollTimer)\n\t\tscrollTimer = null\n\t}\n}\nfunction setLayout() {\n\tnextTick(() => {\n\t\tif (!list.value || !ul.value) {\n\t\t\tcontrolShow.value = false\n\t\t\treturn\n\t\t}\n\t\tcontrolShow.value = getTabScrollRange() > 1\n\t\tif (!controlShow.value) {\n\t\t\tlist.value.scrollLeft = 0\n\t\t}\n\t\tsetTabScroll()\n\t})\n}\nprovide<ITabProvide>('TabProvide', {\n\taddTab,\n\tremoveTab,\n\tupdateTabLabel,\n\tselectValue\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","flex","_createElementVNode","$slots","_renderSlot","title","_openBlock","_Fragment","_renderList","_createBlock","_mergeProps","_createTextVNode","_toDisplayString","removable","_withModifiers","over","_Teleport","_createVNode","contentType"],"mappings":"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"}
1
+ {"version":3,"file":"tab.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTab'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" class=\"to-tab\" :class=\"setClass\" :flex=\"flex ? flex : null\" :style=\"setStyle\">\n\t\t<div class=\"to-tab-tab\">\n\t\t\t<div v-if=\"props.title || $slots.title\" class=\"to-tab-title\">\n\t\t\t\t<div class=\"to-tab-title-text\">\n\t\t\t\t\t<slot name=\"title\">{{ title }}</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div ref=\"list\" class=\"to-tab-list\" @scroll=\"handleListScroll\">\n\t\t\t\t<div ref=\"ul\" class=\"to-tab-wrapper\">\n\t\t\t\t\t<template v-for=\"(item, index) in _data\" :key=\"index\">\n\t\t\t\t\t\t<div v-if=\"$slots.center && Math.floor(_data.length / 2) === index\">\n\t\t\t\t\t\t\t<slot name=\"center\"></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"to-tab-item\" :data-tab-index=\"index\" :class=\"{ 'is-on': item.value === selectValue, 'is-disabled': item.disabled }\" :style=\"setTabStyle\" @click=\"changeTab(item, index, 'click')\" @mouseover=\"changeTab(item, index, 'hover')\" @contextmenu=\"contextmenu(item, index)\">\n\t\t\t\t\t\t\t<slot name=\"item\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-item-main\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-left\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-content\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"item.pic\" class=\"to-tab-item-pic\" :src=\"item.value === selectValue ? getPicOn(item.pic) : item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"item.icon\" :value=\"item.icon\" class=\"to-tab-item-icon\" :type=\"item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-tag v-if=\"item.count\" type=\"number\" class=\"to-tab-item-count\">{{ item.count }}</to-tag>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-item-remove\" @click.stop=\"removePTab(item, index)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-right\"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"to-tab-indicator\"></div>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"tabScrollShow\" ref=\"tabScrollRef\" class=\"to-tab-list-scroll\" :class=\"{ 'is-dragging': tabScrollDragging }\" :style=\"tabScrollStyle\" @mousedown=\"startTabScrollDrag\">\n\t\t\t\t\t<div class=\"to-tab-list-scroll-bar\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"controlShow || overflowFloatShow || slot.fn\" class=\"to-tab-fn\">\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"back\" @mousedown=\"controlLeftScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"next\" @mousedown=\"controlRightScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<slot name=\"fn\"></slot>\n\t\t\t\t<to-icon v-if=\"overflowFloatShow\" ref=\"overflowIconRef\" value=\"more\" link @click=\"toggleOverflowFloat\"></to-icon>\n\t\t\t\t<Teleport v-if=\"overflowFloatShow\" to=\"body\">\n\t\t\t\t\t<div class=\"to-tab\">\n\t\t\t\t\t\t<to-float ref=\"overflowFloatRef\" align=\"right\" :global=\"false\" class=\"to-tab-over-float\" :lazy=\"false\" width=\"12\">\n\t\t\t\t\t\t\t<to-scroll class=\"to-tab-over-scroll\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-over-list\">\n\t\t\t\t\t\t\t\t\t<div v-for=\"tab in overflowTabs\" :key=\"tab.index\" class=\"to-tab-over-item\" :class=\"{ 'is-on': tab.item.value === selectValue, 'is-disabled': tab.item.disabled }\" @click=\"changeOverflowTab(tab)\" @contextmenu=\"contextmenu(tab.item, tab.index)\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"tab.item.pic\" class=\"to-tab-over-item-pic\" :src=\"tab.item.value === selectValue ? getPicOn(tab.item.pic) : tab.item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"tab.item.icon\" :value=\"tab.item.icon\" class=\"to-tab-over-item-icon\" :type=\"tab.item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-over-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"tab.item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ tab.item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-over-item-remove\" @click.stop=\"removeOverflowTab(tab)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t\t</to-float>\n\t\t\t\t\t</div>\n\t\t\t\t</Teleport>\n\t\t\t</div>\n\t\t\t<div class=\"to-tab-divider\"></div>\n\t\t</div>\n\t\t<to-float v-if=\"contentType === 'float'\" ref=\"floatRef\" :lazy=\"false\">\n\t\t\t<slot></slot>\n\t\t</to-float>\n\t\t<div v-else class=\"to-tab-page\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, CSSProperties, provide, Ref, onMounted, onBeforeUnmount, watch, nextTick, useSlots } from 'vue'\nimport { ToFloat, ToIcon } from '@touchvue/components'\nimport { useDevice } from '@touchvue/hooks'\nimport { langKey } from '@touchvue/locale'\n\n\nconst emit = defineEmits(['update:modelValue', 'change', 'remove', 'contextmenu'])\n\nexport interface TabItem {\n\tlabel: string\n\tvalue: string | number\n\t[key: string]: any\n}\n\ninterface OverflowTab {\n\titem: TabItem\n\tindex: number\n}\n\nexport interface TabProps {\n\tflex?: boolean\n\tmodelValue?: string | number\n\titemWidth?: string | number\n\tmode?: string\n\tdata?: TabItem[] | string\n\tremovable?: boolean\n\tposition?: 'left' | 'right' | 'bottom' | 'top' | ''\n\titemDir?: 'v' | ''\n\tover?: 'float' | 'wrap' | 'control' | 'avg' | ''\n\tevent?: string\n\tcontentType?: string\n\ttitle?: string\n\theight?: string | number\n\tchangePic?: boolean\n\talign?: 'center' | ''\n\tbeforeChange?: () => boolean | Promise<boolean>\n\tbeforeRemove?: () => boolean | Promise<boolean>\n}\n\nexport interface ITabProvide {\n\taddTab: (item: TabItem) => void\n\tremoveTab: (val: string | number) => void\n\tupdateTabLabel: (val: string | number, label: string) => void\n\tselectValue: Ref<string, string>\n}\n\nconst props = withDefaults(defineProps<TabProps>(), {\n\tmodelValue: '',\n\titemWidth: '',\n\tmode: 'default',\n\tover: '',\n\titemDir: '',\n\tevent: 'click',\n\tremovable: false,\n\tdata: () => [] as TabItem[],\n\tcontentType: '',\n\ttitle: '',\n\theight: '',\n\tbeforeChange: null,\n\tbeforeRemove: null,\n\tchangePic: false,\n\tposition: '',\n\talign: '',\n\tflex: false\n})\n\nconst selectValue: any = ref('')\nconst _data = ref<TabItem[]>([])\nconst floatRef = ref<any>(null)\nconst overflowFloatRef = ref<any>(null)\nconst overflowIconRef = ref<any>(null)\nconst overflowTabs = ref<OverflowTab[]>([])\nconst overflowFloatShow = computed(() => props.over === 'float' && overflowTabs.value.length > 0)\nconst ul = ref<HTMLElement | null>(null)\nconst list = ref<HTMLElement | null>(null)\nconst tabScrollRef = ref<HTMLElement | null>(null)\nconst tabScrollWidth = ref(0)\nconst tabScrollLeft = ref(0)\nconst tabScrollable = ref(false)\nconst tabScrollDragging = ref(false)\nconst activeOver = ref<TabProps['over']>('')\nlet scrollTimer: ReturnType<typeof setInterval> | null = null\nconst controlShow = ref(false)\nlet stopChange = false\nlet activeOverVersion = 0\nconst slot = useSlots()\nconst { isPc } = useDevice()\nconst tabScrollShow = computed(() => isPc.value && tabScrollable.value)\nconst tabScrollStyle = computed<CSSProperties>(() => {\n\treturn {\n\t\twidth: `${tabScrollWidth.value}px`,\n\t\tleft: `${tabScrollLeft.value}px`\n\t}\n})\n\nwatch(\n\t() => props.modelValue,\n\t(val, old) => {\n\t\tif (val || val === 0) {\n\t\t\tselectValue.value = val\n\t\t\tscrollSelectTabIntoView()\n\t\t} else {\n\t\t\temit('update:modelValue', old)\n\t\t}\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.data,\n\t() => {\n\t\tif (!stopChange) {\n\t\t\tinitData()\n\t\t}\n\t},\n\t{ deep: true }\n)\nwatch(\n\t() => isPc.value,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nwatch(\n\t() => props.over,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nonMounted(() => {\n\tinitData()\n\twindow.addEventListener('resize', updateTabLayout)\n})\nonBeforeUnmount(() => {\n\twindow.removeEventListener('resize', updateTabLayout)\n\tstopTabScrollDrag()\n\tscrollStop()\n})\n\nfunction initData() {\n\tif (props.data && props.data.length) {\n\t\tif (typeof props.data === 'string') {\n\t\t\t_data.value = props.data.split(',').map(item => ({ label: item, value: item }))\n\t\t} else if (Array.isArray(props.data) && props.data.length) {\n\t\t\t_data.value = props.data\n\t\t}\n\t\tif (!selectValue.value && selectValue.value !== 0) {\n\t\t\tconst hasNoOnItems = !_data.value.some(item => item.on)\n\t\t\tif (hasNoOnItems) {\n\t\t\t\tselectValue.value = _data.value[0].value\n\t\t\t}\n\t\t}\n\t}\n\tif (props.over === 'control') {\n\t\tnextTick(() => {\n\t\t\tsetLayout()\n\t\t})\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n}\nconst setTabStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.itemWidth && !isNaN(Number(props.itemWidth)) && props.itemWidth !== 'avg') {\n\t\tobj.width = props.itemWidth + 'em'\n\t}\n\treturn obj\n})\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.height === 'full') {\n\t\tarr.push(`height-full`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.position === 'left') {\n\t\tarr.push(`position-left`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'right') {\n\t\tarr.push(`position-right`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'bottom') {\n\t\tarr.push(`position-bottom`)\n\t}\n\tif (props.itemDir) {\n\t\tarr.push(`item-dir-${props.itemDir}`)\n\t}\n\tif (props.itemWidth === 'avg') {\n\t\tarr.push(`item-width-avg`)\n\t}\n\tif (props.align) {\n\t\tarr.push(`align-${props.align}`)\n\t}\n\tif (activeOver.value) {\n\t\tarr.push(`over-${activeOver.value}`)\n\t}\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\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 = props.height as string\n\t\t}\n\t}\n\treturn obj\n})\n\nasync function changeTab(item, index, event, force = false) {\n\tif (!force && props.event !== event) return false\n\tif (item.disabled) return false\n\tlet flag = true\n\tif (props.beforeChange) {\n\t\tlet fn = props.beforeChange\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (props.contentType === 'float') {\n\t\tfloatRef.value.open(ul.value)\n\t}\n\tselectValue.value = item.value\n\temit('update:modelValue', item.value)\n\temit('change', item.value, item, index)\n\tscrollTabIntoView(index)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n\treturn true\n}\n\nasync function removePTab(item, idx) {\n\tlet flag = true\n\tif (props.beforeRemove) {\n\t\tlet fn = props.beforeRemove\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (item.value === selectValue.value) {\n\t\tif (idx > 0) {\n\t\t\tselectValue.value = _data.value[idx - 1].value\n\t\t} else {\n\t\t\tselectValue.value = ''\n\t\t}\n\t\temit('update:modelValue', selectValue.value)\n\t}\n\t_data.value.splice(idx, 1)\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n\temit('remove', item.value, item, idx)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction removeTab(val) {\n\t//\n\tconsole.log(val)\n}\nfunction addTab(tab) {\n\tif (props.data && props.data.length) return false\n\tstopChange = true\n\tlet idx = _data.value.findIndex(item => item.value === tab.value)\n\tif (idx === -1) {\n\t\tif (tab.on) {\n\t\t\tselectValue.value = tab.value\n\t\t}\n\t\t_data.value.push(tab)\n\t\tif (props.over === 'control') {\n\t\t\tnextTick(() => {\n\t\t\t\tsetLayout()\n\t\t\t})\n\t\t}\n\t\tif (props.over === 'float') {\n\t\t\tupdateOverflowTabs()\n\t\t}\n\t\tupdateTabScroll()\n\t\tupdateActiveOver()\n\t}\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction updateTabLabel(oldLabel: string | number, label: string) {\n\tlet idx = _data.value.findIndex(item => item.label === oldLabel)\n\tif (idx !== -1) {\n\t\t_data.value[idx].label = label\n\t\tupdateTabLayout()\n\t}\n}\nfunction getPicOn(pic) {\n\tlet src = ''\n\tif (pic && props.changePic) {\n\t\tlet arr = pic.split('.')\n\t\tif (arr.length === 2) {\n\t\t\tsrc = arr[0] + '-on.' + arr[1]\n\t\t} else if (arr.length > 2) {\n\t\t\tarr.forEach((item, idx) => {\n\t\t\t\tif (idx === arr.length - 1) {\n\t\t\t\t\tsrc += '-on.' + item\n\t\t\t\t} else {\n\t\t\t\t\tsrc += item\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t} else {\n\t\tsrc = pic\n\t}\n\treturn src\n}\nfunction contextmenu(item, idx) {\n\temit('contextmenu', item.value, item, idx)\n}\nfunction updateTabLayout() {\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tupdateActiveOver()\n\tupdateOverflowTabs()\n\tupdateTabScroll()\n}\nfunction handleListScroll() {\n\tsetOverflowTabs()\n\tsetTabScroll()\n}\nfunction updateOverflowTabs() {\n\tnextTick(() => {\n\t\tsetOverflowTabs()\n\t})\n}\nfunction setOverflowTabs() {\n\tif (props.over !== 'float' || !list.value || !ul.value) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst listRect = list.value.getBoundingClientRect()\n\tif (!listRect.width || !listRect.height) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst hiddenIndexes = new Set<number>()\n\tconst itemNodes = Array.from(ul.value.querySelectorAll('.to-tab-item')) as HTMLElement[]\n\titemNodes.forEach(node => {\n\t\tconst index = Number(node.dataset.tabIndex)\n\t\tif (Number.isNaN(index)) return\n\t\tconst rect = node.getBoundingClientRect()\n\t\tconst isHidden = rect.left < listRect.left - 1 || rect.right > listRect.right + 1 || rect.top < listRect.top - 1 || rect.bottom > listRect.bottom + 1\n\t\tif (isHidden) {\n\t\t\thiddenIndexes.add(index)\n\t\t}\n\t})\n\tconst oldShow = overflowTabs.value.length > 0\n\toverflowTabs.value = _data.value.map((item, index) => ({ item, index })).filter(tab => hiddenIndexes.has(tab.index))\n\tif (oldShow !== overflowTabs.value.length > 0) {\n\t\tupdateOverflowTabs()\n\t}\n}\nfunction updateTabScroll() {\n\tnextTick(() => {\n\t\tsetTabScroll()\n\t})\n}\nfunction setTabScroll() {\n\tif (!isPc.value || !list.value || !ul.value) {\n\t\ttabScrollable.value = false\n\t\treturn\n\t}\n\tconst listWidth = list.value.clientWidth\n\tconst scrollWidth = ul.value.scrollWidth\n\tconst scrollRange = scrollWidth - listWidth\n\tif (listWidth <= 0 || scrollRange <= 1) {\n\t\ttabScrollable.value = false\n\t\ttabScrollWidth.value = 0\n\t\ttabScrollLeft.value = 0\n\t\tlist.value.scrollLeft = 0\n\t\treturn\n\t}\n\tconst scrollLeft = Math.max(0, Math.min(scrollRange, list.value.scrollLeft))\n\tif (scrollLeft !== list.value.scrollLeft) {\n\t\tlist.value.scrollLeft = scrollLeft\n\t}\n\ttabScrollable.value = true\n\ttabScrollWidth.value = Math.max((listWidth * listWidth) / scrollWidth, 16)\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 0)\n\tconst scrollRatio = scrollLeft / scrollRange\n\ttabScrollLeft.value = scrollLeft + scrollRatio * trackRange\n}\nfunction getTabScrollRange() {\n\tif (!list.value || !ul.value) return 0\n\treturn Math.max(ul.value.scrollWidth - list.value.clientWidth, 0)\n}\nasync function updateActiveOver() {\n\tconst version = ++activeOverVersion\n\tconst over = props.over\n\tif (over !== 'avg' && over !== 'wrap') {\n\t\tactiveOver.value = over\n\t\treturn\n\t}\n\tactiveOver.value = ''\n\tawait nextTick()\n\tif (version !== activeOverVersion || props.over !== over || !list.value || !ul.value) return\n\tactiveOver.value = getTabScrollRange() > 1 ? over : ''\n\tawait nextTick()\n\tif (version !== activeOverVersion) return\n\tsetTabScroll()\n}\nfunction setTabScrollLeft(scrollLeft: number) {\n\tif (!list.value) return\n\tconst scrollRange = getTabScrollRange()\n\tlist.value.scrollLeft = Math.max(0, Math.min(scrollRange, scrollLeft))\n\tsetTabScroll()\n\tsetOverflowTabs()\n}\nfunction startTabScrollDrag(event: MouseEvent) {\n\tif (!tabScrollShow.value || !list.value || !ul.value) return\n\tevent.preventDefault()\n\ttabScrollDragging.value = true\n\tconst startX = event.clientX\n\tconst startScrollLeft = list.value.scrollLeft\n\tconst listWidth = list.value.clientWidth\n\tconst scrollRange = getTabScrollRange()\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 1)\n\tconst move = (moveEvent: MouseEvent) => {\n\t\tmoveEvent.preventDefault()\n\t\tconst nextScrollLeft = startScrollLeft + ((moveEvent.clientX - startX) / trackRange) * scrollRange\n\t\tsetTabScrollLeft(nextScrollLeft)\n\t}\n\tconst up = () => {\n\t\tstopTabScrollDrag()\n\t}\n\twindow.addEventListener('mousemove', move)\n\twindow.addEventListener('mouseup', up, { once: true })\n\ttabScrollMove = move\n\ttabScrollUp = up\n}\nlet tabScrollMove: ((event: MouseEvent) => void) | null = null\nlet tabScrollUp: (() => void) | null = null\nfunction stopTabScrollDrag() {\n\ttabScrollDragging.value = false\n\tif (tabScrollMove) {\n\t\twindow.removeEventListener('mousemove', tabScrollMove)\n\t\ttabScrollMove = null\n\t}\n\tif (tabScrollUp) {\n\t\twindow.removeEventListener('mouseup', tabScrollUp)\n\t\ttabScrollUp = null\n\t}\n}\nasync function toggleOverflowFloat() {\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.toggle?.(overflowIconRef.value)\n\t} else {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nasync function changeOverflowTab(tab: OverflowTab) {\n\tconst changed = await changeTab(tab.item, tab.index, 'click', true)\n\tif (changed !== false) {\n\t\toverflowFloatRef.value?.close?.()\n\t\tscrollTabIntoView(tab.index)\n\t}\n}\nasync function removeOverflowTab(tab: OverflowTab) {\n\tawait removePTab(tab.item, tab.index)\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (!overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nfunction scrollTabIntoView(index: number) {\n\tnextTick(() => {\n\t\tif (!list.value || !ul.value) return\n\t\tconst node = ul.value.querySelector(`.to-tab-item[data-tab-index=\"${index}\"]`) as HTMLElement | null\n\t\tif (!node) return\n\t\tconst listRect = list.value.getBoundingClientRect()\n\t\tconst nodeRect = node.getBoundingClientRect()\n\t\tif (nodeRect.right > listRect.right) {\n\t\t\tsetTabScrollLeft(list.value.scrollLeft + nodeRect.right - listRect.right)\n\t\t} else if (nodeRect.left < listRect.left) {\n\t\t\tsetTabScrollLeft(list.value.scrollLeft + nodeRect.left - listRect.left)\n\t\t} else {\n\t\t\tupdateOverflowTabs()\n\t\t\tupdateTabScroll()\n\t\t}\n\t})\n}\nfunction scrollSelectTabIntoView() {\n\tconst index = _data.value.findIndex(item => item.value === selectValue.value)\n\tif (index !== -1) {\n\t\tscrollTabIntoView(index)\n\t}\n}\n// function calcTabFloat() {\n// \tlet listWidth = list.value.offsetWidth\n// \tlet nodeList = ul.value.querySelectorAll('.to-tab-item')\n// \tlet liWidths = 0\n// \tlet maxIdx = 0\n// \tnodeList.forEach((item, idx) => {\n// \t\tif (liWidths + item.offsetWidth < listWidth) {\n// \t\t\tliWidths += item.offsetWidth\n// \t\t\tmaxIdx = idx\n// \t\t}\n// \t})\n// }\nfunction controlLeftScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) - 3)\n\t}, 1)\n}\nfunction controlRightScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) + 3)\n\t}, 1)\n}\nfunction scrollStop() {\n\tif (scrollTimer) {\n\t\tclearInterval(scrollTimer)\n\t\tscrollTimer = null\n\t}\n}\nfunction setLayout() {\n\tnextTick(() => {\n\t\tif (!list.value || !ul.value) {\n\t\t\tcontrolShow.value = false\n\t\t\treturn\n\t\t}\n\t\tcontrolShow.value = getTabScrollRange() > 1\n\t\tif (!controlShow.value) {\n\t\t\tlist.value.scrollLeft = 0\n\t\t}\n\t\tsetTabScroll()\n\t})\n}\nprovide<ITabProvide>('TabProvide', {\n\taddTab,\n\tremoveTab,\n\tupdateTabLabel,\n\tselectValue\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","flex","_createElementVNode","$slots","_renderSlot","title","_openBlock","_Fragment","_renderList","_createBlock","_mergeProps","_createTextVNode","_toDisplayString","removable","_withModifiers","over","_Teleport","_createVNode","contentType"],"mappings":"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"}
@@ -171,6 +171,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
171
171
  checkValues = newVal.split(",");
172
172
  } else if (Array.isArray(newVal)) {
173
173
  checkValues = newVal;
174
+ } else if (typeof newVal === "number") {
175
+ checkValues = [newVal];
174
176
  }
175
177
  initValues.value = checkValues;
176
178
  if (checkValues.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ props.emptyText || t('to.tree.noData') }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\nimport { t, langKey } from '@touchvue/locale'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tflex?: boolean\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\nconst initValues = ref([])\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t\tinitCheckValues(props.modelValue)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tif (Array.isArray(newVal)) {\n\t\t\t\tif (newVal.length) {\n\t\t\t\t\tinitCheckValues(newVal)\n\t\t\t\t} else {\n\t\t\t\t\tif (props.checkable) {\n\t\t\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t\t\t}\n\t\t\t\t\tif (props.selectable) {\n\t\t\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t\t\t}\n\t\t\t\t\tif (!props.expand) {\n\t\t\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinitCheckValues(newVal)\n\t\t\t}\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\n\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tinitValues.value = newVal\n\t\tupdateModelValue()\n\t}\n)\n\nfunction updateModelValue() {\n\tif (selectValues.value.length === 0) {\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', initValues.value.join(',') || '')\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', initValues.value || [])\n\t\t}\n\t\treturn\n\t}\n\tif (valueType.value === 'string') {\n\t\temit('update:modelValue', selectValues.value.join(','))\n\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\temit('update:modelValue', selectValues.value)\n\t} else {\n\t\tconsole.warn('请设置正确的数据类型')\n\t}\n}\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t}\n\tinitValues.value = checkValues\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetStopChange(true)\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetStopChange(false)\n\t\t\t}, 10)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\tif (!props.checkStrictly) {\n\t\t\t\tif (item.isLeaf) {\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\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n\tupdateModelValue: () => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck,\n\tupdateModelValue\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTree'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-tree\" :class=\"setClass\">\n\t\t<template v-if=\"filterStore.length\">\n\t\t\t<to-tree-item v-for=\"item in filterStore\" :key=\"item[props.valueText]\" :node=\"item\" :item-props=\"props\">\n\t\t\t\t<template #default=\"scope\">\n\t\t\t\t\t<slot :item=\"scope.node\"></slot>\n\t\t\t\t</template>\n\t\t\t</to-tree-item>\n\t\t</template>\n\t\t<div v-else class=\"to-tree-empty\">\n\t\t\t{{ props.emptyText || t('to.tree.noData') }}\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport { Ref, computed, provide, ref, watch } from 'vue'\nimport ToTreeItem from './tree-item.vue'\nimport { deepClone } from '@touchvue/utils'\nimport { t, langKey } from '@touchvue/locale'\n\n\n\nexport type TreeKeys = string | number\n\nexport interface Node {\n\tlabel: string\n\tvalue: string\n\ticon?: string\n\tchildren?: Node[]\n\tisLeaf?: boolean\n\tisExpand?: boolean\n\tchecked?: boolean\n\tisSelect?: boolean\n\tloading?: boolean\n\tisLoad?: boolean\n\t[key: string]: any\n}\n\nexport interface Props {\n\tflex?: boolean\n\tmode?: string\n\texpand?: boolean\n\tdata: Node[]\n\tmodelValue?: Node[] | string\n\ttoggleLink?: false\n\tcheckLink?: false\n\tcheckable?: false\n\tselectable?: false\n\tcheckStrictly?: false\n\taccordion?: false\n\tchildrenText?: string\n\tvalueText?: string\n\tlabelText?: string\n\temptyText?: string\n\tload?: (node: any) => any | null\n\tparentSelectable?: boolean\n\tfilterNodeMethod?: (key, node) => any | null\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\texpand: false, //默认是否全部展开\n\tdata: () => [],\n\ttoggleLink: false, //是否可点击节点展开收缩\n\tcheckLink: false, //是否可点击节点选中\n\tselectable: false, //节点是否可被选择\n\tcheckable: false, //是否显示节点复选框\n\tcheckStrictly: false, //父子是否强关联\n\taccordion: false, //是否每次只打开一个同级树节点\n\tchildrenText: 'children',\n\tvalueText: 'value',\n\tlabelText: 'label',\n\tmodelValue: '',\n\temptyText: '',\n\tload: null,\n\tparentSelectable: false,\n\tfilterNodeMethod: null\n})\n\nconst stopChange = ref(false)\n\nconst valueType = computed(() => {\n\treturn typeof props.modelValue\n})\nconst store = ref(initData(props.data, 0))\n\nconst selectValues = computed(() => {\n\tlet values = []\n\tif (props.checkable) {\n\t\tvalues = getCheckValues(store.value)\n\t}\n\tif (props.selectable) {\n\t\tvalues = getCurrentNode(store.value)\n\t}\n\treturn values\n})\nconst initValues = ref([])\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => store.value,\n\tnewVal => {\n\t\tif (!props.checkStrictly) {\n\t\t\tsetParentCheck(newVal)\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.data,\n\tnewVal => {\n\t\tstore.value = initData(newVal, 0)\n\t\tinitCheckValues(props.modelValue)\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.modelValue,\n\tnewVal => {\n\t\tif (stopChange.value) {\n\t\t\treturn\n\t\t}\n\t\tif (newVal) {\n\t\t\tif (Array.isArray(newVal)) {\n\t\t\t\tif (newVal.length) {\n\t\t\t\t\tinitCheckValues(newVal)\n\t\t\t\t} else {\n\t\t\t\t\tif (props.checkable) {\n\t\t\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t\t\t}\n\t\t\t\t\tif (props.selectable) {\n\t\t\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t\t\t}\n\t\t\t\t\tif (!props.expand) {\n\t\t\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinitCheckValues(newVal)\n\t\t\t}\n\t\t} else {\n\t\t\tif (props.checkable) {\n\t\t\t\tsetCheckByValues(store.value, [])\n\t\t\t}\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, '')\n\t\t\t}\n\t\t\tif (!props.expand) {\n\t\t\t\tsetExpandByKeys(store.value, [])\n\t\t\t}\n\t\t}\n\t},\n\t{ immediate: true, deep: true }\n)\n\nwatch(\n\t() => selectValues.value,\n\tnewVal => {\n\t\tinitValues.value = newVal\n\t\tupdateModelValue()\n\t}\n)\n\nfunction updateModelValue() {\n\tif (selectValues.value.length === 0) {\n\t\tif (valueType.value === 'string') {\n\t\t\temit('update:modelValue', initValues.value.join(',') || '')\n\t\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\t\temit('update:modelValue', initValues.value || [])\n\t\t}\n\t\treturn\n\t}\n\tif (valueType.value === 'string') {\n\t\temit('update:modelValue', selectValues.value.join(','))\n\t} else if (valueType.value === 'object' && Array.isArray(props.modelValue)) {\n\t\temit('update:modelValue', selectValues.value)\n\t} else {\n\t\tconsole.warn('请设置正确的数据类型')\n\t}\n}\nfunction initData(data: Node[], levelPlus: number): Node[] {\n\tlet tem = deepClone(data)\n\tlet arr = []\n\tlet level = levelPlus\n\ttem.forEach((item: Node) => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tisLeaf: false,\n\t\t\t\tisExpand: props.expand,\n\t\t\t\tchecked: false,\n\t\t\t\tlevel,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\t[props.childrenText]: initData(item[props.childrenText], level + 1)\n\t\t\t})\n\t\t} else {\n\t\t\tarr.push({\n\t\t\t\t...item,\n\t\t\t\tlevel,\n\t\t\t\tisLeaf: true,\n\t\t\t\tchecked: false,\n\t\t\t\tisSelect: false,\n\t\t\t\tloading: false,\n\t\t\t\tisNeedLoad: !!props.load,\n\t\t\t\tisExpand: props.expand\n\t\t\t})\n\t\t}\n\t})\n\treturn arr\n}\n\nfunction initCheckValues(newVal) {\n\tlet checkValues = []\n\tif (typeof newVal === 'string') {\n\t\tcheckValues = newVal.split(',')\n\t} else if (Array.isArray(newVal)) {\n\t\tcheckValues = newVal\n\t} else if (typeof newVal === 'number') {\n\t\tcheckValues = [newVal]\n\t}\n\tinitValues.value = checkValues\n\tif (checkValues.length) {\n\t\tif (props.checkable) {\n\t\t\tsetStopChange(true)\n\t\t\tsetCheckByValues(store.value, checkValues)\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetStopChange(false)\n\t\t\t}, 10)\n\t\t}\n\t\tlet arr = []\n\t\tcheckValues.forEach(value => {\n\t\t\tif (props.selectable) {\n\t\t\t\tsetCurrentNode(store.value, value)\n\t\t\t}\n\t\t\tif (props.expand) return false\n\t\t\tlet tem = getParentByValue(store.value, value)\n\t\t\tlet values = tem.map(item => item[props.valueText])\n\t\t\tarr = [...arr, ...values]\n\t\t\tlet expandValues = Array.from(new Set(arr))\n\t\t\tsetExpandByValues(store.value, expandValues)\n\t\t})\n\t}\n}\n\nfunction setCheckByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\tif (!props.checkStrictly) {\n\t\t\t\tif (item.isLeaf) {\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\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\titem.checked = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\t// 递归查找子节点\n\t\t\t\tsetCheckByValues(item[props.childrenText], values)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction setExpandByValues(arr, values) {\n\tfor (const item of arr) {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tsetExpandByValues(item[props.childrenText], values)\n\t\t}\n\t}\n}\n\nfunction setPropertyByValue(value: string, setValue: boolean, prop: string) {\n\tfindNodeByValue(store.value, value, prop, setValue)\n}\n\nfunction findNodeByValue(arr: Node[], value: string, prop: string, setValue) {\n\tfor (const item of arr) {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (props.accordion && prop === 'isExpand') {\n\t\t\t\tarr.forEach(node => {\n\t\t\t\t\tnode[prop] = false\n\t\t\t\t})\n\t\t\t}\n\t\t\titem[prop] = setValue\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t// 递归查找子节点\n\t\t\tfindNodeByValue(item[props.childrenText], value, prop, setValue)\n\t\t}\n\t}\n}\n\nfunction setCheckByParentAndChild(arr, value, setValue) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t\t}\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length > 0) {\n\t\t\t\tsetCheckByParentAndChild(item[props.childrenText], value, setValue)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setChildCheck(arr, setValue) {\n\tarr.forEach(item => {\n\t\titem.checked = setValue\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetChildCheck(item[props.childrenText], setValue)\n\t\t}\n\t})\n}\n\nfunction setParentCheck(arr) {\n\tarr.forEach(item => {\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tlet tem = item[props.childrenText].filter(k => !k.checked)\n\t\t\tif (tem.length) {\n\t\t\t\titem.checked = false\n\t\t\t} else {\n\t\t\t\titem.checked = true\n\t\t\t}\n\t\t\tsetParentCheck(item[props.childrenText])\n\t\t}\n\t})\n}\n\nfunction getCheckValues(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.checked) {\n\t\t\ttem.push(item[props.valueText])\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tgetCheckValues(item[props.childrenText], tem)\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction getCurrentNode(arr, newTem = []) {\n\tlet tem = newTem\n\tarr.forEach(item => {\n\t\tif (item.isSelect) {\n\t\t\ttem.push(item[props.valueText])\n\t\t} else {\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tgetCurrentNode(item[props.childrenText], tem)\n\t\t\t}\n\t\t}\n\t})\n\treturn tem\n}\n\nfunction setCurrentNode(arr, value) {\n\tarr.forEach(item => {\n\t\tif (item[props.valueText] === value) {\n\t\t\titem.isSelect = true\n\t\t} else {\n\t\t\titem.isSelect = false\n\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\tsetCurrentNode(item[props.childrenText], value)\n\t\t\t}\n\t\t}\n\t})\n}\n\nfunction setExpandByKeys(arr, values) {\n\tarr.forEach(item => {\n\t\tif (values.includes(item[props.valueText])) {\n\t\t\titem.isExpand = true\n\t\t} else {\n\t\t\titem.isExpand = false\n\t\t}\n\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\tsetExpandByKeys(item[props.childrenText], values)\n\t\t}\n\t})\n}\n\nfunction getParentByValue(arr, value) {\n\tlet parentValues = []\n\tfunction find(node, curParent) {\n\t\tif (node[props.valueText] === value) {\n\t\t\tparentValues.push(...curParent)\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t\tlet newParent = [...curParent, node]\n\t\t\t\tnode[props.childrenText].forEach(item => {\n\t\t\t\t\tif (find(item, newParent)) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfor (const root of arr) {\n\t\tif (find(root, [])) {\n\t\t\tbreak // 找到后终止遍历\n\t\t}\n\t}\n\treturn parentValues\n}\n\nfunction setChildren(node: Node, children: Node[], needReset = false) {\n\tfunction find(arr) {\n\t\tarr.forEach(item => {\n\t\t\tif (item[props.valueText] === node[props.valueText]) {\n\t\t\t\titem[props.childrenText] = formatChildren(children, node.level)\n\t\t\t\titem.isExpand = true\n\t\t\t\titem.isLeaf = !(children && children.length)\n\t\t\t\titem.isNeedLoad = needReset\n\t\t\t} else {\n\t\t\t\tif (item[props.childrenText] && item[props.childrenText].length) {\n\t\t\t\t\tfind(item[props.childrenText])\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\tfind(store.value)\n}\n\nfunction formatChildren(children: Node[], level) {\n\treturn children.map(item => {\n\t\treturn {\n\t\t\tisLeaf: false,\n\t\t\tisExpand: false,\n\t\t\tchecked: false,\n\t\t\tisSelect: false,\n\t\t\t...item,\n\t\t\tloading: false,\n\t\t\tisNeedLoad: item.isLeaf !== undefined ? !item.isLeaf : true,\n\t\t\tlevel: level + 1,\n\t\t\t[props.childrenText]: []\n\t\t}\n\t})\n}\n\nconst filterStore = computed(() => {\n\tif (!filterText.value) {\n\t\treturn store.value\n\t}\n\treturn filterNodes(store.value, filterText.value)\n})\n\nfunction filterNodes(nodes: Node[], keyword: string): Node[] {\n\treturn nodes.reduce<Node[]>((result, node) => {\n\t\t// 检查当前节点是否匹配\n\t\tconst isMatch = props.filterNodeMethod ? props.filterNodeMethod(keyword, node) : node[props.labelText].includes(keyword)\n\n\t\t// 如果当前节点匹配\n\t\tif (isMatch) {\n\t\t\tresult.push(node)\n\t\t\treturn result\n\t\t}\n\n\t\t// 如果当前节点不匹配,检查子节点\n\t\tif (node[props.childrenText] && node[props.childrenText].length) {\n\t\t\t// 递归过滤子节点\n\t\t\tconst filteredChildren = filterNodes(node[props.childrenText], keyword)\n\n\t\t\t// 如果有匹配的子节点\n\t\t\tif (filteredChildren.length) {\n\t\t\t\t// 创建新节点对象,只包含匹配的子节点\n\t\t\t\tconst newNode = { ...node, [props.childrenText]: filteredChildren }\n\t\t\t\tresult.push(newNode)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}, [])\n}\n\nconst filterText = ref('')\nfunction filter(val) {\n\tfilterText.value = val\n}\n\nfunction itemClick(node: Node) {\n\temit('item-click', node)\n}\n\nfunction change(value, item) {\n\temit('change', value, item)\n}\n\nfunction setStopChange(val) {\n\tstopChange.value = val\n}\n\nexport interface ProvideType {\n\tsetPropertyByValue: (value: string, setValue: boolean, prop: string) => void\n\titemClick: (node: any) => void\n\tsetCheckByParentAndChild: (arr: Node[], value: string, setVale: boolean) => void\n\tstore: Ref<Node[]>\n\tchange: (value, item: Node) => void\n\tsetStopChange: (value: boolean) => void\n\tsetChildren: (node: Node, children: Node[], needReset?: boolean) => void\n\tsetParentCheck: (arr: Node[]) => void\n\tupdateModelValue: () => void\n}\n\nprovide<ProvideType>('RootTree', {\n\tsetStopChange,\n\tsetPropertyByValue,\n\titemClick,\n\tsetCheckByParentAndChild,\n\tstore: store,\n\tchange,\n\tsetChildren,\n\tsetParentCheck,\n\tupdateModelValue\n})\n\nconst emit = defineEmits(['item-click', 'change', 'update:modelValue'])\ndefineExpose({\n\tfilter\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","flex","_normalizeClass","_Fragment","_renderList","_createBlock","ToTreeItem","_withCtx","_renderSlot"],"mappings":"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"}