@touchvue/ui 1.0.0-beta.57 → 1.0.0-beta.58

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 (237) hide show
  1. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  2. package/es/hooks/useSetClass.d.ts +4 -0
  3. package/es/index.d.mjs +1 -1
  4. package/es/index.mjs +1 -1
  5. package/es/packages/components/box/src/box.vue2.mjs +2 -1
  6. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  7. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  8. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  9. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs +3 -1
  10. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  11. package/es/packages/components/button/src/button.vue2.mjs +2 -4
  12. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  13. package/es/packages/components/calendar/src/calendar.vue2.mjs +206 -232
  14. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  15. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -1
  16. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  17. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +2 -1
  18. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  19. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +14 -11
  20. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  21. package/es/packages/components/collapse/src/collapse.vue2.mjs +2 -1
  22. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  23. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +3 -4
  24. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  25. package/es/packages/components/daterange/src/date-range.vue2.mjs +30 -10
  26. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  27. package/es/packages/components/dialog/src/Dialog.vue2.mjs +2 -1
  28. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  29. package/es/packages/components/divider/src/divider.vue2.mjs +2 -1
  30. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  31. package/es/packages/components/export/src/export.vue2.mjs +2 -1
  32. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  33. package/es/packages/components/fix/src/Fix.vue2.mjs +2 -1
  34. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  35. package/es/packages/components/float/src/Float.vue2.mjs +2 -1
  36. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  37. package/es/packages/components/form/src/form.vue2.mjs +2 -1
  38. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  39. package/es/packages/components/gap/src/gap.vue2.mjs +2 -1
  40. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  41. package/es/packages/components/grid/src/grid.vue2.mjs +2 -1
  42. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  43. package/es/packages/components/guider/src/guider.vue2.mjs +2 -1
  44. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  45. package/es/packages/components/header/src/header.vue2.mjs +2 -1
  46. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  47. package/es/packages/components/icon/src/icon.vue2.mjs +2 -1
  48. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  49. package/es/packages/components/import/src/import.vue2.mjs +27 -29
  50. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  51. package/es/packages/components/input/src/input.vue2.mjs +3 -4
  52. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  53. package/es/packages/components/msg/src/msg.vue2.mjs +2 -1
  54. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  55. package/es/packages/components/padding/src/padding.vue2.mjs +2 -1
  56. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  57. package/es/packages/components/page/src/page.vue2.mjs +2 -1
  58. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  59. package/es/packages/components/param/src/Param.vue2.mjs +2 -1
  60. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  61. package/es/packages/components/pic/src/Pic.vue2.mjs +2 -1
  62. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  63. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  64. package/es/packages/components/progress/src/Progress.vue2.mjs +2 -1
  65. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  66. package/es/packages/components/range/src/range.vue2.mjs +2 -1
  67. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  68. package/es/packages/components/rate/src/rate.vue2.mjs +3 -2
  69. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  70. package/es/packages/components/scroll/src/Scroll.vue2.mjs +2 -1
  71. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  72. package/es/packages/components/segment/src/segment.vue.mjs +2 -1
  73. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  74. package/es/packages/components/select/src/hooks/use-select-class-style.mjs +2 -3
  75. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  76. package/es/packages/components/select/src/select.vue2.mjs +2 -3
  77. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  78. package/es/packages/components/slide/src/slide.vue2.mjs +2 -1
  79. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  80. package/es/packages/components/step/src/step.vue2.mjs +2 -1
  81. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  82. package/es/packages/components/switch/src/switch.vue2.mjs +2 -1
  83. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  84. package/es/packages/components/tab/src/tab.vue2.mjs +2 -1
  85. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  86. package/es/packages/components/table/src/table.vue2.mjs +2 -1
  87. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  88. package/es/packages/components/tag/src/tag.vue2.mjs +2 -1
  89. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  90. package/es/packages/components/text/src/text.vue2.mjs +2 -1
  91. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  92. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  93. package/es/packages/components/timeline/src/timeline.vue2.mjs +2 -1
  94. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  95. package/es/packages/components/tip/src/tip.vue2.mjs +2 -1
  96. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  97. package/es/packages/components/tooltip/src/tooltip.vue2.mjs +2 -1
  98. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  99. package/es/packages/components/transfer/src/transfer.vue2.mjs +2 -1
  100. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  101. package/es/packages/components/tree/src/tree.vue2.mjs +2 -1
  102. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  103. package/es/packages/components/upload/src/upload.vue2.mjs +2 -1
  104. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  105. package/es/packages/directives/dis/src/dis.mjs +5 -0
  106. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  107. package/es/packages/hooks/index.d.mjs +1 -1
  108. package/es/packages/hooks/index.mjs +1 -1
  109. package/es/packages/hooks/useSetClass.mjs +5 -2
  110. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  111. package/es/packages/locale/lang/en-US.mjs +1 -0
  112. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  113. package/es/packages/locale/lang/zh-CN.mjs +1 -0
  114. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  115. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  116. package/lib/hooks/useSetClass.d.ts +4 -0
  117. package/lib/index.d.js +1 -0
  118. package/lib/index.d.js.map +1 -1
  119. package/lib/index.js +1 -0
  120. package/lib/index.js.map +1 -1
  121. package/lib/packages/components/box/src/box.vue2.js +2 -1
  122. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  123. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  124. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  125. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js +3 -1
  126. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  127. package/lib/packages/components/button/src/button.vue2.js +2 -4
  128. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  129. package/lib/packages/components/calendar/src/calendar.vue2.js +206 -232
  130. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  131. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -1
  132. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  133. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +2 -1
  134. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  135. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +14 -11
  136. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  137. package/lib/packages/components/collapse/src/collapse.vue2.js +2 -1
  138. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  139. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +3 -4
  140. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  141. package/lib/packages/components/daterange/src/date-range.vue2.js +29 -9
  142. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  143. package/lib/packages/components/dialog/src/Dialog.vue2.js +2 -1
  144. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  145. package/lib/packages/components/divider/src/divider.vue2.js +2 -1
  146. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  147. package/lib/packages/components/export/src/export.vue2.js +2 -1
  148. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  149. package/lib/packages/components/fix/src/Fix.vue2.js +2 -1
  150. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  151. package/lib/packages/components/float/src/Float.vue2.js +2 -1
  152. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  153. package/lib/packages/components/form/src/form.vue2.js +2 -1
  154. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  155. package/lib/packages/components/gap/src/gap.vue2.js +2 -1
  156. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  157. package/lib/packages/components/grid/src/grid.vue2.js +2 -1
  158. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  159. package/lib/packages/components/guider/src/guider.vue2.js +2 -1
  160. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  161. package/lib/packages/components/header/src/header.vue2.js +2 -1
  162. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  163. package/lib/packages/components/icon/src/icon.vue2.js +2 -1
  164. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  165. package/lib/packages/components/import/src/import.vue2.js +26 -28
  166. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  167. package/lib/packages/components/input/src/input.vue2.js +3 -4
  168. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  169. package/lib/packages/components/msg/src/msg.vue2.js +2 -1
  170. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  171. package/lib/packages/components/padding/src/padding.vue2.js +2 -1
  172. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  173. package/lib/packages/components/page/src/page.vue2.js +2 -1
  174. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  175. package/lib/packages/components/param/src/Param.vue2.js +2 -1
  176. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  177. package/lib/packages/components/pic/src/Pic.vue2.js +2 -1
  178. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  179. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  180. package/lib/packages/components/progress/src/Progress.vue2.js +2 -1
  181. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  182. package/lib/packages/components/range/src/range.vue2.js +2 -1
  183. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  184. package/lib/packages/components/rate/src/rate.vue2.js +2 -1
  185. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  186. package/lib/packages/components/scroll/src/Scroll.vue2.js +2 -1
  187. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  188. package/lib/packages/components/segment/src/segment.vue.js +2 -1
  189. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  190. package/lib/packages/components/select/src/hooks/use-select-class-style.js +2 -3
  191. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  192. package/lib/packages/components/select/src/select.vue2.js +2 -3
  193. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  194. package/lib/packages/components/slide/src/slide.vue2.js +2 -1
  195. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  196. package/lib/packages/components/step/src/step.vue2.js +2 -1
  197. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  198. package/lib/packages/components/switch/src/switch.vue2.js +2 -1
  199. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  200. package/lib/packages/components/tab/src/tab.vue2.js +2 -1
  201. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  202. package/lib/packages/components/table/src/table.vue2.js +2 -1
  203. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  204. package/lib/packages/components/tag/src/tag.vue2.js +2 -1
  205. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  206. package/lib/packages/components/text/src/text.vue2.js +2 -1
  207. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  208. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  209. package/lib/packages/components/timeline/src/timeline.vue2.js +2 -1
  210. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  211. package/lib/packages/components/tip/src/tip.vue2.js +2 -1
  212. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  213. package/lib/packages/components/tooltip/src/tooltip.vue2.js +2 -1
  214. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  215. package/lib/packages/components/transfer/src/transfer.vue2.js +2 -1
  216. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  217. package/lib/packages/components/tree/src/tree.vue2.js +2 -1
  218. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  219. package/lib/packages/components/upload/src/upload.vue2.js +2 -1
  220. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  221. package/lib/packages/directives/dis/src/dis.js +5 -0
  222. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  223. package/lib/packages/hooks/index.d.js +1 -0
  224. package/lib/packages/hooks/index.d.js.map +1 -1
  225. package/lib/packages/hooks/index.js +1 -0
  226. package/lib/packages/hooks/index.js.map +1 -1
  227. package/lib/packages/hooks/useSetClass.js +5 -1
  228. package/lib/packages/hooks/useSetClass.js.map +1 -1
  229. package/lib/packages/locale/lang/en-US.js +1 -0
  230. package/lib/packages/locale/lang/en-US.js.map +1 -1
  231. package/lib/packages/locale/lang/zh-CN.js +1 -0
  232. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  233. package/package.json +1 -1
  234. package/theme/components/index.css +249 -211
  235. package/theme/img/loading.png +0 -0
  236. package/theme/index.css +249 -211
  237. package/theme/skin/default.css +249 -211
@@ -1 +1 @@
1
- {"version":3,"file":"rate.vue2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRate'\n});\n</script>\n<template>\n\t<div\n\t\tclass=\"to-rate\"\n\t\t:class=\"[\n\t\t\t`color-${color}`,\n\t\t\t`mode-${mode}`,\n\t\t\t{\n\t\t\t\t'is-half': isHalf,\n\t\t\t\t'is-disabled': disabled\n\t\t\t}\n\t\t]\"\n\t\t@mouseleave=\"handleMouseLeave\"\n\t>\n\t\t<div class=\"to-rate-group\">\n\t\t\t<div v-for=\"i in normalizedCount\" :key=\"i\" class=\"to-rate-item\" :class=\"getItemClass(i)\" @click=\"handleClick(i, $event)\" @mousemove=\"handleMouseMove(i, $event)\" @mouseenter=\"handleMouseEnter(i)\">\n\t\t\t\t<to-icon class=\"to-rate-icon is-off\" type=\"fill\" :value=\"icon\" />\n\t\t\t\t<to-icon class=\"to-rate-icon is-on\" type=\"fill\" :value=\"icon\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"showScore\" class=\"to-rate-score\">\n\t\t\t<span class=\"to-rate-score-text\">{{ displayValue }}</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { ToIcon } from '../../icon'\n\n\n\nconst props = defineProps({\n\tmodelValue: {\n\t\ttype: Number,\n\t\tdefault: 0\n\t},\n\tmax: {\n\t\ttype: Number,\n\t\tdefault: 5\n\t},\n\tcount: {\n\t\ttype: Number,\n\t\tdefault: 5\n\t},\n\tsize: {\n\t\ttype: Number,\n\t\tdefault: 2\n\t},\n\tdisabled: Boolean,\n\tstep: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\tdot: {\n\t\ttype: [Number, String],\n\t\tdefault: 'auto'\n\t},\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'primary'\n\t},\n\tshowScore: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\ticon: {\n\t\ttype: String,\n\t\tdefault: 'star'\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t}\n})\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nconst ivalue = ref(0)\nconst hoverValue = ref(0)\n\nconst normalizedCount = computed(() => Math.max(1, Math.floor(Number(props.count) || 1)))\nconst normalizedMax = computed(() => Math.max(0, Number(props.max) || 0))\nconst scoreUnit = computed(() => normalizedMax.value / normalizedCount.value)\nconst normalizedStep = computed(() => (Number(props.step) === 0.5 ? 0.5 : 1))\nconst isHalf = computed(() => normalizedStep.value === 0.5)\nconst normalizedDot = computed(() => {\n\tif (props.dot === 'auto') return isHalf.value ? 1 : 0\n\tconst dot = Number(props.dot)\n\tif (!Number.isFinite(dot)) return 0\n\treturn Math.max(0, Math.floor(dot))\n})\n\nconst activeValue = computed(() => {\n\tif (!props.disabled && hoverValue.value > 0) {\n\t\treturn hoverValue.value\n\t}\n\treturn ivalue.value\n})\n\nconst activeRateValue = computed(() => {\n\tif (!scoreUnit.value) return 0\n\tconst rateValue = activeValue.value / scoreUnit.value\n\treturn Math.round(rateValue / normalizedStep.value) * normalizedStep.value\n})\n\nconst displayValue = computed(() => activeValue.value.toFixed(normalizedDot.value))\n\nwatch(\n\t() => [props.modelValue, props.max, props.count, props.step, props.dot] as const,\n\t() => {\n\t\tivalue.value = normalizeModelValue(props.modelValue)\n\t},\n\t{ immediate: true }\n)\n\nfunction normalizeModelValue(value: number) {\n\tconst num = Number(value)\n\tif (!Number.isFinite(num)) return 0\n\treturn formatValue(Math.min(Math.max(num, 0), normalizedMax.value))\n}\n\nfunction normalizeStepValue(value: number) {\n\tconst limited = normalizeModelValue(value)\n\tif (!scoreUnit.value) return 0\n\tconst rateValue = limited / scoreUnit.value\n\tconst steppedValue = Math.round(rateValue / normalizedStep.value) * normalizedStep.value\n\treturn formatValue(steppedValue * scoreUnit.value)\n}\n\nfunction formatValue(value: number) {\n\treturn Number(value.toFixed(normalizedDot.value))\n}\n\nfunction getItemClass(i: number) {\n\tconst value = activeRateValue.value\n\treturn {\n\t\t'is-on': i <= value,\n\t\t'is-half-on': isHalf.value && Math.abs(i - 0.5 - value) < 0.0000001,\n\t\t'is-hover': !props.disabled && hoverValue.value > 0 && i <= Math.ceil(value)\n\t}\n}\n\nfunction getValueByEvent(i: number, event: MouseEvent) {\n\tif (!isHalf.value) return i * scoreUnit.value\n\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\n\tconst x = event.clientX - rect.left\n\treturn (x < rect.width / 2 ? i - 0.5 : i) * scoreUnit.value\n}\n\nfunction updateValue(value: number) {\n\tconst normalizedValue = normalizeStepValue(value)\n\tivalue.value = normalizedValue\n\temit('update:modelValue', normalizedValue)\n\temit('change', normalizedValue)\n}\n\nfunction handleClick(i: number, event: MouseEvent) {\n\tif (props.disabled) return\n\tlet value = getValueByEvent(i, event)\n\tif (props.clearable && ivalue.value === value) {\n\t\tvalue = 0\n\t}\n\tupdateValue(value)\n}\n\nfunction handleMouseMove(i: number, event: MouseEvent) {\n\tif (props.disabled) return\n\thoverValue.value = getValueByEvent(i, event)\n}\n\nfunction handleMouseEnter(i: number) {\n\tif (props.disabled || isHalf.value) return\n\thoverValue.value = i * scoreUnit.value\n}\n\nfunction handleMouseLeave() {\n\tif (!props.disabled) {\n\t\thoverValue.value = 0\n\t}\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","_createVNode","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"rate.vue2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRate'\n});\n</script>\n<template>\n\t<div\n\t\tclass=\"to-rate\"\n\t\t:class=\"[\n\t\t\t`color-${color}`,\n\t\t\t...getModeClasses(mode),\n\t\t\t{\n\t\t\t\t'is-half': isHalf,\n\t\t\t\t'is-disabled': disabled\n\t\t\t}\n\t\t]\"\n\t\t@mouseleave=\"handleMouseLeave\"\n\t>\n\t\t<div class=\"to-rate-group\">\n\t\t\t<div v-for=\"i in normalizedCount\" :key=\"i\" class=\"to-rate-item\" :class=\"getItemClass(i)\" @click=\"handleClick(i, $event)\" @mousemove=\"handleMouseMove(i, $event)\" @mouseenter=\"handleMouseEnter(i)\">\n\t\t\t\t<to-icon class=\"to-rate-icon is-off\" type=\"fill\" :value=\"icon\" />\n\t\t\t\t<to-icon class=\"to-rate-icon is-on\" type=\"fill\" :value=\"icon\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"showScore\" class=\"to-rate-score\">\n\t\t\t<span class=\"to-rate-score-text\">{{ displayValue }}</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { ToIcon } from '../../icon'\nimport { getModeClasses } from '@touchvue/hooks'\n\n\n\nconst props = defineProps({\n\tmodelValue: {\n\t\ttype: Number,\n\t\tdefault: 0\n\t},\n\tmax: {\n\t\ttype: Number,\n\t\tdefault: 5\n\t},\n\tcount: {\n\t\ttype: Number,\n\t\tdefault: 5\n\t},\n\tsize: {\n\t\ttype: Number,\n\t\tdefault: 2\n\t},\n\tdisabled: Boolean,\n\tstep: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\tdot: {\n\t\ttype: [Number, String],\n\t\tdefault: 'auto'\n\t},\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'primary'\n\t},\n\tshowScore: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\ticon: {\n\t\ttype: String,\n\t\tdefault: 'star'\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t}\n})\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nconst ivalue = ref(0)\nconst hoverValue = ref(0)\n\nconst normalizedCount = computed(() => Math.max(1, Math.floor(Number(props.count) || 1)))\nconst normalizedMax = computed(() => Math.max(0, Number(props.max) || 0))\nconst scoreUnit = computed(() => normalizedMax.value / normalizedCount.value)\nconst normalizedStep = computed(() => (Number(props.step) === 0.5 ? 0.5 : 1))\nconst isHalf = computed(() => normalizedStep.value === 0.5)\nconst normalizedDot = computed(() => {\n\tif (props.dot === 'auto') return isHalf.value ? 1 : 0\n\tconst dot = Number(props.dot)\n\tif (!Number.isFinite(dot)) return 0\n\treturn Math.max(0, Math.floor(dot))\n})\n\nconst activeValue = computed(() => {\n\tif (!props.disabled && hoverValue.value > 0) {\n\t\treturn hoverValue.value\n\t}\n\treturn ivalue.value\n})\n\nconst activeRateValue = computed(() => {\n\tif (!scoreUnit.value) return 0\n\tconst rateValue = activeValue.value / scoreUnit.value\n\treturn Math.round(rateValue / normalizedStep.value) * normalizedStep.value\n})\n\nconst displayValue = computed(() => activeValue.value.toFixed(normalizedDot.value))\n\nwatch(\n\t() => [props.modelValue, props.max, props.count, props.step, props.dot] as const,\n\t() => {\n\t\tivalue.value = normalizeModelValue(props.modelValue)\n\t},\n\t{ immediate: true }\n)\n\nfunction normalizeModelValue(value: number) {\n\tconst num = Number(value)\n\tif (!Number.isFinite(num)) return 0\n\treturn formatValue(Math.min(Math.max(num, 0), normalizedMax.value))\n}\n\nfunction normalizeStepValue(value: number) {\n\tconst limited = normalizeModelValue(value)\n\tif (!scoreUnit.value) return 0\n\tconst rateValue = limited / scoreUnit.value\n\tconst steppedValue = Math.round(rateValue / normalizedStep.value) * normalizedStep.value\n\treturn formatValue(steppedValue * scoreUnit.value)\n}\n\nfunction formatValue(value: number) {\n\treturn Number(value.toFixed(normalizedDot.value))\n}\n\nfunction getItemClass(i: number) {\n\tconst value = activeRateValue.value\n\treturn {\n\t\t'is-on': i <= value,\n\t\t'is-half-on': isHalf.value && Math.abs(i - 0.5 - value) < 0.0000001,\n\t\t'is-hover': !props.disabled && hoverValue.value > 0 && i <= Math.ceil(value)\n\t}\n}\n\nfunction getValueByEvent(i: number, event: MouseEvent) {\n\tif (!isHalf.value) return i * scoreUnit.value\n\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\n\tconst x = event.clientX - rect.left\n\treturn (x < rect.width / 2 ? i - 0.5 : i) * scoreUnit.value\n}\n\nfunction updateValue(value: number) {\n\tconst normalizedValue = normalizeStepValue(value)\n\tivalue.value = normalizedValue\n\temit('update:modelValue', normalizedValue)\n\temit('change', normalizedValue)\n}\n\nfunction handleClick(i: number, event: MouseEvent) {\n\tif (props.disabled) return\n\tlet value = getValueByEvent(i, event)\n\tif (props.clearable && ivalue.value === value) {\n\t\tvalue = 0\n\t}\n\tupdateValue(value)\n}\n\nfunction handleMouseMove(i: number, event: MouseEvent) {\n\tif (props.disabled) return\n\thoverValue.value = getValueByEvent(i, event)\n}\n\nfunction handleMouseEnter(i: number) {\n\tif (props.disabled || isHalf.value) return\n\thoverValue.value = i * scoreUnit.value\n}\n\nfunction handleMouseLeave() {\n\tif (!props.disabled) {\n\t\thoverValue.value = 0\n\t}\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_createElementVNode","_Fragment","_renderList","_normalizeClass","_createVNode"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, ref, computed, provide, nextTick, watch, onMounted, onUnmounted, openBlock, createElementBlock, normalizeClass, normalizeStyle, createCommentVNode, createElementVNode, renderSlot } from 'vue';
2
2
  import { scrollProps } from './scroll.mjs';
3
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
3
4
 
4
5
  const __default__ = defineComponent({
5
6
  name: "ToScroll"
@@ -262,7 +263,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
262
263
  const setClass = computed(() => {
263
264
  let arr = [];
264
265
  if (props.mode) {
265
- arr.push(`mode-${props.mode}`);
266
+ arr.push(...getModeClasses(props.mode));
266
267
  }
267
268
  if (props.type) {
268
269
  arr.push(`type-${props.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"Scroll.vue2.mjs","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScroll'\n});\n</script>\n<template>\n\t<div class=\"to-scroll\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<!-- 滚动内容区域 -->\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" @scroll=\"handleScroll\">\n\t\t\t<!-- 默认内容插槽 -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\nimport { scrollProps, ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollProps)\nconst emit = defineEmits<{\n\t(e: 'scroll', event: Event): void\n\t(e: 'scrollEnd'): void\n\t(e: 'change', position: number): void\n\t(e: 'update:value', position: number | string): void\n\t(e: 'update:modelValue', position: number | string): void\n\t(e: 'bottom'): void\n\t(e: 'top'): void\n}>()\n\nconst scrollRef = ref<HTMLElement | null>(null)\nconst isScrolling = ref(false)\n// 添加一个标志来标识是否由tab点击导致的滚动\nlet isTabTriggeredScroll = false\n// 滚动防抖定时器\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\n// 存储滚动点信息\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\n// 获取当前绑定值(优先使用modelValue,兼容value)\nconst bindValue = computed(() => props.modelValue || props.value)\n// 当前选中的滚动点值\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\n\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\n// 提供给子组件的上下文\nprovide<ScrollContext>('ToScroll', {\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\n\t\t// 在下一个渲染周期更新滚动点\n\t\tnextTick(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\t}\n})\n\n// 提供当前值给子组件\nprovide('scrollValue', currentPointValue)\n\n// 设置滚动点\nconst setScrollPoints = () => {\n\tif (!scrollRef.value) return\n\n\t// 先清空现有的滚动点\n\tscrollPoints.value = []\n\n\t// 查找所有滚动点元素\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\n\tif (!nodes || nodes.length === 0) {\n\t\treturn\n\t}\n\n\t// 收集滚动点信息\n\tnodes.forEach(item => {\n\t\tconst itemEl = item as HTMLElement\n\t\t// 获取滚动点的值\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\n\n\t\t// 获取元素相对于滚动容器的精确位置\n\t\tconst offsetTop = itemEl.offsetTop\n\t\tconst height = itemEl.offsetHeight\n\n\t\t// 记录滚动点信息\n\t\tscrollPoints.value.push({\n\t\t\tvalue: pointValue,\n\t\t\tstart: offsetTop,\n\t\t\tend: offsetTop + height\n\t\t})\n\t})\n\n\t// 初始滚动到指定位置\n\tif (props.value && scrollRef.value) {\n\t\tscrollToValue(props.value, 'auto')\n\t}\n}\n\n// 滚动到指定值对应的位置\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\n\n\t// 查找匹配值的滚动点\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\n\tif (targetPoint) {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: targetPoint.start,\n\t\t\tbehavior: behavior\n\t\t})\n\n\t\t// 主动触发滚动点高亮状态更新\n\t\tnotifyScrollPointsActive(value)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// 主动通知滚动点更新高亮状态\nconst notifyScrollPointsActive = (activeValue: string | number) => {\n\t// 使用事件通知,避免直接操作DOM\n\tif (scrollRef.value) {\n\t\tconst event = new CustomEvent('scroll-point-active', {\n\t\t\tdetail: { value: activeValue },\n\t\t\tbubbles: true\n\t\t})\n\t\tscrollRef.value.dispatchEvent(event)\n\n\t\t// 确保更新内部状态\n\t\tcurrentPointValue.value = activeValue\n\t}\n}\n\n// 根据当前滚动位置查找对应的滚动点值\nconst findScrollPoint = (scrollTop: number): string | number | null => {\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\n\n\tconst clientHeight = scrollRef.value.clientHeight\n\tconst scrollBottom = scrollTop + clientHeight\n\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\n\tfor (const point of scrollPoints.value) {\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\n\tfor (const point of scrollPoints.value) {\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 3. 查找当前在视口中显示最多的点\n\tlet bestPoint = null\n\tlet maxVisibleHeight = 0\n\n\tfor (const point of scrollPoints.value) {\n\t\t// 计算可见部分\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\n\t\tconst visibleHeight = visibleBottom - visibleTop\n\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\n\t\t\tmaxVisibleHeight = visibleHeight\n\t\t\tbestPoint = point\n\t\t}\n\t}\n\n\t// 4. 特殊情况处理:滚动到顶部或底部\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[0].value // 顶部\n\t}\n\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\n\t}\n\n\t// 5. 如果找到了最佳点,返回它的值\n\tif (bestPoint) {\n\t\treturn bestPoint.value\n\t}\n\n\t// 6. 后备方案:返回最接近当前滚动位置的点\n\tlet closestPoint = null\n\tlet minDistance = Infinity\n\n\tfor (const point of scrollPoints.value) {\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\n\n\t\tif (distance < minDistance) {\n\t\t\tminDistance = distance\n\t\t\tclosestPoint = point\n\t\t}\n\t}\n\n\treturn closestPoint ? closestPoint.value : null\n}\n\n// 监听value/modelValue变化\nwatch(\n\t() => bindValue.value,\n\t(newVal, oldVal) => {\n\t\t// 避免重复处理相同的值\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\n\n\t\t// 更新内部记录的值\n\t\tcurrentPointValue.value = newVal\n\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\n\t\tif (!isScrolling.value) {\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\n\t\t\tisTabTriggeredScroll = true\n\n\t\t\tnextTick(() => {\n\t\t\t\t// 尝试滚动到对应位置\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\n\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\n\t\t\t\tif (!scrollSuccess) {\n\t\t\t\t\tsetScrollPoints()\n\t\t\t\t\tscrollToValue(newVal)\n\t\t\t\t}\n\n\t\t\t\t// 滚动动作完成后重置标记\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisTabTriggeredScroll = false\n\t\t\t\t}, 500) // 等待滚动动画完成\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nonMounted(() => {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n})\n\nonUnmounted(() => {\n\t// 清除所有定时器\n\tif (scrollUpdateTimer) {\n\t\tclearTimeout(scrollUpdateTimer)\n\t\tscrollUpdateTimer = null\n\t}\n})\n\n// 处理滚动事件\nconst handleScroll = (event: Event) => {\n\t// 触发原始滚动事件\n\temit('scroll', event)\n\n\t// 如果是由Tab触发的滚动,不处理滚动检测\n\tif (isTabTriggeredScroll) {\n\t\treturn\n\t}\n\n\tif (!scrollRef.value) return\n\n\t// 获取当前滚动位置\n\tconst scrollTop = scrollRef.value.scrollTop\n\n\t// 触发滚动位置变化事件\n\temit('change', scrollTop)\n\n\tif (scrollEventDebounceTimer) {\n\t\tclearTimeout(scrollEventDebounceTimer)\n\t}\n\n\t// 检测是否滚动到底部\n\tscrollEventDebounceTimer = setTimeout(() => {\n\t\t// 检测是否滚动到底部\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\n\t\t\temit('bottom')\n\t\t}\n\n\t\tif (scrollTop <= 5) {\n\t\t\temit('top')\n\t\t}\n\t}, 100) // 防抖时间设置为 100ms\n\n\t// 如果有滚动点,立即检测当前位置对应哪个点\n\tif (scrollPoints.value.length > 0) {\n\t\t// 先清除之前的定时器\n\t\tif (scrollUpdateTimer) {\n\t\t\tclearTimeout(scrollUpdateTimer)\n\t\t\tscrollUpdateTimer = null\n\t\t}\n\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\n\t\trequestAnimationFrame(() => {\n\t\t\t// 重新查找当前滚动位置对应的点\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\n\n\t\t\t// 如果找到点且与当前值不同,立即更新值\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\n\t\t\t\t// 更新内部记录的值\n\t\t\t\tcurrentPointValue.value = pointValue\n\n\t\t\t\t// 同时发送两种事件,确保兼容性\n\t\t\t\temit('update:modelValue', pointValue)\n\t\t\t\temit('update:value', pointValue)\n\n\t\t\t\t// 通知滚动点更新高亮状态\n\t\t\t\tnotifyScrollPointsActive(pointValue)\n\t\t\t}\n\t\t})\n\t}\n\n\t// 标记为正在滚动\n\tisScrolling.value = true\n\n\t// 滚动结束后重置状态\n\tclearTimeout(scrollUpdateTimer)\n\tscrollUpdateTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\temit('scrollEnd')\n\t}, 100)\n}\n\n// 统一的滚动方法,支持多种参数类型\nconst to = (target: HTMLElement | string | number | any) => {\n\tif (!scrollRef.value) return\n\n\t// 滚动到底部\n\tif (target === '$bottom') {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定元素\n\tif (target instanceof HTMLElement) {\n\t\tconst elementTop = target.getBoundingClientRect().top\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: relativeTop,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定位置(数字或数字字符串)\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\n\t\tconst position = typeof target === 'string' ? Number(target) : target\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: position,\n\t\t\tleft: 0,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定选项配置\n\tif (typeof target === 'object' && target !== null) {\n\t\tscrollRef.value.scrollTo(target)\n\t\treturn\n\t}\n}\n\nconst setStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t} = {}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\n\tif (props.hide) {\n\t\tarr.push('is-hide')\n\t}\n\n\treturn arr\n})\n\nconst setContentStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t\tpadding?: string | number\n\t\tpaddingTop?: string\n\t\tpaddingRight?: string\n\t\tpaddingBottom?: string\n\t\tpaddingLeft?: string\n\t\tmaxHeight?: string\n\t\toverflow?: string\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\n\t\twidth?: string\n\t\tdisplay?: string\n\t} = {}\n\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\tif (String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj.padding = padded\n\t}\n\n\tif (props.paddingPosition) {\n\t\t// 根据paddingPosition设置padding位置\n\t\tconst padding = String(props.padding || '0')\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\n\n\t\tswitch (props.paddingPosition) {\n\t\t\tcase 'top':\n\t\t\t\tobj.paddingTop = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'right':\n\t\t\t\tobj.paddingRight = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'bottom':\n\t\t\t\tobj.paddingBottom = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'left':\n\t\t\t\tobj.paddingLeft = paddingValue\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\treturn obj\n})\n\nfunction adjust() {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n}\n\n// 导出方法供父组件调用\ndefineExpose({\n\tto,\n\tscrollRef,\n\tisScrolling,\n\tsetScrollPoints,\n\tfindScrollPoint,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","hasUnit","_createElementBlock","_normalizeClass","flex","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Scroll.vue2.mjs","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScroll'\n});\n</script>\n<template>\n\t<div class=\"to-scroll\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<!-- 滚动内容区域 -->\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" @scroll=\"handleScroll\">\n\t\t\t<!-- 默认内容插槽 -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { scrollProps, ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollProps)\nconst emit = defineEmits<{\n\t(e: 'scroll', event: Event): void\n\t(e: 'scrollEnd'): void\n\t(e: 'change', position: number): void\n\t(e: 'update:value', position: number | string): void\n\t(e: 'update:modelValue', position: number | string): void\n\t(e: 'bottom'): void\n\t(e: 'top'): void\n}>()\n\nconst scrollRef = ref<HTMLElement | null>(null)\nconst isScrolling = ref(false)\n// 添加一个标志来标识是否由tab点击导致的滚动\nlet isTabTriggeredScroll = false\n// 滚动防抖定时器\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\n// 存储滚动点信息\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\n// 获取当前绑定值(优先使用modelValue,兼容value)\nconst bindValue = computed(() => props.modelValue || props.value)\n// 当前选中的滚动点值\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\n\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\n// 提供给子组件的上下文\nprovide<ScrollContext>('ToScroll', {\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\n\t\t// 在下一个渲染周期更新滚动点\n\t\tnextTick(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\t}\n})\n\n// 提供当前值给子组件\nprovide('scrollValue', currentPointValue)\n\n// 设置滚动点\nconst setScrollPoints = () => {\n\tif (!scrollRef.value) return\n\n\t// 先清空现有的滚动点\n\tscrollPoints.value = []\n\n\t// 查找所有滚动点元素\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\n\tif (!nodes || nodes.length === 0) {\n\t\treturn\n\t}\n\n\t// 收集滚动点信息\n\tnodes.forEach(item => {\n\t\tconst itemEl = item as HTMLElement\n\t\t// 获取滚动点的值\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\n\n\t\t// 获取元素相对于滚动容器的精确位置\n\t\tconst offsetTop = itemEl.offsetTop\n\t\tconst height = itemEl.offsetHeight\n\n\t\t// 记录滚动点信息\n\t\tscrollPoints.value.push({\n\t\t\tvalue: pointValue,\n\t\t\tstart: offsetTop,\n\t\t\tend: offsetTop + height\n\t\t})\n\t})\n\n\t// 初始滚动到指定位置\n\tif (props.value && scrollRef.value) {\n\t\tscrollToValue(props.value, 'auto')\n\t}\n}\n\n// 滚动到指定值对应的位置\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\n\n\t// 查找匹配值的滚动点\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\n\tif (targetPoint) {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: targetPoint.start,\n\t\t\tbehavior: behavior\n\t\t})\n\n\t\t// 主动触发滚动点高亮状态更新\n\t\tnotifyScrollPointsActive(value)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// 主动通知滚动点更新高亮状态\nconst notifyScrollPointsActive = (activeValue: string | number) => {\n\t// 使用事件通知,避免直接操作DOM\n\tif (scrollRef.value) {\n\t\tconst event = new CustomEvent('scroll-point-active', {\n\t\t\tdetail: { value: activeValue },\n\t\t\tbubbles: true\n\t\t})\n\t\tscrollRef.value.dispatchEvent(event)\n\n\t\t// 确保更新内部状态\n\t\tcurrentPointValue.value = activeValue\n\t}\n}\n\n// 根据当前滚动位置查找对应的滚动点值\nconst findScrollPoint = (scrollTop: number): string | number | null => {\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\n\n\tconst clientHeight = scrollRef.value.clientHeight\n\tconst scrollBottom = scrollTop + clientHeight\n\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\n\tfor (const point of scrollPoints.value) {\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\n\tfor (const point of scrollPoints.value) {\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 3. 查找当前在视口中显示最多的点\n\tlet bestPoint = null\n\tlet maxVisibleHeight = 0\n\n\tfor (const point of scrollPoints.value) {\n\t\t// 计算可见部分\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\n\t\tconst visibleHeight = visibleBottom - visibleTop\n\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\n\t\t\tmaxVisibleHeight = visibleHeight\n\t\t\tbestPoint = point\n\t\t}\n\t}\n\n\t// 4. 特殊情况处理:滚动到顶部或底部\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[0].value // 顶部\n\t}\n\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\n\t}\n\n\t// 5. 如果找到了最佳点,返回它的值\n\tif (bestPoint) {\n\t\treturn bestPoint.value\n\t}\n\n\t// 6. 后备方案:返回最接近当前滚动位置的点\n\tlet closestPoint = null\n\tlet minDistance = Infinity\n\n\tfor (const point of scrollPoints.value) {\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\n\n\t\tif (distance < minDistance) {\n\t\t\tminDistance = distance\n\t\t\tclosestPoint = point\n\t\t}\n\t}\n\n\treturn closestPoint ? closestPoint.value : null\n}\n\n// 监听value/modelValue变化\nwatch(\n\t() => bindValue.value,\n\t(newVal, oldVal) => {\n\t\t// 避免重复处理相同的值\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\n\n\t\t// 更新内部记录的值\n\t\tcurrentPointValue.value = newVal\n\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\n\t\tif (!isScrolling.value) {\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\n\t\t\tisTabTriggeredScroll = true\n\n\t\t\tnextTick(() => {\n\t\t\t\t// 尝试滚动到对应位置\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\n\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\n\t\t\t\tif (!scrollSuccess) {\n\t\t\t\t\tsetScrollPoints()\n\t\t\t\t\tscrollToValue(newVal)\n\t\t\t\t}\n\n\t\t\t\t// 滚动动作完成后重置标记\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisTabTriggeredScroll = false\n\t\t\t\t}, 500) // 等待滚动动画完成\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nonMounted(() => {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n})\n\nonUnmounted(() => {\n\t// 清除所有定时器\n\tif (scrollUpdateTimer) {\n\t\tclearTimeout(scrollUpdateTimer)\n\t\tscrollUpdateTimer = null\n\t}\n})\n\n// 处理滚动事件\nconst handleScroll = (event: Event) => {\n\t// 触发原始滚动事件\n\temit('scroll', event)\n\n\t// 如果是由Tab触发的滚动,不处理滚动检测\n\tif (isTabTriggeredScroll) {\n\t\treturn\n\t}\n\n\tif (!scrollRef.value) return\n\n\t// 获取当前滚动位置\n\tconst scrollTop = scrollRef.value.scrollTop\n\n\t// 触发滚动位置变化事件\n\temit('change', scrollTop)\n\n\tif (scrollEventDebounceTimer) {\n\t\tclearTimeout(scrollEventDebounceTimer)\n\t}\n\n\t// 检测是否滚动到底部\n\tscrollEventDebounceTimer = setTimeout(() => {\n\t\t// 检测是否滚动到底部\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\n\t\t\temit('bottom')\n\t\t}\n\n\t\tif (scrollTop <= 5) {\n\t\t\temit('top')\n\t\t}\n\t}, 100) // 防抖时间设置为 100ms\n\n\t// 如果有滚动点,立即检测当前位置对应哪个点\n\tif (scrollPoints.value.length > 0) {\n\t\t// 先清除之前的定时器\n\t\tif (scrollUpdateTimer) {\n\t\t\tclearTimeout(scrollUpdateTimer)\n\t\t\tscrollUpdateTimer = null\n\t\t}\n\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\n\t\trequestAnimationFrame(() => {\n\t\t\t// 重新查找当前滚动位置对应的点\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\n\n\t\t\t// 如果找到点且与当前值不同,立即更新值\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\n\t\t\t\t// 更新内部记录的值\n\t\t\t\tcurrentPointValue.value = pointValue\n\n\t\t\t\t// 同时发送两种事件,确保兼容性\n\t\t\t\temit('update:modelValue', pointValue)\n\t\t\t\temit('update:value', pointValue)\n\n\t\t\t\t// 通知滚动点更新高亮状态\n\t\t\t\tnotifyScrollPointsActive(pointValue)\n\t\t\t}\n\t\t})\n\t}\n\n\t// 标记为正在滚动\n\tisScrolling.value = true\n\n\t// 滚动结束后重置状态\n\tclearTimeout(scrollUpdateTimer)\n\tscrollUpdateTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\temit('scrollEnd')\n\t}, 100)\n}\n\n// 统一的滚动方法,支持多种参数类型\nconst to = (target: HTMLElement | string | number | any) => {\n\tif (!scrollRef.value) return\n\n\t// 滚动到底部\n\tif (target === '$bottom') {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定元素\n\tif (target instanceof HTMLElement) {\n\t\tconst elementTop = target.getBoundingClientRect().top\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: relativeTop,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定位置(数字或数字字符串)\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\n\t\tconst position = typeof target === 'string' ? Number(target) : target\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: position,\n\t\t\tleft: 0,\n\t\t\tbehavior: 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定选项配置\n\tif (typeof target === 'object' && target !== null) {\n\t\tscrollRef.value.scrollTo(target)\n\t\treturn\n\t}\n}\n\nconst setStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t} = {}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\n\tif (props.hide) {\n\t\tarr.push('is-hide')\n\t}\n\n\treturn arr\n})\n\nconst setContentStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t\tpadding?: string | number\n\t\tpaddingTop?: string\n\t\tpaddingRight?: string\n\t\tpaddingBottom?: string\n\t\tpaddingLeft?: string\n\t\tmaxHeight?: string\n\t\toverflow?: string\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\n\t\twidth?: string\n\t\tdisplay?: string\n\t} = {}\n\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\tif (String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj.padding = padded\n\t}\n\n\tif (props.paddingPosition) {\n\t\t// 根据paddingPosition设置padding位置\n\t\tconst padding = String(props.padding || '0')\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\n\n\t\tswitch (props.paddingPosition) {\n\t\t\tcase 'top':\n\t\t\t\tobj.paddingTop = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'right':\n\t\t\t\tobj.paddingRight = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'bottom':\n\t\t\t\tobj.paddingBottom = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'left':\n\t\t\t\tobj.paddingLeft = paddingValue\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\treturn obj\n})\n\nfunction adjust() {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n}\n\n// 导出方法供父组件调用\ndefineExpose({\n\tto,\n\tscrollRef,\n\tisScrolling,\n\tsetScrollPoints,\n\tfindScrollPoint,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","hasUnit","_createElementBlock","_normalizeClass","flex","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -6,6 +6,7 @@ import vColorDirective from '../../../directives/color/src/color.mjs';
6
6
  import tipDirective from '../../../directives/tip/src/tip.mjs';
7
7
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
8
8
  import { useFormItem } from '../../../hooks/useFormItem.mjs';
9
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
9
10
 
10
11
  const __default__ = defineComponent({
11
12
  name: "ToSegment"
@@ -170,7 +171,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
170
171
  arr.push(`type-${props.type}`);
171
172
  }
172
173
  if (props.mode) {
173
- arr.push(`mode-${props.mode}`);
174
+ arr.push(...getModeClasses(props.mode));
174
175
  }
175
176
  if (props.multiple) {
176
177
  arr.push("is-multiple");
@@ -1 +1 @@
1
- {"version":3,"file":"segment.vue.mjs","sources":["../../../../../../packages/components/segment/src/segment.vue"],"sourcesContent":["<template>\n\t<span :id=\"id\" :key=\"langKey\" v-dis.opacity=\"iDisabled\" v-tip=\"changed ? t('to.common.originalValue', getLabel(valueStore[0])) : ''\" :flex=\"flex ? flex : null\" class=\"to-segment\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<span v-if=\"verifiable && (rule || ToFormItem || required)\" v-show=\"false\" :rule=\"rule\" :req=\"validateRequired\" :desc=\"validateDesc\" class=\"to-validate\" :value=\"selected\"></span>\n\t\t<span v-for=\"(item, index) in options\" :key=\"index\" v-tip=\"item.tip ? item.tip : ''\" v-dis.opacity=\"item.iD\" class=\"to-segment-item\" :class=\"setItemClass(item)\" role=\"button\" :aria-pressed=\"isItemSelected(item)\" :aria-selected=\"isItemSelected(item)\" @click=\"change(item, index)\">\n\t\t\t<slot v-if=\"type === 'color'\">\n\t\t\t\t<div class=\"to-segment-color-box\" :style=\"{ 'background-color': item[iValueText] }\"></div>\n\t\t\t</slot>\n\t\t\t<template v-else>\n\t\t\t\t<span class=\"to-segment-check\"></span>\n\t\t\t\t<span class=\"to-segment-content\">\n\t\t\t\t\t<slot :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t<to-icon v-if=\"item[iIconText]\" class=\"to-segment-icon\" :value=\"item[iIconText]\"></to-icon>\n\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t</slot>\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</span>\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t{{ t('to.segment.selectError') }}\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\n\t\t\t</template>\n\t\t\t<template v-else> {{ t('to.segment.required') }} </template>\n\t\t</span>\n\t</span>\n</template>\n<script setup>\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\nimport { useFormItem } from '@touchvue/hooks'\nimport { ToIcon } from '@touchvue/components'\nimport { vDis, vTip, vColor } from '@touchvue/directives'\n\ndefineOptions({\n\tname: 'ToSegment'\n})\n\nconst props = defineProps({\n\tflex: Boolean,\n\tid: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tcol: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tdata: {\n\t\ttype: [String, Array],\n\t\tdefault: ''\n\t},\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tmodelValue: {\n\t\ttype: [String, Number, Boolean, Array],\n\t\tdefault: ''\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\titemPadding: {\n\t\ttype: [String, Number],\n\t\tdefault: 'default'\n\t},\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tlabelText: {\n\t\ttype: String,\n\t\tdefault: 'label'\n\t},\n\tvalueText: {\n\t\ttype: String,\n\t\tdefault: 'value'\n\t},\n\ticonText: {\n\t\ttype: String,\n\t\tdefault: 'icon'\n\t},\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tapi: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tapiParam: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\tapiLabel: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tapiHeaders: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\tresPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\terrorPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tsuccessCode: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tbeforeChange: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\tvalueType: {\n\t\ttype: String,\n\t\tdefault: 'string'\n\t},\n\tdesc: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\trule: {\n\t\ttype: [String, Array, Object],\n\t\tdefault: ''\n\t},\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\thttpRequest: {\n\t\ttype: Function,\n\t\tdefault: null\n\t}\n})\n\nconst emit = defineEmits(['change', 'option-loaded', 'update:modelValue'])\n\n// 表单验证相关 errorTip, errorType,\nconst { verifiable, validateRequired, validateDesc, ToForm, ToFormItem } = useFormItem(props)\n\n// 响应式数据\nconst options = ref([])\nconst selected = ref('')\nconst label = ref('')\nconst iDisabled = ref(false)\nconst changeBySelf = ref(false)\nconst errorTip = ref('')\nconst errorType = ref('rule')\n// 计算是否发生变化(用于comparable模式)\nconst changed = computed(() => {\n\tif ((props.comparable || ToForm?.comparable) && valueStore.value.length > 0 && currentValue.value !== valueStore.value[0]) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\nconst valueStore = ref([])\n\n// 内部属性\nconst iLabelText = ref('label')\nconst iValueText = ref('value')\nconst iIconText = ref('icon')\nconst iResPath = ref('')\nconst iSuccessCode = ref('')\nconst iApiParam = ref({})\nconst iApiLabel = ref('')\nconst iApiHeaders = ref({})\nconst iErrorPath = ref('')\n\nconst setClass = computed(() => {\n\tconst arr = ['to-disable-target']\n\tif (errorTip.value) {\n\t\tarr.push('to-segment-mode-line')\n\t\tarr.push('to-segment-color-danger')\n\t\tarr.push('to-segment-tip-show')\n\t} else {\n\t\tif (props.type) {\n\t\t\tarr.push(`type-${props.type}`)\n\t\t}\n\t\t// FIXME: 点击闪红色边框\n\t\t// if (changeBySelf.value) {\n\t\t// \tarr.push('to-segment-tip-show')\n\t\t// }\n\t\tif (props.mode) {\n\t\t\tarr.push(`mode-${props.mode}`)\n\t\t}\n\t\tif (props.multiple) {\n\t\t\tarr.push('is-multiple')\n\t\t}\n\t\tif (changed.value) {\n\t\t\tarr.push('is-changed')\n\t\t}\n\t\tif (ToForm?.comparable || props.comparable) {\n\t\t\tarr.push('to-compare')\n\t\t}\n\t\tif (props.col) {\n\t\t\tarr.push(`col-${props.col}`)\n\t\t\tarr.push(`is-col`)\n\t\t}\n\t}\n\treturn arr.join(' ')\n})\n\nconst setStyle = computed(() => {\n\tvar obj = {}\n\tif (props.width) {\n\t\tif (!isNaN(props.width)) {\n\t\t\tobj.width = props.width + 'em'\n\t\t} else if (props.width === 'full') {\n\t\t\tobj.width = '100%'\n\t\t} else {\n\t\t\tobj.width = props.width\n\t\t}\n\t}\n\treturn obj\n})\n\n// 计算当前值\nconst currentValue = computed(() => {\n\treturn props.modelValue ? props.modelValue : props.value\n})\n\n// 监听器\nwatch(\n\t() => props.disabled,\n\tval => {\n\t\tiDisabled.value = val\n\t}\n)\n\nwatch(\n\t() => currentValue.value,\n\tval => {\n\t\tif (!changeBySelf.value) {\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tselected.value = val.join(',')\n\t\t\t} else {\n\t\t\t\tselected.value = val\n\t\t\t}\n\t\t\tif (props.valueType === 'array') {\n\t\t\t\temit('change', selected.value ? selected.value.split(',') : [], getIndex(val))\n\t\t\t} else {\n\t\t\t\temit('change', selected.value, getIndex(val))\n\t\t\t}\n\t\t\tsetLabel()\n\t\t\tif (!valueStore.value.length) {\n\t\t\t\tvalueStore.value = [val]\n\t\t\t}\n\t\t}\n\t}\n)\n\nwatch(\n\t() => props.data,\n\t() => {\n\t\tsetOptions()\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.api,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\n// 生命周期\nonMounted(() => {\n\tselected.value = currentValue.value\n\tvalueStore.value = [currentValue.value]\n\tiLabelText.value = props.labelText\n\tiValueText.value = props.valueText\n\tiIconText.value = props.iconText\n\tiResPath.value = props.resPath\n\tiSuccessCode.value = props.successCode\n\tiApiParam.value = props.apiParam\n\tiApiLabel.value = props.apiLabel\n\tiApiHeaders.value = props.apiHeaders\n\tiErrorPath.value = props.errorPath\n\tiDisabled.value = props.disabled\n\tsetOptions()\n})\n\n// 方法\nfunction setOptions() {\n\t// 同步选项\n\tif (props.data) {\n\t\tif (typeof props.data === 'string') {\n\t\t\tlet arr = []\n\t\t\tfor (let i = 0; i < props.data.split(',').length; i++) {\n\t\t\t\tconst el = props.data.split(',')[i]\n\t\t\t\tlet obj = {}\n\t\t\t\tobj[iLabelText.value] = obj[iValueText.value] = el\n\t\t\t\tarr.push(obj)\n\t\t\t}\n\t\t\toptions.value = arr\n\t\t} else {\n\t\t\toptions.value = [...props.data]\n\t\t}\n\t\tsetLabel()\n\t}\n\t// 异步选项\n\tif (props.api) {\n\t\tif (props.httpRequest) {\n\t\t\tconst requestConfig = {\n\t\t\t\turl: props.api,\n\t\t\t\tmethod: 'GET',\n\t\t\t\tparams: iApiParam.value,\n\t\t\t\theaders: iApiHeaders.value\n\t\t\t}\n\t\t\tprops\n\t\t\t\t.httpRequest(requestConfig)\n\t\t\t\t.then(res => {\n\t\t\t\t\tlet data = res\n\t\t\t\t\tif (iResPath.value) {\n\t\t\t\t\t\tconst paths = iResPath.value.split('.')\n\t\t\t\t\t\tfor (const path of paths) {\n\t\t\t\t\t\t\tdata = data[path]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (Array.isArray(data)) {\n\t\t\t\t\t\toptions.value = data\n\t\t\t\t\t\tsetLabel()\n\t\t\t\t\t\temit('option-loaded', data)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('segment api返回数据格式错误')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.error('segment api请求失败:', err)\n\t\t\t\t})\n\t\t} else {\n\t\t\tconsole.warn('segment组件需要httpRequest方法来处理api请求')\n\t\t}\n\t}\n}\n\nfunction setLabel() {\n\tif (!props.multiple) {\n\t\tlet obj = (() => {\n\t\t\tfor (let i = 0; i < options.value.length; i++) {\n\t\t\t\tconst el = options.value[i]\n\t\t\t\tif (el[iValueText.value] === selected.value) {\n\t\t\t\t\treturn el\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t\tif (obj && obj[iLabelText.value]) {\n\t\t\tlabel.value = obj[iLabelText.value]\n\t\t} else {\n\t\t\tlabel.value = ''\n\t\t}\n\t} else {\n\t\tlet obj = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined) {\n\t\t\t\treturn []\n\t\t\t} else {\n\t\t\t\treturn String(selected.value).split(',')\n\t\t\t}\n\t\t})()\n\t\tlabel.value = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined) {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\tlet arr = []\n\t\t\t\toptions.value.map(option => {\n\t\t\t\t\tif (obj.includes(String(option[iValueText.value]))) {\n\t\t\t\t\t\tarr.push(option[iLabelText.value])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn arr.join(',')\n\t\t\t}\n\t\t})()\n\t}\n}\n\nfunction getLabel(val) {\n\tlet obj = options.value.find(item => item[iValueText.value] === val)\n\tif (obj && obj[iLabelText.value]) {\n\t\treturn obj[iLabelText.value]\n\t}\n\treturn ''\n}\n\nfunction getIndex() {\n\treturn options.value.findIndex(option => option[iValueText.value] === selected.value)\n}\n\nfunction change(item, index) {\n\tif (item.disabled) return\n\tif (iDisabled.value) return\n\n\tif (props.beforeChange) {\n\t\tconst fn = props.beforeChange(item, index)\n\t\tif (fn && fn.then) {\n\t\t\tfn.then(() => {\n\t\t\t\tchangeAction(item, index)\n\t\t\t}).catch(() => {\n\t\t\t\t// beforeChange rejected\n\t\t\t})\n\t\t} else {\n\t\t\tif (fn !== false) {\n\t\t\t\tchangeAction(item, index)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tchangeAction(item, index)\n\t}\n}\n\nfunction changeAction(item, index) {\n\terrorTip.value = ''\n\tif (props.multiple) {\n\t\tlet iValue = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined || (Array.isArray(selected.value) && selected.value.length === 0)) {\n\t\t\t\treturn []\n\t\t\t} else {\n\t\t\t\treturn String(selected.value).split(',')\n\t\t\t}\n\t\t})()\n\t\tif (iValue.includes(String(item[iValueText.value]))) {\n\t\t\tiValue = iValue.filter(el => {\n\t\t\t\treturn el !== String(item[iValueText.value])\n\t\t\t})\n\t\t} else {\n\t\t\tiValue.push(String(item[iValueText.value]))\n\t\t}\n\t\tselected.value = iValue.length ? iValue.join(',') : ''\n\t\tlabel.value = (() => {\n\t\t\tif (!iValue.length) {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\tlet arr = []\n\t\t\t\toptions.value.map(option => {\n\t\t\t\t\tif (iValue.includes(String(option[iValueText.value]))) {\n\t\t\t\t\t\tarr.push(option[iLabelText.value])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn arr.join(',')\n\t\t\t}\n\t\t})()\n\t\tchangeBySelf.value = true\n\t\tconst emitValue = props.valueType === 'array' ? (selected.value ? selected.value.split(',') : []) : selected.value\n\t\temit('update:modelValue', emitValue)\n\t\temit('change', emitValue, index)\n\t\tsetTimeout(() => {\n\t\t\tchangeBySelf.value = false\n\t\t}, 50)\n\t} else {\n\t\tif (item[iValueText.value] === selected.value && props.clearable) {\n\t\t\tselected.value = ''\n\t\t\tlabel.value = ''\n\t\t\tchangeBySelf.value = true\n\t\t\temit('update:modelValue', '')\n\t\t\temit('change', '', index)\n\t\t\tsetTimeout(() => {\n\t\t\t\tchangeBySelf.value = false\n\t\t\t}, 50)\n\t\t} else {\n\t\t\tselected.value = item[iValueText.value]\n\t\t\tlabel.value = item[iLabelText.value]\n\t\t\tchangeBySelf.value = true\n\t\t\temit('update:modelValue', item[iValueText.value])\n\t\t\temit('change', item[iValueText.value], index)\n\t\t\tsetTimeout(() => {\n\t\t\t\tchangeBySelf.value = false\n\t\t\t}, 50)\n\t\t}\n\t}\n}\n\nfunction isItemSelected(item) {\n\tif (props.multiple) {\n\t\treturn String(selected.value).split(',').includes(String(item[iValueText.value]))\n\t} else {\n\t\treturn selected.value === item[iValueText.value]\n\t}\n}\n\nfunction setItemClass(item) {\n\treturn isItemSelected(item) ? 'is-on' : ''\n}\n\nfunction setDisabled(f) {\n\tiDisabled.value = f\n}\n\nfunction tip(msg) {\n\t// tip方法实现\n\tconsole.log('tip:', msg)\n}\n\n// 记录历史值,以便对比或者取值\nfunction compare() {\n\tvalueStore.value.unshift(currentValue.value)\n}\n\n// 撤销\nfunction restore() {\n\tif (valueStore.value.length > 0) {\n\t\tconst restoredValue = valueStore.value[0]\n\t\tvalueStore.value.splice(0, 1)\n\t\temit('update:modelValue', restoredValue)\n\t\temit('change', restoredValue)\n\t}\n}\n\n// 暴露方法给父组件\ndefineExpose({\n\tsetDisabled,\n\ttip,\n\tgetLabel,\n\tcompare,\n\trestore,\n\tchanged,\n\terrorTip,\n\terrorType\n})\n</script>\n"],"names":["_createElementBlock","_unref","_normalizeClass","_openBlock","_Fragment","_renderList","_renderSlot","_createElementVNode","_normalizeStyle","_createBlock","_toDisplayString","vTip","_createTextVNode","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"segment.vue.mjs","sources":["../../../../../../packages/components/segment/src/segment.vue"],"sourcesContent":["<template>\n\t<span :id=\"id\" :key=\"langKey\" v-dis.opacity=\"iDisabled\" v-tip=\"changed ? t('to.common.originalValue', getLabel(valueStore[0])) : ''\" :flex=\"flex ? flex : null\" class=\"to-segment\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<span v-if=\"verifiable && (rule || ToFormItem || required)\" v-show=\"false\" :rule=\"rule\" :req=\"validateRequired\" :desc=\"validateDesc\" class=\"to-validate\" :value=\"selected\"></span>\n\t\t<span v-for=\"(item, index) in options\" :key=\"index\" v-tip=\"item.tip ? item.tip : ''\" v-dis.opacity=\"item.iD\" class=\"to-segment-item\" :class=\"setItemClass(item)\" role=\"button\" :aria-pressed=\"isItemSelected(item)\" :aria-selected=\"isItemSelected(item)\" @click=\"change(item, index)\">\n\t\t\t<slot v-if=\"type === 'color'\">\n\t\t\t\t<div class=\"to-segment-color-box\" :style=\"{ 'background-color': item[iValueText] }\"></div>\n\t\t\t</slot>\n\t\t\t<template v-else>\n\t\t\t\t<span class=\"to-segment-check\"></span>\n\t\t\t\t<span class=\"to-segment-content\">\n\t\t\t\t\t<slot :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t<to-icon v-if=\"item[iIconText]\" class=\"to-segment-icon\" :value=\"item[iIconText]\"></to-icon>\n\t\t\t\t\t\t{{ item[iLabelText] }}\n\t\t\t\t\t</slot>\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</span>\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\n\t\t\t<template v-if=\"errorType === 'rule'\">\n\t\t\t\t{{ t('to.segment.selectError') }}\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\n\t\t\t</template>\n\t\t\t<template v-else> {{ t('to.segment.required') }} </template>\n\t\t</span>\n\t</span>\n</template>\n<script setup>\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { t, langKey } from '@touchvue/locale'\nimport { useFormItem } from '@touchvue/hooks'\nimport { ToIcon } from '@touchvue/components'\nimport { vDis, vTip, vColor } from '@touchvue/directives'\n\ndefineOptions({\n\tname: 'ToSegment'\n})\n\nconst props = defineProps({\n\tflex: Boolean,\n\tid: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tcol: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tdata: {\n\t\ttype: [String, Array],\n\t\tdefault: ''\n\t},\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tmodelValue: {\n\t\ttype: [String, Number, Boolean, Array],\n\t\tdefault: ''\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\titemPadding: {\n\t\ttype: [String, Number],\n\t\tdefault: 'default'\n\t},\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tlabelText: {\n\t\ttype: String,\n\t\tdefault: 'label'\n\t},\n\tvalueText: {\n\t\ttype: String,\n\t\tdefault: 'value'\n\t},\n\ticonText: {\n\t\ttype: String,\n\t\tdefault: 'icon'\n\t},\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tapi: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tapiParam: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\tapiLabel: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tapiHeaders: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\tresPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\terrorPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tsuccessCode: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tbeforeChange: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\tvalueType: {\n\t\ttype: String,\n\t\tdefault: 'string'\n\t},\n\tdesc: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\trule: {\n\t\ttype: [String, Array, Object],\n\t\tdefault: ''\n\t},\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\thttpRequest: {\n\t\ttype: Function,\n\t\tdefault: null\n\t}\n})\n\nconst emit = defineEmits(['change', 'option-loaded', 'update:modelValue'])\n\n// 表单验证相关 errorTip, errorType,\nconst { verifiable, validateRequired, validateDesc, ToForm, ToFormItem } = useFormItem(props)\n\n// 响应式数据\nconst options = ref([])\nconst selected = ref('')\nconst label = ref('')\nconst iDisabled = ref(false)\nconst changeBySelf = ref(false)\nconst errorTip = ref('')\nconst errorType = ref('rule')\n// 计算是否发生变化(用于comparable模式)\nconst changed = computed(() => {\n\tif ((props.comparable || ToForm?.comparable) && valueStore.value.length > 0 && currentValue.value !== valueStore.value[0]) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n})\nconst valueStore = ref([])\n\n// 内部属性\nconst iLabelText = ref('label')\nconst iValueText = ref('value')\nconst iIconText = ref('icon')\nconst iResPath = ref('')\nconst iSuccessCode = ref('')\nconst iApiParam = ref({})\nconst iApiLabel = ref('')\nconst iApiHeaders = ref({})\nconst iErrorPath = ref('')\n\nconst setClass = computed(() => {\n\tconst arr = ['to-disable-target']\n\tif (errorTip.value) {\n\t\tarr.push('to-segment-mode-line')\n\t\tarr.push('to-segment-color-danger')\n\t\tarr.push('to-segment-tip-show')\n\t} else {\n\t\tif (props.type) {\n\t\t\tarr.push(`type-${props.type}`)\n\t\t}\n\t\t// FIXME: 点击闪红色边框\n\t\t// if (changeBySelf.value) {\n\t\t// \tarr.push('to-segment-tip-show')\n\t\t// }\n\t\tif (props.mode) {\n\t\t\tarr.push(...getModeClasses(props.mode))\n\t\t}\n\t\tif (props.multiple) {\n\t\t\tarr.push('is-multiple')\n\t\t}\n\t\tif (changed.value) {\n\t\t\tarr.push('is-changed')\n\t\t}\n\t\tif (ToForm?.comparable || props.comparable) {\n\t\t\tarr.push('to-compare')\n\t\t}\n\t\tif (props.col) {\n\t\t\tarr.push(`col-${props.col}`)\n\t\t\tarr.push(`is-col`)\n\t\t}\n\t}\n\treturn arr.join(' ')\n})\n\nconst setStyle = computed(() => {\n\tvar obj = {}\n\tif (props.width) {\n\t\tif (!isNaN(props.width)) {\n\t\t\tobj.width = props.width + 'em'\n\t\t} else if (props.width === 'full') {\n\t\t\tobj.width = '100%'\n\t\t} else {\n\t\t\tobj.width = props.width\n\t\t}\n\t}\n\treturn obj\n})\n\n// 计算当前值\nconst currentValue = computed(() => {\n\treturn props.modelValue ? props.modelValue : props.value\n})\n\n// 监听器\nwatch(\n\t() => props.disabled,\n\tval => {\n\t\tiDisabled.value = val\n\t}\n)\n\nwatch(\n\t() => currentValue.value,\n\tval => {\n\t\tif (!changeBySelf.value) {\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tselected.value = val.join(',')\n\t\t\t} else {\n\t\t\t\tselected.value = val\n\t\t\t}\n\t\t\tif (props.valueType === 'array') {\n\t\t\t\temit('change', selected.value ? selected.value.split(',') : [], getIndex(val))\n\t\t\t} else {\n\t\t\t\temit('change', selected.value, getIndex(val))\n\t\t\t}\n\t\t\tsetLabel()\n\t\t\tif (!valueStore.value.length) {\n\t\t\t\tvalueStore.value = [val]\n\t\t\t}\n\t\t}\n\t}\n)\n\nwatch(\n\t() => props.data,\n\t() => {\n\t\tsetOptions()\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => props.api,\n\t() => {\n\t\tsetOptions()\n\t}\n)\n\n// 生命周期\nonMounted(() => {\n\tselected.value = currentValue.value\n\tvalueStore.value = [currentValue.value]\n\tiLabelText.value = props.labelText\n\tiValueText.value = props.valueText\n\tiIconText.value = props.iconText\n\tiResPath.value = props.resPath\n\tiSuccessCode.value = props.successCode\n\tiApiParam.value = props.apiParam\n\tiApiLabel.value = props.apiLabel\n\tiApiHeaders.value = props.apiHeaders\n\tiErrorPath.value = props.errorPath\n\tiDisabled.value = props.disabled\n\tsetOptions()\n})\n\n// 方法\nfunction setOptions() {\n\t// 同步选项\n\tif (props.data) {\n\t\tif (typeof props.data === 'string') {\n\t\t\tlet arr = []\n\t\t\tfor (let i = 0; i < props.data.split(',').length; i++) {\n\t\t\t\tconst el = props.data.split(',')[i]\n\t\t\t\tlet obj = {}\n\t\t\t\tobj[iLabelText.value] = obj[iValueText.value] = el\n\t\t\t\tarr.push(obj)\n\t\t\t}\n\t\t\toptions.value = arr\n\t\t} else {\n\t\t\toptions.value = [...props.data]\n\t\t}\n\t\tsetLabel()\n\t}\n\t// 异步选项\n\tif (props.api) {\n\t\tif (props.httpRequest) {\n\t\t\tconst requestConfig = {\n\t\t\t\turl: props.api,\n\t\t\t\tmethod: 'GET',\n\t\t\t\tparams: iApiParam.value,\n\t\t\t\theaders: iApiHeaders.value\n\t\t\t}\n\t\t\tprops\n\t\t\t\t.httpRequest(requestConfig)\n\t\t\t\t.then(res => {\n\t\t\t\t\tlet data = res\n\t\t\t\t\tif (iResPath.value) {\n\t\t\t\t\t\tconst paths = iResPath.value.split('.')\n\t\t\t\t\t\tfor (const path of paths) {\n\t\t\t\t\t\t\tdata = data[path]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (Array.isArray(data)) {\n\t\t\t\t\t\toptions.value = data\n\t\t\t\t\t\tsetLabel()\n\t\t\t\t\t\temit('option-loaded', data)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('segment api返回数据格式错误')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.error('segment api请求失败:', err)\n\t\t\t\t})\n\t\t} else {\n\t\t\tconsole.warn('segment组件需要httpRequest方法来处理api请求')\n\t\t}\n\t}\n}\n\nfunction setLabel() {\n\tif (!props.multiple) {\n\t\tlet obj = (() => {\n\t\t\tfor (let i = 0; i < options.value.length; i++) {\n\t\t\t\tconst el = options.value[i]\n\t\t\t\tif (el[iValueText.value] === selected.value) {\n\t\t\t\t\treturn el\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t\tif (obj && obj[iLabelText.value]) {\n\t\t\tlabel.value = obj[iLabelText.value]\n\t\t} else {\n\t\t\tlabel.value = ''\n\t\t}\n\t} else {\n\t\tlet obj = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined) {\n\t\t\t\treturn []\n\t\t\t} else {\n\t\t\t\treturn String(selected.value).split(',')\n\t\t\t}\n\t\t})()\n\t\tlabel.value = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined) {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\tlet arr = []\n\t\t\t\toptions.value.map(option => {\n\t\t\t\t\tif (obj.includes(String(option[iValueText.value]))) {\n\t\t\t\t\t\tarr.push(option[iLabelText.value])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn arr.join(',')\n\t\t\t}\n\t\t})()\n\t}\n}\n\nfunction getLabel(val) {\n\tlet obj = options.value.find(item => item[iValueText.value] === val)\n\tif (obj && obj[iLabelText.value]) {\n\t\treturn obj[iLabelText.value]\n\t}\n\treturn ''\n}\n\nfunction getIndex() {\n\treturn options.value.findIndex(option => option[iValueText.value] === selected.value)\n}\n\nfunction change(item, index) {\n\tif (item.disabled) return\n\tif (iDisabled.value) return\n\n\tif (props.beforeChange) {\n\t\tconst fn = props.beforeChange(item, index)\n\t\tif (fn && fn.then) {\n\t\t\tfn.then(() => {\n\t\t\t\tchangeAction(item, index)\n\t\t\t}).catch(() => {\n\t\t\t\t// beforeChange rejected\n\t\t\t})\n\t\t} else {\n\t\t\tif (fn !== false) {\n\t\t\t\tchangeAction(item, index)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tchangeAction(item, index)\n\t}\n}\n\nfunction changeAction(item, index) {\n\terrorTip.value = ''\n\tif (props.multiple) {\n\t\tlet iValue = (() => {\n\t\t\tif (selected.value === '' || selected.value === null || selected.value === undefined || (Array.isArray(selected.value) && selected.value.length === 0)) {\n\t\t\t\treturn []\n\t\t\t} else {\n\t\t\t\treturn String(selected.value).split(',')\n\t\t\t}\n\t\t})()\n\t\tif (iValue.includes(String(item[iValueText.value]))) {\n\t\t\tiValue = iValue.filter(el => {\n\t\t\t\treturn el !== String(item[iValueText.value])\n\t\t\t})\n\t\t} else {\n\t\t\tiValue.push(String(item[iValueText.value]))\n\t\t}\n\t\tselected.value = iValue.length ? iValue.join(',') : ''\n\t\tlabel.value = (() => {\n\t\t\tif (!iValue.length) {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\tlet arr = []\n\t\t\t\toptions.value.map(option => {\n\t\t\t\t\tif (iValue.includes(String(option[iValueText.value]))) {\n\t\t\t\t\t\tarr.push(option[iLabelText.value])\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn arr.join(',')\n\t\t\t}\n\t\t})()\n\t\tchangeBySelf.value = true\n\t\tconst emitValue = props.valueType === 'array' ? (selected.value ? selected.value.split(',') : []) : selected.value\n\t\temit('update:modelValue', emitValue)\n\t\temit('change', emitValue, index)\n\t\tsetTimeout(() => {\n\t\t\tchangeBySelf.value = false\n\t\t}, 50)\n\t} else {\n\t\tif (item[iValueText.value] === selected.value && props.clearable) {\n\t\t\tselected.value = ''\n\t\t\tlabel.value = ''\n\t\t\tchangeBySelf.value = true\n\t\t\temit('update:modelValue', '')\n\t\t\temit('change', '', index)\n\t\t\tsetTimeout(() => {\n\t\t\t\tchangeBySelf.value = false\n\t\t\t}, 50)\n\t\t} else {\n\t\t\tselected.value = item[iValueText.value]\n\t\t\tlabel.value = item[iLabelText.value]\n\t\t\tchangeBySelf.value = true\n\t\t\temit('update:modelValue', item[iValueText.value])\n\t\t\temit('change', item[iValueText.value], index)\n\t\t\tsetTimeout(() => {\n\t\t\t\tchangeBySelf.value = false\n\t\t\t}, 50)\n\t\t}\n\t}\n}\n\nfunction isItemSelected(item) {\n\tif (props.multiple) {\n\t\treturn String(selected.value).split(',').includes(String(item[iValueText.value]))\n\t} else {\n\t\treturn selected.value === item[iValueText.value]\n\t}\n}\n\nfunction setItemClass(item) {\n\treturn isItemSelected(item) ? 'is-on' : ''\n}\n\nfunction setDisabled(f) {\n\tiDisabled.value = f\n}\n\nfunction tip(msg) {\n\t// tip方法实现\n\tconsole.log('tip:', msg)\n}\n\n// 记录历史值,以便对比或者取值\nfunction compare() {\n\tvalueStore.value.unshift(currentValue.value)\n}\n\n// 撤销\nfunction restore() {\n\tif (valueStore.value.length > 0) {\n\t\tconst restoredValue = valueStore.value[0]\n\t\tvalueStore.value.splice(0, 1)\n\t\temit('update:modelValue', restoredValue)\n\t\temit('change', restoredValue)\n\t}\n}\n\n// 暴露方法给父组件\ndefineExpose({\n\tsetDisabled,\n\ttip,\n\tgetLabel,\n\tcompare,\n\trestore,\n\tchanged,\n\terrorTip,\n\terrorType\n})\n</script>\n"],"names":["_createElementBlock","_unref","_normalizeClass","_openBlock","_Fragment","_renderList","_renderSlot","_createElementVNode","_normalizeStyle","_createBlock","_toDisplayString","vTip","_createTextVNode","_createVNode"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { computed } from 'vue';
2
+ import { getModeClasses } from '../../../../hooks/useSetClass.mjs';
2
3
 
3
4
  function useSetSelectClassStyle({ props, disabled, selected, iValueText, errorTip, changed, ToForm }) {
4
5
  const setClass = computed(() => {
@@ -9,9 +10,7 @@ function useSetSelectClassStyle({ props, disabled, selected, iValueText, errorTi
9
10
  arr.push("to-select-tip-show");
10
11
  } else {
11
12
  if (props.mode) {
12
- for (let i = 0; i < props.mode.split(" ").length; i++) {
13
- arr.push(`mode-${props.mode.split(" ")[i]}`);
14
- }
13
+ arr.push(...getModeClasses(props.mode));
15
14
  }
16
15
  if (props.color) {
17
16
  arr.push(`color-${props.color}`);
@@ -1 +1 @@
1
- {"version":3,"file":"use-select-class-style.mjs","sources":["../../../../../../../packages/components/select/src/hooks/use-select-class-style.ts"],"sourcesContent":["import { computed } from 'vue'\n\nexport function useSetSelectClassStyle({ props, disabled, selected, iValueText, errorTip, changed, ToForm }) {\n\tconst setClass = computed(() => {\n\t\tconst arr = ['to-disable-target']\n\t\tif (errorTip.value) {\n\t\t\tarr.push('to-select-mode-line')\n\t\t\tarr.push('to-select-color-danger')\n\t\t\tarr.push('to-select-tip-show')\n\t\t} else {\n\t\t\tif (props.mode) {\n\t\t\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\t\t\tarr.push(`mode-${props.mode.split(' ')[i]}`)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.color) {\n\t\t\t\tarr.push(`color-${props.color}`)\n\t\t\t}\n\t\t\tif (props.multiple) {\n\t\t\t\tarr.push('is-multiple')\n\t\t\t\tif (selected.value.length === 0) {\n\t\t\t\t\tarr.push('is-placeholder')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (selected.value && selected.value[iValueText.value] === '') {\n\t\t\t\t\tarr.push('is-placeholder')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (errorTip.value) {\n\t\t\t\t//\n\t\t\t}\n\t\t\tif (props.filterable || props.remoteMethod) {\n\t\t\t\tarr.push('is-filterable')\n\t\t\t}\n\t\t\tif (disabled.value) {\n\t\t\t\tarr.push('is-disabled')\n\t\t\t}\n\t\t\tif (changed.value) {\n\t\t\t\tarr.push('is-changed')\n\t\t\t}\n\t\t\tif (props.wrap) {\n\t\t\t\tarr.push('is-wrap')\n\t\t\t}\n\t\t\tif (props.native) {\n\t\t\t\tarr.push('is-native')\n\t\t\t}\n\t\t\tif ((ToForm && ToForm.comparable) || props.comparable) {\n\t\t\t\tarr.push('to-compare')\n\t\t\t}\n\t\t}\n\n\t\treturn arr\n\t})\n\n\tconst setStyle = computed(() => {\n\t\tconst obj: any = {}\n\t\tif (props.width) {\n\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\tobj.width = props.width + 'em'\n\t\t\t} else if (props.width === 'full') {\n\t\t\t\tobj.width = '100%'\n\t\t\t} else {\n\t\t\t\tobj.width = props.width\n\t\t\t}\n\t\t}\n\t\treturn obj\n\t})\n\n\treturn {\n\t\tsetClass,\n\t\tsetStyle\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-select-class-style.mjs","sources":["../../../../../../../packages/components/select/src/hooks/use-select-class-style.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\n\nexport function useSetSelectClassStyle({ props, disabled, selected, iValueText, errorTip, changed, ToForm }) {\n\tconst setClass = computed(() => {\n\t\tconst arr = ['to-disable-target']\n\t\tif (errorTip.value) {\n\t\t\tarr.push('to-select-mode-line')\n\t\t\tarr.push('to-select-color-danger')\n\t\t\tarr.push('to-select-tip-show')\n\t\t} else {\n\t\t\tif (props.mode) {\n\t\t\t\tarr.push(...getModeClasses(props.mode))\n\t\t\t}\n\t\t\tif (props.color) {\n\t\t\t\tarr.push(`color-${props.color}`)\n\t\t\t}\n\t\t\tif (props.multiple) {\n\t\t\t\tarr.push('is-multiple')\n\t\t\t\tif (selected.value.length === 0) {\n\t\t\t\t\tarr.push('is-placeholder')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (selected.value && selected.value[iValueText.value] === '') {\n\t\t\t\t\tarr.push('is-placeholder')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (errorTip.value) {\n\t\t\t\t//\n\t\t\t}\n\t\t\tif (props.filterable || props.remoteMethod) {\n\t\t\t\tarr.push('is-filterable')\n\t\t\t}\n\t\t\tif (disabled.value) {\n\t\t\t\tarr.push('is-disabled')\n\t\t\t}\n\t\t\tif (changed.value) {\n\t\t\t\tarr.push('is-changed')\n\t\t\t}\n\t\t\tif (props.wrap) {\n\t\t\t\tarr.push('is-wrap')\n\t\t\t}\n\t\t\tif (props.native) {\n\t\t\t\tarr.push('is-native')\n\t\t\t}\n\t\t\tif ((ToForm && ToForm.comparable) || props.comparable) {\n\t\t\t\tarr.push('to-compare')\n\t\t\t}\n\t\t}\n\n\t\treturn arr\n\t})\n\n\tconst setStyle = computed(() => {\n\t\tconst obj: any = {}\n\t\tif (props.width) {\n\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\tobj.width = props.width + 'em'\n\t\t\t} else if (props.width === 'full') {\n\t\t\t\tobj.width = '100%'\n\t\t\t} else {\n\t\t\t\tobj.width = props.width\n\t\t\t}\n\t\t}\n\t\treturn obj\n\t})\n\n\treturn {\n\t\tsetClass,\n\t\tsetStyle\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import vColorDirective from '../../../directives/color/src/color.mjs';
16
16
  import { useDevice } from '../../../hooks/useDevice.mjs';
17
17
  import { useSelectOptionData } from './hooks/use-select-option-data.mjs';
18
18
  import { useSetSelectClassStyle } from './hooks/use-select-class-style.mjs';
19
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
19
20
 
20
21
  const __default__ = defineComponent({
21
22
  name: "ToSelect",
@@ -553,9 +554,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
553
554
  const setOptionClass = computed(() => {
554
555
  let arr = [];
555
556
  if (props.mode) {
556
- for (let i = 0; i < props.mode.split(" ").length; i++) {
557
- arr.push(`mode-${props.mode.split(" ")[i]}`);
558
- }
557
+ arr.push(...getModeClasses(props.mode));
559
558
  }
560
559
  return arr;
561
560
  });