@touchvue/ui 1.0.0-beta.34 → 1.0.0-beta.35-patch.1

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 (593) hide show
  1. package/README.md +70 -70
  2. package/es/components/article/index.d.ts +1 -1
  3. package/es/components/box/index.d.ts +1 -1
  4. package/es/components/breadcrumb/index.d.ts +1 -1
  5. package/es/components/button/index.d.ts +1 -1
  6. package/es/components/button/src/button.d.ts +1 -1
  7. package/es/components/calendar/index.d.ts +1 -1
  8. package/es/components/card/index.d.ts +1 -1
  9. package/es/components/cascader/index.d.ts +1 -1
  10. package/es/components/center-scroll/index.d.ts +1 -1
  11. package/es/components/checkbox/index.d.ts +1 -1
  12. package/es/components/checkboxes/index.d.ts +1 -1
  13. package/es/components/collapse/index.d.ts +1 -1
  14. package/es/components/datepicker/index.d.ts +1 -1
  15. package/es/components/daterange/index.d.ts +1 -1
  16. package/es/components/dialog/index.d.ts +1 -1
  17. package/es/components/divider/index.d.ts +1 -1
  18. package/es/components/ellipsis/index.d.ts +1 -1
  19. package/es/components/export/index.d.ts +1 -1
  20. package/es/components/export/src/export.vue.d.ts +1 -1
  21. package/es/components/fix/index.d.ts +1 -1
  22. package/es/components/float/index.d.ts +1 -1
  23. package/es/components/form/index.d.ts +1 -1
  24. package/es/components/gap/index.d.ts +1 -1
  25. package/es/components/grid/index.d.ts +1 -1
  26. package/es/components/guider/index.d.ts +1 -1
  27. package/es/components/header/index.d.ts +1 -1
  28. package/es/components/icon/index.d.ts +1 -1
  29. package/es/components/import/index.d.ts +1 -1
  30. package/es/components/index.d.ts +1 -1
  31. package/es/components/input/index.d.ts +1 -1
  32. package/es/components/input/src/input.vue.d.ts +4 -0
  33. package/es/components/msg/index.d.ts +1 -1
  34. package/es/components/padding/index.d.ts +1 -1
  35. package/es/components/page/index.d.ts +1 -1
  36. package/es/components/param/index.d.ts +7 -7
  37. package/es/components/param/src/Param.vue.d.ts +3 -3
  38. package/es/components/pic/index.d.ts +1 -1
  39. package/es/components/progress/index.d.ts +1 -1
  40. package/es/components/range/index.d.ts +1 -1
  41. package/es/components/scroll/index.d.ts +2 -2
  42. package/es/components/segment/index.d.ts +1 -1
  43. package/es/components/select/index.d.ts +1 -1
  44. package/es/components/slide/index.d.ts +1 -1
  45. package/es/components/step/index.d.ts +1 -1
  46. package/es/components/submit/index.d.ts +1 -1
  47. package/es/components/switch/index.d.ts +1 -1
  48. package/es/components/tab/index.d.ts +1 -1
  49. package/es/components/tab/src/tab.vue.d.ts +3 -1
  50. package/es/components/table/index.d.ts +1 -1
  51. package/es/components/tag/index.d.ts +1 -1
  52. package/es/components/text/index.d.ts +1 -1
  53. package/es/components/timeline/src/timeline.vue.d.ts +4 -4
  54. package/es/components/tip/index.d.ts +1 -1
  55. package/es/components/tooltip/index.d.ts +1 -1
  56. package/es/components/transfer/index.d.ts +1 -1
  57. package/es/components/tree/index.d.ts +1 -1
  58. package/es/components/upload/index.d.ts +1 -1
  59. package/es/index.mjs +2 -1
  60. package/es/index.mjs.map +1 -1
  61. package/es/node_modules/.pnpm/{dompurify@3.3.1 → dompurify@3.2.6}/node_modules/dompurify/dist/purify.es.mjs +25 -65
  62. package/es/node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
  63. package/es/packages/components/article/index.mjs.map +1 -1
  64. package/es/packages/components/article/src/article.mjs.map +1 -1
  65. package/es/packages/components/article/src/article.vue2.mjs.map +1 -1
  66. package/es/packages/components/box/index.mjs.map +1 -1
  67. package/es/packages/components/box/src/box.mjs.map +1 -1
  68. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  69. package/es/packages/components/breadcrumb/index.mjs.map +1 -1
  70. package/es/packages/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  71. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.mjs.map +1 -1
  72. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue2.mjs.map +1 -1
  73. package/es/packages/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  74. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  75. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  76. package/es/packages/components/button/index.mjs.map +1 -1
  77. package/es/packages/components/button/src/button.mjs.map +1 -1
  78. package/es/packages/components/button/src/button.vue2.mjs +8 -8
  79. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  80. package/es/packages/components/calendar/index.mjs.map +1 -1
  81. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  82. package/es/packages/components/calendar/src/calendar.vue2.mjs +1 -1
  83. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  84. package/es/packages/components/card/index.mjs.map +1 -1
  85. package/es/packages/components/card/src/Card.vue.mjs.map +1 -1
  86. package/es/packages/components/card/src/card-item.vue.mjs.map +1 -1
  87. package/es/packages/components/card/src/card.vue2.mjs.map +1 -1
  88. package/es/packages/components/cascader/index.mjs.map +1 -1
  89. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +1 -1
  90. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  91. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -2
  92. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  93. package/es/packages/components/center-scroll/index.mjs.map +1 -1
  94. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  95. package/es/packages/components/center-scroll/src/center-scroll.mjs.map +1 -1
  96. package/es/packages/components/checkbox/index.mjs.map +1 -1
  97. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +2 -2
  98. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  99. package/es/packages/components/checkboxes/index.mjs.map +1 -1
  100. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +1 -1
  101. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  102. package/es/packages/components/collapse/index.mjs.map +1 -1
  103. package/es/packages/components/collapse/src/collapse-item.vue2.mjs +2 -2
  104. package/es/packages/components/collapse/src/collapse-item.vue2.mjs.map +1 -1
  105. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  106. package/es/packages/components/datepicker/index.mjs.map +1 -1
  107. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +2 -1
  108. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  109. package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
  110. package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
  111. package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
  112. package/es/packages/components/daterange/index.mjs.map +1 -1
  113. package/es/packages/components/daterange/src/date-range.vue2.mjs +12 -12
  114. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  115. package/es/packages/components/dialog/index.mjs.map +1 -1
  116. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  117. package/es/packages/components/dialog/src/dialog.mjs.map +1 -1
  118. package/es/packages/components/divider/index.mjs.map +1 -1
  119. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  120. package/es/packages/components/ellipsis/index.mjs.map +1 -1
  121. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs.map +1 -1
  122. package/es/packages/components/ellipsis/src/ellipsis.mjs.map +1 -1
  123. package/es/packages/components/export/index.mjs.map +1 -1
  124. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  125. package/es/packages/components/fix/index.mjs.map +1 -1
  126. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  127. package/es/packages/components/fix/src/fix.mjs.map +1 -1
  128. package/es/packages/components/float/index.mjs.map +1 -1
  129. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  130. package/es/packages/components/float/src/float.mjs.map +1 -1
  131. package/es/packages/components/form/index.mjs.map +1 -1
  132. package/es/packages/components/form/src/form-item.vue2.mjs.map +1 -1
  133. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  134. package/es/packages/components/gap/index.mjs.map +1 -1
  135. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  136. package/es/packages/components/grid/index.mjs.map +1 -1
  137. package/es/packages/components/grid/src/grid-item.vue2.mjs.map +1 -1
  138. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  139. package/es/packages/components/guider/index.mjs.map +1 -1
  140. package/es/packages/components/guider/src/guider.vue2.mjs +1 -1
  141. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  142. package/es/packages/components/header/index.mjs.map +1 -1
  143. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  144. package/es/packages/components/icon/index.mjs.map +1 -1
  145. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  146. package/es/packages/components/import/index.mjs.map +1 -1
  147. package/es/packages/components/import/src/import.vue2.mjs +1 -1
  148. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  149. package/es/packages/components/input/index.mjs.map +1 -1
  150. package/es/packages/components/input/src/input.vue2.mjs +59 -7
  151. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  152. package/es/packages/components/msg/index.mjs.map +1 -1
  153. package/es/packages/components/msg/src/msg.vue2.mjs +14 -14
  154. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  155. package/es/packages/components/padding/index.mjs.map +1 -1
  156. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  157. package/es/packages/components/page/index.mjs.map +1 -1
  158. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  159. package/es/packages/components/param/index.mjs.map +1 -1
  160. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  161. package/es/packages/components/param/src/ParamItem.vue.mjs.map +1 -1
  162. package/es/packages/components/param/src/param-item.mjs.map +1 -1
  163. package/es/packages/components/param/src/param.mjs.map +1 -1
  164. package/es/packages/components/pic/index.mjs.map +1 -1
  165. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  166. package/es/packages/components/pic/src/PicViewer.vue2.mjs +1 -1
  167. package/es/packages/components/pic/src/PicViewer.vue2.mjs.map +1 -1
  168. package/es/packages/components/pic/src/pic.mjs.map +1 -1
  169. package/es/packages/components/progress/index.mjs.map +1 -1
  170. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  171. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  172. package/es/packages/components/progress/src/progress.mjs.map +1 -1
  173. package/es/packages/components/range/index.mjs.map +1 -1
  174. package/es/packages/components/range/src/range.vue2.mjs +3 -3
  175. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  176. package/es/packages/components/scroll/index.mjs.map +1 -1
  177. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  178. package/es/packages/components/scroll/src/ScrollPoint.vue2.mjs.map +1 -1
  179. package/es/packages/components/scroll/src/scroll-point.mjs.map +1 -1
  180. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  181. package/es/packages/components/segment/index.mjs.map +1 -1
  182. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  183. package/es/packages/components/select/index.mjs.map +1 -1
  184. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  185. package/es/packages/components/select/src/hooks/use-select-option-data.mjs.map +1 -1
  186. package/es/packages/components/select/src/select.mjs.map +1 -1
  187. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  188. package/es/packages/components/slide/index.mjs.map +1 -1
  189. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  190. package/es/packages/components/step/index.mjs.map +1 -1
  191. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  192. package/es/packages/components/submit/index.mjs.map +1 -1
  193. package/es/packages/components/submit/src/submit.vue2.mjs.map +1 -1
  194. package/es/packages/components/switch/index.mjs.map +1 -1
  195. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  196. package/es/packages/components/tab/index.mjs.map +1 -1
  197. package/es/packages/components/tab/src/tab-item.vue2.mjs +1 -1
  198. package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
  199. package/es/packages/components/tab/src/tab.vue2.mjs +29 -20
  200. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  201. package/es/packages/components/table/index.mjs.map +1 -1
  202. package/es/packages/components/table/src/table-body.vue2.mjs.map +1 -1
  203. package/es/packages/components/table/src/table-config.vue2.mjs.map +1 -1
  204. package/es/packages/components/table/src/table-head.vue2.mjs +1 -1
  205. package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
  206. package/es/packages/components/table/src/table.vue2.mjs +19 -19
  207. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  208. package/es/packages/components/tag/index.mjs.map +1 -1
  209. package/es/packages/components/tag/src/tag.vue2.mjs +3 -3
  210. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  211. package/es/packages/components/text/index.mjs.map +1 -1
  212. package/es/packages/components/text/src/text.vue2.mjs +7 -7
  213. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  214. package/es/packages/components/timeline/index.mjs.map +1 -1
  215. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  216. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  217. package/es/packages/components/tip/index.mjs.map +1 -1
  218. package/es/packages/components/tip/src/tip.mjs.map +1 -1
  219. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  220. package/es/packages/components/tooltip/index.mjs.map +1 -1
  221. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  222. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  223. package/es/packages/components/transfer/index.mjs.map +1 -1
  224. package/es/packages/components/transfer/src/transfer.vue2.mjs +9 -9
  225. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  226. package/es/packages/components/tree/index.mjs.map +1 -1
  227. package/es/packages/components/tree/src/tree-item.vue2.mjs +26 -26
  228. package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
  229. package/es/packages/components/tree/src/tree.vue2.mjs +4 -4
  230. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  231. package/es/packages/components/upload/index.mjs.map +1 -1
  232. package/es/packages/components/upload/src/upload.vue2.mjs +11 -11
  233. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  234. package/es/packages/directives/align/index.mjs.map +1 -1
  235. package/es/packages/directives/align/src/align.mjs.map +1 -1
  236. package/es/packages/directives/color/index.mjs.map +1 -1
  237. package/es/packages/directives/color/src/color.mjs.map +1 -1
  238. package/es/packages/directives/dis/index.mjs.map +1 -1
  239. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  240. package/es/packages/directives/hide/src/hide.mjs.map +1 -1
  241. package/es/packages/directives/index.mjs.map +1 -1
  242. package/es/packages/directives/loading/index.mjs.map +1 -1
  243. package/es/packages/directives/loading/src/loading.mjs.map +1 -1
  244. package/es/packages/directives/longtap/src/longtap.mjs.map +1 -1
  245. package/es/packages/directives/size/index.mjs.map +1 -1
  246. package/es/packages/directives/size/src/size.mjs.map +1 -1
  247. package/es/packages/directives/tip/index.mjs.map +1 -1
  248. package/es/packages/directives/tip/src/tip.mjs.map +1 -1
  249. package/es/packages/hooks/useDevice.mjs.map +1 -1
  250. package/es/packages/hooks/useFormItem.mjs.map +1 -1
  251. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  252. package/es/packages/hooks/useWidthStyle.mjs.map +1 -1
  253. package/es/packages/locale/format.mjs.map +1 -1
  254. package/es/packages/locale/index.d.mjs.map +1 -1
  255. package/es/packages/locale/index.mjs.map +1 -1
  256. package/es/packages/locale/lang/en.mjs.map +1 -1
  257. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  258. package/es/packages/resolver/resolver.mjs.map +1 -1
  259. package/es/packages/utils/ajax.mjs.map +1 -1
  260. package/es/packages/utils/beforeChange.mjs.map +1 -1
  261. package/es/packages/utils/compare.mjs.map +1 -1
  262. package/es/packages/utils/config.mjs.map +1 -1
  263. package/es/packages/utils/date.mjs.map +1 -1
  264. package/es/packages/utils/disabledArea.mjs.map +1 -1
  265. package/es/packages/utils/dom.mjs.map +1 -1
  266. package/es/packages/utils/fileAjax.mjs.map +1 -1
  267. package/es/packages/utils/isModified.mjs.map +1 -1
  268. package/es/packages/utils/jsencrypt/JSEncrypt.mjs.map +1 -1
  269. package/es/packages/utils/jsencrypt/JSEncryptRSAKey.mjs.map +1 -1
  270. package/es/packages/utils/jsencrypt/jselib/asn1js/asn1.mjs.map +1 -1
  271. package/es/packages/utils/jsencrypt/jselib/asn1js/base64.mjs.map +1 -1
  272. package/es/packages/utils/jsencrypt/jselib/asn1js/hex.mjs.map +1 -1
  273. package/es/packages/utils/jsencrypt/jselib/asn1js/int10.mjs.map +1 -1
  274. package/es/packages/utils/jsencrypt/jselib/asn1js/oids.mjs.map +1 -1
  275. package/es/packages/utils/jsencrypt/jselib/jsbn/base64.mjs.map +1 -1
  276. package/es/packages/utils/jsencrypt/jselib/jsbn/jsbn.mjs.map +1 -1
  277. package/es/packages/utils/jsencrypt/jselib/jsbn/prng4.mjs.map +1 -1
  278. package/es/packages/utils/jsencrypt/jselib/jsbn/rng.mjs.map +1 -1
  279. package/es/packages/utils/jsencrypt/jselib/jsbn/rsa.mjs.map +1 -1
  280. package/es/packages/utils/jsencrypt/jselib/jsbn/util.mjs.map +1 -1
  281. package/es/packages/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.mjs.map +1 -1
  282. package/es/packages/utils/jsencrypt/jselib/jsrsasign/yahoo.mjs.map +1 -1
  283. package/es/packages/utils/jsencrypt/util.mjs.map +1 -1
  284. package/es/packages/utils/md5.mjs.map +1 -1
  285. package/es/packages/utils/print.mjs +1 -1
  286. package/es/packages/utils/print.mjs.map +1 -1
  287. package/es/packages/utils/ratio.mjs.map +1 -1
  288. package/es/packages/utils/sign.mjs.map +1 -1
  289. package/es/packages/utils/theme.mjs.map +1 -1
  290. package/es/packages/utils/types.mjs.map +1 -1
  291. package/es/packages/utils/util.mjs.map +1 -1
  292. package/es/packages/utils/uuid.mjs.map +1 -1
  293. package/es/packages/utils/validate.mjs.map +1 -1
  294. package/es/ui/index.d.ts +11 -5
  295. package/lib/components/article/index.d.ts +1 -1
  296. package/lib/components/box/index.d.ts +1 -1
  297. package/lib/components/breadcrumb/index.d.ts +1 -1
  298. package/lib/components/button/index.d.ts +1 -1
  299. package/lib/components/button/src/button.d.ts +1 -1
  300. package/lib/components/calendar/index.d.ts +1 -1
  301. package/lib/components/card/index.d.ts +1 -1
  302. package/lib/components/cascader/index.d.ts +1 -1
  303. package/lib/components/center-scroll/index.d.ts +1 -1
  304. package/lib/components/checkbox/index.d.ts +1 -1
  305. package/lib/components/checkboxes/index.d.ts +1 -1
  306. package/lib/components/collapse/index.d.ts +1 -1
  307. package/lib/components/datepicker/index.d.ts +1 -1
  308. package/lib/components/daterange/index.d.ts +1 -1
  309. package/lib/components/dialog/index.d.ts +1 -1
  310. package/lib/components/divider/index.d.ts +1 -1
  311. package/lib/components/ellipsis/index.d.ts +1 -1
  312. package/lib/components/export/index.d.ts +1 -1
  313. package/lib/components/export/src/export.vue.d.ts +1 -1
  314. package/lib/components/fix/index.d.ts +1 -1
  315. package/lib/components/float/index.d.ts +1 -1
  316. package/lib/components/form/index.d.ts +1 -1
  317. package/lib/components/gap/index.d.ts +1 -1
  318. package/lib/components/grid/index.d.ts +1 -1
  319. package/lib/components/guider/index.d.ts +1 -1
  320. package/lib/components/header/index.d.ts +1 -1
  321. package/lib/components/icon/index.d.ts +1 -1
  322. package/lib/components/import/index.d.ts +1 -1
  323. package/lib/components/index.d.ts +1 -1
  324. package/lib/components/input/index.d.ts +1 -1
  325. package/lib/components/input/src/input.vue.d.ts +4 -0
  326. package/lib/components/msg/index.d.ts +1 -1
  327. package/lib/components/padding/index.d.ts +1 -1
  328. package/lib/components/page/index.d.ts +1 -1
  329. package/lib/components/param/index.d.ts +7 -7
  330. package/lib/components/param/src/Param.vue.d.ts +3 -3
  331. package/lib/components/pic/index.d.ts +1 -1
  332. package/lib/components/progress/index.d.ts +1 -1
  333. package/lib/components/range/index.d.ts +1 -1
  334. package/lib/components/scroll/index.d.ts +2 -2
  335. package/lib/components/segment/index.d.ts +1 -1
  336. package/lib/components/select/index.d.ts +1 -1
  337. package/lib/components/slide/index.d.ts +1 -1
  338. package/lib/components/step/index.d.ts +1 -1
  339. package/lib/components/submit/index.d.ts +1 -1
  340. package/lib/components/switch/index.d.ts +1 -1
  341. package/lib/components/tab/index.d.ts +1 -1
  342. package/lib/components/tab/src/tab.vue.d.ts +3 -1
  343. package/lib/components/table/index.d.ts +1 -1
  344. package/lib/components/tag/index.d.ts +1 -1
  345. package/lib/components/text/index.d.ts +1 -1
  346. package/lib/components/timeline/src/timeline.vue.d.ts +4 -4
  347. package/lib/components/tip/index.d.ts +1 -1
  348. package/lib/components/tooltip/index.d.ts +1 -1
  349. package/lib/components/transfer/index.d.ts +1 -1
  350. package/lib/components/tree/index.d.ts +1 -1
  351. package/lib/components/upload/index.d.ts +1 -1
  352. package/lib/index.js +2 -1
  353. package/lib/index.js.map +1 -1
  354. package/lib/node_modules/.pnpm/{dompurify@3.3.1 → dompurify@3.2.6}/node_modules/dompurify/dist/purify.es.js +25 -65
  355. package/lib/node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.js.map +1 -0
  356. package/lib/packages/components/article/index.js.map +1 -1
  357. package/lib/packages/components/article/src/article.js.map +1 -1
  358. package/lib/packages/components/article/src/article.vue2.js.map +1 -1
  359. package/lib/packages/components/box/index.js.map +1 -1
  360. package/lib/packages/components/box/src/box.js.map +1 -1
  361. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  362. package/lib/packages/components/breadcrumb/index.js.map +1 -1
  363. package/lib/packages/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  364. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.js.map +1 -1
  365. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue2.js.map +1 -1
  366. package/lib/packages/components/breadcrumb/src/breadcrumb.js.map +1 -1
  367. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  368. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  369. package/lib/packages/components/button/index.js.map +1 -1
  370. package/lib/packages/components/button/src/button.js.map +1 -1
  371. package/lib/packages/components/button/src/button.vue2.js +8 -8
  372. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  373. package/lib/packages/components/calendar/index.js.map +1 -1
  374. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  375. package/lib/packages/components/calendar/src/calendar.vue2.js +1 -1
  376. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  377. package/lib/packages/components/card/index.js.map +1 -1
  378. package/lib/packages/components/card/src/Card.vue.js.map +1 -1
  379. package/lib/packages/components/card/src/card-item.vue.js.map +1 -1
  380. package/lib/packages/components/card/src/card.vue2.js.map +1 -1
  381. package/lib/packages/components/cascader/index.js.map +1 -1
  382. package/lib/packages/components/cascader/src/cascader-item.vue2.js +1 -1
  383. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  384. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -2
  385. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  386. package/lib/packages/components/center-scroll/index.js.map +1 -1
  387. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  388. package/lib/packages/components/center-scroll/src/center-scroll.js.map +1 -1
  389. package/lib/packages/components/checkbox/index.js.map +1 -1
  390. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +2 -2
  391. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  392. package/lib/packages/components/checkboxes/index.js.map +1 -1
  393. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -1
  394. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  395. package/lib/packages/components/collapse/index.js.map +1 -1
  396. package/lib/packages/components/collapse/src/collapse-item.vue2.js +2 -2
  397. package/lib/packages/components/collapse/src/collapse-item.vue2.js.map +1 -1
  398. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  399. package/lib/packages/components/datepicker/index.js.map +1 -1
  400. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +2 -1
  401. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  402. package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
  403. package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
  404. package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
  405. package/lib/packages/components/daterange/index.js.map +1 -1
  406. package/lib/packages/components/daterange/src/date-range.vue2.js +12 -12
  407. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  408. package/lib/packages/components/dialog/index.js.map +1 -1
  409. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  410. package/lib/packages/components/dialog/src/dialog.js.map +1 -1
  411. package/lib/packages/components/divider/index.js.map +1 -1
  412. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  413. package/lib/packages/components/ellipsis/index.js.map +1 -1
  414. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js.map +1 -1
  415. package/lib/packages/components/ellipsis/src/ellipsis.js.map +1 -1
  416. package/lib/packages/components/export/index.js.map +1 -1
  417. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  418. package/lib/packages/components/fix/index.js.map +1 -1
  419. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  420. package/lib/packages/components/fix/src/fix.js.map +1 -1
  421. package/lib/packages/components/float/index.js.map +1 -1
  422. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  423. package/lib/packages/components/float/src/float.js.map +1 -1
  424. package/lib/packages/components/form/index.js.map +1 -1
  425. package/lib/packages/components/form/src/form-item.vue2.js.map +1 -1
  426. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  427. package/lib/packages/components/gap/index.js.map +1 -1
  428. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  429. package/lib/packages/components/grid/index.js.map +1 -1
  430. package/lib/packages/components/grid/src/grid-item.vue2.js.map +1 -1
  431. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  432. package/lib/packages/components/guider/index.js.map +1 -1
  433. package/lib/packages/components/guider/src/guider.vue2.js +1 -1
  434. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  435. package/lib/packages/components/header/index.js.map +1 -1
  436. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  437. package/lib/packages/components/icon/index.js.map +1 -1
  438. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  439. package/lib/packages/components/import/index.js.map +1 -1
  440. package/lib/packages/components/import/src/import.vue2.js +1 -1
  441. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  442. package/lib/packages/components/input/index.js.map +1 -1
  443. package/lib/packages/components/input/src/input.vue2.js +58 -6
  444. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  445. package/lib/packages/components/msg/index.js.map +1 -1
  446. package/lib/packages/components/msg/src/msg.vue2.js +14 -14
  447. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  448. package/lib/packages/components/padding/index.js.map +1 -1
  449. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  450. package/lib/packages/components/page/index.js.map +1 -1
  451. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  452. package/lib/packages/components/param/index.js.map +1 -1
  453. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  454. package/lib/packages/components/param/src/ParamItem.vue.js.map +1 -1
  455. package/lib/packages/components/param/src/param-item.js.map +1 -1
  456. package/lib/packages/components/param/src/param.js.map +1 -1
  457. package/lib/packages/components/pic/index.js.map +1 -1
  458. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  459. package/lib/packages/components/pic/src/PicViewer.vue2.js +1 -1
  460. package/lib/packages/components/pic/src/PicViewer.vue2.js.map +1 -1
  461. package/lib/packages/components/pic/src/pic.js.map +1 -1
  462. package/lib/packages/components/progress/index.js.map +1 -1
  463. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  464. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  465. package/lib/packages/components/progress/src/progress.js.map +1 -1
  466. package/lib/packages/components/range/index.js.map +1 -1
  467. package/lib/packages/components/range/src/range.vue2.js +3 -3
  468. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  469. package/lib/packages/components/scroll/index.js.map +1 -1
  470. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  471. package/lib/packages/components/scroll/src/ScrollPoint.vue2.js.map +1 -1
  472. package/lib/packages/components/scroll/src/scroll-point.js.map +1 -1
  473. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  474. package/lib/packages/components/segment/index.js.map +1 -1
  475. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  476. package/lib/packages/components/select/index.js.map +1 -1
  477. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  478. package/lib/packages/components/select/src/hooks/use-select-option-data.js.map +1 -1
  479. package/lib/packages/components/select/src/select.js.map +1 -1
  480. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  481. package/lib/packages/components/slide/index.js.map +1 -1
  482. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  483. package/lib/packages/components/step/index.js.map +1 -1
  484. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  485. package/lib/packages/components/submit/index.js.map +1 -1
  486. package/lib/packages/components/submit/src/submit.vue2.js.map +1 -1
  487. package/lib/packages/components/switch/index.js.map +1 -1
  488. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  489. package/lib/packages/components/tab/index.js.map +1 -1
  490. package/lib/packages/components/tab/src/tab-item.vue2.js +1 -1
  491. package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
  492. package/lib/packages/components/tab/src/tab.vue2.js +29 -20
  493. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  494. package/lib/packages/components/table/index.js.map +1 -1
  495. package/lib/packages/components/table/src/table-body.vue2.js.map +1 -1
  496. package/lib/packages/components/table/src/table-config.vue2.js.map +1 -1
  497. package/lib/packages/components/table/src/table-head.vue2.js +1 -1
  498. package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
  499. package/lib/packages/components/table/src/table.vue2.js +19 -19
  500. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  501. package/lib/packages/components/tag/index.js.map +1 -1
  502. package/lib/packages/components/tag/src/tag.vue2.js +3 -3
  503. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  504. package/lib/packages/components/text/index.js.map +1 -1
  505. package/lib/packages/components/text/src/text.vue2.js +6 -6
  506. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  507. package/lib/packages/components/timeline/index.js.map +1 -1
  508. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  509. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  510. package/lib/packages/components/tip/index.js.map +1 -1
  511. package/lib/packages/components/tip/src/tip.js.map +1 -1
  512. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  513. package/lib/packages/components/tooltip/index.js.map +1 -1
  514. package/lib/packages/components/tooltip/src/tooltip.js.map +1 -1
  515. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  516. package/lib/packages/components/transfer/index.js.map +1 -1
  517. package/lib/packages/components/transfer/src/transfer.vue2.js +9 -9
  518. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  519. package/lib/packages/components/tree/index.js.map +1 -1
  520. package/lib/packages/components/tree/src/tree-item.vue2.js +26 -26
  521. package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
  522. package/lib/packages/components/tree/src/tree.vue2.js +4 -4
  523. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  524. package/lib/packages/components/upload/index.js.map +1 -1
  525. package/lib/packages/components/upload/src/upload.vue2.js +11 -11
  526. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  527. package/lib/packages/directives/align/index.js.map +1 -1
  528. package/lib/packages/directives/align/src/align.js.map +1 -1
  529. package/lib/packages/directives/color/index.js.map +1 -1
  530. package/lib/packages/directives/color/src/color.js.map +1 -1
  531. package/lib/packages/directives/dis/index.js.map +1 -1
  532. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  533. package/lib/packages/directives/hide/src/hide.js.map +1 -1
  534. package/lib/packages/directives/index.js.map +1 -1
  535. package/lib/packages/directives/loading/index.js.map +1 -1
  536. package/lib/packages/directives/loading/src/loading.js.map +1 -1
  537. package/lib/packages/directives/longtap/src/longtap.js.map +1 -1
  538. package/lib/packages/directives/size/index.js.map +1 -1
  539. package/lib/packages/directives/size/src/size.js.map +1 -1
  540. package/lib/packages/directives/tip/index.js.map +1 -1
  541. package/lib/packages/directives/tip/src/tip.js.map +1 -1
  542. package/lib/packages/hooks/useDevice.js.map +1 -1
  543. package/lib/packages/hooks/useFormItem.js.map +1 -1
  544. package/lib/packages/hooks/useSetClass.js.map +1 -1
  545. package/lib/packages/hooks/useWidthStyle.js.map +1 -1
  546. package/lib/packages/locale/format.js.map +1 -1
  547. package/lib/packages/locale/index.d.js.map +1 -1
  548. package/lib/packages/locale/index.js.map +1 -1
  549. package/lib/packages/locale/lang/en.js.map +1 -1
  550. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  551. package/lib/packages/resolver/resolver.js.map +1 -1
  552. package/lib/packages/utils/ajax.js.map +1 -1
  553. package/lib/packages/utils/beforeChange.js.map +1 -1
  554. package/lib/packages/utils/compare.js.map +1 -1
  555. package/lib/packages/utils/config.js.map +1 -1
  556. package/lib/packages/utils/date.js.map +1 -1
  557. package/lib/packages/utils/disabledArea.js.map +1 -1
  558. package/lib/packages/utils/dom.js.map +1 -1
  559. package/lib/packages/utils/fileAjax.js.map +1 -1
  560. package/lib/packages/utils/isModified.js.map +1 -1
  561. package/lib/packages/utils/jsencrypt/JSEncrypt.js.map +1 -1
  562. package/lib/packages/utils/jsencrypt/JSEncryptRSAKey.js.map +1 -1
  563. package/lib/packages/utils/jsencrypt/jselib/asn1js/asn1.js.map +1 -1
  564. package/lib/packages/utils/jsencrypt/jselib/asn1js/base64.js.map +1 -1
  565. package/lib/packages/utils/jsencrypt/jselib/asn1js/hex.js.map +1 -1
  566. package/lib/packages/utils/jsencrypt/jselib/asn1js/int10.js.map +1 -1
  567. package/lib/packages/utils/jsencrypt/jselib/asn1js/oids.js.map +1 -1
  568. package/lib/packages/utils/jsencrypt/jselib/jsbn/base64.js.map +1 -1
  569. package/lib/packages/utils/jsencrypt/jselib/jsbn/jsbn.js.map +1 -1
  570. package/lib/packages/utils/jsencrypt/jselib/jsbn/prng4.js.map +1 -1
  571. package/lib/packages/utils/jsencrypt/jselib/jsbn/rng.js.map +1 -1
  572. package/lib/packages/utils/jsencrypt/jselib/jsbn/rsa.js.map +1 -1
  573. package/lib/packages/utils/jsencrypt/jselib/jsbn/util.js.map +1 -1
  574. package/lib/packages/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js.map +1 -1
  575. package/lib/packages/utils/jsencrypt/jselib/jsrsasign/yahoo.js.map +1 -1
  576. package/lib/packages/utils/jsencrypt/util.js.map +1 -1
  577. package/lib/packages/utils/md5.js.map +1 -1
  578. package/lib/packages/utils/print.js +1 -1
  579. package/lib/packages/utils/print.js.map +1 -1
  580. package/lib/packages/utils/ratio.js.map +1 -1
  581. package/lib/packages/utils/sign.js.map +1 -1
  582. package/lib/packages/utils/theme.js.map +1 -1
  583. package/lib/packages/utils/types.js.map +1 -1
  584. package/lib/packages/utils/util.js.map +1 -1
  585. package/lib/packages/utils/uuid.js.map +1 -1
  586. package/lib/packages/utils/validate.js.map +1 -1
  587. package/lib/ui/index.d.ts +11 -5
  588. package/package.json +84 -84
  589. package/theme/components/index.css +60 -31
  590. package/theme/index.css +60 -31
  591. package/theme/skin/default.css +60 -31
  592. package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs.map +0 -1
  593. package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.vue.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\r\n\t<span ref=\"elRef\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\r\n\t\t<template v-if=\"type === 'circle'\">\r\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\r\n\t\t\t\t<circle\r\n\t\t\t\t\tcx=\"50\"\r\n\t\t\t\t\tcy=\"50\"\r\n\t\t\t\t\t:r=\"radius\"\r\n\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t:stroke-width=\"thick\"\r\n\t\t\t\t\tclass=\"to-progress-bg\"\r\n\t\t\t\t/>\r\n\t\t\t\t<circle\r\n\t\t\t\t\tcx=\"50\"\r\n\t\t\t\t\tcy=\"50\"\r\n\t\t\t\t\t:r=\"radius\"\r\n\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t:stroke-width=\"barThick\"\r\n\t\t\t\t\ttransform=\"rotate(-90, 50, 50)\"\r\n\t\t\t\t\t:stroke-dashoffset=\"strokeDashoffset\"\r\n\t\t\t\t\t:stroke-dasharray=\"strokeDasharray\"\r\n\t\t\t\t\tclass=\"to-progress-bar\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t\t<div class=\"to-progress-text\">\r\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\r\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\r\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\r\n\t\t\t\t</slot>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template v-else>\r\n\t\t\t<span class=\"to-progress-bg\">\r\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\r\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"textPosition === 'outer' && type !== 'loading'\"\r\n\t\t\t\tclass=\"to-progress-text\"\r\n\t\t\t\t:style=\"setTextStyle\"\r\n\t\t\t>\r\n\t\t\t\t{{ textValue }}\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</span>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\r\n\r\nexport default defineComponent({\r\n\tname: 'ToProgress',\r\n\tprops: {\r\n\t\t// 类型:normal 或 loading\r\n\t\ttype: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val),\r\n\t\t},\r\n\t\t// 进度条百分比,0~100的数字\r\n\t\tvalue: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 0,\r\n\t\t\trequired: true,\r\n\t\t},\r\n\t\t// 模式\r\n\t\tmode: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'default',\r\n\t\t},\r\n\t\t// 文字\r\n\t\ttext: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 标题\r\n\t\ttitle: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: undefined,\r\n\t\t},\r\n\t\t// 内容\r\n\t\tcontent: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\r\n\t\ttextPosition: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'inner',\r\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val),\r\n\t\t},\r\n\t\t// 显示值的宽度设置\r\n\t\ttextWidth: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 'auto',\r\n\t\t},\r\n\t\t// 颜色\r\n\t\tcolor: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'primary',\r\n\t\t},\r\n\t\t// 宽度\r\n\t\twidth: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 进度条大小\r\n\t\tbarSize: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 1,\r\n\t\t},\r\n\t},\r\n\tsetup(props) {\r\n\t\t// 响应式状态\r\n\t\tconst elRef = ref<HTMLElement | null>(null)\r\n\t\tconst radius = ref<number>(0)\r\n\t\tconst thick = ref<number>(0)\r\n\t\tconst barRadius = ref<number>(0)\r\n\t\tconst barThick = ref<number>(0)\r\n\t\tconst em = ref(0)\r\n\t\tconst offsetWidth = ref(0)\r\n\t\tconst iPercentage = ref('')\r\n\r\n\t\tconst getColor = (color: string) => {\r\n\t\t\tlet c = color\r\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\r\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\r\n\t\t\tlet number = Math.round(Math.random() * 6)\r\n\t\t\tif (color === 'radam') {\r\n\t\t\t\tc = colors[number]\r\n\t\t\t}\r\n\r\n\t\t\tswitch (c) {\r\n\t\t\t\tcase 'fg':\r\n\t\t\t\t\treturn '#000'\r\n\t\t\t\tcase 'info':\r\n\t\t\t\t\treturn '#999'\r\n\t\t\t\tcase 'warning':\r\n\t\t\t\t\treturn '#f3b100'\r\n\t\t\t\tcase 'success':\r\n\t\t\t\t\treturn '#8fc320'\r\n\t\t\t\tcase 'danger':\r\n\t\t\t\t\treturn '#e40077'\r\n\t\t\t\tcase 'secondary':\r\n\t\t\t\t\treturn '#4d5b65'\r\n\t\t\t\tcase 'primary':\r\n\t\t\t\t\treturn '#0085d0'\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn color\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\r\n\t\tconst strokeDasharray = computed(() => circumference.value)\r\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\r\n\r\n\t\tconst textValue = computed(() => {\r\n\t\t\tif (props.text) {\r\n\t\t\t\treturn props.text\r\n\t\t\t} else {\r\n\t\t\t\treturn iPercentage.value\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst titleValue = computed(() => {\r\n\t\t\tif (props.title !== undefined) {\r\n\t\t\t\treturn props.title\r\n\t\t\t} else {\r\n\t\t\t\t// 如果是100%,可以显示完成标识\r\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\r\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\r\n\t\t\t\t\treturn '100%'\r\n\t\t\t\t}\r\n\t\t\t\treturn iPercentage.value\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst setClass = computed(() => {\r\n\t\t\tconst arr: string[] = []\r\n\t\t\tarr.push(`color-${props.color}`)\r\n\t\t\tif (props.textPosition) {\r\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\r\n\t\t\t}\r\n\t\t\tif (props.type) {\r\n\t\t\t\tarr.push(`type-${props.type}`)\r\n\t\t\t}\r\n\t\t\tif (props.mode) {\r\n\t\t\t\tarr.push(`mode-${props.mode}`)\r\n\t\t\t}\r\n\t\t\treturn arr\r\n\t\t})\r\n\r\n\t\tconst setStyle = computed(() => {\r\n\t\t\tconst obj: Record<string, string> = {}\r\n\t\t\tif (props.width) {\r\n\t\t\t\tif (props.type === 'circle') {\r\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\t\t\t\t// 保持1:1的宽高比\r\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\r\n\t\t\t\t\t\tobj.width = size\r\n\t\t\t\t\t\tobj.height = size\r\n\t\t\t\t\t} else if (props.width === 'full') {\r\n\t\t\t\t\t\tobj.width = '100%'\r\n\t\t\t\t\t\t// 强制保持1:1的宽高比\r\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobj.width = props.width as string\r\n\t\t\t\t\t\tobj.height = props.width as string\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\t\t\t\tobj.width = props.width + 'em'\r\n\t\t\t\t\t} else if (props.width === 'full') {\r\n\t\t\t\t\t\tobj.width = '100%'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobj.width = props.width as string\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn obj\r\n\t\t})\r\n\r\n\t\tconst setBarStyle = computed(() => {\r\n\t\t\treturn 'width:' + iPercentage.value\r\n\t\t})\r\n\r\n\t\tconst setTextStyle = computed(() => {\r\n\t\t\tif (props.textWidth === 'auto') {\r\n\t\t\t\treturn ''\r\n\t\t\t} else {\r\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t// 方法\r\n\t\tconst setPercentage = () => {\r\n\t\t\tlet p = 0\r\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\r\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\r\n\t\t\t} else {\r\n\t\t\t\tp = Number(props.value)\r\n\t\t\t}\r\n\t\t\tif (p < 0) {\r\n\t\t\t\tp = 0\r\n\t\t\t}\r\n\t\t\tiPercentage.value = p + '%'\r\n\t\t}\r\n\r\n\t\tconst init = () => {\r\n\t\t\tlet timer: number | null = null\r\n\t\t\ttimer = window.setTimeout(() => {\r\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\r\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\r\n\t\t\t\tif (el) {\r\n\t\t\t\t\tif (props.type === 'circle') {\r\n\t\t\t\t\t\t// 获取基础值\r\n\t\t\t\t\t\tconst circleBgTick = parseFloat(\r\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--thick')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tconst circleBarTick = parseFloat(\r\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--bar-thick')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\r\n\r\n\t\t\t\t\t\t// 计算半径\r\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\r\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\r\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\r\n\r\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\r\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\r\n\r\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\r\n\t\t\t\t\t\tif (typeof props.width === 'number') {\r\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\r\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\r\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (timer) {\r\n\t\t\t\t\tclearTimeout(timer)\r\n\t\t\t\t\ttimer = null\r\n\t\t\t\t}\r\n\t\t\t}, 200)\r\n\t\t}\r\n\r\n\t\t// 生命周期钩子\r\n\t\tonMounted(() => {\r\n\t\t\twindow.addEventListener('resize', init)\r\n\t\t\tnextTick(() => {\r\n\t\t\t\tinit()\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tonBeforeUnmount(() => {\r\n\t\t\twindow.removeEventListener('resize', init)\r\n\t\t})\r\n\r\n\t\t// 监听属性变化\r\n\t\twatch(\r\n\t\t\t() => props.value,\r\n\t\t\t() => {\r\n\t\t\t\tsetPercentage()\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\t// 初始化\r\n\t\tsetPercentage()\r\n\r\n\t\treturn {\r\n\t\t\tthick,\r\n\t\t\telRef,\r\n\t\t\tem,\r\n\t\t\tbarThick,\r\n\t\t\tbarRadius,\r\n\t\t\toffsetWidth,\r\n\t\t\tiPercentage,\r\n\t\t\tgetColor,\r\n\t\t\tradius,\r\n\t\t\tstrokeDasharray,\r\n\t\t\tstrokeDashoffset,\r\n\t\t\ttextValue,\r\n\t\t\ttitleValue,\r\n\t\t\tsetClass,\r\n\t\t\tsetStyle,\r\n\t\t\tsetBarStyle,\r\n\t\t\tsetTextStyle,\r\n\t\t}\r\n\t},\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock","setClass","_normalizeClass","type","_Fragment","_createElementVNode","radius","strokeDashoffset","titleValue","_renderSlot","content","_toDisplayString","setBarStyle","_normalizeStyle","textPosition"],"mappings":"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"}
1
+ {"version":3,"file":"Progress.vue.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\n\t<span ref=\"elRef\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<template v-if=\"type === 'circle'\">\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\n\t\t\t\t<circle\n\t\t\t\t\tcx=\"50\"\n\t\t\t\t\tcy=\"50\"\n\t\t\t\t\t:r=\"radius\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t:stroke-width=\"thick\"\n\t\t\t\t\tclass=\"to-progress-bg\"\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx=\"50\"\n\t\t\t\t\tcy=\"50\"\n\t\t\t\t\t:r=\"radius\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t:stroke-width=\"barThick\"\n\t\t\t\t\ttransform=\"rotate(-90, 50, 50)\"\n\t\t\t\t\t:stroke-dashoffset=\"strokeDashoffset\"\n\t\t\t\t\t:stroke-dasharray=\"strokeDasharray\"\n\t\t\t\t\tclass=\"to-progress-bar\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t\t<div class=\"to-progress-text\">\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<span class=\"to-progress-bg\">\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tv-if=\"textPosition === 'outer' && type !== 'loading'\"\n\t\t\t\tclass=\"to-progress-text\"\n\t\t\t\t:style=\"setTextStyle\"\n\t\t\t>\n\t\t\t\t{{ textValue }}\n\t\t\t</span>\n\t\t</template>\n\t</span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\n\nexport default defineComponent({\n\tname: 'ToProgress',\n\tprops: {\n\t\t// 类型:normal 或 loading\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val),\n\t\t},\n\t\t// 进度条百分比,0~100的数字\n\t\tvalue: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 0,\n\t\t\trequired: true,\n\t\t},\n\t\t// 模式\n\t\tmode: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default',\n\t\t},\n\t\t// 文字\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t// 标题\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t// 内容\n\t\tcontent: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\n\t\ttextPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'inner',\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val),\n\t\t},\n\t\t// 显示值的宽度设置\n\t\ttextWidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 'auto',\n\t\t},\n\t\t// 颜色\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: 'primary',\n\t\t},\n\t\t// 宽度\n\t\twidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: '',\n\t\t},\n\t\t// 进度条大小\n\t\tbarSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\tsetup(props) {\n\t\t// 响应式状态\n\t\tconst elRef = ref<HTMLElement | null>(null)\n\t\tconst radius = ref<number>(0)\n\t\tconst thick = ref<number>(0)\n\t\tconst barRadius = ref<number>(0)\n\t\tconst barThick = ref<number>(0)\n\t\tconst em = ref(0)\n\t\tconst offsetWidth = ref(0)\n\t\tconst iPercentage = ref('')\n\n\t\tconst getColor = (color: string) => {\n\t\t\tlet c = color\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\n\t\t\tlet number = Math.round(Math.random() * 6)\n\t\t\tif (color === 'radam') {\n\t\t\t\tc = colors[number]\n\t\t\t}\n\n\t\t\tswitch (c) {\n\t\t\t\tcase 'fg':\n\t\t\t\t\treturn '#000'\n\t\t\t\tcase 'info':\n\t\t\t\t\treturn '#999'\n\t\t\t\tcase 'warning':\n\t\t\t\t\treturn '#f3b100'\n\t\t\t\tcase 'success':\n\t\t\t\t\treturn '#8fc320'\n\t\t\t\tcase 'danger':\n\t\t\t\t\treturn '#e40077'\n\t\t\t\tcase 'secondary':\n\t\t\t\t\treturn '#4d5b65'\n\t\t\t\tcase 'primary':\n\t\t\t\t\treturn '#0085d0'\n\t\t\t\tdefault:\n\t\t\t\t\treturn color\n\t\t\t}\n\t\t}\n\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\n\t\tconst strokeDasharray = computed(() => circumference.value)\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\n\n\t\tconst textValue = computed(() => {\n\t\t\tif (props.text) {\n\t\t\t\treturn props.text\n\t\t\t} else {\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst titleValue = computed(() => {\n\t\t\tif (props.title !== undefined) {\n\t\t\t\treturn props.title\n\t\t\t} else {\n\t\t\t\t// 如果是100%,可以显示完成标识\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\n\t\t\t\t\treturn '100%'\n\t\t\t\t}\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst setClass = computed(() => {\n\t\t\tconst arr: string[] = []\n\t\t\tarr.push(`color-${props.color}`)\n\t\t\tif (props.textPosition) {\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\n\t\t\t}\n\t\t\tif (props.type) {\n\t\t\t\tarr.push(`type-${props.type}`)\n\t\t\t}\n\t\t\tif (props.mode) {\n\t\t\t\tarr.push(`mode-${props.mode}`)\n\t\t\t}\n\t\t\treturn arr\n\t\t})\n\n\t\tconst setStyle = computed(() => {\n\t\t\tconst obj: Record<string, string> = {}\n\t\t\tif (props.width) {\n\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\t// 保持1:1的宽高比\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\n\t\t\t\t\t\tobj.width = size\n\t\t\t\t\t\tobj.height = size\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t\t// 强制保持1:1的宽高比\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t\tobj.height = props.width as string\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\tobj.width = props.width + 'em'\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn obj\n\t\t})\n\n\t\tconst setBarStyle = computed(() => {\n\t\t\treturn 'width:' + iPercentage.value\n\t\t})\n\n\t\tconst setTextStyle = computed(() => {\n\t\t\tif (props.textWidth === 'auto') {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\n\t\t\t}\n\t\t})\n\n\t\t// 方法\n\t\tconst setPercentage = () => {\n\t\t\tlet p = 0\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\n\t\t\t} else {\n\t\t\t\tp = Number(props.value)\n\t\t\t}\n\t\t\tif (p < 0) {\n\t\t\t\tp = 0\n\t\t\t}\n\t\t\tiPercentage.value = p + '%'\n\t\t}\n\n\t\tconst init = () => {\n\t\t\tlet timer: number | null = null\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\n\t\t\t\tif (el) {\n\t\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\t\t// 获取基础值\n\t\t\t\t\t\tconst circleBgTick = parseFloat(\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--thick')\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst circleBarTick = parseFloat(\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--bar-thick')\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\n\n\t\t\t\t\t\t// 计算半径\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\n\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\n\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\n\t\t\t\t\t\tif (typeof props.width === 'number') {\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (timer) {\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = null\n\t\t\t\t}\n\t\t\t}, 200)\n\t\t}\n\n\t\t// 生命周期钩子\n\t\tonMounted(() => {\n\t\t\twindow.addEventListener('resize', init)\n\t\t\tnextTick(() => {\n\t\t\t\tinit()\n\t\t\t})\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\twindow.removeEventListener('resize', init)\n\t\t})\n\n\t\t// 监听属性变化\n\t\twatch(\n\t\t\t() => props.value,\n\t\t\t() => {\n\t\t\t\tsetPercentage()\n\t\t\t}\n\t\t)\n\n\t\t// 初始化\n\t\tsetPercentage()\n\n\t\treturn {\n\t\t\tthick,\n\t\t\telRef,\n\t\t\tem,\n\t\t\tbarThick,\n\t\t\tbarRadius,\n\t\t\toffsetWidth,\n\t\t\tiPercentage,\n\t\t\tgetColor,\n\t\t\tradius,\n\t\t\tstrokeDasharray,\n\t\t\tstrokeDashoffset,\n\t\t\ttextValue,\n\t\t\ttitleValue,\n\t\t\tsetClass,\n\t\t\tsetStyle,\n\t\t\tsetBarStyle,\n\t\t\tsetTextStyle,\n\t\t}\n\t},\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","setClass","_normalizeClass","type","_Fragment","_createElementVNode","radius","strokeDashoffset","titleValue","_renderSlot","content","_toDisplayString","setBarStyle","_normalizeStyle","textPosition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.vue2.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\r\n\t<span ref=\"elRef\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\r\n\t\t<template v-if=\"type === 'circle'\">\r\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\r\n\t\t\t\t<circle\r\n\t\t\t\t\tcx=\"50\"\r\n\t\t\t\t\tcy=\"50\"\r\n\t\t\t\t\t:r=\"radius\"\r\n\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t:stroke-width=\"thick\"\r\n\t\t\t\t\tclass=\"to-progress-bg\"\r\n\t\t\t\t/>\r\n\t\t\t\t<circle\r\n\t\t\t\t\tcx=\"50\"\r\n\t\t\t\t\tcy=\"50\"\r\n\t\t\t\t\t:r=\"radius\"\r\n\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t:stroke-width=\"barThick\"\r\n\t\t\t\t\ttransform=\"rotate(-90, 50, 50)\"\r\n\t\t\t\t\t:stroke-dashoffset=\"strokeDashoffset\"\r\n\t\t\t\t\t:stroke-dasharray=\"strokeDasharray\"\r\n\t\t\t\t\tclass=\"to-progress-bar\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t\t<div class=\"to-progress-text\">\r\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\r\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\r\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\r\n\t\t\t\t</slot>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template v-else>\r\n\t\t\t<span class=\"to-progress-bg\">\r\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\r\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"textPosition === 'outer' && type !== 'loading'\"\r\n\t\t\t\tclass=\"to-progress-text\"\r\n\t\t\t\t:style=\"setTextStyle\"\r\n\t\t\t>\r\n\t\t\t\t{{ textValue }}\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</span>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\r\n\r\nexport default defineComponent({\r\n\tname: 'ToProgress',\r\n\tprops: {\r\n\t\t// 类型:normal 或 loading\r\n\t\ttype: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val),\r\n\t\t},\r\n\t\t// 进度条百分比,0~100的数字\r\n\t\tvalue: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 0,\r\n\t\t\trequired: true,\r\n\t\t},\r\n\t\t// 模式\r\n\t\tmode: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'default',\r\n\t\t},\r\n\t\t// 文字\r\n\t\ttext: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 标题\r\n\t\ttitle: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: undefined,\r\n\t\t},\r\n\t\t// 内容\r\n\t\tcontent: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\r\n\t\ttextPosition: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'inner',\r\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val),\r\n\t\t},\r\n\t\t// 显示值的宽度设置\r\n\t\ttextWidth: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 'auto',\r\n\t\t},\r\n\t\t// 颜色\r\n\t\tcolor: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: 'primary',\r\n\t\t},\r\n\t\t// 宽度\r\n\t\twidth: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: '',\r\n\t\t},\r\n\t\t// 进度条大小\r\n\t\tbarSize: {\r\n\t\t\ttype: [Number, String],\r\n\t\t\tdefault: 1,\r\n\t\t},\r\n\t},\r\n\tsetup(props) {\r\n\t\t// 响应式状态\r\n\t\tconst elRef = ref<HTMLElement | null>(null)\r\n\t\tconst radius = ref<number>(0)\r\n\t\tconst thick = ref<number>(0)\r\n\t\tconst barRadius = ref<number>(0)\r\n\t\tconst barThick = ref<number>(0)\r\n\t\tconst em = ref(0)\r\n\t\tconst offsetWidth = ref(0)\r\n\t\tconst iPercentage = ref('')\r\n\r\n\t\tconst getColor = (color: string) => {\r\n\t\t\tlet c = color\r\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\r\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\r\n\t\t\tlet number = Math.round(Math.random() * 6)\r\n\t\t\tif (color === 'radam') {\r\n\t\t\t\tc = colors[number]\r\n\t\t\t}\r\n\r\n\t\t\tswitch (c) {\r\n\t\t\t\tcase 'fg':\r\n\t\t\t\t\treturn '#000'\r\n\t\t\t\tcase 'info':\r\n\t\t\t\t\treturn '#999'\r\n\t\t\t\tcase 'warning':\r\n\t\t\t\t\treturn '#f3b100'\r\n\t\t\t\tcase 'success':\r\n\t\t\t\t\treturn '#8fc320'\r\n\t\t\t\tcase 'danger':\r\n\t\t\t\t\treturn '#e40077'\r\n\t\t\t\tcase 'secondary':\r\n\t\t\t\t\treturn '#4d5b65'\r\n\t\t\t\tcase 'primary':\r\n\t\t\t\t\treturn '#0085d0'\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn color\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\r\n\t\tconst strokeDasharray = computed(() => circumference.value)\r\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\r\n\r\n\t\tconst textValue = computed(() => {\r\n\t\t\tif (props.text) {\r\n\t\t\t\treturn props.text\r\n\t\t\t} else {\r\n\t\t\t\treturn iPercentage.value\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst titleValue = computed(() => {\r\n\t\t\tif (props.title !== undefined) {\r\n\t\t\t\treturn props.title\r\n\t\t\t} else {\r\n\t\t\t\t// 如果是100%,可以显示完成标识\r\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\r\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\r\n\t\t\t\t\treturn '100%'\r\n\t\t\t\t}\r\n\t\t\t\treturn iPercentage.value\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst setClass = computed(() => {\r\n\t\t\tconst arr: string[] = []\r\n\t\t\tarr.push(`color-${props.color}`)\r\n\t\t\tif (props.textPosition) {\r\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\r\n\t\t\t}\r\n\t\t\tif (props.type) {\r\n\t\t\t\tarr.push(`type-${props.type}`)\r\n\t\t\t}\r\n\t\t\tif (props.mode) {\r\n\t\t\t\tarr.push(`mode-${props.mode}`)\r\n\t\t\t}\r\n\t\t\treturn arr\r\n\t\t})\r\n\r\n\t\tconst setStyle = computed(() => {\r\n\t\t\tconst obj: Record<string, string> = {}\r\n\t\t\tif (props.width) {\r\n\t\t\t\tif (props.type === 'circle') {\r\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\t\t\t\t// 保持1:1的宽高比\r\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\r\n\t\t\t\t\t\tobj.width = size\r\n\t\t\t\t\t\tobj.height = size\r\n\t\t\t\t\t} else if (props.width === 'full') {\r\n\t\t\t\t\t\tobj.width = '100%'\r\n\t\t\t\t\t\t// 强制保持1:1的宽高比\r\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobj.width = props.width as string\r\n\t\t\t\t\t\tobj.height = props.width as string\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\t\t\t\tobj.width = props.width + 'em'\r\n\t\t\t\t\t} else if (props.width === 'full') {\r\n\t\t\t\t\t\tobj.width = '100%'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobj.width = props.width as string\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn obj\r\n\t\t})\r\n\r\n\t\tconst setBarStyle = computed(() => {\r\n\t\t\treturn 'width:' + iPercentage.value\r\n\t\t})\r\n\r\n\t\tconst setTextStyle = computed(() => {\r\n\t\t\tif (props.textWidth === 'auto') {\r\n\t\t\t\treturn ''\r\n\t\t\t} else {\r\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t// 方法\r\n\t\tconst setPercentage = () => {\r\n\t\t\tlet p = 0\r\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\r\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\r\n\t\t\t} else {\r\n\t\t\t\tp = Number(props.value)\r\n\t\t\t}\r\n\t\t\tif (p < 0) {\r\n\t\t\t\tp = 0\r\n\t\t\t}\r\n\t\t\tiPercentage.value = p + '%'\r\n\t\t}\r\n\r\n\t\tconst init = () => {\r\n\t\t\tlet timer: number | null = null\r\n\t\t\ttimer = window.setTimeout(() => {\r\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\r\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\r\n\t\t\t\tif (el) {\r\n\t\t\t\t\tif (props.type === 'circle') {\r\n\t\t\t\t\t\t// 获取基础值\r\n\t\t\t\t\t\tconst circleBgTick = parseFloat(\r\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--thick')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tconst circleBarTick = parseFloat(\r\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--bar-thick')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\r\n\r\n\t\t\t\t\t\t// 计算半径\r\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\r\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\r\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\r\n\r\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\r\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\r\n\r\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\r\n\t\t\t\t\t\tif (typeof props.width === 'number') {\r\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\r\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\r\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (timer) {\r\n\t\t\t\t\tclearTimeout(timer)\r\n\t\t\t\t\ttimer = null\r\n\t\t\t\t}\r\n\t\t\t}, 200)\r\n\t\t}\r\n\r\n\t\t// 生命周期钩子\r\n\t\tonMounted(() => {\r\n\t\t\twindow.addEventListener('resize', init)\r\n\t\t\tnextTick(() => {\r\n\t\t\t\tinit()\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tonBeforeUnmount(() => {\r\n\t\t\twindow.removeEventListener('resize', init)\r\n\t\t})\r\n\r\n\t\t// 监听属性变化\r\n\t\twatch(\r\n\t\t\t() => props.value,\r\n\t\t\t() => {\r\n\t\t\t\tsetPercentage()\r\n\t\t\t}\r\n\t\t)\r\n\r\n\t\t// 初始化\r\n\t\tsetPercentage()\r\n\r\n\t\treturn {\r\n\t\t\tthick,\r\n\t\t\telRef,\r\n\t\t\tem,\r\n\t\t\tbarThick,\r\n\t\t\tbarRadius,\r\n\t\t\toffsetWidth,\r\n\t\t\tiPercentage,\r\n\t\t\tgetColor,\r\n\t\t\tradius,\r\n\t\t\tstrokeDasharray,\r\n\t\t\tstrokeDashoffset,\r\n\t\t\ttextValue,\r\n\t\t\ttitleValue,\r\n\t\t\tsetClass,\r\n\t\t\tsetStyle,\r\n\t\t\tsetBarStyle,\r\n\t\t\tsetTextStyle,\r\n\t\t}\r\n\t},\r\n})\r\n</script>\r\n"],"names":["defineComponent","ref","computed","onMounted","nextTick","onBeforeUnmount","watch"],"mappings":"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"}
1
+ {"version":3,"file":"Progress.vue2.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\n\t<span ref=\"elRef\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<template v-if=\"type === 'circle'\">\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\n\t\t\t\t<circle\n\t\t\t\t\tcx=\"50\"\n\t\t\t\t\tcy=\"50\"\n\t\t\t\t\t:r=\"radius\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t:stroke-width=\"thick\"\n\t\t\t\t\tclass=\"to-progress-bg\"\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx=\"50\"\n\t\t\t\t\tcy=\"50\"\n\t\t\t\t\t:r=\"radius\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t:stroke-width=\"barThick\"\n\t\t\t\t\ttransform=\"rotate(-90, 50, 50)\"\n\t\t\t\t\t:stroke-dashoffset=\"strokeDashoffset\"\n\t\t\t\t\t:stroke-dasharray=\"strokeDasharray\"\n\t\t\t\t\tclass=\"to-progress-bar\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t\t<div class=\"to-progress-text\">\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<span class=\"to-progress-bg\">\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tv-if=\"textPosition === 'outer' && type !== 'loading'\"\n\t\t\t\tclass=\"to-progress-text\"\n\t\t\t\t:style=\"setTextStyle\"\n\t\t\t>\n\t\t\t\t{{ textValue }}\n\t\t\t</span>\n\t\t</template>\n\t</span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\n\nexport default defineComponent({\n\tname: 'ToProgress',\n\tprops: {\n\t\t// 类型:normal 或 loading\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val),\n\t\t},\n\t\t// 进度条百分比,0~100的数字\n\t\tvalue: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 0,\n\t\t\trequired: true,\n\t\t},\n\t\t// 模式\n\t\tmode: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default',\n\t\t},\n\t\t// 文字\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t// 标题\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t// 内容\n\t\tcontent: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\n\t\ttextPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'inner',\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val),\n\t\t},\n\t\t// 显示值的宽度设置\n\t\ttextWidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 'auto',\n\t\t},\n\t\t// 颜色\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: 'primary',\n\t\t},\n\t\t// 宽度\n\t\twidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: '',\n\t\t},\n\t\t// 进度条大小\n\t\tbarSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\tsetup(props) {\n\t\t// 响应式状态\n\t\tconst elRef = ref<HTMLElement | null>(null)\n\t\tconst radius = ref<number>(0)\n\t\tconst thick = ref<number>(0)\n\t\tconst barRadius = ref<number>(0)\n\t\tconst barThick = ref<number>(0)\n\t\tconst em = ref(0)\n\t\tconst offsetWidth = ref(0)\n\t\tconst iPercentage = ref('')\n\n\t\tconst getColor = (color: string) => {\n\t\t\tlet c = color\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\n\t\t\tlet number = Math.round(Math.random() * 6)\n\t\t\tif (color === 'radam') {\n\t\t\t\tc = colors[number]\n\t\t\t}\n\n\t\t\tswitch (c) {\n\t\t\t\tcase 'fg':\n\t\t\t\t\treturn '#000'\n\t\t\t\tcase 'info':\n\t\t\t\t\treturn '#999'\n\t\t\t\tcase 'warning':\n\t\t\t\t\treturn '#f3b100'\n\t\t\t\tcase 'success':\n\t\t\t\t\treturn '#8fc320'\n\t\t\t\tcase 'danger':\n\t\t\t\t\treturn '#e40077'\n\t\t\t\tcase 'secondary':\n\t\t\t\t\treturn '#4d5b65'\n\t\t\t\tcase 'primary':\n\t\t\t\t\treturn '#0085d0'\n\t\t\t\tdefault:\n\t\t\t\t\treturn color\n\t\t\t}\n\t\t}\n\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\n\t\tconst strokeDasharray = computed(() => circumference.value)\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\n\n\t\tconst textValue = computed(() => {\n\t\t\tif (props.text) {\n\t\t\t\treturn props.text\n\t\t\t} else {\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst titleValue = computed(() => {\n\t\t\tif (props.title !== undefined) {\n\t\t\t\treturn props.title\n\t\t\t} else {\n\t\t\t\t// 如果是100%,可以显示完成标识\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\n\t\t\t\t\treturn '100%'\n\t\t\t\t}\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst setClass = computed(() => {\n\t\t\tconst arr: string[] = []\n\t\t\tarr.push(`color-${props.color}`)\n\t\t\tif (props.textPosition) {\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\n\t\t\t}\n\t\t\tif (props.type) {\n\t\t\t\tarr.push(`type-${props.type}`)\n\t\t\t}\n\t\t\tif (props.mode) {\n\t\t\t\tarr.push(`mode-${props.mode}`)\n\t\t\t}\n\t\t\treturn arr\n\t\t})\n\n\t\tconst setStyle = computed(() => {\n\t\t\tconst obj: Record<string, string> = {}\n\t\t\tif (props.width) {\n\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\t// 保持1:1的宽高比\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\n\t\t\t\t\t\tobj.width = size\n\t\t\t\t\t\tobj.height = size\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t\t// 强制保持1:1的宽高比\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t\tobj.height = props.width as string\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\tobj.width = props.width + 'em'\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn obj\n\t\t})\n\n\t\tconst setBarStyle = computed(() => {\n\t\t\treturn 'width:' + iPercentage.value\n\t\t})\n\n\t\tconst setTextStyle = computed(() => {\n\t\t\tif (props.textWidth === 'auto') {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\n\t\t\t}\n\t\t})\n\n\t\t// 方法\n\t\tconst setPercentage = () => {\n\t\t\tlet p = 0\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\n\t\t\t} else {\n\t\t\t\tp = Number(props.value)\n\t\t\t}\n\t\t\tif (p < 0) {\n\t\t\t\tp = 0\n\t\t\t}\n\t\t\tiPercentage.value = p + '%'\n\t\t}\n\n\t\tconst init = () => {\n\t\t\tlet timer: number | null = null\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\n\t\t\t\tif (el) {\n\t\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\t\t// 获取基础值\n\t\t\t\t\t\tconst circleBgTick = parseFloat(\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--thick')\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst circleBarTick = parseFloat(\n\t\t\t\t\t\t\tgetComputedStyle(elRef.value).getPropertyValue('--bar-thick')\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\n\n\t\t\t\t\t\t// 计算半径\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\n\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\n\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\n\t\t\t\t\t\tif (typeof props.width === 'number') {\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (timer) {\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = null\n\t\t\t\t}\n\t\t\t}, 200)\n\t\t}\n\n\t\t// 生命周期钩子\n\t\tonMounted(() => {\n\t\t\twindow.addEventListener('resize', init)\n\t\t\tnextTick(() => {\n\t\t\t\tinit()\n\t\t\t})\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\twindow.removeEventListener('resize', init)\n\t\t})\n\n\t\t// 监听属性变化\n\t\twatch(\n\t\t\t() => props.value,\n\t\t\t() => {\n\t\t\t\tsetPercentage()\n\t\t\t}\n\t\t)\n\n\t\t// 初始化\n\t\tsetPercentage()\n\n\t\treturn {\n\t\t\tthick,\n\t\t\telRef,\n\t\t\tem,\n\t\t\tbarThick,\n\t\t\tbarRadius,\n\t\t\toffsetWidth,\n\t\t\tiPercentage,\n\t\t\tgetColor,\n\t\t\tradius,\n\t\t\tstrokeDasharray,\n\t\t\tstrokeDashoffset,\n\t\t\ttextValue,\n\t\t\ttitleValue,\n\t\t\tsetClass,\n\t\t\tsetStyle,\n\t\t\tsetBarStyle,\n\t\t\tsetTextStyle,\n\t\t}\n\t},\n})\n</script>\n"],"names":["defineComponent","ref","computed","onMounted","nextTick","onBeforeUnmount","watch"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import type { PropType } from 'vue';\r\n\r\nexport const progressProps = {\r\n // 类型:normal或loading\r\n type: {\r\n type: String as PropType<'normal' | 'loading' | 'circle'>,\r\n default: 'normal',\r\n },\r\n // 进度条百分比,0~100的数字\r\n percentage: {\r\n type: [Number, String],\r\n default: 0,\r\n required: true,\r\n },\r\n // 圆角:normal(一般形式)、pill(药片形式)、none(无圆角)\r\n fillet: {\r\n type: String as PropType<'normal' | 'pill' | 'none'>,\r\n default: 'normal',\r\n },\r\n // 内部文字\r\n innerText: {\r\n type: String,\r\n default: '',\r\n },\r\n // 外部文字\r\n outerText: {\r\n type: String,\r\n default: '',\r\n },\r\n // 标题\r\n title: {\r\n type: String,\r\n default: undefined,\r\n },\r\n // 内容\r\n content: {\r\n type: String,\r\n default: '',\r\n },\r\n // 进度位置:outer(在外)、inner(在内)、none(不显示进度)\r\n textPosition: {\r\n type: String as PropType<'outer' | 'inner' | 'none'>,\r\n default: 'inner',\r\n },\r\n // 显示值的宽度设置\r\n textWidth: {\r\n type: [Number, String],\r\n default: 'auto',\r\n },\r\n // 文本大小\r\n textSize: {\r\n type: [Number, String],\r\n default: 1,\r\n },\r\n // 颜色\r\n color: {\r\n type: String,\r\n default: 'primary',\r\n },\r\n // 宽度\r\n width: {\r\n type: [Number, String],\r\n default: 25,\r\n },\r\n // 进度条大小\r\n barSize: {\r\n type: [Number, String],\r\n default: 1,\r\n },\r\n};\r\n\r\nexport type ProgressProps = typeof progressProps;\r\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA;AAAA;AAAA,EAE3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,IACT,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACX;AACF;;;;"}
1
+ {"version":3,"file":"progress.js","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import type { PropType } from 'vue';\n\nexport const progressProps = {\n // 类型:normal或loading\n type: {\n type: String as PropType<'normal' | 'loading' | 'circle'>,\n default: 'normal',\n },\n // 进度条百分比,0~100的数字\n percentage: {\n type: [Number, String],\n default: 0,\n required: true,\n },\n // 圆角:normal(一般形式)、pill(药片形式)、none(无圆角)\n fillet: {\n type: String as PropType<'normal' | 'pill' | 'none'>,\n default: 'normal',\n },\n // 内部文字\n innerText: {\n type: String,\n default: '',\n },\n // 外部文字\n outerText: {\n type: String,\n default: '',\n },\n // 标题\n title: {\n type: String,\n default: undefined,\n },\n // 内容\n content: {\n type: String,\n default: '',\n },\n // 进度位置:outer(在外)、inner(在内)、none(不显示进度)\n textPosition: {\n type: String as PropType<'outer' | 'inner' | 'none'>,\n default: 'inner',\n },\n // 显示值的宽度设置\n textWidth: {\n type: [Number, String],\n default: 'auto',\n },\n // 文本大小\n textSize: {\n type: [Number, String],\n default: 1,\n },\n // 颜色\n color: {\n type: String,\n default: 'primary',\n },\n // 宽度\n width: {\n type: [Number, String],\n default: 25,\n },\n // 进度条大小\n barSize: {\n type: [Number, String],\n default: 1,\n },\n};\n\nexport type ProgressProps = typeof progressProps;\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA;AAAA;AAAA,EAE3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,IACT,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,CAAA;AAAA,GACX;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/range/index.ts"],"sourcesContent":["import Range from './src/range.vue'\r\nimport { SFCWithInstall, withInstall } from '@touchvue/utils'\r\n\r\nexport const ToRange: SFCWithInstall<typeof Range> = withInstall(Range)\r\n\r\nexport * from './src/instance'\r\n"],"names":["withInstall","Range"],"mappings":";;;;;AAGa,MAAA,OAAA,GAAwCA,kBAAYC,aAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/range/index.ts"],"sourcesContent":["import Range from './src/range.vue'\nimport { SFCWithInstall, withInstall } from '@touchvue/utils'\n\nexport const ToRange: SFCWithInstall<typeof Range> = withInstall(Range)\n\nexport * from './src/instance'\n"],"names":["withInstall","Range"],"mappings":";;;;;AAGa,MAAA,OAAA,GAAwCA,kBAAYC,aAAK;;;;"}
@@ -262,7 +262,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
262
262
  style: vue.normalizeStyle({ width: endProgress.value - startProgress.value + "%", left: startProgress.value + "%" })
263
263
  },
264
264
  [
265
- __props.start ? (vue.openBlock(), vue.createElementBlock(
265
+ _ctx.start ? (vue.openBlock(), vue.createElementBlock(
266
266
  "span",
267
267
  {
268
268
  key: 0,
@@ -290,12 +290,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
290
290
  512
291
291
  /* NEED_PATCH */
292
292
  ),
293
- __props.inputable ? (vue.openBlock(), vue.createBlock(vue.unref(index.ToInput), {
293
+ _ctx.inputable ? (vue.openBlock(), vue.createBlock(vue.unref(index.ToInput), {
294
294
  key: 0,
295
295
  modelValue: endProgress.value,
296
296
  "onUpdate:modelValue": ($event) => endProgress.value = $event,
297
297
  class: "to-range-input",
298
- width: __props.inputWidth,
298
+ width: _ctx.inputWidth,
299
299
  dot: fixed.value
300
300
  }, null, 8, ["modelValue", "onUpdate:modelValue", "width", "dot"])) : vue.createCommentVNode("v-if", true)
301
301
  ], 46, ["onTouchmove", "onTouchend"]);
@@ -1 +1 @@
1
- {"version":3,"file":"range.vue2.js","sources":["../../../../../../packages/components/range/src/range.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToRange'\r\n});\n</script>\n<template>\r\n\t<span class=\"to-range\" :class=\"setClass\" :style=\"setStyle\" @touchmove=\"moveHandle($event)\" @touchend=\"endHandle($event)\">\r\n\t\t<span ref=\"barRef\" class=\"to-range-bar\">\r\n\t\t\t<span ref=\"progressRef\" class=\"to-range-progress\" :style=\"{ width: endProgress - startProgress + '%', left: startProgress + '%' }\">\r\n\t\t\t\t<span v-if=\"start\" ref=\"startRef\" class=\"to-range-handle is-start\" @mousedown=\"onStartButtonDown\"></span>\r\n\t\t\t\t<span ref=\"endRef\" class=\"to-range-handle\" @mousedown=\"onButtonDown\" @touchstart=\"endStartHandle($event)\"></span>\r\n\t\t\t</span>\r\n\t\t</span>\r\n\t\t<to-input v-if=\"inputable\" v-model=\"endProgress\" class=\"to-range-input\" :width=\"inputWidth\" :dot=\"fixed\"></to-input>\r\n\t</span>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { CSSProperties, computed, nextTick, onMounted, ref, watch } from 'vue'\r\nimport { ToInput } from '@touchvue/components'\r\n\r\n\r\nexport interface RangeProps {\r\n\tmode?: string\r\n\tmodelValue?: string | number\r\n\tdisabled?: boolean\r\n\tinputable?: boolean\r\n\tmax?: string | number\r\n\tmin?: string | number\r\n\truler?: boolean\r\n\tstart?: boolean\r\n\tstep?: string | number\r\n\twidth?: string | number\r\n\tinputWidth?: string | number\r\n\ttoFixed?: string | number\r\n}\r\nconst props = withDefaults(defineProps<RangeProps>(), {\r\n\tmode: 'default',\r\n\tmodelValue: 0,\r\n\tdisabled: false,\r\n\tinputable: false,\r\n\tmax: 100,\r\n\tmin: 0,\r\n\truler: false,\r\n\tstart: false,\r\n\tstep: 1,\r\n\twidth: '',\r\n\tinputWidth: 6,\r\n\ttoFixed: 0\r\n})\r\n\r\nconst endProgress = ref(0)\r\nconst startProgress = ref(0)\r\nconst progressRef = ref(null)\r\nconst endRef = ref(null)\r\nconst startRef = ref(null)\r\nconst barRef = ref(null)\r\nconst endDragX = ref(0)\r\nconst startDragX = ref(0)\r\nconst endProgressWidth = ref(0)\r\nconst startLeft = ref(0)\r\nconst fixed = ref(0)\r\nconst valueWidth = ref(0)\r\nconst stepProgress = ref(0)\r\n\r\nconst emit = defineEmits(['update:modelValue', 'change'])\r\n\r\nonMounted(() => {\r\n\tvalueWidth.value = Number(props.max) - Number(props.min)\r\n\tif (props.step) {\r\n\t\tstepProgress.value = Number(((1 / (valueWidth.value / Number(props.step))) * 100).toFixed(2))\r\n\t}\r\n\tfixed.value = Number(props.toFixed) ? Number(props.toFixed) : getDecimalPlaces(props.min)\r\n})\r\nwatch(\r\n\t() => endProgress.value,\r\n\tval => {\r\n\t\tnextTick(() => {\r\n\t\t\tlet value: string | number = 0\r\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\r\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (startProgress.value / 100)).toFixed(fixed.value)\r\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\r\n\t\t\tif (props.start) {\r\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\r\n\t\t\t} else {\r\n\t\t\t\tvalue = endValue\r\n\t\t\t}\r\n\t\t\temit('update:modelValue', value)\r\n\t\t})\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => startProgress.value,\r\n\tval => {\r\n\t\tnextTick(() => {\r\n\t\t\tlet value: string | number = 0\r\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\r\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\r\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (endProgress.value / 100)).toFixed(fixed.value)\r\n\t\t\tif (props.start) {\r\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\r\n\t\t\t} else {\r\n\t\t\t\tvalue = endValue\r\n\t\t\t}\r\n\t\t\temit('update:modelValue', value)\r\n\t\t})\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.modelValue,\r\n\tval => {\r\n\t\tlet valueWidth = Number(props.max) - Number(props.min)\r\n\t\tif (props.start && typeof val === 'string') {\r\n\t\t\tlet arr = val.split(',')\r\n\t\t\tendProgress.value = ((Number(arr[1]) - Number(props.min)) / valueWidth) * 100\r\n\t\t\tstartProgress.value = ((Number(arr[0]) - Number(props.min)) / valueWidth) * 100\r\n\t\t} else {\r\n\t\t\tlet width = ((Number(val) - Number(props.min)) / valueWidth) * 100\r\n\t\t\tendProgress.value = width\r\n\t\t}\r\n\t},\r\n\t{ immediate: true }\r\n)\r\n\r\nfunction getDecimalPlaces(num) {\r\n\t// 处理整数(无小数点)的情况\r\n\tif (Number.isInteger(num)) return 0\r\n\r\n\t// 将数字转为字符串并按小数点分割\r\n\tconst parts = num.toString().split('.')\r\n\r\n\t// 小数点后部分的长度即为小数位数(若没有小数点,返回0)\r\n\treturn parts.length > 1 ? parts[1].length : 0\r\n}\r\n\r\nconst setClass = computed(() => {\r\n\tlet arr: string[] = []\r\n\tif (props.inputable) {\r\n\t\tarr.push(`is-inputable`)\r\n\t}\r\n\tif (props.disabled) {\r\n\t\tarr.push(`is-disabled`)\r\n\t}\r\n\tif (props.mode) {\r\n\t\tarr.push(`mode-${props.mode}`)\r\n\t}\r\n\treturn arr\r\n})\r\nconst setStyle = computed(() => {\r\n\tlet obj: CSSProperties = {}\r\n\tif (props.width) {\r\n\t\tobj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`\r\n\t}\r\n\treturn obj\r\n})\r\n\r\nfunction onButtonDown(event: MouseEvent) {\r\n\tif (props.disabled) return false\r\n\tevent.preventDefault()\r\n\tonEndDragStart(event)\r\n\twindow.addEventListener('mousemove', onDragging)\r\n\twindow.addEventListener('touchmove', onDragging)\r\n\twindow.addEventListener('mouseup', onDragEnd)\r\n\twindow.addEventListener('touchend', onDragEnd)\r\n\twindow.addEventListener('contextmenu', onDragEnd)\r\n}\r\nfunction onStartButtonDown(event: MouseEvent) {\r\n\tif (props.disabled) return false\r\n\tevent.preventDefault()\r\n\tonStartDragStart(event)\r\n\twindow.addEventListener('mousemove', onStartDragging)\r\n\twindow.addEventListener('touchmove', onStartDragging)\r\n\twindow.addEventListener('mouseup', onStartDragEnd)\r\n\twindow.addEventListener('touchend', onStartDragEnd)\r\n\twindow.addEventListener('contextmenu', onStartDragEnd)\r\n}\r\nfunction onStartDragStart(event: MouseEvent) {\r\n\tstartDragX.value = event.clientX\r\n\tstartLeft.value = Number(progressRef.value.style.left.split('%')[0])\r\n}\r\nfunction onEndDragStart(event: MouseEvent) {\r\n\tendDragX.value = event.clientX\r\n\tendProgressWidth.value = progressRef.value.offsetWidth\r\n}\r\nfunction onStartDragging(e: MouseEvent) {\r\n\tlet width = e.clientX - startDragX.value\r\n\tlet barWidth = barRef.value.offsetWidth\r\n\tif (width > 0) {\r\n\t\tlet per = startLeft.value + (width / barWidth) * 100\r\n\t\tif (per < endProgress.value) {\r\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t}\r\n\t} else if (width <= 0) {\r\n\t\tlet per = startLeft.value + (width / barWidth) * 100\r\n\t\tif (per <= 0) {\r\n\t\t\tstartProgress.value = 0\r\n\t\t} else {\r\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t}\r\n\t}\r\n}\r\nfunction onDragging(e: MouseEvent) {\r\n\tlet width = e.clientX - endDragX.value //变动值\r\n\tlet barWidth = barRef.value.offsetWidth //滚动区域总宽度\r\n\tlet startWidth = (startProgress.value / 100) * barWidth //开始按钮的位置\r\n\tif (props.start) {\r\n\t\tlet per = (width / barWidth) * 100 + ((endProgressWidth.value + startWidth) * 100) / barWidth\r\n\t\tif (width > 0) {\r\n\t\t\tif (width > barWidth - startWidth) {\r\n\t\t\t\tendProgress.value = 100\r\n\t\t\t} else {\r\n\t\t\t\tif (per <= 100) {\r\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tendProgress.value = 100\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (width <= 0) {\r\n\t\t\tif (Math.abs(width) > barWidth - startWidth) {\r\n\t\t\t\tendProgress.value = startProgress.value\r\n\t\t\t} else {\r\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tif (width > 0) {\r\n\t\t\tif (width > barWidth) {\r\n\t\t\t\tendProgress.value = 100\r\n\t\t\t} else {\r\n\t\t\t\tlet per = (endProgressWidth.value / barWidth + width / barWidth) * 100\r\n\t\t\t\tif (per <= 100) {\r\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tendProgress.value = 100\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (width <= 0) {\r\n\t\t\tlet per = (width / barWidth) * 100 + (endProgressWidth.value / barWidth) * 100\r\n\t\t\tif (per >= 0) {\r\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\r\n\t\t\t} else if (per < 0) {\r\n\t\t\t\tendProgress.value = 0\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nfunction onDragEnd() {\r\n\twindow.removeEventListener('mousemove', onDragging)\r\n\twindow.removeEventListener('touchmove', onDragging)\r\n\twindow.removeEventListener('mouseup', onDragEnd)\r\n\twindow.removeEventListener('touchend', onDragEnd)\r\n\twindow.removeEventListener('contextmenu', onDragEnd)\r\n}\r\nfunction onStartDragEnd() {\r\n\twindow.removeEventListener('mousemove', onStartDragging)\r\n\twindow.removeEventListener('touchmove', onStartDragging)\r\n\twindow.removeEventListener('mouseup', onStartDragEnd)\r\n\twindow.removeEventListener('touchend', onStartDragEnd)\r\n\twindow.removeEventListener('contextmenu', onStartDragEnd)\r\n}\r\nfunction endStartHandle(event) {\r\n\tconsole.log('endStartHandle', event)\r\n}\r\nfunction moveHandle(event) {\r\n\tconsole.log('moveHandle', event)\r\n}\r\nfunction endHandle(event) {\r\n\tconsole.log('moveHandle', event)\r\n}\r\n</script>\r\n"],"names":["DO_defineComponent","ref","onMounted","watch","nextTick","valueWidth","computed","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_unref","ToInput"],"mappings":"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"}
1
+ {"version":3,"file":"range.vue2.js","sources":["../../../../../../packages/components/range/src/range.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRange'\n});\n</script>\n<template>\n\t<span class=\"to-range\" :class=\"setClass\" :style=\"setStyle\" @touchmove=\"moveHandle($event)\" @touchend=\"endHandle($event)\">\n\t\t<span ref=\"barRef\" class=\"to-range-bar\">\n\t\t\t<span ref=\"progressRef\" class=\"to-range-progress\" :style=\"{ width: endProgress - startProgress + '%', left: startProgress + '%' }\">\n\t\t\t\t<span v-if=\"start\" ref=\"startRef\" class=\"to-range-handle is-start\" @mousedown=\"onStartButtonDown\"></span>\n\t\t\t\t<span ref=\"endRef\" class=\"to-range-handle\" @mousedown=\"onButtonDown\" @touchstart=\"endStartHandle($event)\"></span>\n\t\t\t</span>\n\t\t</span>\n\t\t<to-input v-if=\"inputable\" v-model=\"endProgress\" class=\"to-range-input\" :width=\"inputWidth\" :dot=\"fixed\"></to-input>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { ToInput } from '@touchvue/components'\n\n\nexport interface RangeProps {\n\tmode?: string\n\tmodelValue?: string | number\n\tdisabled?: boolean\n\tinputable?: boolean\n\tmax?: string | number\n\tmin?: string | number\n\truler?: boolean\n\tstart?: boolean\n\tstep?: string | number\n\twidth?: string | number\n\tinputWidth?: string | number\n\ttoFixed?: string | number\n}\nconst props = withDefaults(defineProps<RangeProps>(), {\n\tmode: 'default',\n\tmodelValue: 0,\n\tdisabled: false,\n\tinputable: false,\n\tmax: 100,\n\tmin: 0,\n\truler: false,\n\tstart: false,\n\tstep: 1,\n\twidth: '',\n\tinputWidth: 6,\n\ttoFixed: 0\n})\n\nconst endProgress = ref(0)\nconst startProgress = ref(0)\nconst progressRef = ref(null)\nconst endRef = ref(null)\nconst startRef = ref(null)\nconst barRef = ref(null)\nconst endDragX = ref(0)\nconst startDragX = ref(0)\nconst endProgressWidth = ref(0)\nconst startLeft = ref(0)\nconst fixed = ref(0)\nconst valueWidth = ref(0)\nconst stepProgress = ref(0)\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nonMounted(() => {\n\tvalueWidth.value = Number(props.max) - Number(props.min)\n\tif (props.step) {\n\t\tstepProgress.value = Number(((1 / (valueWidth.value / Number(props.step))) * 100).toFixed(2))\n\t}\n\tfixed.value = Number(props.toFixed) ? Number(props.toFixed) : getDecimalPlaces(props.min)\n})\nwatch(\n\t() => endProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (startProgress.value / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => startProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (endProgress.value / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\tif (props.start && typeof val === 'string') {\n\t\t\tlet arr = val.split(',')\n\t\t\tendProgress.value = ((Number(arr[1]) - Number(props.min)) / valueWidth) * 100\n\t\t\tstartProgress.value = ((Number(arr[0]) - Number(props.min)) / valueWidth) * 100\n\t\t} else {\n\t\t\tlet width = ((Number(val) - Number(props.min)) / valueWidth) * 100\n\t\t\tendProgress.value = width\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nfunction getDecimalPlaces(num) {\n\t// 处理整数(无小数点)的情况\n\tif (Number.isInteger(num)) return 0\n\n\t// 将数字转为字符串并按小数点分割\n\tconst parts = num.toString().split('.')\n\n\t// 小数点后部分的长度即为小数位数(若没有小数点,返回0)\n\treturn parts.length > 1 ? parts[1].length : 0\n}\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.inputable) {\n\t\tarr.push(`is-inputable`)\n\t}\n\tif (props.disabled) {\n\t\tarr.push(`is-disabled`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.width) {\n\t\tobj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`\n\t}\n\treturn obj\n})\n\nfunction onButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonEndDragStart(event)\n\twindow.addEventListener('mousemove', onDragging)\n\twindow.addEventListener('touchmove', onDragging)\n\twindow.addEventListener('mouseup', onDragEnd)\n\twindow.addEventListener('touchend', onDragEnd)\n\twindow.addEventListener('contextmenu', onDragEnd)\n}\nfunction onStartButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonStartDragStart(event)\n\twindow.addEventListener('mousemove', onStartDragging)\n\twindow.addEventListener('touchmove', onStartDragging)\n\twindow.addEventListener('mouseup', onStartDragEnd)\n\twindow.addEventListener('touchend', onStartDragEnd)\n\twindow.addEventListener('contextmenu', onStartDragEnd)\n}\nfunction onStartDragStart(event: MouseEvent) {\n\tstartDragX.value = event.clientX\n\tstartLeft.value = Number(progressRef.value.style.left.split('%')[0])\n}\nfunction onEndDragStart(event: MouseEvent) {\n\tendDragX.value = event.clientX\n\tendProgressWidth.value = progressRef.value.offsetWidth\n}\nfunction onStartDragging(e: MouseEvent) {\n\tlet width = e.clientX - startDragX.value\n\tlet barWidth = barRef.value.offsetWidth\n\tif (width > 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per < endProgress.value) {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t} else if (width <= 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per <= 0) {\n\t\t\tstartProgress.value = 0\n\t\t} else {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t}\n}\nfunction onDragging(e: MouseEvent) {\n\tlet width = e.clientX - endDragX.value //变动值\n\tlet barWidth = barRef.value.offsetWidth //滚动区域总宽度\n\tlet startWidth = (startProgress.value / 100) * barWidth //开始按钮的位置\n\tif (props.start) {\n\t\tlet per = (width / barWidth) * 100 + ((endProgressWidth.value + startWidth) * 100) / barWidth\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth - startWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tif (Math.abs(width) > barWidth - startWidth) {\n\t\t\t\tendProgress.value = startProgress.value\n\t\t\t} else {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tlet per = (endProgressWidth.value / barWidth + width / barWidth) * 100\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tlet per = (width / barWidth) * 100 + (endProgressWidth.value / barWidth) * 100\n\t\t\tif (per >= 0) {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t} else if (per < 0) {\n\t\t\t\tendProgress.value = 0\n\t\t\t}\n\t\t}\n\t}\n}\nfunction onDragEnd() {\n\twindow.removeEventListener('mousemove', onDragging)\n\twindow.removeEventListener('touchmove', onDragging)\n\twindow.removeEventListener('mouseup', onDragEnd)\n\twindow.removeEventListener('touchend', onDragEnd)\n\twindow.removeEventListener('contextmenu', onDragEnd)\n}\nfunction onStartDragEnd() {\n\twindow.removeEventListener('mousemove', onStartDragging)\n\twindow.removeEventListener('touchmove', onStartDragging)\n\twindow.removeEventListener('mouseup', onStartDragEnd)\n\twindow.removeEventListener('touchend', onStartDragEnd)\n\twindow.removeEventListener('contextmenu', onStartDragEnd)\n}\nfunction endStartHandle(event) {\n\tconsole.log('endStartHandle', event)\n}\nfunction moveHandle(event) {\n\tconsole.log('moveHandle', event)\n}\nfunction endHandle(event) {\n\tconsole.log('moveHandle', event)\n}\n</script>\n"],"names":["DO_defineComponent","ref","onMounted","watch","nextTick","valueWidth","computed","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","start","inputable","_createBlock","_unref","ToInput","inputWidth"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/scroll/index.ts"],"sourcesContent":["import { withInstall } from '@touchvue/utils'\r\nimport Scroll from './src/Scroll.vue'\r\nimport ScrollPoint from './src/ScrollPoint.vue'\r\n\r\nexport const ToScroll = withInstall(Scroll)\r\nexport const ToScrollPoint = withInstall(ScrollPoint)\r\nexport default ToScroll\r\n\r\nexport * from './src/scroll'\r\n"],"names":["withInstall","Scroll","ScrollPoint"],"mappings":";;;;;;;;;AAIa,MAAA,QAAA,GAAWA,kBAAYC,cAAM,EAAA;AAC7B,MAAA,aAAA,GAAgBD,kBAAYE,mBAAW;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/scroll/index.ts"],"sourcesContent":["import { withInstall } from '@touchvue/utils'\nimport Scroll from './src/Scroll.vue'\nimport ScrollPoint from './src/ScrollPoint.vue'\n\nexport const ToScroll = withInstall(Scroll)\nexport const ToScrollPoint = withInstall(ScrollPoint)\nexport default ToScroll\n\nexport * from './src/scroll'\n"],"names":["withInstall","Scroll","ScrollPoint"],"mappings":";;;;;;;;;AAIa,MAAA,QAAA,GAAWA,kBAAYC,cAAM,EAAA;AAC7B,MAAA,aAAA,GAAgBD,kBAAYE,mBAAW;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Scroll.vue2.js","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToScroll'\r\n});\n</script>\n<template>\r\n\t<div class=\"to-scroll\" :class=\"setClass\" :style=\"setStyle\">\r\n\t\t<!-- 自定义滚动条 -->\r\n\t\t<div v-if=\"props.virtual\" class=\"to-scroll-bar\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\r\n\t\t\t<div ref=\"barThumb\" class=\"to-scroll-thumb\" :style=\"thumbStyle\" @mousedown=\"onThumbMousedown\"></div>\r\n\t\t</div>\r\n\r\n\t\t<!-- 横向滚动条 -->\r\n\t\t<div v-if=\"props.virtual && hasHorizontalScroll\" class=\"to-scroll-bar horizontal\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\r\n\t\t\t<div ref=\"horizontalBarThumb\" class=\"to-scroll-thumb\" :style=\"horizontalThumbStyle\" @mousedown=\"onHorizontalThumbMousedown\"></div>\r\n\t\t</div>\r\n\r\n\t\t<!-- 滚动内容区域 -->\r\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" :class=\"{ 'virtual-scroll': props.virtual }\" @scroll=\"handleScroll\">\r\n\t\t\t<!-- 默认内容插槽 -->\r\n\t\t\t<slot />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\r\nimport { scrollProps, ScrollContext } from './scroll'\r\n\r\n\r\n\r\nconst props = defineProps(scrollProps)\r\nconst emit = defineEmits<{\r\n\t(e: 'scroll', event: Event): void\r\n\t(e: 'scrollEnd'): void\r\n\t(e: 'change', position: number): void\r\n\t(e: 'update:value', position: number | string): void\r\n\t(e: 'update:modelValue', position: number | string): void\r\n\t(e: 'bottom'): void\r\n\t(e: 'top'): void\r\n}>()\r\n\r\nconst scrollRef = ref<HTMLElement | null>(null)\r\nconst barThumb = ref<HTMLElement | null>(null)\r\nconst horizontalBarThumb = ref<HTMLElement | null>(null)\r\nconst isScrolling = ref(false)\r\nconst isHovering = ref(false)\r\n// 添加一个标志来标识是否由tab点击导致的滚动\r\nlet isTabTriggeredScroll = false\r\n// 添加自动滚动的节流控制\r\nlet autoScrollThrottleTimer: ReturnType<typeof setTimeout> | null = null\r\n// 滚动防抖定时器\r\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\r\nlet isDragging = ref(false)\r\nlet isHorizontalDragging = ref(false)\r\nlet startY = 0\r\nlet startX = 0\r\nlet startScrollTop = 0\r\nlet startScrollLeft = 0\r\nconst hasHorizontalScroll = ref(false)\r\n// 存储滚动点信息\r\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\r\n// 获取当前绑定值(优先使用modelValue,兼容value)\r\nconst bindValue = computed(() => props.modelValue || props.value)\r\n// 当前选中的滚动点值\r\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\r\n\r\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\r\n// 提供给子组件的上下文\r\nprovide<ScrollContext>('ToScroll', {\r\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\r\n\t\t// 在下一个渲染周期更新滚动点\r\n\t\tnextTick(() => {\r\n\t\t\tsetScrollPoints()\r\n\t\t})\r\n\t}\r\n})\r\n\r\n// 提供当前值给子组件\r\nprovide('scrollValue', currentPointValue)\r\n\r\n// 计算属性\r\nconst barVisibleClass = computed(() => {\r\n\treturn `bar-${String(props.barDisplay)}`\r\n})\r\n\r\n// 检查是否需要横向滚动条\r\nconst checkHorizontalScroll = () => {\r\n\tif (scrollRef.value) {\r\n\t\tconst { scrollWidth, clientWidth } = scrollRef.value\r\n\t\thasHorizontalScroll.value = scrollWidth > clientWidth\r\n\t}\r\n}\r\n\r\n// 设置滚动点\r\nconst setScrollPoints = () => {\r\n\tif (!scrollRef.value) return\r\n\r\n\t// 先清空现有的滚动点\r\n\tscrollPoints.value = []\r\n\r\n\t// 查找所有滚动点元素\r\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\r\n\tif (!nodes || nodes.length === 0) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// 收集滚动点信息\r\n\tnodes.forEach(item => {\r\n\t\tconst itemEl = item as HTMLElement\r\n\t\t// 获取滚动点的值\r\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\r\n\r\n\t\t// 获取元素相对于滚动容器的精确位置\r\n\t\tconst offsetTop = itemEl.offsetTop\r\n\t\tconst height = itemEl.offsetHeight\r\n\r\n\t\t// 记录滚动点信息\r\n\t\tscrollPoints.value.push({\r\n\t\t\tvalue: pointValue,\r\n\t\t\tstart: offsetTop,\r\n\t\t\tend: offsetTop + height\r\n\t\t})\r\n\t})\r\n\r\n\t// 初始滚动到指定位置\r\n\tif (props.value && scrollRef.value) {\r\n\t\tscrollToValue(props.value, 'auto')\r\n\t}\r\n}\r\n\r\n// 滚动到指定值对应的位置\r\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\r\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\r\n\r\n\t// 查找匹配值的滚动点\r\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\r\n\tif (targetPoint) {\r\n\t\tscrollRef.value.scrollTo({\r\n\t\t\ttop: targetPoint.start,\r\n\t\t\tbehavior: behavior\r\n\t\t})\r\n\r\n\t\t// 主动触发滚动点高亮状态更新\r\n\t\tnotifyScrollPointsActive(value)\r\n\t\treturn true\r\n\t}\r\n\r\n\treturn false\r\n}\r\n\r\n// 主动通知滚动点更新高亮状态\r\nconst notifyScrollPointsActive = (activeValue: string | number) => {\r\n\t// 使用事件通知,避免直接操作DOM\r\n\tif (scrollRef.value) {\r\n\t\tconst event = new CustomEvent('scroll-point-active', {\r\n\t\t\tdetail: { value: activeValue },\r\n\t\t\tbubbles: true\r\n\t\t})\r\n\t\tscrollRef.value.dispatchEvent(event)\r\n\r\n\t\t// 确保更新内部状态\r\n\t\tcurrentPointValue.value = activeValue\r\n\t}\r\n}\r\n\r\n// 根据当前滚动位置查找对应的滚动点值\r\nconst findScrollPoint = (scrollTop: number): string | number | null => {\r\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\r\n\r\n\tconst clientHeight = scrollRef.value.clientHeight\r\n\tconst scrollBottom = scrollTop + clientHeight\r\n\r\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\r\n\tfor (const point of scrollPoints.value) {\r\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\r\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\r\n\t\t\treturn point.value\r\n\t\t}\r\n\t}\r\n\r\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\r\n\tfor (const point of scrollPoints.value) {\r\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\r\n\t\t\treturn point.value\r\n\t\t}\r\n\t}\r\n\r\n\t// 3. 查找当前在视口中显示最多的点\r\n\tlet bestPoint = null\r\n\tlet maxVisibleHeight = 0\r\n\r\n\tfor (const point of scrollPoints.value) {\r\n\t\t// 计算可见部分\r\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\r\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\r\n\t\tconst visibleHeight = visibleBottom - visibleTop\r\n\r\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\r\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\r\n\t\t\tmaxVisibleHeight = visibleHeight\r\n\t\t\tbestPoint = point\r\n\t\t}\r\n\t}\r\n\r\n\t// 4. 特殊情况处理:滚动到顶部或底部\r\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\r\n\t\treturn scrollPoints.value[0].value // 顶部\r\n\t}\r\n\r\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\r\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\r\n\t}\r\n\r\n\t// 5. 如果找到了最佳点,返回它的值\r\n\tif (bestPoint) {\r\n\t\treturn bestPoint.value\r\n\t}\r\n\r\n\t// 6. 后备方案:返回最接近当前滚动位置的点\r\n\tlet closestPoint = null\r\n\tlet minDistance = Infinity\r\n\r\n\tfor (const point of scrollPoints.value) {\r\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\r\n\r\n\t\tif (distance < minDistance) {\r\n\t\t\tminDistance = distance\r\n\t\t\tclosestPoint = point\r\n\t\t}\r\n\t}\r\n\r\n\treturn closestPoint ? closestPoint.value : null\r\n}\r\n\r\n// 监听value/modelValue变化\r\nwatch(\r\n\t() => bindValue.value,\r\n\t(newVal, oldVal) => {\r\n\t\t// 避免重复处理相同的值\r\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\r\n\r\n\t\t// 更新内部记录的值\r\n\t\tcurrentPointValue.value = newVal\r\n\r\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\r\n\t\tif (!isScrolling.value) {\r\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\r\n\t\t\tisTabTriggeredScroll = true\r\n\r\n\t\t\tnextTick(() => {\r\n\t\t\t\t// 尝试滚动到对应位置\r\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\r\n\r\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\r\n\t\t\t\tif (!scrollSuccess) {\r\n\t\t\t\t\tsetScrollPoints()\r\n\t\t\t\t\tscrollToValue(newVal)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// 滚动动作完成后重置标记\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tisTabTriggeredScroll = false\r\n\t\t\t\t}, 500) // 等待滚动动画完成\r\n\t\t\t})\r\n\t\t}\r\n\t},\r\n\t{ immediate: true }\r\n)\r\n\r\nonMounted(() => {\r\n\t// 组件挂载后,设置滚动点\r\n\tnextTick(() => {\r\n\t\t// 收集滚动点\r\n\t\tsetScrollPoints()\r\n\r\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\r\n\t\tconst observer = new MutationObserver(() => {\r\n\t\t\tsetScrollPoints()\r\n\t\t})\r\n\r\n\t\tif (scrollRef.value) {\r\n\t\t\tobserver.observe(scrollRef.value, {\r\n\t\t\t\tchildList: true,\r\n\t\t\t\tsubtree: true,\r\n\t\t\t\tattributes: true,\r\n\t\t\t\tattributeFilter: ['data-point-value']\r\n\t\t\t})\r\n\r\n\t\t\t// 如果有初始值,滚动到对应位置\r\n\t\t\tif (props.value) {\r\n\t\t\t\t// 延迟执行,确保DOM完全渲染\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\r\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100)\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n\r\n\tif (props.virtual) {\r\n\t\twindow.addEventListener('mousemove', onMousemove)\r\n\t\twindow.addEventListener('mouseup', onMouseup)\r\n\t\twindow.addEventListener('mouseleave', onMouseup)\r\n\r\n\t\t// 添加鼠标进入和离开事件\r\n\t\tif (scrollRef.value) {\r\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\r\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\r\n\t\t}\r\n\r\n\t\t// 检查是否需要横向滚动条\r\n\t\tnextTick(() => {\r\n\t\t\tcheckHorizontalScroll()\r\n\t\t})\r\n\t}\r\n})\r\n\r\nonUnmounted(() => {\r\n\tif (props.virtual) {\r\n\t\twindow.removeEventListener('mousemove', onMousemove)\r\n\t\twindow.removeEventListener('mouseup', onMouseup)\r\n\t\twindow.removeEventListener('mouseleave', onMouseup)\r\n\r\n\t\t// 移除鼠标进入和离开事件\r\n\t\tif (scrollRef.value) {\r\n\t\t\tscrollRef.value.removeEventListener('mouseenter', onMouseenter)\r\n\t\t\tscrollRef.value.removeEventListener('mouseleave', onMouseleave)\r\n\t\t}\r\n\t}\r\n\r\n\t// 清除所有定时器\r\n\tif (scrollUpdateTimer) {\r\n\t\tclearTimeout(scrollUpdateTimer)\r\n\t\tscrollUpdateTimer = null\r\n\t}\r\n\r\n\tif (autoScrollThrottleTimer) {\r\n\t\tclearTimeout(autoScrollThrottleTimer)\r\n\t\tautoScrollThrottleTimer = null\r\n\t}\r\n})\r\n\r\n// 鼠标进入滚动区域\r\nconst onMouseenter = () => {\r\n\tisHovering.value = true\r\n}\r\n\r\n// 鼠标离开滚动区域\r\nconst onMouseleave = () => {\r\n\tif (!isDragging.value && !isHorizontalDragging.value) {\r\n\t\tisHovering.value = false\r\n\t}\r\n}\r\n\r\n// 虚拟滚动条垂直拖动\r\nconst onThumbMousedown = (e: MouseEvent) => {\r\n\tif (!scrollRef.value || !props.virtual) return\r\n\te.preventDefault()\r\n\te.stopPropagation()\r\n\r\n\t// 添加拖动状态的类,用于CSS样式调整\r\n\tif (scrollRef.value) {\r\n\t\tscrollRef.value.classList.add('dragging-scrollbar')\r\n\t}\r\n\r\n\tstartY = e.clientY\r\n\tstartScrollTop = scrollRef.value.scrollTop\r\n\tisDragging.value = true\r\n}\r\n\r\n// 虚拟滚动条水平拖动\r\nconst onHorizontalThumbMousedown = (e: MouseEvent) => {\r\n\tif (!scrollRef.value || !props.virtual) return\r\n\te.preventDefault()\r\n\te.stopPropagation()\r\n\r\n\t// 添加拖动状态的类,用于CSS样式调整\r\n\tif (scrollRef.value) {\r\n\t\tscrollRef.value.classList.add('dragging-scrollbar-horizontal')\r\n\t}\r\n\r\n\tstartX = e.clientX\r\n\tstartScrollLeft = scrollRef.value.scrollLeft\r\n\tisHorizontalDragging.value = true\r\n}\r\n\r\nconst onMousemove = (e: MouseEvent) => {\r\n\t// 处理垂直拖动\r\n\tif (isDragging.value && scrollRef.value && barThumb.value) {\r\n\t\tconst deltaY = e.clientY - startY\r\n\t\tconst contentHeight = scrollRef.value.scrollHeight\r\n\t\tconst containerHeight = scrollRef.value.clientHeight\r\n\t\tconst ratio = containerHeight / contentHeight\r\n\r\n\t\tscrollRef.value.scrollTop = startScrollTop + deltaY / ratio\r\n\t}\r\n\r\n\t// 处理水平拖动\r\n\tif (isHorizontalDragging.value && scrollRef.value && horizontalBarThumb.value) {\r\n\t\tconst deltaX = e.clientX - startX\r\n\t\tconst contentWidth = scrollRef.value.scrollWidth\r\n\t\tconst containerWidth = scrollRef.value.clientWidth\r\n\t\tconst ratio = containerWidth / contentWidth\r\n\r\n\t\tscrollRef.value.scrollLeft = startScrollLeft + deltaX / ratio\r\n\t}\r\n}\r\n\r\nconst onMouseup = () => {\r\n\tisDragging.value = false\r\n\tisHorizontalDragging.value = false\r\n\r\n\t// 拖动结束后,如果鼠标不在滚动区域内,则隐藏滚动条\r\n\tif (!isHovering.value) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tisHovering.value = false\r\n\t\t}, 300)\r\n\t}\r\n\r\n\t// 移除拖动状态的类\r\n\tif (scrollRef.value) {\r\n\t\tscrollRef.value.classList.remove('dragging-scrollbar')\r\n\t\tscrollRef.value.classList.remove('dragging-scrollbar-horizontal')\r\n\t}\r\n}\r\n\r\n// 处理滚动事件\r\nconst handleScroll = (event: Event) => {\r\n\t// 触发原始滚动事件\r\n\temit('scroll', event)\r\n\r\n\t// 如果是由Tab触发的滚动,不处理滚动检测\r\n\tif (isTabTriggeredScroll) {\r\n\t\treturn\r\n\t}\r\n\r\n\tif (!scrollRef.value) return\r\n\r\n\t// 获取当前滚动位置\r\n\tconst scrollTop = scrollRef.value.scrollTop\r\n\r\n\t// 触发滚动位置变化事件\r\n\temit('change', scrollTop)\r\n\r\n\tif (scrollEventDebounceTimer) {\r\n\t\tclearTimeout(scrollEventDebounceTimer)\r\n\t}\r\n\r\n\t// 检测是否滚动到底部\r\n\tscrollEventDebounceTimer = setTimeout(() => {\r\n\t\t// 检测是否滚动到底部\r\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\r\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\r\n\t\t\temit('bottom')\r\n\t\t}\r\n\r\n\t\tif (scrollTop <= 5) {\r\n\t\t\temit('top')\r\n\t\t}\r\n\t}, 100) // 防抖时间设置为 100ms\r\n\r\n\t// 如果有滚动点,立即检测当前位置对应哪个点\r\n\tif (scrollPoints.value.length > 0) {\r\n\t\t// 先清除之前的定时器\r\n\t\tif (autoScrollThrottleTimer) {\r\n\t\t\tclearTimeout(autoScrollThrottleTimer)\r\n\t\t\tautoScrollThrottleTimer = null\r\n\t\t}\r\n\t\tif (scrollUpdateTimer) {\r\n\t\t\tclearTimeout(scrollUpdateTimer)\r\n\t\t\tscrollUpdateTimer = null\r\n\t\t}\r\n\r\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\r\n\t\trequestAnimationFrame(() => {\r\n\t\t\t// 重新查找当前滚动位置对应的点\r\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\r\n\r\n\t\t\t// 如果找到点且与当前值不同,立即更新值\r\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\r\n\t\t\t\t// 更新内部记录的值\r\n\t\t\t\tcurrentPointValue.value = pointValue\r\n\r\n\t\t\t\t// 同时发送两种事件,确保兼容性\r\n\t\t\t\temit('update:modelValue', pointValue)\r\n\t\t\t\temit('update:value', pointValue)\r\n\r\n\t\t\t\t// 通知滚动点更新高亮状态\r\n\t\t\t\tnotifyScrollPointsActive(pointValue)\r\n\r\n\t\t\t\t// 如果使用了虚拟滚动条,确保它的位置也正确更新\r\n\t\t\t\tif (props.virtual && barThumb.value) {\r\n\t\t\t\t\tupdateVirtualScrollbar()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t// 标记为正在滚动\r\n\tisScrolling.value = true\r\n\r\n\t// 滚动结束后重置状态\r\n\tclearTimeout(scrollUpdateTimer)\r\n\tscrollUpdateTimer = setTimeout(() => {\r\n\t\tisScrolling.value = false\r\n\t\temit('scrollEnd')\r\n\t}, 100)\r\n}\r\n\r\n// 更新虚拟滚动条位置(如果使用)\r\nconst updateVirtualScrollbar = () => {\r\n\tif (!scrollRef.value || !props.virtual) return\r\n\r\n\t// 强制更新滚动条位置\r\n\tnextTick(() => {\r\n\t\tconst { scrollTop, scrollHeight, clientHeight } = scrollRef.value\r\n\t\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\r\n\t\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\r\n\r\n\t\tif (barThumb.value) {\r\n\t\t\tbarThumb.value.style.transform = `translateY(${thumbTop}px)`\r\n\t\t}\r\n\t})\r\n}\r\n\r\n// 统一的滚动方法,支持多种参数类型\r\nconst to = (target: HTMLElement | string | number | any) => {\r\n\tif (!scrollRef.value) return\r\n\r\n\t// 滚动到底部\r\n\tif (target === '$bottom') {\r\n\t\tscrollRef.value.scrollTo({\r\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\r\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\r\n\t\t})\r\n\t\treturn\r\n\t}\r\n\r\n\t// 滚动到指定元素\r\n\tif (target instanceof HTMLElement) {\r\n\t\tconst elementTop = target.getBoundingClientRect().top\r\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\r\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\r\n\r\n\t\tscrollRef.value.scrollTo({\r\n\t\t\ttop: relativeTop,\r\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\r\n\t\t})\r\n\t\treturn\r\n\t}\r\n\r\n\t// 滚动到指定位置(数字或数字字符串)\r\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\r\n\t\tconst position = typeof target === 'string' ? Number(target) : target\r\n\r\n\t\tscrollRef.value.scrollTo({\r\n\t\t\ttop: position,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\r\n\t\t})\r\n\t\treturn\r\n\t}\r\n\r\n\t// 滚动到指定选项配置\r\n\tif (typeof target === 'object' && target !== null) {\r\n\t\tscrollRef.value.scrollTo(target)\r\n\t\treturn\r\n\t}\r\n}\r\n\r\n// 垂直滚动条样式计算\r\nconst thumbStyle = computed(() => {\r\n\tif (!scrollRef.value || !props.virtual) return {}\r\n\r\n\tconst { clientHeight, scrollHeight, scrollTop } = scrollRef.value\r\n\r\n\t// 计算滚动条高度比例\r\n\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\r\n\r\n\t// 计算滚动条位置比例\r\n\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\r\n\r\n\treturn {\r\n\t\theight: `${thumbHeight}px`,\r\n\t\ttransform: `translateY(${thumbTop}px)`,\r\n\t\twidth: '6px'\r\n\t}\r\n})\r\n\r\n// 水平滚动条样式计算\r\nconst horizontalThumbStyle = computed(() => {\r\n\tif (!scrollRef.value || !props.virtual) return {}\r\n\r\n\tconst { clientWidth, scrollWidth, scrollLeft } = scrollRef.value\r\n\r\n\t// 计算滚动条宽度比例\r\n\tconst thumbWidth = Math.max(30, (clientWidth / scrollWidth) * clientWidth)\r\n\r\n\t// 计算滚动条位置比例\r\n\tconst thumbLeft = (scrollLeft / (scrollWidth - clientWidth)) * (clientWidth - thumbWidth)\r\n\r\n\treturn {\r\n\t\twidth: `${thumbWidth}px`,\r\n\t\ttransform: `translateX(${thumbLeft}px)`,\r\n\t\theight: '6px'\r\n\t}\r\n})\r\n\r\nconst setStyle = computed(() => {\r\n\tconst obj: {\r\n\t\theight?: string\r\n\t} = {}\r\n\r\n\tif (props.height) {\r\n\t\tif (!isNaN(Number(props.height))) {\r\n\t\t\tobj.height = props.height + 'em'\r\n\t\t} else {\r\n\t\t\tobj.height = String(props.height)\r\n\t\t}\r\n\t}\r\n\r\n\treturn obj\r\n})\r\n\r\nconst setClass = computed(() => {\r\n\tlet arr: string[] = []\r\n\r\n\tif (props.virtual) {\r\n\t\tarr.push('hide-scrollbar')\r\n\t}\r\n\r\n\t// 添加mode类名\r\n\tif (props.mode) {\r\n\t\tarr.push(`mode-${props.mode}`)\r\n\t}\r\n\r\n\treturn arr\r\n})\r\n\r\nconst setContentStyle = computed(() => {\r\n\tconst obj: {\r\n\t\theight?: string\r\n\t\tpadding?: string | number\r\n\t\tpaddingTop?: string\r\n\t\tpaddingRight?: string\r\n\t\tpaddingBottom?: string\r\n\t\tpaddingLeft?: string\r\n\t\tmaxHeight?: string\r\n\t\toverflow?: string\r\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\r\n\t\twidth?: string\r\n\t\tdisplay?: string\r\n\t} = {}\r\n\r\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\r\n\tif (String(props.padding).trim()) {\r\n\t\t// 分割成各个值\r\n\t\tconst padded = String(props.padding)\r\n\t\t\t.trim()\r\n\t\t\t.split(/\\s+/)\r\n\t\t\t.map(val => {\r\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\r\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\r\n\t\t\t})\r\n\t\t\t.join(' ')\r\n\r\n\t\tobj.padding = padded\r\n\t}\r\n\r\n\tif (props.paddingPosition) {\r\n\t\t// 根据paddingPosition设置padding位置\r\n\t\tconst padding = String(props.padding || '0')\r\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\r\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\r\n\r\n\t\tswitch (props.paddingPosition) {\r\n\t\t\tcase 'top':\r\n\t\t\t\tobj.paddingTop = paddingValue\r\n\t\t\t\tbreak\r\n\t\t\tcase 'right':\r\n\t\t\t\tobj.paddingRight = paddingValue\r\n\t\t\t\tbreak\r\n\t\t\tcase 'bottom':\r\n\t\t\t\tobj.paddingBottom = paddingValue\r\n\t\t\t\tbreak\r\n\t\t\tcase 'left':\r\n\t\t\t\tobj.paddingLeft = paddingValue\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\tif (props.virtual) {\r\n\t\tobj.overflow = 'auto'\r\n\t\tobj.position = 'relative'\r\n\t\tobj.width = '100%'\r\n\t}\r\n\r\n\t// 根据 mode 设置特定样式\r\n\tif (props.mode === 'horizontal') {\r\n\t\tobj.width = props.virtual ? '100%' : 'max-content'\r\n\t\tobj.display = 'inline-block'\r\n\t}\r\n\r\n\treturn obj\r\n})\r\n\r\nfunction adjust() {\r\n\t// 组件挂载后,设置滚动点\r\n\tnextTick(() => {\r\n\t\t// 收集滚动点\r\n\t\tsetScrollPoints()\r\n\r\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\r\n\t\tconst observer = new MutationObserver(() => {\r\n\t\t\tsetScrollPoints()\r\n\t\t})\r\n\r\n\t\tif (scrollRef.value) {\r\n\t\t\tobserver.observe(scrollRef.value, {\r\n\t\t\t\tchildList: true,\r\n\t\t\t\tsubtree: true,\r\n\t\t\t\tattributes: true,\r\n\t\t\t\tattributeFilter: ['data-point-value']\r\n\t\t\t})\r\n\r\n\t\t\t// 如果有初始值,滚动到对应位置\r\n\t\t\tif (props.value) {\r\n\t\t\t\t// 延迟执行,确保DOM完全渲染\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\r\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100)\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n\r\n\tif (props.virtual) {\r\n\t\twindow.addEventListener('mousemove', onMousemove)\r\n\t\twindow.addEventListener('mouseup', onMouseup)\r\n\t\twindow.addEventListener('mouseleave', onMouseup)\r\n\r\n\t\t// 添加鼠标进入和离开事件\r\n\t\tif (scrollRef.value) {\r\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\r\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\r\n\t\t}\r\n\r\n\t\t// 检查是否需要横向滚动条\r\n\t\tnextTick(() => {\r\n\t\t\tcheckHorizontalScroll()\r\n\t\t})\r\n\t}\r\n}\r\n\r\n// 导出方法供父组件调用\r\ndefineExpose({\r\n\tto,\r\n\tscrollRef,\r\n\tisScrolling,\r\n\tsetScrollPoints,\r\n\tfindScrollPoint,\r\n\tcheckHorizontalScroll,\r\n\tadjust\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","ref","computed","provide","nextTick","watch","onMounted","onUnmounted","hasUnit","_createElementBlock","_normalizeClass","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Scroll.vue2.js","sources":["../../../../../../packages/components/scroll/src/Scroll.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScroll'\n});\n</script>\n<template>\n\t<div class=\"to-scroll\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<!-- 自定义滚动条 -->\n\t\t<div v-if=\"props.virtual\" class=\"to-scroll-bar\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"barThumb\" class=\"to-scroll-thumb\" :style=\"thumbStyle\" @mousedown=\"onThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 横向滚动条 -->\n\t\t<div v-if=\"props.virtual && hasHorizontalScroll\" class=\"to-scroll-bar horizontal\" :class=\"[barVisibleClass, { active: isScrolling || isHovering }]\">\n\t\t\t<div ref=\"horizontalBarThumb\" class=\"to-scroll-thumb\" :style=\"horizontalThumbStyle\" @mousedown=\"onHorizontalThumbMousedown\"></div>\n\t\t</div>\n\n\t\t<!-- 滚动内容区域 -->\n\t\t<div ref=\"scrollRef\" class=\"to-scroll-content\" :style=\"setContentStyle\" :class=\"{ 'virtual-scroll': props.virtual }\" @scroll=\"handleScroll\">\n\t\t\t<!-- 默认内容插槽 -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, nextTick, onMounted, onUnmounted, provide } from 'vue'\nimport { scrollProps, ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollProps)\nconst emit = defineEmits<{\n\t(e: 'scroll', event: Event): void\n\t(e: 'scrollEnd'): void\n\t(e: 'change', position: number): void\n\t(e: 'update:value', position: number | string): void\n\t(e: 'update:modelValue', position: number | string): void\n\t(e: 'bottom'): void\n\t(e: 'top'): void\n}>()\n\nconst scrollRef = ref<HTMLElement | null>(null)\nconst barThumb = ref<HTMLElement | null>(null)\nconst horizontalBarThumb = ref<HTMLElement | null>(null)\nconst isScrolling = ref(false)\nconst isHovering = ref(false)\n// 添加一个标志来标识是否由tab点击导致的滚动\nlet isTabTriggeredScroll = false\n// 添加自动滚动的节流控制\nlet autoScrollThrottleTimer: ReturnType<typeof setTimeout> | null = null\n// 滚动防抖定时器\nlet scrollUpdateTimer: ReturnType<typeof setTimeout> | null = null\nlet isDragging = ref(false)\nlet isHorizontalDragging = ref(false)\nlet startY = 0\nlet startX = 0\nlet startScrollTop = 0\nlet startScrollLeft = 0\nconst hasHorizontalScroll = ref(false)\n// 存储滚动点信息\nconst scrollPoints = ref<Array<{ value: string | number; start: number; end: number }>>([])\n// 获取当前绑定值(优先使用modelValue,兼容value)\nconst bindValue = computed(() => props.modelValue || props.value)\n// 当前选中的滚动点值\nconst currentPointValue = ref<string | number | null>(bindValue.value || null)\n\nlet scrollEventDebounceTimer: ReturnType<typeof setTimeout> | null = null\n// 提供给子组件的上下文\nprovide<ScrollContext>('ToScroll', {\n\tregisterScrollPoint: (_el: HTMLElement, _value: string | number) => {\n\t\t// 在下一个渲染周期更新滚动点\n\t\tnextTick(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\t}\n})\n\n// 提供当前值给子组件\nprovide('scrollValue', currentPointValue)\n\n// 计算属性\nconst barVisibleClass = computed(() => {\n\treturn `bar-${String(props.barDisplay)}`\n})\n\n// 检查是否需要横向滚动条\nconst checkHorizontalScroll = () => {\n\tif (scrollRef.value) {\n\t\tconst { scrollWidth, clientWidth } = scrollRef.value\n\t\thasHorizontalScroll.value = scrollWidth > clientWidth\n\t}\n}\n\n// 设置滚动点\nconst setScrollPoints = () => {\n\tif (!scrollRef.value) return\n\n\t// 先清空现有的滚动点\n\tscrollPoints.value = []\n\n\t// 查找所有滚动点元素\n\tconst nodes = scrollRef.value.querySelectorAll('.to-scroll-point')\n\tif (!nodes || nodes.length === 0) {\n\t\treturn\n\t}\n\n\t// 收集滚动点信息\n\tnodes.forEach(item => {\n\t\tconst itemEl = item as HTMLElement\n\t\t// 获取滚动点的值\n\t\tconst pointValue = itemEl.getAttribute('data-point-value') || ''\n\n\t\t// 获取元素相对于滚动容器的精确位置\n\t\tconst offsetTop = itemEl.offsetTop\n\t\tconst height = itemEl.offsetHeight\n\n\t\t// 记录滚动点信息\n\t\tscrollPoints.value.push({\n\t\t\tvalue: pointValue,\n\t\t\tstart: offsetTop,\n\t\t\tend: offsetTop + height\n\t\t})\n\t})\n\n\t// 初始滚动到指定位置\n\tif (props.value && scrollRef.value) {\n\t\tscrollToValue(props.value, 'auto')\n\t}\n}\n\n// 滚动到指定值对应的位置\nconst scrollToValue = (value: string | number, behavior: ScrollBehavior = 'smooth') => {\n\tif (!scrollRef.value || !scrollPoints.value.length) return false\n\n\t// 查找匹配值的滚动点\n\tconst targetPoint = scrollPoints.value.find(p => String(p.value) === String(value))\n\tif (targetPoint) {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: targetPoint.start,\n\t\t\tbehavior: behavior\n\t\t})\n\n\t\t// 主动触发滚动点高亮状态更新\n\t\tnotifyScrollPointsActive(value)\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// 主动通知滚动点更新高亮状态\nconst notifyScrollPointsActive = (activeValue: string | number) => {\n\t// 使用事件通知,避免直接操作DOM\n\tif (scrollRef.value) {\n\t\tconst event = new CustomEvent('scroll-point-active', {\n\t\t\tdetail: { value: activeValue },\n\t\t\tbubbles: true\n\t\t})\n\t\tscrollRef.value.dispatchEvent(event)\n\n\t\t// 确保更新内部状态\n\t\tcurrentPointValue.value = activeValue\n\t}\n}\n\n// 根据当前滚动位置查找对应的滚动点值\nconst findScrollPoint = (scrollTop: number): string | number | null => {\n\tif (!scrollPoints.value.length || !scrollRef.value) return null\n\n\tconst clientHeight = scrollRef.value.clientHeight\n\tconst scrollBottom = scrollTop + clientHeight\n\n\t// 1. 精确匹配:如果滚动位置恰好在某个滚动点的顶部附近\n\tfor (const point of scrollPoints.value) {\n\t\t// 如果滚动位置在点顶部的±10px范围内,优先选择该点\n\t\tif (Math.abs(scrollTop - point.start) < 10) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 2. 完全包含的滚动点:如果视口完全包含某个滚动点\n\tfor (const point of scrollPoints.value) {\n\t\tif (scrollTop <= point.start && scrollBottom >= point.end) {\n\t\t\treturn point.value\n\t\t}\n\t}\n\n\t// 3. 查找当前在视口中显示最多的点\n\tlet bestPoint = null\n\tlet maxVisibleHeight = 0\n\n\tfor (const point of scrollPoints.value) {\n\t\t// 计算可见部分\n\t\tconst visibleTop = Math.max(scrollTop, point.start)\n\t\tconst visibleBottom = Math.min(scrollBottom, point.end)\n\t\tconst visibleHeight = visibleBottom - visibleTop\n\n\t\t// 如果有可见部分,并且可见高度最大,选择该点\n\t\tif (visibleHeight > 0 && visibleHeight > maxVisibleHeight) {\n\t\t\tmaxVisibleHeight = visibleHeight\n\t\t\tbestPoint = point\n\t\t}\n\t}\n\n\t// 4. 特殊情况处理:滚动到顶部或底部\n\tif (scrollTop < 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[0].value // 顶部\n\t}\n\n\tif (scrollBottom >= scrollRef.value.scrollHeight - 5 && scrollPoints.value.length > 0) {\n\t\treturn scrollPoints.value[scrollPoints.value.length - 1].value // 底部\n\t}\n\n\t// 5. 如果找到了最佳点,返回它的值\n\tif (bestPoint) {\n\t\treturn bestPoint.value\n\t}\n\n\t// 6. 后备方案:返回最接近当前滚动位置的点\n\tlet closestPoint = null\n\tlet minDistance = Infinity\n\n\tfor (const point of scrollPoints.value) {\n\t\tconst distance = Math.min(Math.abs(scrollTop - point.start), Math.abs(scrollBottom - point.end))\n\n\t\tif (distance < minDistance) {\n\t\t\tminDistance = distance\n\t\t\tclosestPoint = point\n\t\t}\n\t}\n\n\treturn closestPoint ? closestPoint.value : null\n}\n\n// 监听value/modelValue变化\nwatch(\n\t() => bindValue.value,\n\t(newVal, oldVal) => {\n\t\t// 避免重复处理相同的值\n\t\tif (newVal === oldVal || newVal === currentPointValue.value) return\n\n\t\t// 更新内部记录的值\n\t\tcurrentPointValue.value = newVal\n\n\t\t// 如果是由Tab变化引起的,滚动到对应位置\n\t\tif (!isScrolling.value) {\n\t\t\t// 标记为Tab触发的滚动,避免滚动过程中再次触发更新\n\t\t\tisTabTriggeredScroll = true\n\n\t\t\tnextTick(() => {\n\t\t\t\t// 尝试滚动到对应位置\n\t\t\t\tconst scrollSuccess = scrollToValue(newVal)\n\n\t\t\t\t// 如果滚动失败(没找到对应的滚动点),尝试重新计算滚动点后再滚动\n\t\t\t\tif (!scrollSuccess) {\n\t\t\t\t\tsetScrollPoints()\n\t\t\t\t\tscrollToValue(newVal)\n\t\t\t\t}\n\n\t\t\t\t// 滚动动作完成后重置标记\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisTabTriggeredScroll = false\n\t\t\t\t}, 500) // 等待滚动动画完成\n\t\t\t})\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nonMounted(() => {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n})\n\nonUnmounted(() => {\n\tif (props.virtual) {\n\t\twindow.removeEventListener('mousemove', onMousemove)\n\t\twindow.removeEventListener('mouseup', onMouseup)\n\t\twindow.removeEventListener('mouseleave', onMouseup)\n\n\t\t// 移除鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.removeEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.removeEventListener('mouseleave', onMouseleave)\n\t\t}\n\t}\n\n\t// 清除所有定时器\n\tif (scrollUpdateTimer) {\n\t\tclearTimeout(scrollUpdateTimer)\n\t\tscrollUpdateTimer = null\n\t}\n\n\tif (autoScrollThrottleTimer) {\n\t\tclearTimeout(autoScrollThrottleTimer)\n\t\tautoScrollThrottleTimer = null\n\t}\n})\n\n// 鼠标进入滚动区域\nconst onMouseenter = () => {\n\tisHovering.value = true\n}\n\n// 鼠标离开滚动区域\nconst onMouseleave = () => {\n\tif (!isDragging.value && !isHorizontalDragging.value) {\n\t\tisHovering.value = false\n\t}\n}\n\n// 虚拟滚动条垂直拖动\nconst onThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar')\n\t}\n\n\tstartY = e.clientY\n\tstartScrollTop = scrollRef.value.scrollTop\n\tisDragging.value = true\n}\n\n// 虚拟滚动条水平拖动\nconst onHorizontalThumbMousedown = (e: MouseEvent) => {\n\tif (!scrollRef.value || !props.virtual) return\n\te.preventDefault()\n\te.stopPropagation()\n\n\t// 添加拖动状态的类,用于CSS样式调整\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.add('dragging-scrollbar-horizontal')\n\t}\n\n\tstartX = e.clientX\n\tstartScrollLeft = scrollRef.value.scrollLeft\n\tisHorizontalDragging.value = true\n}\n\nconst onMousemove = (e: MouseEvent) => {\n\t// 处理垂直拖动\n\tif (isDragging.value && scrollRef.value && barThumb.value) {\n\t\tconst deltaY = e.clientY - startY\n\t\tconst contentHeight = scrollRef.value.scrollHeight\n\t\tconst containerHeight = scrollRef.value.clientHeight\n\t\tconst ratio = containerHeight / contentHeight\n\n\t\tscrollRef.value.scrollTop = startScrollTop + deltaY / ratio\n\t}\n\n\t// 处理水平拖动\n\tif (isHorizontalDragging.value && scrollRef.value && horizontalBarThumb.value) {\n\t\tconst deltaX = e.clientX - startX\n\t\tconst contentWidth = scrollRef.value.scrollWidth\n\t\tconst containerWidth = scrollRef.value.clientWidth\n\t\tconst ratio = containerWidth / contentWidth\n\n\t\tscrollRef.value.scrollLeft = startScrollLeft + deltaX / ratio\n\t}\n}\n\nconst onMouseup = () => {\n\tisDragging.value = false\n\tisHorizontalDragging.value = false\n\n\t// 拖动结束后,如果鼠标不在滚动区域内,则隐藏滚动条\n\tif (!isHovering.value) {\n\t\tsetTimeout(() => {\n\t\t\tisHovering.value = false\n\t\t}, 300)\n\t}\n\n\t// 移除拖动状态的类\n\tif (scrollRef.value) {\n\t\tscrollRef.value.classList.remove('dragging-scrollbar')\n\t\tscrollRef.value.classList.remove('dragging-scrollbar-horizontal')\n\t}\n}\n\n// 处理滚动事件\nconst handleScroll = (event: Event) => {\n\t// 触发原始滚动事件\n\temit('scroll', event)\n\n\t// 如果是由Tab触发的滚动,不处理滚动检测\n\tif (isTabTriggeredScroll) {\n\t\treturn\n\t}\n\n\tif (!scrollRef.value) return\n\n\t// 获取当前滚动位置\n\tconst scrollTop = scrollRef.value.scrollTop\n\n\t// 触发滚动位置变化事件\n\temit('change', scrollTop)\n\n\tif (scrollEventDebounceTimer) {\n\t\tclearTimeout(scrollEventDebounceTimer)\n\t}\n\n\t// 检测是否滚动到底部\n\tscrollEventDebounceTimer = setTimeout(() => {\n\t\t// 检测是否滚动到底部\n\t\tconst { scrollHeight, clientHeight } = scrollRef.value\n\t\tif (scrollTop + clientHeight >= scrollHeight - 5) {\n\t\t\temit('bottom')\n\t\t}\n\n\t\tif (scrollTop <= 5) {\n\t\t\temit('top')\n\t\t}\n\t}, 100) // 防抖时间设置为 100ms\n\n\t// 如果有滚动点,立即检测当前位置对应哪个点\n\tif (scrollPoints.value.length > 0) {\n\t\t// 先清除之前的定时器\n\t\tif (autoScrollThrottleTimer) {\n\t\t\tclearTimeout(autoScrollThrottleTimer)\n\t\t\tautoScrollThrottleTimer = null\n\t\t}\n\t\tif (scrollUpdateTimer) {\n\t\t\tclearTimeout(scrollUpdateTimer)\n\t\t\tscrollUpdateTimer = null\n\t\t}\n\n\t\t// 使用requestAnimationFrame确保滚动过程中能平滑更新\n\t\trequestAnimationFrame(() => {\n\t\t\t// 重新查找当前滚动位置对应的点\n\t\t\tconst pointValue = findScrollPoint(scrollTop)\n\n\t\t\t// 如果找到点且与当前值不同,立即更新值\n\t\t\tif (pointValue !== null && pointValue !== currentPointValue.value) {\n\t\t\t\t// 更新内部记录的值\n\t\t\t\tcurrentPointValue.value = pointValue\n\n\t\t\t\t// 同时发送两种事件,确保兼容性\n\t\t\t\temit('update:modelValue', pointValue)\n\t\t\t\temit('update:value', pointValue)\n\n\t\t\t\t// 通知滚动点更新高亮状态\n\t\t\t\tnotifyScrollPointsActive(pointValue)\n\n\t\t\t\t// 如果使用了虚拟滚动条,确保它的位置也正确更新\n\t\t\t\tif (props.virtual && barThumb.value) {\n\t\t\t\t\tupdateVirtualScrollbar()\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\t// 标记为正在滚动\n\tisScrolling.value = true\n\n\t// 滚动结束后重置状态\n\tclearTimeout(scrollUpdateTimer)\n\tscrollUpdateTimer = setTimeout(() => {\n\t\tisScrolling.value = false\n\t\temit('scrollEnd')\n\t}, 100)\n}\n\n// 更新虚拟滚动条位置(如果使用)\nconst updateVirtualScrollbar = () => {\n\tif (!scrollRef.value || !props.virtual) return\n\n\t// 强制更新滚动条位置\n\tnextTick(() => {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = scrollRef.value\n\t\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\t\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\t\tif (barThumb.value) {\n\t\t\tbarThumb.value.style.transform = `translateY(${thumbTop}px)`\n\t\t}\n\t})\n}\n\n// 统一的滚动方法,支持多种参数类型\nconst to = (target: HTMLElement | string | number | any) => {\n\tif (!scrollRef.value) return\n\n\t// 滚动到底部\n\tif (target === '$bottom') {\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: scrollRef.value.scrollHeight - scrollRef.value.clientHeight,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定元素\n\tif (target instanceof HTMLElement) {\n\t\tconst elementTop = target.getBoundingClientRect().top\n\t\tconst containerTop = scrollRef.value.getBoundingClientRect().top\n\t\tconst relativeTop = elementTop - containerTop + scrollRef.value.scrollTop\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: relativeTop,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定位置(数字或数字字符串)\n\tif (typeof target === 'number' || (typeof target === 'string' && !isNaN(Number(target)))) {\n\t\tconst position = typeof target === 'string' ? Number(target) : target\n\n\t\tscrollRef.value.scrollTo({\n\t\t\ttop: position,\n\t\t\tleft: 0,\n\t\t\tbehavior: props.virtual ? 'smooth' : 'auto'\n\t\t})\n\t\treturn\n\t}\n\n\t// 滚动到指定选项配置\n\tif (typeof target === 'object' && target !== null) {\n\t\tscrollRef.value.scrollTo(target)\n\t\treturn\n\t}\n}\n\n// 垂直滚动条样式计算\nconst thumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientHeight, scrollHeight, scrollTop } = scrollRef.value\n\n\t// 计算滚动条高度比例\n\tconst thumbHeight = Math.max(30, (clientHeight / scrollHeight) * clientHeight)\n\n\t// 计算滚动条位置比例\n\tconst thumbTop = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - thumbHeight)\n\n\treturn {\n\t\theight: `${thumbHeight}px`,\n\t\ttransform: `translateY(${thumbTop}px)`,\n\t\twidth: '6px'\n\t}\n})\n\n// 水平滚动条样式计算\nconst horizontalThumbStyle = computed(() => {\n\tif (!scrollRef.value || !props.virtual) return {}\n\n\tconst { clientWidth, scrollWidth, scrollLeft } = scrollRef.value\n\n\t// 计算滚动条宽度比例\n\tconst thumbWidth = Math.max(30, (clientWidth / scrollWidth) * clientWidth)\n\n\t// 计算滚动条位置比例\n\tconst thumbLeft = (scrollLeft / (scrollWidth - clientWidth)) * (clientWidth - thumbWidth)\n\n\treturn {\n\t\twidth: `${thumbWidth}px`,\n\t\ttransform: `translateX(${thumbLeft}px)`,\n\t\theight: '6px'\n\t}\n})\n\nconst setStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t} = {}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\n\tif (props.virtual) {\n\t\tarr.push('hide-scrollbar')\n\t}\n\n\t// 添加mode类名\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\treturn arr\n})\n\nconst setContentStyle = computed(() => {\n\tconst obj: {\n\t\theight?: string\n\t\tpadding?: string | number\n\t\tpaddingTop?: string\n\t\tpaddingRight?: string\n\t\tpaddingBottom?: string\n\t\tpaddingLeft?: string\n\t\tmaxHeight?: string\n\t\toverflow?: string\n\t\tposition?: 'relative' | 'absolute' | 'fixed' | 'sticky'\n\t\twidth?: string\n\t\tdisplay?: string\n\t} = {}\n\n\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\tif (String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj.padding = padded\n\t}\n\n\tif (props.paddingPosition) {\n\t\t// 根据paddingPosition设置padding位置\n\t\tconst padding = String(props.padding || '0')\n\t\tconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\n\t\tconst paddingValue = hasUnit(padding) ? padding : `${padding}em`\n\n\t\tswitch (props.paddingPosition) {\n\t\t\tcase 'top':\n\t\t\t\tobj.paddingTop = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'right':\n\t\t\t\tobj.paddingRight = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'bottom':\n\t\t\t\tobj.paddingBottom = paddingValue\n\t\t\t\tbreak\n\t\t\tcase 'left':\n\t\t\t\tobj.paddingLeft = paddingValue\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tif (props.virtual) {\n\t\tobj.overflow = 'auto'\n\t\tobj.position = 'relative'\n\t\tobj.width = '100%'\n\t}\n\n\t// 根据 mode 设置特定样式\n\tif (props.mode === 'horizontal') {\n\t\tobj.width = props.virtual ? '100%' : 'max-content'\n\t\tobj.display = 'inline-block'\n\t}\n\n\treturn obj\n})\n\nfunction adjust() {\n\t// 组件挂载后,设置滚动点\n\tnextTick(() => {\n\t\t// 收集滚动点\n\t\tsetScrollPoints()\n\n\t\t// 设置观察器,监听DOM变化重新收集滚动点\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tsetScrollPoints()\n\t\t})\n\n\t\tif (scrollRef.value) {\n\t\t\tobserver.observe(scrollRef.value, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['data-point-value']\n\t\t\t})\n\n\t\t\t// 如果有初始值,滚动到对应位置\n\t\t\tif (props.value) {\n\t\t\t\t// 延迟执行,确保DOM完全渲染\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof props.value === 'string' || typeof props.value === 'number') {\n\t\t\t\t\t\tscrollToValue(props.value, 'auto')\n\t\t\t\t\t}\n\t\t\t\t}, 100)\n\t\t\t}\n\t\t}\n\t})\n\n\tif (props.virtual) {\n\t\twindow.addEventListener('mousemove', onMousemove)\n\t\twindow.addEventListener('mouseup', onMouseup)\n\t\twindow.addEventListener('mouseleave', onMouseup)\n\n\t\t// 添加鼠标进入和离开事件\n\t\tif (scrollRef.value) {\n\t\t\tscrollRef.value.addEventListener('mouseenter', onMouseenter)\n\t\t\tscrollRef.value.addEventListener('mouseleave', onMouseleave)\n\t\t}\n\n\t\t// 检查是否需要横向滚动条\n\t\tnextTick(() => {\n\t\t\tcheckHorizontalScroll()\n\t\t})\n\t}\n}\n\n// 导出方法供父组件调用\ndefineExpose({\n\tto,\n\tscrollRef,\n\tisScrolling,\n\tsetScrollPoints,\n\tfindScrollPoint,\n\tcheckHorizontalScroll,\n\tadjust\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","provide","nextTick","watch","onMounted","onUnmounted","hasUnit","_createElementBlock","_normalizeClass","_createCommentVNode","_createElementVNode","_renderSlot"],"mappings":";;;;;;;AAEA,MAAA,cAA6BA,mBAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,UAAA;AACP,CAAC,CAAA,CAAA;;;;;;AA4BD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAUb,IAAM,MAAA,SAAA,GAAYC,QAAwB,IAAI,CAAA,CAAA;AAC9C,IAAM,MAAA,QAAA,GAAWA,QAAwB,IAAI,CAAA,CAAA;AAC7C,IAAM,MAAA,kBAAA,GAAqBA,QAAwB,IAAI,CAAA,CAAA;AACvD,IAAM,MAAA,WAAA,GAAcA,QAAI,KAAK,CAAA,CAAA;AAC7B,IAAM,MAAA,UAAA,GAAaA,QAAI,KAAK,CAAA,CAAA;AAE5B,IAAA,IAAI,oBAAuB,GAAA,KAAA,CAAA;AAI3B,IAAA,IAAI,iBAA0D,GAAA,IAAA,CAAA;AAC9D,IAAI,IAAA,UAAA,GAAaA,QAAI,KAAK,CAAA,CAAA;AAC1B,IAAI,IAAA,oBAAA,GAAuBA,QAAI,KAAK,CAAA,CAAA;AACpC,IAAA,IAAI,MAAS,GAAA,CAAA,CAAA;AACb,IAAA,IAAI,MAAS,GAAA,CAAA,CAAA;AACb,IAAA,IAAI,cAAiB,GAAA,CAAA,CAAA;AACrB,IAAA,IAAI,eAAkB,GAAA,CAAA,CAAA;AACtB,IAAM,MAAA,mBAAA,GAAsBA,QAAI,KAAK,CAAA,CAAA;AAErC,IAAM,MAAA,YAAA,GAAeA,OAAmE,CAAA,EAAE,CAAA,CAAA;AAE1F,IAAA,MAAM,YAAYC,YAAS,CAAA,MAAM,KAAM,CAAA,UAAA,IAAc,MAAM,KAAK,CAAA,CAAA;AAEhE,IAAA,MAAM,iBAAoB,GAAAD,OAAA,CAA4B,SAAU,CAAA,KAAA,IAAS,IAAI,CAAA,CAAA;AAE7E,IAAA,IAAI,wBAAiE,GAAA,IAAA,CAAA;AAErE,IAAAE,WAAA,CAAuB,UAAY,EAAA;AAAA,MAClC,mBAAA,EAAqB,CAAC,GAAA,EAAkB,MAA4B,KAAA;AAEnE,QAAAC,YAAA,CAAS,MAAM;AACd,UAAgB,eAAA,EAAA,CAAA;AAAA,SAChB,CAAA,CAAA;AAAA,OACF;AAAA,KACA,CAAA,CAAA;AAGD,IAAAD,WAAA,CAAQ,eAAe,iBAAiB,CAAA,CAAA;AAGxC,IAAM,MAAA,eAAA,GAAkBD,aAAS,MAAM;AACtC,MAAO,OAAA,CAAA,IAAA,EAAO,MAAO,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA,CAAA,CAAA;AAAA,KACrC,CAAA,CAAA;AAGD,IAAA,MAAM,wBAAwB,MAAM;AACnC,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAA,MAAM,EAAE,WAAA,EAAa,WAAY,EAAA,GAAI,SAAU,CAAA,KAAA,CAAA;AAC/C,QAAA,mBAAA,CAAoB,QAAQ,WAAc,GAAA,WAAA,CAAA;AAAA,OAC3C;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,kBAAkB,MAAM;AAC7B,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AAAO,QAAA,OAAA;AAGtB,MAAA,YAAA,CAAa,QAAQ,EAAC,CAAA;AAGtB,MAAA,MAAM,KAAQ,GAAA,SAAA,CAAU,KAAM,CAAA,gBAAA,CAAiB,kBAAkB,CAAA,CAAA;AACjE,MAAA,IAAI,CAAC,KAAA,IAAS,KAAM,CAAA,MAAA,KAAW,CAAG,EAAA;AACjC,QAAA,OAAA;AAAA,OACD;AAGA,MAAA,KAAA,CAAM,QAAQ,CAAQ,IAAA,KAAA;AACrB,QAAA,MAAM,MAAS,GAAA,IAAA,CAAA;AAEf,QAAA,MAAM,UAAa,GAAA,MAAA,CAAO,YAAa,CAAA,kBAAkB,CAAK,IAAA,EAAA,CAAA;AAG9D,QAAA,MAAM,YAAY,MAAO,CAAA,SAAA,CAAA;AACzB,QAAA,MAAM,SAAS,MAAO,CAAA,YAAA,CAAA;AAGtB,QAAA,YAAA,CAAa,MAAM,IAAK,CAAA;AAAA,UACvB,KAAO,EAAA,UAAA;AAAA,UACP,KAAO,EAAA,SAAA;AAAA,UACP,KAAK,SAAY,GAAA,MAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACD,CAAA,CAAA;AAGD,MAAI,IAAA,KAAA,CAAM,KAAS,IAAA,SAAA,CAAU,KAAO,EAAA;AACnC,QAAc,aAAA,CAAA,KAAA,CAAM,OAAO,MAAM,CAAA,CAAA;AAAA,OAClC;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,aAAgB,GAAA,CAAC,KAAwB,EAAA,QAAA,GAA2B,QAAa,KAAA;AACtF,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,aAAa,KAAM,CAAA,MAAA;AAAQ,QAAO,OAAA,KAAA,CAAA;AAG3D,MAAM,MAAA,WAAA,GAAc,YAAa,CAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAA,KAAK,MAAO,CAAA,CAAA,CAAE,KAAK,CAAA,KAAM,MAAO,CAAA,KAAK,CAAC,CAAA,CAAA;AAClF,MAAA,IAAI,WAAa,EAAA;AAChB,QAAA,SAAA,CAAU,MAAM,QAAS,CAAA;AAAA,UACxB,KAAK,WAAY,CAAA,KAAA;AAAA,UACjB,QAAA;AAAA,SACA,CAAA,CAAA;AAGD,QAAA,wBAAA,CAAyB,KAAK,CAAA,CAAA;AAC9B,QAAO,OAAA,IAAA,CAAA;AAAA,OACR;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,KACR,CAAA;AAGA,IAAM,MAAA,wBAAA,GAA2B,CAAC,WAAiC,KAAA;AAElE,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAM,MAAA,KAAA,GAAQ,IAAI,WAAA,CAAY,qBAAuB,EAAA;AAAA,UACpD,MAAA,EAAQ,EAAE,KAAA,EAAO,WAAY,EAAA;AAAA,UAC7B,OAAS,EAAA,IAAA;AAAA,SACT,CAAA,CAAA;AACD,QAAU,SAAA,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA,CAAA;AAGnC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,WAAA,CAAA;AAAA,OAC3B;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,eAAA,GAAkB,CAAC,SAA8C,KAAA;AACtE,MAAA,IAAI,CAAC,YAAA,CAAa,KAAM,CAAA,MAAA,IAAU,CAAC,SAAU,CAAA,KAAA;AAAO,QAAO,OAAA,IAAA,CAAA;AAE3D,MAAM,MAAA,YAAA,GAAe,UAAU,KAAM,CAAA,YAAA,CAAA;AACrC,MAAA,MAAM,eAAe,SAAY,GAAA,YAAA,CAAA;AAGjC,MAAW,KAAA,MAAA,KAAA,IAAS,aAAa,KAAO,EAAA;AAEvC,QAAA,IAAI,KAAK,GAAI,CAAA,SAAA,GAAY,KAAM,CAAA,KAAK,IAAI,EAAI,EAAA;AAC3C,UAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,SACd;AAAA,OACD;AAGA,MAAW,KAAA,MAAA,KAAA,IAAS,aAAa,KAAO,EAAA;AACvC,QAAA,IAAI,SAAa,IAAA,KAAA,CAAM,KAAS,IAAA,YAAA,IAAgB,MAAM,GAAK,EAAA;AAC1D,UAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,SACd;AAAA,OACD;AAGA,MAAA,IAAI,SAAY,GAAA,IAAA,CAAA;AAChB,MAAA,IAAI,gBAAmB,GAAA,CAAA,CAAA;AAEvB,MAAW,KAAA,MAAA,KAAA,IAAS,aAAa,KAAO,EAAA;AAEvC,QAAA,MAAM,UAAa,GAAA,IAAA,CAAK,GAAI,CAAA,SAAA,EAAW,MAAM,KAAK,CAAA,CAAA;AAClD,QAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,GAAI,CAAA,YAAA,EAAc,MAAM,GAAG,CAAA,CAAA;AACtD,QAAA,MAAM,gBAAgB,aAAgB,GAAA,UAAA,CAAA;AAGtC,QAAI,IAAA,aAAA,GAAgB,CAAK,IAAA,aAAA,GAAgB,gBAAkB,EAAA;AAC1D,UAAmB,gBAAA,GAAA,aAAA,CAAA;AACnB,UAAY,SAAA,GAAA,KAAA,CAAA;AAAA,SACb;AAAA,OACD;AAGA,MAAA,IAAI,SAAY,GAAA,CAAA,IAAK,YAAa,CAAA,KAAA,CAAM,SAAS,CAAG,EAAA;AACnD,QAAO,OAAA,YAAA,CAAa,KAAM,CAAA,CAAC,CAAE,CAAA,KAAA,CAAA;AAAA,OAC9B;AAEA,MAAI,IAAA,YAAA,IAAgB,UAAU,KAAM,CAAA,YAAA,GAAe,KAAK,YAAa,CAAA,KAAA,CAAM,SAAS,CAAG,EAAA;AACtF,QAAA,OAAO,aAAa,KAAM,CAAA,YAAA,CAAa,KAAM,CAAA,MAAA,GAAS,CAAC,CAAE,CAAA,KAAA,CAAA;AAAA,OAC1D;AAGA,MAAA,IAAI,SAAW,EAAA;AACd,QAAA,OAAO,SAAU,CAAA,KAAA,CAAA;AAAA,OAClB;AAGA,MAAA,IAAI,YAAe,GAAA,IAAA,CAAA;AACnB,MAAA,IAAI,WAAc,GAAA,QAAA,CAAA;AAElB,MAAW,KAAA,MAAA,KAAA,IAAS,aAAa,KAAO,EAAA;AACvC,QAAA,MAAM,QAAW,GAAA,IAAA,CAAK,GAAI,CAAA,IAAA,CAAK,IAAI,SAAY,GAAA,KAAA,CAAM,KAAK,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,YAAe,GAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAE/F,QAAA,IAAI,WAAW,WAAa,EAAA;AAC3B,UAAc,WAAA,GAAA,QAAA,CAAA;AACd,UAAe,YAAA,GAAA,KAAA,CAAA;AAAA,SAChB;AAAA,OACD;AAEA,MAAO,OAAA,YAAA,GAAe,aAAa,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC5C,CAAA;AAGA,IAAAG,SAAA;AAAA,MACC,MAAM,SAAU,CAAA,KAAA;AAAA,MAChB,CAAC,QAAQ,MAAW,KAAA;AAEnB,QAAI,IAAA,MAAA,KAAW,MAAU,IAAA,MAAA,KAAW,iBAAkB,CAAA,KAAA;AAAO,UAAA,OAAA;AAG7D,QAAA,iBAAA,CAAkB,KAAQ,GAAA,MAAA,CAAA;AAG1B,QAAI,IAAA,CAAC,YAAY,KAAO,EAAA;AAEvB,UAAuB,oBAAA,GAAA,IAAA,CAAA;AAEvB,UAAAD,YAAA,CAAS,MAAM;AAEd,YAAM,MAAA,aAAA,GAAgB,cAAc,MAAM,CAAA,CAAA;AAG1C,YAAA,IAAI,CAAC,aAAe,EAAA;AACnB,cAAgB,eAAA,EAAA,CAAA;AAChB,cAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAAA,aACrB;AAGA,YAAA,UAAA,CAAW,MAAM;AAChB,cAAuB,oBAAA,GAAA,KAAA,CAAA;AAAA,eACrB,GAAG,CAAA,CAAA;AAAA,WACN,CAAA,CAAA;AAAA,SACF;AAAA,OACD;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAAE,aAAA,CAAU,MAAM;AAEf,MAAAF,YAAA,CAAS,MAAM;AAEd,QAAgB,eAAA,EAAA,CAAA;AAGhB,QAAM,MAAA,QAAA,GAAW,IAAI,gBAAA,CAAiB,MAAM;AAC3C,UAAgB,eAAA,EAAA,CAAA;AAAA,SAChB,CAAA,CAAA;AAED,QAAA,IAAI,UAAU,KAAO,EAAA;AACpB,UAAS,QAAA,CAAA,OAAA,CAAQ,UAAU,KAAO,EAAA;AAAA,YACjC,SAAW,EAAA,IAAA;AAAA,YACX,OAAS,EAAA,IAAA;AAAA,YACT,UAAY,EAAA,IAAA;AAAA,YACZ,eAAA,EAAiB,CAAC,kBAAkB,CAAA;AAAA,WACpC,CAAA,CAAA;AAGD,UAAA,IAAI,MAAM,KAAO,EAAA;AAEhB,YAAA,UAAA,CAAW,MAAM;AAChB,cAAA,IAAI,OAAO,KAAM,CAAA,KAAA,KAAU,YAAY,OAAO,KAAA,CAAM,UAAU,QAAU,EAAA;AACvE,gBAAc,aAAA,CAAA,KAAA,CAAM,OAAO,MAAM,CAAA,CAAA;AAAA,eAClC;AAAA,eACE,GAAG,CAAA,CAAA;AAAA,WACP;AAAA,SACD;AAAA,OACA,CAAA,CAAA;AAED,MAAA,IAAI,MAAM,OAAS,EAAA;AAClB,QAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,WAAW,CAAA,CAAA;AAChD,QAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAC5C,QAAO,MAAA,CAAA,gBAAA,CAAiB,cAAc,SAAS,CAAA,CAAA;AAG/C,QAAA,IAAI,UAAU,KAAO,EAAA;AACpB,UAAU,SAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAC3D,UAAU,SAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,SAC5D;AAGA,QAAAA,YAAA,CAAS,MAAM;AACd,UAAsB,qBAAA,EAAA,CAAA;AAAA,SACtB,CAAA,CAAA;AAAA,OACF;AAAA,KACA,CAAA,CAAA;AAED,IAAAG,eAAA,CAAY,MAAM;AACjB,MAAA,IAAI,MAAM,OAAS,EAAA;AAClB,QAAO,MAAA,CAAA,mBAAA,CAAoB,aAAa,WAAW,CAAA,CAAA;AACnD,QAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,SAAS,CAAA,CAAA;AAC/C,QAAO,MAAA,CAAA,mBAAA,CAAoB,cAAc,SAAS,CAAA,CAAA;AAGlD,QAAA,IAAI,UAAU,KAAO,EAAA;AACpB,UAAU,SAAA,CAAA,KAAA,CAAM,mBAAoB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAC9D,UAAU,SAAA,CAAA,KAAA,CAAM,mBAAoB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,SAC/D;AAAA,OACD;AAGA,MAAA,IAAI,iBAAmB,EAAA;AACtB,QAAA,YAAA,CAAa,iBAAiB,CAAA,CAAA;AAC9B,QAAoB,iBAAA,GAAA,IAAA,CAAA;AAAA,OACrB;AAKA,KACA,CAAA,CAAA;AAGD,IAAA,MAAM,eAAe,MAAM;AAC1B,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACpB,CAAA;AAGA,IAAA,MAAM,eAAe,MAAM;AAC1B,MAAA,IAAI,CAAC,UAAA,CAAW,KAAS,IAAA,CAAC,qBAAqB,KAAO,EAAA;AACrD,QAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,OACpB;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,gBAAA,GAAmB,CAAC,CAAkB,KAAA;AAC3C,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAA;AACxC,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAGlB,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAU,SAAA,CAAA,KAAA,CAAM,SAAU,CAAA,GAAA,CAAI,oBAAoB,CAAA,CAAA;AAAA,OACnD;AAEA,MAAA,MAAA,GAAS,CAAE,CAAA,OAAA,CAAA;AACX,MAAA,cAAA,GAAiB,UAAU,KAAM,CAAA,SAAA,CAAA;AACjC,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACpB,CAAA;AAGA,IAAM,MAAA,0BAAA,GAA6B,CAAC,CAAkB,KAAA;AACrD,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAA;AACxC,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAGlB,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAU,SAAA,CAAA,KAAA,CAAM,SAAU,CAAA,GAAA,CAAI,+BAA+B,CAAA,CAAA;AAAA,OAC9D;AAEA,MAAA,MAAA,GAAS,CAAE,CAAA,OAAA,CAAA;AACX,MAAA,eAAA,GAAkB,UAAU,KAAM,CAAA,UAAA,CAAA;AAClC,MAAA,oBAAA,CAAqB,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,CAAkB,KAAA;AAEtC,MAAA,IAAI,UAAW,CAAA,KAAA,IAAS,SAAU,CAAA,KAAA,IAAS,SAAS,KAAO,EAAA;AAC1D,QAAM,MAAA,MAAA,GAAS,EAAE,OAAU,GAAA,MAAA,CAAA;AAC3B,QAAM,MAAA,aAAA,GAAgB,UAAU,KAAM,CAAA,YAAA,CAAA;AACtC,QAAM,MAAA,eAAA,GAAkB,UAAU,KAAM,CAAA,YAAA,CAAA;AACxC,QAAA,MAAM,QAAQ,eAAkB,GAAA,aAAA,CAAA;AAEhC,QAAU,SAAA,CAAA,KAAA,CAAM,SAAY,GAAA,cAAA,GAAiB,MAAS,GAAA,KAAA,CAAA;AAAA,OACvD;AAGA,MAAA,IAAI,oBAAqB,CAAA,KAAA,IAAS,SAAU,CAAA,KAAA,IAAS,mBAAmB,KAAO,EAAA;AAC9E,QAAM,MAAA,MAAA,GAAS,EAAE,OAAU,GAAA,MAAA,CAAA;AAC3B,QAAM,MAAA,YAAA,GAAe,UAAU,KAAM,CAAA,WAAA,CAAA;AACrC,QAAM,MAAA,cAAA,GAAiB,UAAU,KAAM,CAAA,WAAA,CAAA;AACvC,QAAA,MAAM,QAAQ,cAAiB,GAAA,YAAA,CAAA;AAE/B,QAAU,SAAA,CAAA,KAAA,CAAM,UAAa,GAAA,eAAA,GAAkB,MAAS,GAAA,KAAA,CAAA;AAAA,OACzD;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AACvB,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AACnB,MAAA,oBAAA,CAAqB,KAAQ,GAAA,KAAA,CAAA;AAG7B,MAAI,IAAA,CAAC,WAAW,KAAO,EAAA;AACtB,QAAA,UAAA,CAAW,MAAM;AAChB,UAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,WACjB,GAAG,CAAA,CAAA;AAAA,OACP;AAGA,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAU,SAAA,CAAA,KAAA,CAAM,SAAU,CAAA,MAAA,CAAO,oBAAoB,CAAA,CAAA;AACrD,QAAU,SAAA,CAAA,KAAA,CAAM,SAAU,CAAA,MAAA,CAAO,+BAA+B,CAAA,CAAA;AAAA,OACjE;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,YAAA,GAAe,CAAC,KAAiB,KAAA;AAEtC,MAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAGpB,MAAA,IAAI,oBAAsB,EAAA;AACzB,QAAA,OAAA;AAAA,OACD;AAEA,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AAAO,QAAA,OAAA;AAGtB,MAAM,MAAA,SAAA,GAAY,UAAU,KAAM,CAAA,SAAA,CAAA;AAGlC,MAAA,IAAA,CAAK,UAAU,SAAS,CAAA,CAAA;AAExB,MAAA,IAAI,wBAA0B,EAAA;AAC7B,QAAA,YAAA,CAAa,wBAAwB,CAAA,CAAA;AAAA,OACtC;AAGA,MAAA,wBAAA,GAA2B,WAAW,MAAM;AAE3C,QAAA,MAAM,EAAE,YAAA,EAAc,YAAa,EAAA,GAAI,SAAU,CAAA,KAAA,CAAA;AACjD,QAAI,IAAA,SAAA,GAAY,YAAgB,IAAA,YAAA,GAAe,CAAG,EAAA;AACjD,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACd;AAEA,QAAA,IAAI,aAAa,CAAG,EAAA;AACnB,UAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAAA,SACX;AAAA,SACE,GAAG,CAAA,CAAA;AAGN,MAAI,IAAA,YAAA,CAAa,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAMlC,QAAA,IAAI,iBAAmB,EAAA;AACtB,UAAA,YAAA,CAAa,iBAAiB,CAAA,CAAA;AAC9B,UAAoB,iBAAA,GAAA,IAAA,CAAA;AAAA,SACrB;AAGA,QAAA,qBAAA,CAAsB,MAAM;AAE3B,UAAM,MAAA,UAAA,GAAa,gBAAgB,SAAS,CAAA,CAAA;AAG5C,UAAA,IAAI,UAAe,KAAA,IAAA,IAAQ,UAAe,KAAA,iBAAA,CAAkB,KAAO,EAAA;AAElE,YAAA,iBAAA,CAAkB,KAAQ,GAAA,UAAA,CAAA;AAG1B,YAAA,IAAA,CAAK,qBAAqB,UAAU,CAAA,CAAA;AACpC,YAAA,IAAA,CAAK,gBAAgB,UAAU,CAAA,CAAA;AAG/B,YAAA,wBAAA,CAAyB,UAAU,CAAA,CAAA;AAGnC,YAAI,IAAA,KAAA,CAAM,OAAW,IAAA,QAAA,CAAS,KAAO,EAAA;AACpC,cAAuB,sBAAA,EAAA,CAAA;AAAA,aACxB;AAAA,WACD;AAAA,SACA,CAAA,CAAA;AAAA,OACF;AAGA,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AAGpB,MAAA,YAAA,CAAa,iBAAiB,CAAA,CAAA;AAC9B,MAAA,iBAAA,GAAoB,WAAW,MAAM;AACpC,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AACpB,QAAA,IAAA,CAAK,WAAW,CAAA,CAAA;AAAA,SACd,GAAG,CAAA,CAAA;AAAA,KACP,CAAA;AAGA,IAAA,MAAM,yBAAyB,MAAM;AACpC,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAA;AAGxC,MAAAH,YAAA,CAAS,MAAM;AACd,QAAA,MAAM,EAAE,SAAA,EAAW,YAAc,EAAA,YAAA,KAAiB,SAAU,CAAA,KAAA,CAAA;AAC5D,QAAA,MAAM,cAAc,IAAK,CAAA,GAAA,CAAI,EAAK,EAAA,YAAA,GAAe,eAAgB,YAAY,CAAA,CAAA;AAC7E,QAAA,MAAM,QAAY,GAAA,SAAA,IAAa,YAAe,GAAA,YAAA,CAAA,IAAkB,YAAe,GAAA,WAAA,CAAA,CAAA;AAE/E,QAAA,IAAI,SAAS,KAAO,EAAA;AACnB,UAAS,QAAA,CAAA,KAAA,CAAM,KAAM,CAAA,SAAA,GAAY,CAAc,WAAA,EAAA,QAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAChD;AAAA,OACA,CAAA,CAAA;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,EAAA,GAAK,CAAC,MAAgD,KAAA;AAC3D,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AAAO,QAAA,OAAA;AAGtB,MAAA,IAAI,WAAW,SAAW,EAAA;AACzB,QAAA,SAAA,CAAU,MAAM,QAAS,CAAA;AAAA,UACxB,GAAK,EAAA,SAAA,CAAU,KAAM,CAAA,YAAA,GAAe,UAAU,KAAM,CAAA,YAAA;AAAA,UACpD,QAAA,EAAU,KAAM,CAAA,OAAA,GAAU,QAAW,GAAA,MAAA;AAAA,SACrC,CAAA,CAAA;AACD,QAAA,OAAA;AAAA,OACD;AAGA,MAAA,IAAI,kBAAkB,WAAa,EAAA;AAClC,QAAM,MAAA,UAAA,GAAa,MAAO,CAAA,qBAAA,EAAwB,CAAA,GAAA,CAAA;AAClD,QAAA,MAAM,YAAe,GAAA,SAAA,CAAU,KAAM,CAAA,qBAAA,EAAwB,CAAA,GAAA,CAAA;AAC7D,QAAA,MAAM,WAAc,GAAA,UAAA,GAAa,YAAe,GAAA,SAAA,CAAU,KAAM,CAAA,SAAA,CAAA;AAEhE,QAAA,SAAA,CAAU,MAAM,QAAS,CAAA;AAAA,UACxB,GAAK,EAAA,WAAA;AAAA,UACL,QAAA,EAAU,KAAM,CAAA,OAAA,GAAU,QAAW,GAAA,MAAA;AAAA,SACrC,CAAA,CAAA;AACD,QAAA,OAAA;AAAA,OACD;AAGA,MAAI,IAAA,OAAO,MAAW,KAAA,QAAA,IAAa,OAAO,MAAA,KAAW,QAAY,IAAA,CAAC,KAAM,CAAA,MAAA,CAAO,MAAM,CAAC,CAAI,EAAA;AACzF,QAAA,MAAM,WAAW,OAAO,MAAA,KAAW,QAAW,GAAA,MAAA,CAAO,MAAM,CAAI,GAAA,MAAA,CAAA;AAE/D,QAAA,SAAA,CAAU,MAAM,QAAS,CAAA;AAAA,UACxB,GAAK,EAAA,QAAA;AAAA,UACL,IAAM,EAAA,CAAA;AAAA,UACN,QAAA,EAAU,KAAM,CAAA,OAAA,GAAU,QAAW,GAAA,MAAA;AAAA,SACrC,CAAA,CAAA;AACD,QAAA,OAAA;AAAA,OACD;AAGA,MAAA,IAAI,OAAO,MAAA,KAAW,QAAY,IAAA,MAAA,KAAW,IAAM,EAAA;AAClD,QAAU,SAAA,CAAA,KAAA,CAAM,SAAS,MAAM,CAAA,CAAA;AAC/B,QAAA,OAAA;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,UAAA,GAAaF,aAAS,MAAM;AACjC,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAO,EAAC,CAAA;AAEhD,MAAA,MAAM,EAAE,YAAA,EAAc,YAAc,EAAA,SAAA,KAAc,SAAU,CAAA,KAAA,CAAA;AAG5D,MAAA,MAAM,cAAc,IAAK,CAAA,GAAA,CAAI,EAAK,EAAA,YAAA,GAAe,eAAgB,YAAY,CAAA,CAAA;AAG7E,MAAA,MAAM,QAAY,GAAA,SAAA,IAAa,YAAe,GAAA,YAAA,CAAA,IAAkB,YAAe,GAAA,WAAA,CAAA,CAAA;AAE/E,MAAO,OAAA;AAAA,QACN,QAAQ,CAAG,EAAA,WAAA,CAAA,EAAA,CAAA;AAAA,QACX,WAAW,CAAc,WAAA,EAAA,QAAA,CAAA,GAAA,CAAA;AAAA,QACzB,KAAO,EAAA,KAAA;AAAA,OACR,CAAA;AAAA,KACA,CAAA,CAAA;AAGD,IAAM,MAAA,oBAAA,GAAuBA,aAAS,MAAM;AAC3C,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,KAAM,CAAA,OAAA;AAAS,QAAA,OAAO,EAAC,CAAA;AAEhD,MAAA,MAAM,EAAE,WAAA,EAAa,WAAa,EAAA,UAAA,KAAe,SAAU,CAAA,KAAA,CAAA;AAG3D,MAAA,MAAM,aAAa,IAAK,CAAA,GAAA,CAAI,EAAK,EAAA,WAAA,GAAc,cAAe,WAAW,CAAA,CAAA;AAGzE,MAAA,MAAM,SAAa,GAAA,UAAA,IAAc,WAAc,GAAA,WAAA,CAAA,IAAiB,WAAc,GAAA,UAAA,CAAA,CAAA;AAE9E,MAAO,OAAA;AAAA,QACN,OAAO,CAAG,EAAA,UAAA,CAAA,EAAA,CAAA;AAAA,QACV,WAAW,CAAc,WAAA,EAAA,SAAA,CAAA,GAAA,CAAA;AAAA,QACzB,MAAQ,EAAA,KAAA;AAAA,OACT,CAAA;AAAA,KACA,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWA,aAAS,MAAM;AAC/B,MAAA,MAAM,MAEF,EAAC,CAAA;AAEL,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAC,CAAG,EAAA;AACjC,UAAI,GAAA,CAAA,MAAA,GAAS,MAAM,MAAS,GAAA,IAAA,CAAA;AAAA,SACtB,MAAA;AACN,UAAI,GAAA,CAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACjC;AAAA,OACD;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWA,aAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AAErB,MAAA,IAAI,MAAM,OAAS,EAAA;AAClB,QAAA,GAAA,CAAI,KAAK,gBAAgB,CAAA,CAAA;AAAA,OAC1B;AAGA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkBA,aAAS,MAAM;AACtC,MAAA,MAAM,MAYF,EAAC,CAAA;AAEL,MAAA,MAAM,OAAU,GAAA,CAAC,GAAgB,KAAA,WAAA,CAAY,KAAK,GAAG,CAAA,CAAA;AACrD,MAAA,IAAI,MAAO,CAAA,KAAA,CAAM,OAAO,CAAA,CAAE,MAAQ,EAAA;AAEjC,QAAM,MAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,OAAO,CAAA,CACjC,IAAK,EAAA,CACL,KAAM,CAAA,KAAK,CACX,CAAA,GAAA,CAAI,CAAO,GAAA,KAAA;AAEX,UAAA,OAAO,OAAQ,CAAA,GAAG,CAAI,GAAA,GAAA,GAAM,CAAG,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SAC/B,CACA,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAEV,QAAA,GAAA,CAAI,OAAU,GAAA,MAAA,CAAA;AAAA,OACf;AAEA,MAAA,IAAI,MAAM,eAAiB,EAAA;AAE1B,QAAA,MAAM,OAAU,GAAA,MAAA,CAAO,KAAM,CAAA,OAAA,IAAW,GAAG,CAAA,CAAA;AAC3C,QAAA,MAAMM,QAAU,GAAA,CAAC,GAAgB,KAAA,WAAA,CAAY,KAAK,GAAG,CAAA,CAAA;AACrD,QAAA,MAAM,YAAeA,GAAAA,QAAAA,CAAQ,OAAO,CAAA,GAAI,UAAU,CAAG,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA;AAErD,QAAA,QAAQ,MAAM,eAAiB;AAAA,UAC9B,KAAK,KAAA;AACJ,YAAA,GAAA,CAAI,UAAa,GAAA,YAAA,CAAA;AACjB,YAAA,MAAA;AAAA,UACD,KAAK,OAAA;AACJ,YAAA,GAAA,CAAI,YAAe,GAAA,YAAA,CAAA;AACnB,YAAA,MAAA;AAAA,UACD,KAAK,QAAA;AACJ,YAAA,GAAA,CAAI,aAAgB,GAAA,YAAA,CAAA;AACpB,YAAA,MAAA;AAAA,UACD,KAAK,MAAA;AACJ,YAAA,GAAA,CAAI,WAAc,GAAA,YAAA,CAAA;AAClB,YAAA,MAAA;AAAA,SACF;AAAA,OACD;AAEA,MAAA,IAAI,MAAM,OAAS,EAAA;AAClB,QAAA,GAAA,CAAI,QAAW,GAAA,MAAA,CAAA;AACf,QAAA,GAAA,CAAI,QAAW,GAAA,UAAA,CAAA;AACf,QAAA,GAAA,CAAI,KAAQ,GAAA,MAAA,CAAA;AAAA,OACb;AAGA,MAAI,IAAA,KAAA,CAAM,SAAS,YAAc,EAAA;AAChC,QAAI,GAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,OAAA,GAAU,MAAS,GAAA,aAAA,CAAA;AACrC,QAAA,GAAA,CAAI,OAAU,GAAA,cAAA,CAAA;AAAA,OACf;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,SAAS,MAAS,GAAA;AAEjB,MAAAJ,YAAA,CAAS,MAAM;AAEd,QAAgB,eAAA,EAAA,CAAA;AAGhB,QAAM,MAAA,QAAA,GAAW,IAAI,gBAAA,CAAiB,MAAM;AAC3C,UAAgB,eAAA,EAAA,CAAA;AAAA,SAChB,CAAA,CAAA;AAED,QAAA,IAAI,UAAU,KAAO,EAAA;AACpB,UAAS,QAAA,CAAA,OAAA,CAAQ,UAAU,KAAO,EAAA;AAAA,YACjC,SAAW,EAAA,IAAA;AAAA,YACX,OAAS,EAAA,IAAA;AAAA,YACT,UAAY,EAAA,IAAA;AAAA,YACZ,eAAA,EAAiB,CAAC,kBAAkB,CAAA;AAAA,WACpC,CAAA,CAAA;AAGD,UAAA,IAAI,MAAM,KAAO,EAAA;AAEhB,YAAA,UAAA,CAAW,MAAM;AAChB,cAAA,IAAI,OAAO,KAAM,CAAA,KAAA,KAAU,YAAY,OAAO,KAAA,CAAM,UAAU,QAAU,EAAA;AACvE,gBAAc,aAAA,CAAA,KAAA,CAAM,OAAO,MAAM,CAAA,CAAA;AAAA,eAClC;AAAA,eACE,GAAG,CAAA,CAAA;AAAA,WACP;AAAA,SACD;AAAA,OACA,CAAA,CAAA;AAED,MAAA,IAAI,MAAM,OAAS,EAAA;AAClB,QAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,WAAW,CAAA,CAAA;AAChD,QAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAC5C,QAAO,MAAA,CAAA,gBAAA,CAAiB,cAAc,SAAS,CAAA,CAAA;AAG/C,QAAA,IAAI,UAAU,KAAO,EAAA;AACpB,UAAU,SAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAC3D,UAAU,SAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,YAAA,EAAc,YAAY,CAAA,CAAA;AAAA,SAC5D;AAGA,QAAAA,YAAA,CAAS,MAAM;AACd,UAAsB,qBAAA,EAAA,CAAA;AAAA,SACtB,CAAA,CAAA;AAAA,OACF;AAAA,KACD;AAGA,IAAa,QAAA,CAAA;AAAA,MACZ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,qBAAA;AAAA,MACA,MAAA;AAAA,KACA,CAAA,CAAA;;4BAxvBA,EAAAK,sBAAA;AAAA,QAgBM,KAAA;AAAA,QAAA;AAAA,UAhBD,OAAKC,kBAAA,CAAA,CAAC,WAAoB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,UAAG,KAAA,oBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;;UACxDC,uBAAe,wCAAA,CAAA;AAAA,UACJ,KAAA,CAAM,0BAAjB,EAAAF,sBAAA;AAAA,YAEM,KAAA;AAAA,YAAA;AAAA;cAFoB,2BAAM,eAAA,EAAe,CAAU,uBAA2B,EAAA,MAAA,EAAA,YAAA,KAAe,IAAA,UAAA,CAAU,KAAA,EAAA,CAAA,CAAA,CAAA;AAAA;;cAC5GG,sBAAA;AAAA,gBAAoG,KAAA;AAAA,gBAAA;AAAA,yBAA3F,EAAA,UAAA;AAAA,kBAAJ,GAAI,EAAA,QAAA;AAAA,kBAAW,KAAM,EAAA,iBAAA;AAAA,kBAAmB,KAAA,oBAAO,CAAA,UAAA,CAAU,KAAA,CAAA;AAAA,kBAAG,WAAW,EAAA,gBAAA;AAAA;;;;;;;;;UAG7ED,uBAAc,kCAAA,CAAA;AAAA,UACH,KAAM,CAAA,OAAA,IAAW,mBAAmB,CAAA,KAAA,mBAA/C,EAAAF,sBAAA;AAAA,YAEM,KAAA;AAAA,YAAA;AAAA;cAF2C,2BAAM,0BAAA,EAA0B,CAAU,uBAA2B,EAAA,MAAA,EAAA,YAAA,KAAe,IAAA,UAAA,CAAU,KAAA,EAAA,CAAA,CAAA,CAAA;AAAA;;cAC9IG,sBAAA;AAAA,gBAAkI,KAAA;AAAA,gBAAA;AAAA,yBAAzH,EAAA,oBAAA;AAAA,kBAAJ,GAAI,EAAA,kBAAA;AAAA,kBAAqB,KAAM,EAAA,iBAAA;AAAA,kBAAmB,KAAA,oBAAO,CAAA,oBAAA,CAAoB,KAAA,CAAA;AAAA,kBAAG,WAAW,EAAA,0BAAA;AAAA;;;;;;;;;UAGjGD,uBAAe,wCAAA,CAAA;AAAA,UACfC,sBAAA;AAAA,YAGM,KAAA;AAAA,YAAA;AAAA,qBAHG,EAAA,WAAA;AAAA,cAAJ,GAAI,EAAA,SAAA;AAAA,cAAY,KAAA,EAAMF,mBAAA,CAAA,mBAAA,EAAyE,EAAA,gBAAA,EAAA,KAAA,CAAM,OAAO,EAAA,CAAA,CAAA;AAAA,cAAjE,KAAA,oBAAO,CAAA,eAAA,CAAe,KAAA,CAAA;AAAA,cAAgD,QAAQ,EAAA,YAAA;AAAA;;cAC7HC,uBAAe,wCAAA,CAAA;AAAA,cACfE,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollPoint.vue2.js","sources":["../../../../../../packages/components/scroll/src/ScrollPoint.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToScrollPoint'\r\n});\n</script>\n<template>\r\n\t<div :id=\"'scroll-point-' + String(props.value).replace(/\\s+/g, '-')\" ref=\"pointRef\" class=\"to-scroll-point\" :class=\"{ active: isActive }\" :data-point-value=\"props.value\" :data-point-active=\"isActive ? 'true' : 'false'\">\r\n\t\t<slot></slot>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, onMounted, inject, watch, nextTick, computed, onBeforeUnmount } from 'vue'\r\nimport { scrollPointProps } from './scroll-point'\r\nimport { ScrollContext } from './scroll'\r\n\r\n\r\n\r\nconst props = defineProps(scrollPointProps)\r\n\r\nconst pointRef = ref<HTMLElement | null>(null)\r\nconst parentValue = inject<any>('scrollValue', ref(null))\r\nconst isActive = computed(() => parentValue?.value === props.value)\r\n\r\n// 处理滚动点激活事件\r\nconst handleScrollPointActive = (event: CustomEvent) => {\r\n\tif (event.detail && event.detail.value === props.value) {\r\n\t\t// 当激活状态改变时触发\r\n\t}\r\n}\r\n\r\n// 注入父滚动组件提供的上下文\r\nconst parentScroll = inject<ScrollContext | null>('ToScroll', null)\r\n\r\n// 注册滚动点到父组件\r\nconst registerToParent = () => {\r\n\tif (parentScroll && pointRef.value) {\r\n\t\tparentScroll.registerScrollPoint(pointRef.value, props.value)\r\n\t} else {\r\n\t\t// 无法注册到父组件\r\n\t}\r\n}\r\n\r\n// 在挂载后注册自身到父组件\r\nonMounted(() => {\r\n\t// 等待 DOM 更新完成后注册\r\n\tnextTick(() => {\r\n\t\tregisterToParent()\r\n\r\n\t\t// 添加自定义事件监听\r\n\t\tif (pointRef.value) {\r\n\t\t\tpointRef.value.addEventListener('scroll-point-active', handleScrollPointActive as EventListener)\r\n\t\t}\r\n\t})\r\n})\r\n\r\n// 组件销毁前移除事件监听\r\nonBeforeUnmount(() => {\r\n\tif (pointRef.value) {\r\n\t\tpointRef.value.removeEventListener('scroll-point-active', handleScrollPointActive as EventListener)\r\n\t}\r\n})\r\n\r\n// 监听值变化,更新数据属性\r\nwatch(\r\n\t() => props.value,\r\n\t() => {\r\n\t\tnextTick(() => {\r\n\t\t\tregisterToParent()\r\n\t\t})\r\n\t}\r\n)\r\n\r\n// 监听父组件的值变化\r\nwatch(\r\n\t() => parentValue?.value,\r\n\t() => {\r\n\t\t// 当父值变化时,会自动通过computed属性更新isActive状态\r\n\t}\r\n)\r\n\r\n// 导出方法供父组件调用\r\ndefineExpose({\r\n\tpointRef,\r\n\tgetValue: () => props.value\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","ref","inject","computed","onMounted","nextTick","onBeforeUnmount","watch","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;AAEA,MAAA,cAA6BA,mBAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,eAAA;AACP,CAAC,CAAA,CAAA;;;;;AAeD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAWC,QAAwB,IAAI,CAAA,CAAA;AAC7C,IAAA,MAAM,WAAc,GAAAC,UAAA,CAAY,aAAe,EAAAD,OAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AACxD,IAAA,MAAM,WAAWE,YAAS,CAAA,MAAA,CAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,MAAU,MAAM,KAAK,CAAA,CAAA;AAGlE,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAuB,KAAA;AACvD,MAAA,IAAI,MAAM,MAAU,IAAA,KAAA,CAAM,MAAO,CAAA,KAAA,KAAU,MAAM,KAAO,EAAA,CAExD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,YAAA,GAAeD,UAA6B,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAGlE,IAAA,MAAM,mBAAmB,MAAM;AAC9B,MAAI,IAAA,YAAA,IAAgB,SAAS,KAAO,EAAA;AACnC,QAAA,YAAA,CAAa,mBAAoB,CAAA,QAAA,CAAS,KAAO,EAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,OAG7D;AAAA,KACD,CAAA;AAGA,IAAAE,aAAA,CAAU,MAAM;AAEf,MAAAC,YAAA,CAAS,MAAM;AACd,QAAiB,gBAAA,EAAA,CAAA;AAGjB,QAAA,IAAI,SAAS,KAAO,EAAA;AACnB,UAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,SAChG;AAAA,OACA,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAAC,mBAAA,CAAgB,MAAM;AACrB,MAAA,IAAI,SAAS,KAAO,EAAA;AACnB,QAAS,QAAA,CAAA,KAAA,CAAM,mBAAoB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,OACnG;AAAA,KACA,CAAA,CAAA;AAGD,IAAAC,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,MAAM;AACL,QAAAF,YAAA,CAAS,MAAM;AACd,UAAiB,gBAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAGA,IAAAE,SAAA;AAAA,MACC,MAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA;AAAA,MACnB,MAAM;AAAA,OAEN;AAAA,KACD,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACZ,QAAA;AAAA,MACA,QAAA,EAAU,MAAM,KAAM,CAAA,KAAA;AAAA,KACtB,CAAA,CAAA;;4BA/EA,EAAAC,sBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,EAAA,oBAAsB,MAAO,CAAA,KAAA,CAAM,KAAK,CAAE,CAAA,OAAA,CAAO,QAAA,GAAA,CAAA;AAAA,eAAmB,EAAA,UAAA;AAAA,QAAJ,GAAI,EAAA,QAAA;AAAA,QAAW,KAAA,EAAKC,mBAAA,CAAC,iBAAA,EAAiB,EAAA,MAAmB,EAAA,QAAA,CAAQ,KAAA,EAAA,CAAA,CAAA;AAAA,QAAK,oBAAkB,KAAM,CAAA,KAAA;AAAA,QAAQ,mBAAA,EAAmB,QAAQ,CAAA,KAAA,GAAA,MAAA,GAAA,OAAA;AAAA;QACtMC,cAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"ScrollPoint.vue2.js","sources":["../../../../../../packages/components/scroll/src/ScrollPoint.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScrollPoint'\n});\n</script>\n<template>\n\t<div :id=\"'scroll-point-' + String(props.value).replace(/\\s+/g, '-')\" ref=\"pointRef\" class=\"to-scroll-point\" :class=\"{ active: isActive }\" :data-point-value=\"props.value\" :data-point-active=\"isActive ? 'true' : 'false'\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, onMounted, inject, watch, nextTick, computed, onBeforeUnmount } from 'vue'\nimport { scrollPointProps } from './scroll-point'\nimport { ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollPointProps)\n\nconst pointRef = ref<HTMLElement | null>(null)\nconst parentValue = inject<any>('scrollValue', ref(null))\nconst isActive = computed(() => parentValue?.value === props.value)\n\n// 处理滚动点激活事件\nconst handleScrollPointActive = (event: CustomEvent) => {\n\tif (event.detail && event.detail.value === props.value) {\n\t\t// 当激活状态改变时触发\n\t}\n}\n\n// 注入父滚动组件提供的上下文\nconst parentScroll = inject<ScrollContext | null>('ToScroll', null)\n\n// 注册滚动点到父组件\nconst registerToParent = () => {\n\tif (parentScroll && pointRef.value) {\n\t\tparentScroll.registerScrollPoint(pointRef.value, props.value)\n\t} else {\n\t\t// 无法注册到父组件\n\t}\n}\n\n// 在挂载后注册自身到父组件\nonMounted(() => {\n\t// 等待 DOM 更新完成后注册\n\tnextTick(() => {\n\t\tregisterToParent()\n\n\t\t// 添加自定义事件监听\n\t\tif (pointRef.value) {\n\t\t\tpointRef.value.addEventListener('scroll-point-active', handleScrollPointActive as EventListener)\n\t\t}\n\t})\n})\n\n// 组件销毁前移除事件监听\nonBeforeUnmount(() => {\n\tif (pointRef.value) {\n\t\tpointRef.value.removeEventListener('scroll-point-active', handleScrollPointActive as EventListener)\n\t}\n})\n\n// 监听值变化,更新数据属性\nwatch(\n\t() => props.value,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tregisterToParent()\n\t\t})\n\t}\n)\n\n// 监听父组件的值变化\nwatch(\n\t() => parentValue?.value,\n\t() => {\n\t\t// 当父值变化时,会自动通过computed属性更新isActive状态\n\t}\n)\n\n// 导出方法供父组件调用\ndefineExpose({\n\tpointRef,\n\tgetValue: () => props.value\n})\n</script>\n"],"names":["DO_defineComponent","ref","inject","computed","onMounted","nextTick","onBeforeUnmount","watch","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;AAEA,MAAA,cAA6BA,mBAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,eAAA;AACP,CAAC,CAAA,CAAA;;;;;AAeD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAWC,QAAwB,IAAI,CAAA,CAAA;AAC7C,IAAA,MAAM,WAAc,GAAAC,UAAA,CAAY,aAAe,EAAAD,OAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AACxD,IAAA,MAAM,WAAWE,YAAS,CAAA,MAAA,CAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,MAAU,MAAM,KAAK,CAAA,CAAA;AAGlE,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAuB,KAAA;AACvD,MAAA,IAAI,MAAM,MAAU,IAAA,KAAA,CAAM,MAAO,CAAA,KAAA,KAAU,MAAM,KAAO,EAAA,CAExD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,YAAA,GAAeD,UAA6B,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAGlE,IAAA,MAAM,mBAAmB,MAAM;AAC9B,MAAI,IAAA,YAAA,IAAgB,SAAS,KAAO,EAAA;AACnC,QAAA,YAAA,CAAa,mBAAoB,CAAA,QAAA,CAAS,KAAO,EAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,OAG7D;AAAA,KACD,CAAA;AAGA,IAAAE,aAAA,CAAU,MAAM;AAEf,MAAAC,YAAA,CAAS,MAAM;AACd,QAAiB,gBAAA,EAAA,CAAA;AAGjB,QAAA,IAAI,SAAS,KAAO,EAAA;AACnB,UAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,SAChG;AAAA,OACA,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAAC,mBAAA,CAAgB,MAAM;AACrB,MAAA,IAAI,SAAS,KAAO,EAAA;AACnB,QAAS,QAAA,CAAA,KAAA,CAAM,mBAAoB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,OACnG;AAAA,KACA,CAAA,CAAA;AAGD,IAAAC,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,MAAM;AACL,QAAAF,YAAA,CAAS,MAAM;AACd,UAAiB,gBAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAGA,IAAAE,SAAA;AAAA,MACC,MAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA;AAAA,MACnB,MAAM;AAAA,OAEN;AAAA,KACD,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACZ,QAAA;AAAA,MACA,QAAA,EAAU,MAAM,KAAM,CAAA,KAAA;AAAA,KACtB,CAAA,CAAA;;4BA/EA,EAAAC,sBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,EAAA,oBAAsB,MAAO,CAAA,KAAA,CAAM,KAAK,CAAE,CAAA,OAAA,CAAO,QAAA,GAAA,CAAA;AAAA,eAAmB,EAAA,UAAA;AAAA,QAAJ,GAAI,EAAA,QAAA;AAAA,QAAW,KAAA,EAAKC,mBAAA,CAAC,iBAAA,EAAiB,EAAA,MAAmB,EAAA,QAAA,CAAQ,KAAA,EAAA,CAAA,CAAA;AAAA,QAAK,oBAAkB,KAAM,CAAA,KAAA;AAAA,QAAQ,mBAAA,EAAmB,QAAQ,CAAA,KAAA,GAAA,MAAA,GAAA,OAAA;AAAA;QACtMC,cAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-point.js","sources":["../../../../../../packages/components/scroll/src/scroll-point.ts"],"sourcesContent":["import { ExtractPropTypes } from 'vue'\r\n\r\nexport const scrollPointProps = {\r\n\t/**\r\n\t * 滚动点的标识值\r\n\t */\r\n\tvalue: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: '',\r\n\t},\r\n}\r\n\r\nexport type ScrollPointProps = ExtractPropTypes<typeof scrollPointProps>\r\n\r\nexport interface ScrollPointInstance {\r\n\t/**\r\n\t * 滚动点的DOM引用\r\n\t */\r\n\tpointRef: HTMLElement | null\r\n\t/**\r\n\t * 获取滚动点的标识值\r\n\t */\r\n\tgetValue: () => string | number\r\n}\r\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAmB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,KAAO,EAAA;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AACD;;;;"}
1
+ {"version":3,"file":"scroll-point.js","sources":["../../../../../../packages/components/scroll/src/scroll-point.ts"],"sourcesContent":["import { ExtractPropTypes } from 'vue'\n\nexport const scrollPointProps = {\n\t/**\n\t * 滚动点的标识值\n\t */\n\tvalue: {\n\t\ttype: [String, Number],\n\t\tdefault: '',\n\t},\n}\n\nexport type ScrollPointProps = ExtractPropTypes<typeof scrollPointProps>\n\nexport interface ScrollPointInstance {\n\t/**\n\t * 滚动点的DOM引用\n\t */\n\tpointRef: HTMLElement | null\n\t/**\n\t * 获取滚动点的标识值\n\t */\n\tgetValue: () => string | number\n}\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAmB,GAAA;AAAA;AAAA;AAAA;AAAA,EAI/B,KAAO,EAAA;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACV;AACD;;;;"}