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

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 (303) hide show
  1. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  2. package/es/components/calendar/src/calendar.d.ts +4 -0
  3. package/es/components/calendar/src/calendar.vue.d.ts +9 -0
  4. package/es/components/checkboxes/src/Checkboxes.vue.d.ts +2 -0
  5. package/es/components/ellipsis/index.d.ts +15 -0
  6. package/es/components/ellipsis/src/Ellipsis.vue.d.ts +9 -0
  7. package/es/components/grid/src/grid-item.vue.d.ts +2 -0
  8. package/es/components/timeline/src/timeline.d.ts +1 -1
  9. package/es/components/timeline/src/timeline.vue.d.ts +1 -1
  10. package/es/hooks/useSetClass.d.ts +4 -0
  11. package/es/index.d.mjs +1 -1
  12. package/es/index.mjs +1 -1
  13. package/es/packages/components/box/src/box.vue2.mjs +41 -2
  14. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  15. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  16. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  17. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs +3 -1
  18. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  19. package/es/packages/components/button/src/button.mjs +1 -1
  20. package/es/packages/components/button/src/button.mjs.map +1 -1
  21. package/es/packages/components/button/src/button.vue2.mjs +62 -24
  22. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  23. package/es/packages/components/calendar/src/calendar.mjs +4 -0
  24. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  25. package/es/packages/components/calendar/src/calendar.vue2.mjs +210 -232
  26. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  27. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -1
  28. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  29. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +2 -1
  30. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  31. package/es/packages/components/center-scroll/src/center-scroll.mjs +1 -1
  32. package/es/packages/components/center-scroll/src/center-scroll.mjs.map +1 -1
  33. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +14 -11
  34. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  35. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +8 -4
  36. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  37. package/es/packages/components/collapse/src/collapse.vue2.mjs +2 -1
  38. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  39. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +4 -5
  40. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  41. package/es/packages/components/daterange/src/date-range.vue2.mjs +30 -10
  42. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  43. package/es/packages/components/dialog/src/Dialog.vue2.mjs +2 -1
  44. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  45. package/es/packages/components/dialog/src/dialog.mjs +1 -1
  46. package/es/packages/components/dialog/src/dialog.mjs.map +1 -1
  47. package/es/packages/components/divider/src/divider.vue2.mjs +2 -1
  48. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  49. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs +4 -0
  50. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs.map +1 -1
  51. package/es/packages/components/export/src/export.vue2.mjs +2 -1
  52. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  53. package/es/packages/components/fix/src/Fix.vue2.mjs +2 -1
  54. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  55. package/es/packages/components/float/src/Float.vue2.mjs +2 -1
  56. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  57. package/es/packages/components/float/src/float.mjs +1 -1
  58. package/es/packages/components/float/src/float.mjs.map +1 -1
  59. package/es/packages/components/form/src/form.vue2.mjs +3 -2
  60. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  61. package/es/packages/components/gap/src/gap.vue2.mjs +2 -1
  62. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  63. package/es/packages/components/grid/src/grid-item.vue2.mjs +11 -4
  64. package/es/packages/components/grid/src/grid-item.vue2.mjs.map +1 -1
  65. package/es/packages/components/grid/src/grid.vue2.mjs +2 -1
  66. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  67. package/es/packages/components/guider/src/guider.vue2.mjs +3 -2
  68. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  69. package/es/packages/components/header/src/header.vue2.mjs +2 -1
  70. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  71. package/es/packages/components/icon/src/icon.vue2.mjs +2 -1
  72. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  73. package/es/packages/components/import/src/import.vue2.mjs +27 -29
  74. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  75. package/es/packages/components/input/src/input.vue2.mjs +9 -8
  76. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  77. package/es/packages/components/msg/src/msg.vue2.mjs +2 -1
  78. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  79. package/es/packages/components/padding/src/padding.vue2.mjs +3 -2
  80. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  81. package/es/packages/components/page/src/page.vue2.mjs +8 -7
  82. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  83. package/es/packages/components/param/src/Param.vue2.mjs +2 -1
  84. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  85. package/es/packages/components/param/src/param.mjs +1 -1
  86. package/es/packages/components/param/src/param.mjs.map +1 -1
  87. package/es/packages/components/pic/src/Pic.vue2.mjs +2 -1
  88. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  89. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  90. package/es/packages/components/progress/src/Progress.vue2.mjs +2 -1
  91. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  92. package/es/packages/components/range/src/range.vue2.mjs +2 -1
  93. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  94. package/es/packages/components/rate/src/rate.vue2.mjs +4 -3
  95. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  96. package/es/packages/components/scroll/src/Scroll.vue2.mjs +2 -1
  97. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  98. package/es/packages/components/scroll/src/scroll.mjs +1 -1
  99. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  100. package/es/packages/components/segment/src/segment.vue.mjs +2 -1
  101. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  102. package/es/packages/components/select/src/hooks/use-select-class-style.mjs +2 -3
  103. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  104. package/es/packages/components/select/src/select.vue2.mjs +2 -3
  105. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  106. package/es/packages/components/slide/src/slide.vue2.mjs +2 -1
  107. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  108. package/es/packages/components/step/src/step.vue2.mjs +2 -1
  109. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  110. package/es/packages/components/switch/src/switch.vue2.mjs +2 -1
  111. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  112. package/es/packages/components/tab/src/tab.vue2.mjs +5 -1
  113. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  114. package/es/packages/components/table/src/table.vue2.mjs +2 -1
  115. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  116. package/es/packages/components/tag/src/tag.vue2.mjs +41 -2
  117. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  118. package/es/packages/components/text/src/text.vue2.mjs +16 -4
  119. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  120. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  121. package/es/packages/components/timeline/src/timeline.vue2.mjs +3 -2
  122. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  123. package/es/packages/components/tip/index.mjs +1 -1
  124. package/es/packages/components/tip/index.mjs.map +1 -1
  125. package/es/packages/components/tip/src/tip.vue2.mjs +2 -1
  126. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  127. package/es/packages/components/tooltip/src/tooltip.mjs +1 -1
  128. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  129. package/es/packages/components/tooltip/src/tooltip.vue2.mjs +2 -1
  130. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  131. package/es/packages/components/transfer/src/transfer.vue2.mjs +2 -1
  132. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  133. package/es/packages/components/tree/src/tree.vue2.mjs +2 -1
  134. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  135. package/es/packages/components/upload/src/upload.vue2.mjs +2 -1
  136. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  137. package/es/packages/directives/dis/src/dis.mjs +5 -0
  138. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  139. package/es/packages/hooks/index.d.mjs +1 -1
  140. package/es/packages/hooks/index.mjs +1 -1
  141. package/es/packages/hooks/useSetClass.mjs +5 -2
  142. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  143. package/es/packages/locale/lang/en-US.mjs +1 -0
  144. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  145. package/es/packages/locale/lang/zh-CN.mjs +1 -0
  146. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  147. package/es/utils/constants/base.d.ts +1 -1
  148. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  149. package/lib/components/calendar/src/calendar.d.ts +4 -0
  150. package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
  151. package/lib/components/checkboxes/src/Checkboxes.vue.d.ts +2 -0
  152. package/lib/components/ellipsis/index.d.ts +15 -0
  153. package/lib/components/ellipsis/src/Ellipsis.vue.d.ts +9 -0
  154. package/lib/components/grid/src/grid-item.vue.d.ts +2 -0
  155. package/lib/components/timeline/src/timeline.d.ts +1 -1
  156. package/lib/components/timeline/src/timeline.vue.d.ts +1 -1
  157. package/lib/hooks/useSetClass.d.ts +4 -0
  158. package/lib/index.d.js +1 -0
  159. package/lib/index.d.js.map +1 -1
  160. package/lib/index.js +1 -0
  161. package/lib/index.js.map +1 -1
  162. package/lib/packages/components/box/src/box.vue2.js +40 -1
  163. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  164. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  165. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  166. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js +3 -1
  167. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  168. package/lib/packages/components/button/src/button.js +1 -1
  169. package/lib/packages/components/button/src/button.js.map +1 -1
  170. package/lib/packages/components/button/src/button.vue2.js +61 -23
  171. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  172. package/lib/packages/components/calendar/src/calendar.js +4 -0
  173. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  174. package/lib/packages/components/calendar/src/calendar.vue2.js +210 -232
  175. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  176. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -1
  177. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  178. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +2 -1
  179. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  180. package/lib/packages/components/center-scroll/src/center-scroll.js +1 -1
  181. package/lib/packages/components/center-scroll/src/center-scroll.js.map +1 -1
  182. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +14 -11
  183. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  184. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +7 -3
  185. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  186. package/lib/packages/components/collapse/src/collapse.vue2.js +2 -1
  187. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  188. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +4 -5
  189. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  190. package/lib/packages/components/daterange/src/date-range.vue2.js +29 -9
  191. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  192. package/lib/packages/components/dialog/src/Dialog.vue2.js +2 -1
  193. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  194. package/lib/packages/components/dialog/src/dialog.js +1 -1
  195. package/lib/packages/components/dialog/src/dialog.js.map +1 -1
  196. package/lib/packages/components/divider/src/divider.vue2.js +2 -1
  197. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  198. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js +4 -0
  199. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js.map +1 -1
  200. package/lib/packages/components/export/src/export.vue2.js +2 -1
  201. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  202. package/lib/packages/components/fix/src/Fix.vue2.js +2 -1
  203. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  204. package/lib/packages/components/float/src/Float.vue2.js +2 -1
  205. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  206. package/lib/packages/components/float/src/float.js +1 -1
  207. package/lib/packages/components/float/src/float.js.map +1 -1
  208. package/lib/packages/components/form/src/form.vue2.js +3 -2
  209. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  210. package/lib/packages/components/gap/src/gap.vue2.js +2 -1
  211. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  212. package/lib/packages/components/grid/src/grid-item.vue2.js +10 -3
  213. package/lib/packages/components/grid/src/grid-item.vue2.js.map +1 -1
  214. package/lib/packages/components/grid/src/grid.vue2.js +2 -1
  215. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  216. package/lib/packages/components/guider/src/guider.vue2.js +3 -2
  217. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  218. package/lib/packages/components/header/src/header.vue2.js +2 -1
  219. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  220. package/lib/packages/components/icon/src/icon.vue2.js +2 -1
  221. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  222. package/lib/packages/components/import/src/import.vue2.js +26 -28
  223. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  224. package/lib/packages/components/input/src/input.vue2.js +9 -8
  225. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  226. package/lib/packages/components/msg/src/msg.vue2.js +2 -1
  227. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  228. package/lib/packages/components/padding/src/padding.vue2.js +3 -2
  229. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  230. package/lib/packages/components/page/src/page.vue2.js +7 -6
  231. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  232. package/lib/packages/components/param/src/Param.vue2.js +2 -1
  233. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  234. package/lib/packages/components/param/src/param.js +1 -1
  235. package/lib/packages/components/param/src/param.js.map +1 -1
  236. package/lib/packages/components/pic/src/Pic.vue2.js +2 -1
  237. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  238. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  239. package/lib/packages/components/progress/src/Progress.vue2.js +2 -1
  240. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  241. package/lib/packages/components/range/src/range.vue2.js +2 -1
  242. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  243. package/lib/packages/components/rate/src/rate.vue2.js +3 -2
  244. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  245. package/lib/packages/components/scroll/src/Scroll.vue2.js +2 -1
  246. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  247. package/lib/packages/components/scroll/src/scroll.js +1 -1
  248. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  249. package/lib/packages/components/segment/src/segment.vue.js +2 -1
  250. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  251. package/lib/packages/components/select/src/hooks/use-select-class-style.js +2 -3
  252. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  253. package/lib/packages/components/select/src/select.vue2.js +2 -3
  254. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  255. package/lib/packages/components/slide/src/slide.vue2.js +2 -1
  256. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  257. package/lib/packages/components/step/src/step.vue2.js +2 -1
  258. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  259. package/lib/packages/components/switch/src/switch.vue2.js +2 -1
  260. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  261. package/lib/packages/components/tab/src/tab.vue2.js +5 -1
  262. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  263. package/lib/packages/components/table/src/table.vue2.js +2 -1
  264. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  265. package/lib/packages/components/tag/src/tag.vue2.js +40 -1
  266. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  267. package/lib/packages/components/text/src/text.vue2.js +15 -3
  268. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  269. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  270. package/lib/packages/components/timeline/src/timeline.vue2.js +3 -2
  271. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  272. package/lib/packages/components/tip/index.js +1 -1
  273. package/lib/packages/components/tip/index.js.map +1 -1
  274. package/lib/packages/components/tip/src/tip.vue2.js +2 -1
  275. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  276. package/lib/packages/components/tooltip/src/tooltip.js +1 -1
  277. package/lib/packages/components/tooltip/src/tooltip.js.map +1 -1
  278. package/lib/packages/components/tooltip/src/tooltip.vue2.js +2 -1
  279. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  280. package/lib/packages/components/transfer/src/transfer.vue2.js +2 -1
  281. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  282. package/lib/packages/components/tree/src/tree.vue2.js +2 -1
  283. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  284. package/lib/packages/components/upload/src/upload.vue2.js +2 -1
  285. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  286. package/lib/packages/directives/dis/src/dis.js +5 -0
  287. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  288. package/lib/packages/hooks/index.d.js +1 -0
  289. package/lib/packages/hooks/index.d.js.map +1 -1
  290. package/lib/packages/hooks/index.js +1 -0
  291. package/lib/packages/hooks/index.js.map +1 -1
  292. package/lib/packages/hooks/useSetClass.js +5 -1
  293. package/lib/packages/hooks/useSetClass.js.map +1 -1
  294. package/lib/packages/locale/lang/en-US.js +1 -0
  295. package/lib/packages/locale/lang/en-US.js.map +1 -1
  296. package/lib/packages/locale/lang/zh-CN.js +1 -0
  297. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  298. package/lib/utils/constants/base.d.ts +1 -1
  299. package/package.json +1 -1
  300. package/theme/components/index.css +529 -237
  301. package/theme/img/loading.png +0 -0
  302. package/theme/index.css +529 -237
  303. package/theme/skin/default.css +529 -237
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, ref, computed, watch, onMounted, nextTick, onBeforeUnmount, resolveComponent, withDirectives, openBlock, createElementBlock, unref, normalizeClass, createElementVNode, normalizeStyle, createVNode, withCtx, createBlock, createCommentVNode, toDisplayString, Fragment, createTextVNode, vShow } from 'vue';
2
2
  import { langKey, t } from '../../../locale/index.mjs';
3
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
3
4
 
4
5
  const __default__ = defineComponent({
5
6
  name: "ToGuider",
@@ -10,7 +11,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
10
11
  props: {
11
12
  data: { default: () => [] },
12
13
  auto: { type: Boolean, default: false },
13
- mode: { default: "" },
14
+ mode: { default: "default" },
14
15
  pic: { default: "" }
15
16
  },
16
17
  emits: ["opened", "closed", "complete"],
@@ -32,7 +33,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
32
33
  const setClass = computed(() => {
33
34
  let arr = [];
34
35
  if (props.mode) {
35
- arr.push(`mode-${props.mode}`);
36
+ arr.push(...getModeClasses(props.mode));
36
37
  }
37
38
  return arr;
38
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"guider.vue2.mjs","sources":["../../../../../../packages/components/guider/src/guider.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGuider',\n\tcomponentName: 'ToGuider'\n});\n</script>\n<template>\n\t<div v-show=\"show\" :key=\"langKey\" class=\"to-guider\" :class=\"setClass\">\n\t\t<div class=\"to-guider-bg\" :style=\"bg0Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg1Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg2Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg3Style\"></div>\n\t\t<to-tooltip v-show=\"show\" ref=\"tooltipRef\" class=\"to-guider-tip\" :readonly=\"false\" color=\"bg\" shadow :close-on-blur=\"false\" :is-scroll-close=\"false\" width=\"35\">\n\t\t\t<to-pic v-if=\"props.pic\" class=\"to-guider-pic\" :src=\"props.pic\"></to-pic>\n\t\t\t<div class=\"to-guider-content\">\n\t\t\t\t<div v-if=\"title\" class=\"to-guider-title\">\n\t\t\t\t\t<div class=\"to-guider-title-text\">{{ title }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"to-guider-desc\">\n\t\t\t\t\t<div class=\"to-guider-desc-text\" v-html=\"desc\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"to-guider-fn\">\n\t\t\t\t\t<to-checkbox v-model=\"isNever\" class=\"to-guider-checkbox\" :label=\"t('to.guider.dontShowAgain')\"></to-checkbox>\n\t\t\t\t\t<template v-if=\"step + 1 === data.length\">\n\t\t\t\t\t\t<to-button class=\"to-guider-restart\" @click=\"handleRestart\">{{ t('to.guider.restart') }}</to-button>\n\t\t\t\t\t\t<to-button class=\"to-guider-finish\" @click=\"handleComplete\">{{ t('to.guider.finish') }}</to-button>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<to-button class=\"to-guider-skip\" @click=\"handleClose\">{{ t('to.guider.skip') }}</to-button>\n\t\t\t\t\t\t<to-button class=\"to-guider-next\" @click=\"handleNext\">{{ t('to.guider.next') }}</to-button>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</to-tooltip>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, nextTick, computed } from 'vue'\nimport { t, langKey } from '@touchvue/locale'\n\n// 假设的类型定义\ninterface GuideStep {\n\tid: string\n\tdesc?: string\n\ttitle?: string\n\tpic?: string\n}\n\ninterface TooltipInstance {\n\topen: (el: HTMLElement) => void\n\twarning: (msg: string) => void\n}\n\n// Props 定义\ninterface Props {\n\tdata?: GuideStep[]\n\tauto?: boolean\n\tmode?: string\n\tpic?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdata: () => [],\n\tauto: false,\n\tmode: '',\n\tpic: ''\n})\n\n// Emits 定义\nconst emit = defineEmits<{\n\t(e: 'opened'): void\n\t(e: 'closed', isNever: boolean, completed: boolean): void\n\t(e: 'complete', isNever: boolean, completed: boolean): void\n}>()\n\n// 组件名称\n\n\n// 响应式数据\nconst isNever = ref(false)\nconst title = ref('')\nconst desc = ref('')\nconst show = ref(false)\nconst bg0Style = ref({})\nconst bg1Style = ref({})\nconst bg2Style = ref({})\nconst bg3Style = ref({})\nconst el = ref<HTMLElement | null>(null)\nconst step = ref(0)\nlet timer: number | null = null\n\n// 模板引用\nconst tooltipRef = ref<TooltipInstance | null>(null)\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(step, () => {\n\tinit()\n})\n\n// 生命周期钩子\nonMounted(() => {\n\t// 注意:在 Vue 3 中,需要确保组件正确挂载到 DOM\n\tif (document.body && typeof document.body.appendChild === 'function') {\n\t\tdocument.body.appendChild(document.createElement('div')) // 这里需要根据实际情况调整\n\t}\n\n\tnextTick(() => {\n\t\tif (props.auto && !isNever.value) {\n\t\t\topen()\n\t\t}\n\t\tinit(200)\n\t})\n\n\twindow.addEventListener('resize', resize)\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\n// 方法定义\nconst destroy = () => {\n\t// 这里需要根据实际挂载方式调整\n\tif (timer) {\n\t\tclearTimeout(timer)\n\t\ttimer = null\n\t}\n\twindow.removeEventListener('resize', resize)\n}\n\nconst resize = () => {\n\ttimer = window.setTimeout(() => {\n\t\tinit()\n\t\tif (timer) {\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}\n\t}, 200)\n}\n\nconst init = (during?: number) => {\n\tlet delay = 0\n\tif (during) {\n\t\tdelay = during\n\t}\n\n\tconst currentStep = props.data[step.value]\n\tif (!currentStep) return\n\n\tconst id = currentStep.id\n\tel.value = document.getElementById(id)\n\n\t// if (el.value && el.value.scrollIntoView) {\n\t// \tel.value.scrollIntoView()\n\t// } else {\n\t// \tif (step.value < props.data.length - 1) {\n\t// \t\tstep.value += 1\n\t// \t}\n\t// \ttooltipRef.value?.warning(id + ' 元素未找到')\n\t// }\n\n\tdesc.value = currentStep.desc\n\ttitle.value = currentStep.title || ''\n\n\tconst innerTimer = setTimeout(() => {\n\t\tlet left = 0\n\t\tlet top = 0\n\n\t\tif (el.value && el.value.getBoundingClientRect) {\n\t\t\tleft = el.value.getBoundingClientRect().left\n\t\t\ttop = el.value.getBoundingClientRect().top\n\t\t}\n\n\t\tconst width = el.value?.offsetWidth || 0\n\t\tconst height = el.value?.offsetHeight || 0\n\n\t\tbg0Style.value = {\n\t\t\twidth: left + 'px'\n\t\t}\n\n\t\tbg1Style.value = {\n\t\t\tleft: left + 'px',\n\t\t\twidth: width + 'px',\n\t\t\theight: top + 'px'\n\t\t}\n\n\t\tbg2Style.value = {\n\t\t\tleft: left + 'px',\n\t\t\twidth: width + 'px',\n\t\t\ttop: top + height + 'px'\n\t\t}\n\n\t\tbg3Style.value = {\n\t\t\tleft: left + width + 'px'\n\t\t}\n\n\t\tif (el.value) {\n\t\t\ttooltipRef.value?.open(el.value)\n\t\t}\n\n\t\tclearTimeout(innerTimer)\n\t}, delay)\n}\n\nconst open = () => {\n\tshow.value = true\n\temit('opened')\n\n\tnextTick(() => {\n\t\tstep.value = 0\n\t\tinit()\n\t})\n}\n\n// 新增明确的事件处理函数\nconst handleNext = () => {\n\tstep.value++\n}\n\nconst handleClose = () => {\n\tclose()\n}\n\nconst handleComplete = () => {\n\tcomplete()\n}\n\nconst handleRestart = () => {\n\tstep.value = 0\n}\n\nconst close = () => {\n\tshow.value = false\n\temit('closed', isNever.value, false)\n}\n\nconst complete = () => {\n\tclose()\n\temit('complete', isNever.value, true)\n}\n// 暴露方法\ndefineExpose({ open, close })\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createVNode","_createBlock","data","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"guider.vue2.mjs","sources":["../../../../../../packages/components/guider/src/guider.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGuider',\n\tcomponentName: 'ToGuider'\n});\n</script>\n<template>\n\t<div v-show=\"show\" :key=\"langKey\" class=\"to-guider\" :class=\"setClass\">\n\t\t<div class=\"to-guider-bg\" :style=\"bg0Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg1Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg2Style\"></div>\n\t\t<div class=\"to-guider-bg\" :style=\"bg3Style\"></div>\n\t\t<to-tooltip v-show=\"show\" ref=\"tooltipRef\" class=\"to-guider-tip\" :readonly=\"false\" color=\"bg\" shadow :close-on-blur=\"false\" :is-scroll-close=\"false\" width=\"35\">\n\t\t\t<to-pic v-if=\"props.pic\" class=\"to-guider-pic\" :src=\"props.pic\"></to-pic>\n\t\t\t<div class=\"to-guider-content\">\n\t\t\t\t<div v-if=\"title\" class=\"to-guider-title\">\n\t\t\t\t\t<div class=\"to-guider-title-text\">{{ title }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"to-guider-desc\">\n\t\t\t\t\t<div class=\"to-guider-desc-text\" v-html=\"desc\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"to-guider-fn\">\n\t\t\t\t\t<to-checkbox v-model=\"isNever\" class=\"to-guider-checkbox\" :label=\"t('to.guider.dontShowAgain')\"></to-checkbox>\n\t\t\t\t\t<template v-if=\"step + 1 === data.length\">\n\t\t\t\t\t\t<to-button class=\"to-guider-restart\" @click=\"handleRestart\">{{ t('to.guider.restart') }}</to-button>\n\t\t\t\t\t\t<to-button class=\"to-guider-finish\" @click=\"handleComplete\">{{ t('to.guider.finish') }}</to-button>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<to-button class=\"to-guider-skip\" @click=\"handleClose\">{{ t('to.guider.skip') }}</to-button>\n\t\t\t\t\t\t<to-button class=\"to-guider-next\" @click=\"handleNext\">{{ t('to.guider.next') }}</to-button>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</to-tooltip>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, nextTick, computed } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { t, langKey } from '@touchvue/locale'\n\n// 假设的类型定义\ninterface GuideStep {\n\tid: string\n\tdesc?: string\n\ttitle?: string\n\tpic?: string\n}\n\ninterface TooltipInstance {\n\topen: (el: HTMLElement) => void\n\twarning: (msg: string) => void\n}\n\n// Props 定义\ninterface Props {\n\tdata?: GuideStep[]\n\tauto?: boolean\n\tmode?: string\n\tpic?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdata: () => [],\n\tauto: false,\n\tmode: 'default',\n\tpic: ''\n})\n\n// Emits 定义\nconst emit = defineEmits<{\n\t(e: 'opened'): void\n\t(e: 'closed', isNever: boolean, completed: boolean): void\n\t(e: 'complete', isNever: boolean, completed: boolean): void\n}>()\n\n// 组件名称\n\n\n// 响应式数据\nconst isNever = ref(false)\nconst title = ref('')\nconst desc = ref('')\nconst show = ref(false)\nconst bg0Style = ref({})\nconst bg1Style = ref({})\nconst bg2Style = ref({})\nconst bg3Style = ref({})\nconst el = ref<HTMLElement | null>(null)\nconst step = ref(0)\nlet timer: number | null = null\n\n// 模板引用\nconst tooltipRef = ref<TooltipInstance | null>(null)\n\nconst setClass = computed(() => {\n\tlet arr = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(step, () => {\n\tinit()\n})\n\n// 生命周期钩子\nonMounted(() => {\n\t// 注意:在 Vue 3 中,需要确保组件正确挂载到 DOM\n\tif (document.body && typeof document.body.appendChild === 'function') {\n\t\tdocument.body.appendChild(document.createElement('div')) // 这里需要根据实际情况调整\n\t}\n\n\tnextTick(() => {\n\t\tif (props.auto && !isNever.value) {\n\t\t\topen()\n\t\t}\n\t\tinit(200)\n\t})\n\n\twindow.addEventListener('resize', resize)\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\n// 方法定义\nconst destroy = () => {\n\t// 这里需要根据实际挂载方式调整\n\tif (timer) {\n\t\tclearTimeout(timer)\n\t\ttimer = null\n\t}\n\twindow.removeEventListener('resize', resize)\n}\n\nconst resize = () => {\n\ttimer = window.setTimeout(() => {\n\t\tinit()\n\t\tif (timer) {\n\t\t\tclearTimeout(timer)\n\t\t\ttimer = null\n\t\t}\n\t}, 200)\n}\n\nconst init = (during?: number) => {\n\tlet delay = 0\n\tif (during) {\n\t\tdelay = during\n\t}\n\n\tconst currentStep = props.data[step.value]\n\tif (!currentStep) return\n\n\tconst id = currentStep.id\n\tel.value = document.getElementById(id)\n\n\t// if (el.value && el.value.scrollIntoView) {\n\t// \tel.value.scrollIntoView()\n\t// } else {\n\t// \tif (step.value < props.data.length - 1) {\n\t// \t\tstep.value += 1\n\t// \t}\n\t// \ttooltipRef.value?.warning(id + ' 元素未找到')\n\t// }\n\n\tdesc.value = currentStep.desc\n\ttitle.value = currentStep.title || ''\n\n\tconst innerTimer = setTimeout(() => {\n\t\tlet left = 0\n\t\tlet top = 0\n\n\t\tif (el.value && el.value.getBoundingClientRect) {\n\t\t\tleft = el.value.getBoundingClientRect().left\n\t\t\ttop = el.value.getBoundingClientRect().top\n\t\t}\n\n\t\tconst width = el.value?.offsetWidth || 0\n\t\tconst height = el.value?.offsetHeight || 0\n\n\t\tbg0Style.value = {\n\t\t\twidth: left + 'px'\n\t\t}\n\n\t\tbg1Style.value = {\n\t\t\tleft: left + 'px',\n\t\t\twidth: width + 'px',\n\t\t\theight: top + 'px'\n\t\t}\n\n\t\tbg2Style.value = {\n\t\t\tleft: left + 'px',\n\t\t\twidth: width + 'px',\n\t\t\ttop: top + height + 'px'\n\t\t}\n\n\t\tbg3Style.value = {\n\t\t\tleft: left + width + 'px'\n\t\t}\n\n\t\tif (el.value) {\n\t\t\ttooltipRef.value?.open(el.value)\n\t\t}\n\n\t\tclearTimeout(innerTimer)\n\t}, delay)\n}\n\nconst open = () => {\n\tshow.value = true\n\temit('opened')\n\n\tnextTick(() => {\n\t\tstep.value = 0\n\t\tinit()\n\t})\n}\n\n// 新增明确的事件处理函数\nconst handleNext = () => {\n\tstep.value++\n}\n\nconst handleClose = () => {\n\tclose()\n}\n\nconst handleComplete = () => {\n\tcomplete()\n}\n\nconst handleRestart = () => {\n\tstep.value = 0\n}\n\nconst close = () => {\n\tshow.value = false\n\temit('closed', isNever.value, false)\n}\n\nconst complete = () => {\n\tclose()\n\temit('complete', isNever.value, true)\n}\n// 暴露方法\ndefineExpose({ open, close })\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createVNode","_createBlock","data","_Fragment"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, getCurrentInstance, ref, onMounted, computed, useSlots, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createCommentVNode, renderSlot, toDisplayString, Fragment, createVNode, withCtx } from 'vue';
2
2
  import { ToIcon } from '../../icon/index.mjs';
3
3
  import { ToFloat } from '../../float/index.mjs';
4
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
4
5
 
5
6
  const __default__ = defineComponent({
6
7
  name: "ToHeader"
@@ -38,7 +39,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
38
39
  const setClass = computed(() => {
39
40
  const arr = [];
40
41
  if (props.mode) {
41
- arr.push(`mode-${props.mode}`);
42
+ arr.push(...getModeClasses(props.mode));
42
43
  }
43
44
  if (props.link) {
44
45
  arr.push(`is-link`);
@@ -1 +1 @@
1
- {"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToHeader'\n});\n</script>\n<template>\n\t<div ref=\"elRef\" :flex=\"flex ? flex : null\" class=\"to-header\" :class=\"setClass\" @click=\"emit('click')\">\n\t\t<div v-if=\"slots.left || (Boolean(hasBack) && props.position === 'center')\" class=\"to-header-left\">\n\t\t\t<div v-if=\"hasBack\" class=\"to-header-back\" @click=\"emit('back')\">\n\t\t\t\t<div class=\"to-header-back-icon\"></div>\n\t\t\t</div>\n\t\t\t<slot name=\"left\" />\n\t\t</div>\n\n\t\t<div v-if=\"props.position === 'center'\" class=\"to-header-center\">\n\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-else class=\"to-header-title\">\n\t\t\t<div v-if=\"hasBack\" class=\"to-header-back\" @click=\"emit('back')\">\n\t\t\t\t<div class=\"to-header-back-icon\"></div>\n\t\t\t\t<div v-if=\"slots.icon\" class=\"to-header-icon\">\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<template v-else>\n\t\t\t\t<div v-if=\"slots.icon || hasIcon\" class=\"to-header-icon\">\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<div v-if=\"slots.tip\" class=\"to-header-tip\">\n\t\t\t\t<slot name=\"tip\" />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-if=\"slots.content\" class=\"to-header-content\">\n\t\t\t<slot name=\"content\" />\n\t\t</div>\n\n\t\t<div v-if=\"slots.default\" class=\"to-header-fn\">\n\t\t\t<slot />\n\t\t</div>\n\n\t\t<div v-if=\"slots.floatFn\" class=\"to-header-fn is-float\">\n\t\t\t<to-icon ref=\"floatFnIcon\" link value=\"menu\" mode=\"none\" @click=\"toggleFloat\" />\n\t\t\t<to-float ref=\"float\" align=\"right\" class=\"to-header-floatFn\" :width=\"10\">\n\t\t\t\t<slot name=\"floatFn\" />\n\t\t\t</to-float>\n\t\t</div>\n\n\t\t<div v-if=\"slots.right\" class=\"to-header-right\">\n\t\t\t<slot name=\"right\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, useSlots, onMounted, getCurrentInstance } from 'vue'\nimport { ToIcon, ToFloat } from '@touchvue/components'\n\nconst instance = getCurrentInstance()\n\nconst elRef = ref<HTMLElement | null>(null)\nconst iconWidth = ref(0)\n\nonMounted(() => {\n\ticonWidth.value = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--icon-width'))\n})\n\nconst hasIcon = computed(() => {\n\treturn Boolean(iconWidth.value)\n})\n\n\nexport interface Props {\n\tflex?: boolean\n\ttitle?: string\n\tcolor?: string\n\tmode?: string\n\tlink?: boolean\n\tposition?: 'left' | 'center'\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tflex: false,\n\ttitle: '',\n\tcolor: '',\n\tmode: 'default',\n\tposition: 'left',\n\tlink: false\n})\n\nconst emit = defineEmits<{\n\t(e: 'back'): void\n\t(e: 'click'): void\n}>()\n\nconst slots = useSlots()\n\nconst float = ref()\nconst floatFnIcon = ref()\n\nconst hasBack = computed(() => {\n\treturn !!instance?.vnode.props?.onBack\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\tif (props.link) {\n\t\tarr.push(`is-link`)\n\t}\n\n\tif (props.position) {\n\t\tarr.push(`position-${props.position}`)\n\t}\n\n\treturn arr\n})\nconst toggleFloat = () => {\n\tfloat.value?.toggle?.(floatFnIcon.value)\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_unref","_createElementVNode","_renderSlot","_toDisplayString","_Fragment","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToHeader'\n});\n</script>\n<template>\n\t<div ref=\"elRef\" :flex=\"flex ? flex : null\" class=\"to-header\" :class=\"setClass\" @click=\"emit('click')\">\n\t\t<div v-if=\"slots.left || (Boolean(hasBack) && props.position === 'center')\" class=\"to-header-left\">\n\t\t\t<div v-if=\"hasBack\" class=\"to-header-back\" @click=\"emit('back')\">\n\t\t\t\t<div class=\"to-header-back-icon\"></div>\n\t\t\t</div>\n\t\t\t<slot name=\"left\" />\n\t\t</div>\n\n\t\t<div v-if=\"props.position === 'center'\" class=\"to-header-center\">\n\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-else class=\"to-header-title\">\n\t\t\t<div v-if=\"hasBack\" class=\"to-header-back\" @click=\"emit('back')\">\n\t\t\t\t<div class=\"to-header-back-icon\"></div>\n\t\t\t\t<div v-if=\"slots.icon\" class=\"to-header-icon\">\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<template v-else>\n\t\t\t\t<div v-if=\"slots.icon || hasIcon\" class=\"to-header-icon\">\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"props.title\" class=\"to-header-title-text\">{{ props.title }}</div>\n\t\t\t\t<div v-if=\"slots.title\" class=\"to-header-title-text\">\n\t\t\t\t\t<slot v-if=\"slots.title\" name=\"title\" />\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<div v-if=\"slots.tip\" class=\"to-header-tip\">\n\t\t\t\t<slot name=\"tip\" />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-if=\"slots.content\" class=\"to-header-content\">\n\t\t\t<slot name=\"content\" />\n\t\t</div>\n\n\t\t<div v-if=\"slots.default\" class=\"to-header-fn\">\n\t\t\t<slot />\n\t\t</div>\n\n\t\t<div v-if=\"slots.floatFn\" class=\"to-header-fn is-float\">\n\t\t\t<to-icon ref=\"floatFnIcon\" link value=\"menu\" mode=\"none\" @click=\"toggleFloat\" />\n\t\t\t<to-float ref=\"float\" align=\"right\" class=\"to-header-floatFn\" :width=\"10\">\n\t\t\t\t<slot name=\"floatFn\" />\n\t\t\t</to-float>\n\t\t</div>\n\n\t\t<div v-if=\"slots.right\" class=\"to-header-right\">\n\t\t\t<slot name=\"right\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, useSlots, onMounted, getCurrentInstance } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { ToIcon, ToFloat } from '@touchvue/components'\n\nconst instance = getCurrentInstance()\n\nconst elRef = ref<HTMLElement | null>(null)\nconst iconWidth = ref(0)\n\nonMounted(() => {\n\ticonWidth.value = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--icon-width'))\n})\n\nconst hasIcon = computed(() => {\n\treturn Boolean(iconWidth.value)\n})\n\n\nexport interface Props {\n\tflex?: boolean\n\ttitle?: string\n\tcolor?: string\n\tmode?: string\n\tlink?: boolean\n\tposition?: 'left' | 'center'\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tflex: false,\n\ttitle: '',\n\tcolor: '',\n\tmode: 'default',\n\tposition: 'left',\n\tlink: false\n})\n\nconst emit = defineEmits<{\n\t(e: 'back'): void\n\t(e: 'click'): void\n}>()\n\nconst slots = useSlots()\n\nconst float = ref()\nconst floatFnIcon = ref()\n\nconst hasBack = computed(() => {\n\treturn !!instance?.vnode.props?.onBack\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\n\tif (props.link) {\n\t\tarr.push(`is-link`)\n\t}\n\n\tif (props.position) {\n\t\tarr.push(`position-${props.position}`)\n\t}\n\n\treturn arr\n})\n\nconst toggleFloat = () => {\n\tfloat.value?.toggle?.(floatFnIcon.value)\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_unref","_createElementVNode","_renderSlot","_toDisplayString","_Fragment","_createVNode"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToIcon"
@@ -25,7 +26,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
26
  arr.push("type-fill");
26
27
  }
27
28
  if (props.mode) {
28
- arr.push(`mode-${props.mode}`);
29
+ arr.push(...getModeClasses(props.mode));
29
30
  }
30
31
  if (props.color) {
31
32
  arr.push(`color-${props.color}`);
@@ -1 +1 @@
1
- {"version":3,"file":"icon.vue2.mjs","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToIcon'\n});\n</script>\n<template>\n\t<span ref=\"el\" :flex=\"flex ? flex : null\" class=\"to-icon\" :class=\"setClass\" @click=\"clickHandle\" @mousedown=\"mousedownHandle\">\n\t\t<span ref=\"text\" class=\"to-icon-text\">\n\t\t\t<slot></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\n\nconst el = ref(null)\n// 定义 props\nexport interface Props {\n\tflex?: boolean\n\tvalue?: string\n\ttype?: string\n\tcolor?: string\n\tmode?: string\n\tlink?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tvalue: '',\n\ttype: '',\n\tcolor: 'default',\n\tmode: 'default',\n\tlink: false,\n\tflex: false\n})\n\nconst emit = defineEmits<{\n\t(e: 'click', evt: MouseEvent): void\n\t(e: 'mousedown', evt: MouseEvent): void\n}>()\n\n// ref\nconst text = ref<HTMLElement | null>(null)\n\n// 计算 class\nconst setClass = computed(() => {\n\tconst arr: string[] = props.value ? [`value-${props.value}`] : []\n\n\tif (props.type === 'fill') {\n\t\tarr.push('type-fill')\n\t}\n\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\n\tif (props.link) {\n\t\tarr.push('is-link')\n\t}\n\n\treturn arr\n})\n\n// 事件处理\nfunction clickHandle(evt: MouseEvent) {\n\temit('click', evt)\n}\n\nfunction mousedownHandle(evt: MouseEvent) {\n\temit('mousedown', evt)\n}\ndefineExpose({ el })\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_createElementVNode","_renderSlot"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;AAaD,IAAM,MAAA,EAAA,GAAK,IAAI,IAAI,CAAA,CAAA;AAWnB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AASd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAMb,IAAM,MAAA,IAAA,GAAO,IAAwB,IAAI,CAAA,CAAA;AAGzC,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAM,MAAA,GAAA,GAAgB,MAAM,KAAQ,GAAA,CAAC,SAAS,KAAM,CAAA,KAAA,CAAA,CAAO,IAAI,EAAC,CAAA;AAEhE,MAAI,IAAA,KAAA,CAAM,SAAS,MAAQ,EAAA;AAC1B,QAAA,GAAA,CAAI,KAAK,WAAW,CAAA,CAAA;AAAA,OACrB;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AAEA,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AAAA,OACnB;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAGD,IAAA,SAAS,YAAY,GAAiB,EAAA;AACrC,MAAA,IAAA,CAAK,SAAS,GAAG,CAAA,CAAA;AAAA,KAClB;AAEA,IAAA,SAAS,gBAAgB,GAAiB,EAAA;AACzC,MAAA,IAAA,CAAK,aAAa,GAAG,CAAA,CAAA;AAAA,KACtB;AACA,IAAa,QAAA,CAAA,EAAE,IAAI,CAAA,CAAA;;wBArElB,EAAAC,kBAAA,CAIO,MAAA,EAAA;AAAA,eAJG,EAAA,IAAA;AAAA,QAAJ,GAAI,EAAA,EAAA;AAAA,QAAM,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,SAAkB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAAG,OAAO,EAAA,WAAA;AAAA,QAAc,WAAW,EAAA,eAAA;AAAA;QAC5GC,kBAAA;AAAA,UAEO,MAAA;AAAA,UAAA;AAAA,mBAFG,EAAA,MAAA;AAAA,YAAJ,GAAI,EAAA,IAAA;AAAA,YAAO,KAAM,EAAA,cAAA;AAAA;;YACtBC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"icon.vue2.mjs","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToIcon'\n});\n</script>\n<template>\n\t<span ref=\"el\" :flex=\"flex ? flex : null\" class=\"to-icon\" :class=\"setClass\" @click=\"clickHandle\" @mousedown=\"mousedownHandle\">\n\t\t<span ref=\"text\" class=\"to-icon-text\">\n\t\t\t<slot></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\n\nconst el = ref(null)\n// 定义 props\nexport interface Props {\n\tflex?: boolean\n\tvalue?: string\n\ttype?: string\n\tcolor?: string\n\tmode?: string\n\tlink?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tvalue: '',\n\ttype: '',\n\tcolor: 'default',\n\tmode: 'default',\n\tlink: false,\n\tflex: false\n})\n\nconst emit = defineEmits<{\n\t(e: 'click', evt: MouseEvent): void\n\t(e: 'mousedown', evt: MouseEvent): void\n}>()\n\n// ref\nconst text = ref<HTMLElement | null>(null)\n\n// 计算 class\nconst setClass = computed(() => {\n\tconst arr: string[] = props.value ? [`value-${props.value}`] : []\n\n\tif (props.type === 'fill') {\n\t\tarr.push('type-fill')\n\t}\n\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\n\tif (props.link) {\n\t\tarr.push('is-link')\n\t}\n\n\treturn arr\n})\n\n// 事件处理\nfunction clickHandle(evt: MouseEvent) {\n\temit('click', evt)\n}\n\nfunction mousedownHandle(evt: MouseEvent) {\n\temit('mousedown', evt)\n}\ndefineExpose({ el })\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_createElementVNode","_renderSlot"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;AAcD,IAAM,MAAA,EAAA,GAAK,IAAI,IAAI,CAAA,CAAA;AAWnB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AASd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAMb,IAAM,MAAA,IAAA,GAAO,IAAwB,IAAI,CAAA,CAAA;AAGzC,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAM,MAAA,GAAA,GAAgB,MAAM,KAAQ,GAAA,CAAC,SAAS,KAAM,CAAA,KAAA,CAAA,CAAO,IAAI,EAAC,CAAA;AAEhE,MAAI,IAAA,KAAA,CAAM,SAAS,MAAQ,EAAA;AAC1B,QAAA,GAAA,CAAI,KAAK,WAAW,CAAA,CAAA;AAAA,OACrB;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,IAAK,CAAA,GAAG,cAAe,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACvC;AAEA,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AAAA,OACnB;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAGD,IAAA,SAAS,YAAY,GAAiB,EAAA;AACrC,MAAA,IAAA,CAAK,SAAS,GAAG,CAAA,CAAA;AAAA,KAClB;AAEA,IAAA,SAAS,gBAAgB,GAAiB,EAAA;AACzC,MAAA,IAAA,CAAK,aAAa,GAAG,CAAA,CAAA;AAAA,KACtB;AACA,IAAa,QAAA,CAAA,EAAE,IAAI,CAAA,CAAA;;wBAtElB,EAAAC,kBAAA,CAIO,MAAA,EAAA;AAAA,eAJG,EAAA,IAAA;AAAA,QAAJ,GAAI,EAAA,EAAA;AAAA,QAAM,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,SAAkB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAAG,OAAO,EAAA,WAAA;AAAA,QAAc,WAAW,EAAA,eAAA;AAAA;QAC5GC,kBAAA;AAAA,UAEO,MAAA;AAAA,UAAA;AAAA,mBAFG,EAAA,MAAA;AAAA,YAAJ,GAAI,EAAA,IAAA;AAAA,YAAO,KAAM,EAAA,cAAA;AAAA;;YACtBC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;;;;;"}
@@ -1,8 +1,9 @@
1
- import { defineComponent, getCurrentInstance, ref, computed, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, unref, normalizeClass, withDirectives, createElementVNode, vShow, createBlock, withModifiers, withCtx, createTextVNode, toDisplayString, createVNode, createCommentVNode } from 'vue';
1
+ import { defineComponent, getCurrentInstance, ref, computed, onBeforeUnmount, openBlock, createElementBlock, unref, normalizeClass, withDirectives, createElementVNode, vShow, createBlock, withModifiers, withCtx, createTextVNode, toDisplayString, Teleport, createVNode, createCommentVNode } from 'vue';
2
2
  import { ToButton } from '../../button/index.mjs';
3
3
  import { ToIcon } from '../../icon/index.mjs';
4
4
  import { ToFloat } from '../../float/index.mjs';
5
5
  import { langKey, t } from '../../../locale/index.mjs';
6
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
6
7
  import { fileAjax } from '../../../utils/fileAjax.mjs';
7
8
 
8
9
  const __default__ = defineComponent({
@@ -50,7 +51,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
50
51
  const setClass = computed(() => {
51
52
  let arr = [];
52
53
  if (props.mode) {
53
- arr.push(`mode-${props.mode}`);
54
+ arr.push(...getModeClasses(props.mode));
54
55
  }
55
56
  if (state.value) {
56
57
  arr.push(`state-${state.value}`);
@@ -80,9 +81,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
80
81
  if (state.value === "uploading") {
81
82
  return "loading";
82
83
  }
83
- if (state.value === "success") {
84
- return "ok";
85
- }
86
84
  if (state.value === "error") {
87
85
  return "close";
88
86
  }
@@ -104,7 +102,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
104
102
  return iconType;
105
103
  }
106
104
  }
107
- return "default";
105
+ return "file";
108
106
  });
109
107
  const validateFileType = (file) => {
110
108
  if (!props.accept)
@@ -291,7 +289,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
291
289
  handleUpload(file);
292
290
  };
293
291
  return (_ctx, _cache) => {
294
- const _component_to_scroll = resolveComponent("to-scroll");
295
292
  return openBlock(), createElementBlock("span", {
296
293
  key: unref(langKey),
297
294
  flex: _ctx.flex ? _ctx.flex : null,
@@ -335,19 +332,20 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
335
332
  disabled: props.disabled,
336
333
  onClick: withModifiers(($event) => handleFloat(iconEl.value), ["stop"])
337
334
  }, null, 8, ["disabled", "onClick"])),
338
- createVNode(unref(ToFloat), {
339
- ref_key: "layer",
340
- ref: layer,
341
- width: "25",
342
- class: "to-import-layer",
343
- lazy: "",
344
- "before-open": props.beforeOpen,
345
- "before-close": props.beforeClose,
346
- onOpened: handleFloatOpened,
347
- onClosed: handleFloatClosed
348
- }, {
349
- default: withCtx(() => [
350
- createVNode(_component_to_scroll, null, {
335
+ (openBlock(), createBlock(Teleport, { to: "body" }, [
336
+ createElementVNode("div", { class: "to-import" }, [
337
+ createVNode(unref(ToFloat), {
338
+ ref_key: "layer",
339
+ ref: layer,
340
+ global: false,
341
+ width: "25",
342
+ class: "to-import-layer",
343
+ lazy: "",
344
+ "before-open": props.beforeOpen,
345
+ "before-close": props.beforeClose,
346
+ onOpened: handleFloatOpened,
347
+ onClosed: handleFloatClosed
348
+ }, {
351
349
  default: withCtx(() => [
352
350
  createElementVNode(
353
351
  "div",
@@ -367,7 +365,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
367
365
  createElementVNode(
368
366
  "span",
369
367
  { class: "to-import-file-name-text" },
370
- toDisplayString(errorTip.value || fileName.value || unref(t)("to.import.dragText")),
368
+ toDisplayString(errorTip.value || fileName.value || unref(t)("to.import.tip.placeholder")),
371
369
  1
372
370
  /* TEXT */
373
371
  )
@@ -379,7 +377,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
379
377
  state.value ? (openBlock(), createBlock(unref(ToButton), {
380
378
  key: 0,
381
379
  icon: "reset",
382
- class: "to-import-reset",
380
+ value: "reset",
381
+ link: "",
382
+ class: "to-import-file-reset",
383
383
  onClick: withModifiers(handleReset, ["stop"])
384
384
  }, {
385
385
  default: withCtx(() => [
@@ -393,13 +393,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
393
393
  /* STABLE */
394
394
  })) : hasDownloadTemplate() ? (openBlock(), createBlock(unref(ToButton), {
395
395
  key: 1,
396
- class: "to-import-download",
396
+ class: "to-import-file-download",
397
397
  icon: "download",
398
398
  onClick: withModifiers(downloadTem, ["stop"])
399
399
  }, {
400
400
  default: withCtx(() => [
401
401
  createTextVNode(
402
- toDisplayString(unref(t)("to.import.downloadTemplate")),
402
+ toDisplayString(unref(t)("to.import.template")),
403
403
  1
404
404
  /* TEXT */
405
405
  )
@@ -415,11 +415,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
415
415
  ]),
416
416
  _: 1
417
417
  /* STABLE */
418
- })
419
- ]),
420
- _: 1
421
- /* STABLE */
422
- }, 8, ["before-open", "before-close"])
418
+ }, 8, ["before-open", "before-close"])
419
+ ])
420
+ ]))
423
421
  ], 10, ["flex"]);
424
422
  };
425
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import.vue2.mjs","sources":["../../../../../../packages/components/import/src/import.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToImport',\n\tcomponentName: 'ToImport'\n});\n</script>\n<template>\n\t<span :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-import\" :class=\"setClass\">\n\t\t<input v-show=\"false\" ref=\"fileInput\" type=\"file\" :accept=\"accept\" @change=\"handleChange\" />\n\t\t<to-button v-if=\"props.type === 'button'\" ref=\"button\" class=\"to-import-button\" icon=\"import\" :disabled=\"props.disabled\" expand @click.stop=\"handleFloat(button)\">{{ props.buttonText || t('to.import.button') }}</to-button>\n\t\t<to-icon v-else ref=\"iconEl\" link value=\"import\" class=\"to-import-icon\" :disabled=\"props.disabled\" @click.stop=\"handleFloat(iconEl)\"></to-icon>\n\t\t<to-float ref=\"layer\" width=\"25\" class=\"to-import-layer\" lazy :before-open=\"props.beforeOpen\" :before-close=\"props.beforeClose\" @opened=\"handleFloatOpened\" @closed=\"handleFloatClosed\">\n\t\t\t<to-scroll>\n\t\t\t\t<div class=\"to-import-file\" :class=\"setFileClass\" @dragover.prevent=\"handleDragOver\" @dragleave.prevent=\"handleDragLeave\" @click=\"handleImport\" @drop.prevent=\"handleDrop\">\n\t\t\t\t\t<to-icon :value=\"getIcon\" class=\"to-import-file-icon\"></to-icon>\n\t\t\t\t\t<div class=\"to-import-file-name\">\n\t\t\t\t\t\t<span class=\"to-import-file-name-text\">{{ errorTip || fileName || t('to.import.dragText') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"state || hasDownloadTemplate()\" class=\"to-import-file-fn\">\n\t\t\t\t\t\t<to-button v-if=\"state\" icon=\"reset\" class=\"to-import-reset\" @click.stop=\"handleReset\">{{ t('to.import.reset') }}</to-button>\n\t\t\t\t\t\t<to-button v-else-if=\"hasDownloadTemplate()\" class=\"to-import-download\" icon=\"download\" @click.stop=\"downloadTem\">{{ t('to.import.downloadTemplate') }}</to-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</to-scroll>\n\t\t</to-float>\n\t</span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, getCurrentInstance, onBeforeUnmount } from 'vue'\nimport { fileAjax } from '@touchvue/utils'\nimport { ToButton, ToIcon, ToFloat } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n// 定义组件名称和选项\n\n\nexport interface ImportProps {\n\tflex?: boolean\n\tmode?: string\n\ttype?: string\n\taccept?: string\n\tbuttonText?: string\n\tname?: string\n\taction?: string\n\tbeforeStart?: (file) => boolean | Promise<boolean>\n\tclosed?: () => any\n\tbeforeClose?: () => boolean | Promise<boolean>\n\topened?: () => any\n\tbeforeOpen?: () => boolean | Promise<boolean>\n\theaders?: object | null\n\twithCredentials?: boolean\n\tdata?: object | null\n\tdisabled?: boolean\n}\nconst props = withDefaults(defineProps<ImportProps>(), {\n\tflex: false,\n\tmode: 'default',\n\tbuttonText: '',\n\taccept: '',\n\ttype: 'button',\n\tname: 'importfile',\n\taction: '',\n\theaders: () => null,\n\twithCredentials: false,\n\tdata: () => null,\n\tbeforeStart: () => true,\n\tdisabled: false,\n\tbeforeOpen: () => true,\n\topened: () => true,\n\tbeforeClose: () => true,\n\tclosed: () => true\n})\n\nconst instance = getCurrentInstance()\nconst hasDownloadTemplate = () => {\n\treturn !!instance.vnode.props.onDownloadTemplate\n}\nconst emit = defineEmits(['success', 'error', 'start', 'progress', 'download-template'])\n\nconst state = ref('')\nconst fileName = ref('')\nconst layer = ref(null)\nconst iconEl = ref(null)\nconst button = ref(null)\nconst fileInput = ref(null)\nconst btnIcon = ref('import')\nconst isDragOver = ref(false)\nconst isFloatOpen = ref(false)\nconst errorTip = ref('')\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (state.value) {\n\t\tarr.push(`state-${state.value}`)\n\t}\n\treturn arr\n})\n\nconst setFileClass = computed(() => {\n\tlet arr: string[] = []\n\tif (isDragOver.value) {\n\t\tarr.push('is-dragover')\n\t}\n\treturn arr\n})\n\nconst fileTypeIcons = {\n\texcel: ['.xls', '.xlsx', '.csv'],\n\timg: ['.png', '.jpg', '.gif', '.apng', '.webp'],\n\tppt: ['.ppt', '.pptx', '.ppsx'],\n\trar: ['.rar', '.zip', '.tar', '.gz', '.tgz'],\n\tvideo: ['.rm', '.rmvb', '.avi', '.mkv', '.mp4', '.wmv', '.mov', '.movie', '.mpeg', '.mpg', '.qt'],\n\tvoice: ['.mp2', '.mp3', '.wma', '.midi'],\n\tword: ['.doc', '.docx']\n}\n\nconst getIcon = computed(() => {\n\t// 特殊状态处理\n\tif (!state.value) {\n\t\treturn 'upload'\n\t}\n\tif (state.value === 'uploading') {\n\t\treturn 'loading'\n\t}\n\tif (state.value === 'success') {\n\t\treturn 'ok'\n\t}\n\tif (state.value === 'error') {\n\t\treturn 'close'\n\t}\n\n\t// 校验入参,为空直接返回默认值\n\tif (!fileName.value || typeof fileName.value !== 'string') {\n\t\treturn 'default'\n\t}\n\n\t// 提取文件后缀并统一转为小写\n\tlet ext\n\tif (fileName.value.startsWith('.')) {\n\t\t// 直接传入后缀的情况(如 \".XLSX\")\n\t\text = fileName.value.toLowerCase()\n\t} else {\n\t\t// 传入完整文件名的情况(如 \"Test.XLSX\")\n\t\tconst lastDotIndex = fileName.value.lastIndexOf('.')\n\t\t// 无后缀的文件(如 \"README\")\n\t\tif (lastDotIndex === -1) {\n\t\t\treturn 'default'\n\t\t}\n\t\text = fileName.value.slice(lastDotIndex).toLowerCase()\n\t}\n\n\t// 遍历映射关系(映射表已为小写),匹配对应的图标类型\n\tfor (const [iconType, extList] of Object.entries(fileTypeIcons)) {\n\t\tif (extList.includes(ext)) {\n\t\t\treturn iconType\n\t\t}\n\t}\n\n\t// 未匹配到任何类型,返回默认值\n\treturn 'default'\n})\n\n// 验证文件类型是否符合 accept 属性\nconst validateFileType = (file: File): boolean => {\n\t// 如果没有设置 accept,则允许所有类型\n\tif (!props.accept) return true\n\n\tconst fileName = file.name.toLowerCase()\n\tconst acceptRules = props.accept.split(',').map(rule => rule.trim().toLowerCase())\n\n\t// 检查文件是否匹配任意一条 accept 规则\n\treturn acceptRules.some(rule => {\n\t\tif (rule.startsWith('.')) {\n\t\t\t// 扩展名规则(如 \".xlsx,.xls\")\n\t\t\treturn fileName.endsWith(rule)\n\t\t} else if (rule === '*/*') {\n\t\t\t// 允许所有类型\n\t\t\treturn true\n\t\t} else if (rule.includes('/*')) {\n\t\t\t// MIME 类型通配符(如 \"image/*\", \"application/*\")\n\t\t\tconst typePrefix = rule.split('/*')[0]\n\t\t\treturn file.type.toLowerCase().startsWith(typePrefix + '/')\n\t\t} else {\n\t\t\t// 具体 MIME 类型(如 \"application/json\")\n\t\t\treturn file.type.toLowerCase() === rule\n\t\t}\n\t})\n}\n\nconst handleChange = async (e: Event) => {\n\tconst files = (e.target as HTMLInputElement).files\n\tif (files && files.length > 0) {\n\t\tconst file = files[0]\n\t\tif (validateFileType(file)) {\n\t\t\tawait processFile(file)\n\t\t} else {\n\t\t\t// 文件类型不通过校验,显示错误状态\n\t\t\tstate.value = 'error'\n\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\tfileName.value = ''\n\t\t\t// 清空 input 以便重新选择\n\t\t\t;(e.target as HTMLInputElement).value = ''\n\t\t}\n\t}\n}\n\nasync function handleUpload(file) {\n\tlet formData = new FormData()\n\tformData.append(props.name, file)\n\tif (props.data) {\n\t\tObject.keys(props.data).forEach(key => {\n\t\t\tformData.append(key, props.data[key])\n\t\t})\n\t}\n\tstate.value = 'uploading'\n\tfileAjax({\n\t\taction: props.action,\n\t\tdata: formData,\n\t\theaders: props.headers,\n\t\twithCredentials: props.withCredentials,\n\t\tonError: (err, status) => {\n\t\t\tstate.value = 'error'\n\t\t\temit('error', err, status, file)\n\t\t\t// 根据错误类型做不同处理\n\t\t\tswitch (err.type) {\n\t\t\t\tcase 'network_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.network') + err.message\n\t\t\t\t\tbreak\n\t\t\t\tcase 'http_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.server') + `(${status}):${err.response?.message || err.message}`\n\t\t\t\t\tbreak\n\t\t\t\tcase 'parse_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.dataFormat') + err.message\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t},\n\t\tonSuccess: (data, status) => {\n\t\t\tlet _data = JSON.parse(JSON.stringify(data))\n\t\t\tbtnIcon.value = 'import'\n\t\t\tstate.value = 'success'\n\t\t\temit('success', _data, status, file)\n\t\t},\n\t\tonProgress: e => {\n\t\t\tstate.value = 'uploading'\n\t\t\temit('progress', e.loaded, e.total, file)\n\t\t}\n\t})\n}\nconst handleFloat = el => {\n\tif (props.disabled) return false\n\tlayer.value.toggle(el)\n}\n\nconst handleImport = () => {\n\tfileInput.value.click()\n}\n\nconst downloadTem = () => {\n\temit('download-template')\n}\n\n// 重置组件状态\nconst handleReset = () => {\n\tstate.value = ''\n\tfileName.value = ''\n\terrorTip.value = ''\n\tbtnIcon.value = 'import'\n\tif (fileInput.value) {\n\t\tfileInput.value.value = ''\n\t}\n}\n\nconst handleFloatOpened = () => {\n\tisFloatOpen.value = true\n\taddPasteListener()\n\tif (props.opened) {\n\t\tprops.opened()\n\t}\n}\n\n// 处理 float 关闭回调\nconst handleFloatClosed = () => {\n\tremovePasteListener()\n\tisFloatOpen.value = false\n\tif (props.closed) {\n\t\tprops.closed()\n\t}\n}\n\n// 拖拽上传相关方法\nconst handleDragOver = () => {\n\tisDragOver.value = true\n}\n\nconst handleDragLeave = () => {\n\tisDragOver.value = false\n}\n\nconst handleDrop = async (e: DragEvent) => {\n\tisDragOver.value = false\n\tconst files = e.dataTransfer?.files\n\tif (files && files.length > 0) {\n\t\tconst file = files[0]\n\t\tif (validateFileType(file)) {\n\t\t\tawait processFile(file)\n\t\t} else {\n\t\t\t// 文件类型不正确时的状态处理\n\t\t\tstate.value = 'error'\n\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\tfileName.value = ''\n\t\t}\n\t}\n}\n\n// 粘贴上传相关方法\nconst handlePaste = async (e: ClipboardEvent) => {\n\t// 只在下拉框打开时处理粘贴\n\tif (!isFloatOpen.value) return\n\n\tconst items = e.clipboardData?.items\n\tif (!items) return\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tconst item = items[i]\n\t\tif (item.kind === 'file') {\n\t\t\tconst file = item.getAsFile()\n\t\t\tif (file && validateFileType(file)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tawait processFile(file)\n\t\t\t\tbreak\n\t\t\t} else if (file) {\n\t\t\t\t// 文件类型不正确时的状态处理\n\t\t\t\te.preventDefault()\n\t\t\t\tstate.value = 'error'\n\t\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\t\tfileName.value = ''\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 添加全局粘贴监听\nconst addPasteListener = () => {\n\tdocument.body.addEventListener('paste', handlePaste)\n}\n\n// 移除全局粘贴监听\nconst removePasteListener = () => {\n\tdocument.body.removeEventListener('paste', handlePaste)\n}\n\n// 组件卸载前移除监听\nonBeforeUnmount(() => {\n\tremovePasteListener()\n})\n\n// 处理文件的统一方法\nconst processFile = async (file: File) => {\n\tlet flag = true\n\tif (props.beforeStart) {\n\t\tif (typeof props.beforeStart === 'function') {\n\t\t\tconst result = props.beforeStart(file)\n\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await result\n\t\t\t} else {\n\t\t\t\tflag = !!result\n\t\t\t}\n\t\t} else {\n\t\t\tflag = !!props.beforeStart\n\t\t}\n\t}\n\tif (!flag || !props.action) return false\n\tfileName.value = file.name\n\tbtnIcon.value = 'loading'\n\temit('start', file)\n\thandleUpload(file)\n}\n</script>\n"],"names":["DO_defineComponent","fileName","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","accept","_createBlock","_withModifiers","_createVNode"],"mappings":";;;;;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,UAAA;AAAA,EACN,aAAe,EAAA,UAAA;AAChB,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;AAmDD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAmBd,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,sBAAsB,MAAM;AACjC,MAAA,OAAO,CAAC,CAAC,QAAS,CAAA,KAAA,CAAM,KAAM,CAAA,kBAAA,CAAA;AAAA,KAC/B,CAAA;AACA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,KAAA,GAAQ,IAAI,EAAE,CAAA,CAAA;AACpB,IAAM,MAAA,QAAA,GAAW,IAAI,EAAE,CAAA,CAAA;AACvB,IAAM,MAAA,KAAA,GAAQ,IAAI,IAAI,CAAA,CAAA;AACtB,IAAM,MAAA,MAAA,GAAS,IAAI,IAAI,CAAA,CAAA;AACvB,IAAM,MAAA,MAAA,GAAS,IAAI,IAAI,CAAA,CAAA;AACvB,IAAM,MAAA,SAAA,GAAY,IAAI,IAAI,CAAA,CAAA;AAC1B,IAAM,MAAA,OAAA,GAAU,IAAI,QAAQ,CAAA,CAAA;AAC5B,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAC5B,IAAM,MAAA,WAAA,GAAc,IAAI,KAAK,CAAA,CAAA;AAC7B,IAAM,MAAA,QAAA,GAAW,IAAI,EAAE,CAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AACA,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AACnC,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,WAAW,KAAO,EAAA;AACrB,QAAA,GAAA,CAAI,KAAK,aAAa,CAAA,CAAA;AAAA,OACvB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,MAAM,aAAgB,GAAA;AAAA,MACrB,KAAO,EAAA,CAAC,MAAQ,EAAA,OAAA,EAAS,MAAM,CAAA;AAAA,MAC/B,KAAK,CAAC,MAAA,EAAQ,MAAQ,EAAA,MAAA,EAAQ,SAAS,OAAO,CAAA;AAAA,MAC9C,GAAK,EAAA,CAAC,MAAQ,EAAA,OAAA,EAAS,OAAO,CAAA;AAAA,MAC9B,KAAK,CAAC,MAAA,EAAQ,MAAQ,EAAA,MAAA,EAAQ,OAAO,MAAM,CAAA;AAAA,MAC3C,KAAO,EAAA,CAAC,KAAO,EAAA,OAAA,EAAS,MAAQ,EAAA,MAAA,EAAQ,MAAQ,EAAA,MAAA,EAAQ,MAAQ,EAAA,QAAA,EAAU,OAAS,EAAA,MAAA,EAAQ,KAAK,CAAA;AAAA,MAChG,KAAO,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,QAAQ,OAAO,CAAA;AAAA,MACvC,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,KACvB,CAAA;AAEA,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAE9B,MAAI,IAAA,CAAC,MAAM,KAAO,EAAA;AACjB,QAAO,OAAA,QAAA,CAAA;AAAA,OACR;AACA,MAAI,IAAA,KAAA,CAAM,UAAU,WAAa,EAAA;AAChC,QAAO,OAAA,SAAA,CAAA;AAAA,OACR;AACA,MAAI,IAAA,KAAA,CAAM,UAAU,SAAW,EAAA;AAC9B,QAAO,OAAA,IAAA,CAAA;AAAA,OACR;AACA,MAAI,IAAA,KAAA,CAAM,UAAU,OAAS,EAAA;AAC5B,QAAO,OAAA,OAAA,CAAA;AAAA,OACR;AAGA,MAAA,IAAI,CAAC,QAAS,CAAA,KAAA,IAAS,OAAO,QAAA,CAAS,UAAU,QAAU,EAAA;AAC1D,QAAO,OAAA,SAAA,CAAA;AAAA,OACR;AAGA,MAAI,IAAA,GAAA,CAAA;AACJ,MAAA,IAAI,QAAS,CAAA,KAAA,CAAM,UAAW,CAAA,GAAG,CAAG,EAAA;AAEnC,QAAM,GAAA,GAAA,QAAA,CAAS,MAAM,WAAY,EAAA,CAAA;AAAA,OAC3B,MAAA;AAEN,QAAA,MAAM,YAAe,GAAA,QAAA,CAAS,KAAM,CAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAEnD,QAAA,IAAI,iBAAiB,CAAI,CAAA,EAAA;AACxB,UAAO,OAAA,SAAA,CAAA;AAAA,SACR;AACA,QAAA,GAAA,GAAM,QAAS,CAAA,KAAA,CAAM,KAAM,CAAA,YAAY,EAAE,WAAY,EAAA,CAAA;AAAA,OACtD;AAGA,MAAA,KAAA,MAAW,CAAC,QAAU,EAAA,OAAO,KAAK,MAAO,CAAA,OAAA,CAAQ,aAAa,CAAG,EAAA;AAChE,QAAI,IAAA,OAAA,CAAQ,QAAS,CAAA,GAAG,CAAG,EAAA;AAC1B,UAAO,OAAA,QAAA,CAAA;AAAA,SACR;AAAA,OACD;AAGA,MAAO,OAAA,SAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAGD,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAwB,KAAA;AAEjD,MAAA,IAAI,CAAC,KAAM,CAAA,MAAA;AAAQ,QAAO,OAAA,IAAA,CAAA;AAE1B,MAAMC,MAAAA,SAAAA,GAAW,IAAK,CAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AACvC,MAAA,MAAM,WAAc,GAAA,KAAA,CAAM,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,GAAI,CAAA,CAAA,IAAA,KAAQ,IAAK,CAAA,IAAA,EAAO,CAAA,WAAA,EAAa,CAAA,CAAA;AAGjF,MAAO,OAAA,WAAA,CAAY,KAAK,CAAQ,IAAA,KAAA;AAC/B,QAAI,IAAA,IAAA,CAAK,UAAW,CAAA,GAAG,CAAG,EAAA;AAEzB,UAAOA,OAAAA,SAAAA,CAAS,SAAS,IAAI,CAAA,CAAA;AAAA,SAC9B,MAAA,IAAW,SAAS,KAAO,EAAA;AAE1B,UAAO,OAAA,IAAA,CAAA;AAAA,SACG,MAAA,IAAA,IAAA,CAAK,QAAS,CAAA,IAAI,CAAG,EAAA;AAE/B,UAAA,MAAM,UAAa,GAAA,IAAA,CAAK,KAAM,CAAA,IAAI,EAAE,CAAC,CAAA,CAAA;AACrC,UAAA,OAAO,KAAK,IAAK,CAAA,WAAA,EAAc,CAAA,UAAA,CAAW,aAAa,GAAG,CAAA,CAAA;AAAA,SACpD,MAAA;AAEN,UAAO,OAAA,IAAA,CAAK,IAAK,CAAA,WAAA,EAAkB,KAAA,IAAA,CAAA;AAAA,SACpC;AAAA,OACA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,OAAO,CAAa,KAAA;AACxC,MAAM,MAAA,KAAA,GAAS,EAAE,MAA4B,CAAA,KAAA,CAAA;AAC7C,MAAI,IAAA,KAAA,IAAS,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC9B,QAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,QAAI,IAAA,gBAAA,CAAiB,IAAI,CAAG,EAAA;AAC3B,UAAA,MAAM,YAAY,IAAI,CAAA,CAAA;AAAA,SAChB,MAAA;AAEN,UAAA,KAAA,CAAM,KAAQ,GAAA,OAAA,CAAA;AACd,UAAS,QAAA,CAAA,KAAA,GAAQ,EAAE,0BAA0B,CAAA,CAAA;AAC7C,UAAA,QAAA,CAAS,KAAQ,GAAA,EAAA,CAAA;AAEhB,UAAC,CAAA,CAAE,OAA4B,KAAQ,GAAA,EAAA,CAAA;AAAA,SACzC;AAAA,OACD;AAAA,KACD,CAAA;AAEA,IAAA,eAAe,aAAa,IAAM,EAAA;AACjC,MAAI,IAAA,QAAA,GAAW,IAAI,QAAS,EAAA,CAAA;AAC5B,MAAS,QAAA,CAAA,MAAA,CAAO,KAAM,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAChC,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,QAAQ,CAAO,GAAA,KAAA;AACtC,UAAA,QAAA,CAAS,MAAO,CAAA,GAAA,EAAK,KAAM,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAAA,SACpC,CAAA,CAAA;AAAA,OACF;AACA,MAAA,KAAA,CAAM,KAAQ,GAAA,WAAA,CAAA;AACd,MAAS,QAAA,CAAA;AAAA,QACR,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,KAAM,CAAA,OAAA;AAAA,QACf,iBAAiB,KAAM,CAAA,eAAA;AAAA,QACvB,OAAA,EAAS,CAAC,GAAA,EAAK,MAAW,KAAA;;AACzB,UAAA,KAAA,CAAM,KAAQ,GAAA,OAAA,CAAA;AACd,UAAK,IAAA,CAAA,OAAA,EAAS,GAAK,EAAA,MAAA,EAAQ,IAAI,CAAA,CAAA;AAE/B,UAAA,QAAQ,IAAI,IAAM;AAAA,YACjB,KAAK,eAAA;AACJ,cAAA,QAAA,CAAS,KAAQ,GAAA,CAAA,CAAE,yBAAyB,CAAA,GAAI,GAAI,CAAA,OAAA,CAAA;AACpD,cAAA,MAAA;AAAA,YACD,KAAK,YAAA;AACJ,cAAS,QAAA,CAAA,KAAA,GAAQ,CAAE,CAAA,wBAAwB,CAAI,GAAA,CAAA,CAAA,EAAI,kBAAW,EAAI,GAAA,GAAA,CAAA,QAAA,KAAJ,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAW,GAAI,CAAA,OAAA,CAAA,CAAA,CAAA;AAC3F,cAAA,MAAA;AAAA,YACD,KAAK,aAAA;AACJ,cAAA,QAAA,CAAS,KAAQ,GAAA,CAAA,CAAE,4BAA4B,CAAA,GAAI,GAAI,CAAA,OAAA,CAAA;AACvD,cAAA,MAAA;AAAA,WACF;AAAA,SACD;AAAA,QACA,SAAA,EAAW,CAAC,IAAA,EAAM,MAAW,KAAA;AAC5B,UAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA;AAC3C,UAAA,OAAA,CAAQ,KAAQ,GAAA,QAAA,CAAA;AAChB,UAAA,KAAA,CAAM,KAAQ,GAAA,SAAA,CAAA;AACd,UAAK,IAAA,CAAA,SAAA,EAAW,KAAO,EAAA,MAAA,EAAQ,IAAI,CAAA,CAAA;AAAA,SACpC;AAAA,QACA,YAAY,CAAK,CAAA,KAAA;AAChB,UAAA,KAAA,CAAM,KAAQ,GAAA,WAAA,CAAA;AACd,UAAA,IAAA,CAAK,UAAY,EAAA,CAAA,CAAE,MAAQ,EAAA,CAAA,CAAE,OAAO,IAAI,CAAA,CAAA;AAAA,SACzC;AAAA,OACA,CAAA,CAAA;AAAA,KACF;AACA,IAAA,MAAM,cAAc,CAAM,EAAA,KAAA;AACzB,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAO,OAAA,KAAA,CAAA;AAC3B,MAAM,KAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AAC1B,MAAA,SAAA,CAAU,MAAM,KAAM,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAA,IAAA,CAAK,mBAAmB,CAAA,CAAA;AAAA,KACzB,CAAA;AAGA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AACd,MAAA,QAAA,CAAS,KAAQ,GAAA,EAAA,CAAA;AACjB,MAAA,QAAA,CAAS,KAAQ,GAAA,EAAA,CAAA;AACjB,MAAA,OAAA,CAAQ,KAAQ,GAAA,QAAA,CAAA;AAChB,MAAA,IAAI,UAAU,KAAO,EAAA;AACpB,QAAA,SAAA,CAAU,MAAM,KAAQ,GAAA,EAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,oBAAoB,MAAM;AAC/B,MAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,MAAiB,gBAAA,EAAA,CAAA;AACjB,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,KAAA,CAAM,MAAO,EAAA,CAAA;AAAA,OACd;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,oBAAoB,MAAM;AAC/B,MAAoB,mBAAA,EAAA,CAAA;AACpB,MAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AACpB,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,KAAA,CAAM,MAAO,EAAA,CAAA;AAAA,OACd;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,iBAAiB,MAAM;AAC5B,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC7B,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,OAAO,CAAiB,KAAA;;AAC1C,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AACnB,MAAM,MAAA,KAAA,GAAA,CAAQ,EAAE,GAAA,CAAA,CAAA,YAAA,KAAF,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAC9B,MAAI,IAAA,KAAA,IAAS,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC9B,QAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,QAAI,IAAA,gBAAA,CAAiB,IAAI,CAAG,EAAA;AAC3B,UAAA,MAAM,YAAY,IAAI,CAAA,CAAA;AAAA,SAChB,MAAA;AAEN,UAAA,KAAA,CAAM,KAAQ,GAAA,OAAA,CAAA;AACd,UAAS,QAAA,CAAA,KAAA,GAAQ,EAAE,0BAA0B,CAAA,CAAA;AAC7C,UAAA,QAAA,CAAS,KAAQ,GAAA,EAAA,CAAA;AAAA,SAClB;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,WAAA,GAAc,OAAO,CAAsB,KAAA;;AAEhD,MAAA,IAAI,CAAC,WAAY,CAAA,KAAA;AAAO,QAAA,OAAA;AAExB,MAAM,MAAA,KAAA,GAAA,CAAQ,EAAE,GAAA,CAAA,CAAA,aAAA,KAAF,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAC/B,MAAA,IAAI,CAAC,KAAA;AAAO,QAAA,OAAA;AAEZ,MAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACtC,QAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AACpB,QAAI,IAAA,IAAA,CAAK,SAAS,MAAQ,EAAA;AACzB,UAAM,MAAA,IAAA,GAAO,KAAK,SAAU,EAAA,CAAA;AAC5B,UAAI,IAAA,IAAA,IAAQ,gBAAiB,CAAA,IAAI,CAAG,EAAA;AACnC,YAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,YAAA,MAAM,YAAY,IAAI,CAAA,CAAA;AACtB,YAAA,MAAA;AAAA,qBACU,IAAM,EAAA;AAEhB,YAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,YAAA,KAAA,CAAM,KAAQ,GAAA,OAAA,CAAA;AACd,YAAS,QAAA,CAAA,KAAA,GAAQ,EAAE,0BAA0B,CAAA,CAAA;AAC7C,YAAA,QAAA,CAAS,KAAQ,GAAA,EAAA,CAAA;AACjB,YAAA,MAAA;AAAA,WACD;AAAA,SACD;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAC9B,MAAS,QAAA,CAAA,IAAA,CAAK,gBAAiB,CAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAAA,KACpD,CAAA;AAGA,IAAA,MAAM,sBAAsB,MAAM;AACjC,MAAS,QAAA,CAAA,IAAA,CAAK,mBAAoB,CAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAAA,KACvD,CAAA;AAGA,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAGD,IAAM,MAAA,WAAA,GAAc,OAAO,IAAe,KAAA;AACzC,MAAA,IAAI,IAAO,GAAA,IAAA,CAAA;AACX,MAAA,IAAI,MAAM,WAAa,EAAA;AACtB,QAAI,IAAA,OAAO,KAAM,CAAA,WAAA,KAAgB,UAAY,EAAA;AAC5C,UAAM,MAAA,MAAA,GAAS,KAAM,CAAA,WAAA,CAAY,IAAI,CAAA,CAAA;AACrC,UAAA,IAAI,MAAU,IAAA,OAAQ,MAA4B,CAAA,IAAA,KAAS,UAAY,EAAA;AACtE,YAAA,IAAA,GAAO,MAAM,MAAA,CAAA;AAAA,WACP,MAAA;AACN,YAAA,IAAA,GAAO,CAAC,CAAC,MAAA,CAAA;AAAA,WACV;AAAA,SACM,MAAA;AACN,UAAO,IAAA,GAAA,CAAC,CAAC,KAAM,CAAA,WAAA,CAAA;AAAA,SAChB;AAAA,OACD;AACA,MAAI,IAAA,CAAC,IAAQ,IAAA,CAAC,KAAM,CAAA,MAAA;AAAQ,QAAO,OAAA,KAAA,CAAA;AACnC,MAAA,QAAA,CAAS,QAAQ,IAAK,CAAA,IAAA,CAAA;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,SAAA,CAAA;AAChB,MAAA,IAAA,CAAK,SAAS,IAAI,CAAA,CAAA;AAClB,MAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AAAA,KAClB,CAAA;;;wBAtXC,EAAAC,kBAAA,CAkBO,MAAA,EAAA;AAAA,QAlBA,GAAA,EAAKC,MAAO,OAAA,CAAA;AAAA,QAAG,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,WAAoB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;uBACjFC,mBAA4F,OAAA,EAAA;AAAA,iBAAlE,EAAA,WAAA;AAAA,UAAJ,GAAI,EAAA,SAAA;AAAA,UAAY,IAAK,EAAA,MAAA;AAAA,UAAQ,QAAQC,IAAM,CAAA,MAAA;AAAA,UAAG,QAAQ,EAAA,YAAA;AAAA;kBAA7D,KAAK,CAAA;AAAA;QACH,KAAA,CAAM,SAAI,yBAA3BC,WAA6N,CAAAL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;iBAA/K,EAAA,QAAA;AAAA,UAAJ,GAAI,EAAA,MAAA;AAAA,UAAS,KAAM,EAAA,kBAAA;AAAA,UAAmB,IAAK,EAAA,QAAA;AAAA,UAAU,UAAU,KAAM,CAAA,QAAA;AAAA,UAAU,MAAA,EAAA,EAAA;AAAA,UAAQ,OAAA,EAAKM,aAAA,CAAA,CAAA,MAAO,KAAA,WAAA,CAAY,OAAM,KAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;2BAAG,MAA+C;AAAA;8BAA5C,KAAM,CAAA,UAAA,IAAcN,MAAC,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;sDAC1L,EAAAK,WAAA,CAA+IL,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA;iBAA3H,EAAA,QAAA;AAAA,UAAJ,GAAI,EAAA,MAAA;AAAA,UAAS,IAAA,EAAA,EAAA;AAAA,UAAK,KAAM,EAAA,QAAA;AAAA,UAAS,KAAM,EAAA,gBAAA;AAAA,UAAkB,UAAU,KAAM,CAAA,QAAA;AAAA,UAAW,OAAA,EAAKM,aAAA,CAAA,CAAA,MAAO,KAAA,WAAA,CAAY,OAAM,KAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;QAClIC,WAAA,CAaWP,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA,iBAbG,EAAA,OAAA;AAAA,UAAJ,GAAI,EAAA,KAAA;AAAA,UAAQ,KAAM,EAAA,IAAA;AAAA,UAAK,KAAM,EAAA,iBAAA;AAAA,UAAkB,IAAA,EAAA,EAAA;AAAA,UAAM,eAAa,KAAM,CAAA,UAAA;AAAA,UAAa,gBAAc,KAAM,CAAA,WAAA;AAAA,UAAc,QAAQ,EAAA,iBAAA;AAAA,UAAoB,QAAQ,EAAA,iBAAA;AAAA;2BACpK,MAWY;AAAA,YAXZO,WAAA,CAWY,sBAAA,IAAA,EAAA;AAAA,+BAVX,MASM;AAAA,gBATNJ,kBAAA;AAAA,kBASM,KAAA;AAAA,kBAAA;AAAA,oBATD,OAAKD,cAAA,CAAA,CAAC,gBAAyB,EAAA,YAAA,CAAY,KAAA,CAAA,CAAA;AAAA,oBAAG,0BAAkB,cAAc,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,oBAAG,2BAAmB,eAAe,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,oBAAG,OAAO,EAAA,YAAA;AAAA,oBAAe,sBAAc,UAAU,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA;;oBACxKK,WAAA,CAAgEP,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,sBAAtD,OAAO,OAAO,CAAA,KAAA;AAAA,sBAAE,KAAM,EAAA,qBAAA;AAAA;oBAChCG,kBAEM,CAAA,KAAA,EAAA,EAFD,KAAA,EAAM,uBAAqB,EAAA;AAAA,sBAC/BA,kBAAA;AAAA,wBAAmG,MAAA;AAAA,wBAAA,EAA7F,OAAM;wCAA8B,SAAQ,KAAI,IAAA,QAAA,CAAQ,SAAIH,KAAC,CAAA,CAAA,CAAA,CAAA,oBAAA,CAAA,CAAA;AAAA,wBAAA,CAAA;AAAA;AAAA,uBAAA;AAAA;oBAEzD,MAAA,KAAS,IAAA,mBAAA,mBAApBD,mBAGM,KAAA,EAAA;AAAA;sBAHqC,KAAM,EAAA,mBAAA;AAAA;sBAC/B,MAAK,sBAAtBM,WAA6H,CAAAL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;wBAArG,IAAK,EAAA,OAAA;AAAA,wBAAQ,KAAM,EAAA,iBAAA;AAAA,wBAAmB,uBAAY,WAAW,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;yCAAE,MAA0B;AAAA;2CAAvB,CAAAA,KAAA,CAAC,CAAA,CAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,4BAAA,CAAA;AAAA;AAAA,2BAAA;AAAA;;;4BACrE,mBAAmB,EAAA,eAAzC,EAAAK,WAAA,CAAmKL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;wBAAtH,KAAM,EAAA,oBAAA;AAAA,wBAAqB,IAAK,EAAA,UAAA;AAAA,wBAAY,uBAAY,WAAW,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;yCAAE,MAAqC;AAAA;2CAAlC,CAAAA,KAAA,CAAC,CAAA,CAAA,CAAA,4BAAA,CAAA,CAAA;AAAA,4BAAA,CAAA;AAAA;AAAA,2BAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"import.vue2.mjs","sources":["../../../../../../packages/components/import/src/import.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToImport',\n\tcomponentName: 'ToImport'\n});\n</script>\n<template>\n\t<span :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-import\" :class=\"setClass\">\n\t\t<input v-show=\"false\" ref=\"fileInput\" type=\"file\" :accept=\"accept\" @change=\"handleChange\" />\n\t\t<to-button v-if=\"props.type === 'button'\" ref=\"button\" class=\"to-import-button\" icon=\"import\" :disabled=\"props.disabled\" expand @click.stop=\"handleFloat(button)\">{{ props.buttonText || t('to.import.button') }}</to-button>\n\t\t<to-icon v-else ref=\"iconEl\" link value=\"import\" class=\"to-import-icon\" :disabled=\"props.disabled\" @click.stop=\"handleFloat(iconEl)\"></to-icon>\n\t\t<Teleport to=\"body\">\n\t\t\t<div class=\"to-import\">\n\t\t\t\t<to-float ref=\"layer\" :global=\"false\" width=\"25\" class=\"to-import-layer\" lazy :before-open=\"props.beforeOpen\" :before-close=\"props.beforeClose\" @opened=\"handleFloatOpened\" @closed=\"handleFloatClosed\">\n\t\t\t\t\t<div class=\"to-import-file\" :class=\"setFileClass\" @dragover.prevent=\"handleDragOver\" @dragleave.prevent=\"handleDragLeave\" @click=\"handleImport\" @drop.prevent=\"handleDrop\">\n\t\t\t\t\t\t<to-icon :value=\"getIcon\" class=\"to-import-file-icon\"></to-icon>\n\t\t\t\t\t\t<div class=\"to-import-file-name\">\n\t\t\t\t\t\t\t<span class=\"to-import-file-name-text\">{{ errorTip || fileName || t('to.import.tip.placeholder') }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"state || hasDownloadTemplate()\" class=\"to-import-file-fn\">\n\t\t\t\t\t\t\t<to-button v-if=\"state\" icon=\"reset\" value=\"reset\" link class=\"to-import-file-reset\" @click.stop=\"handleReset\">{{ t('to.import.reset') }}</to-button>\n\t\t\t\t\t\t\t<to-button v-else-if=\"hasDownloadTemplate()\" class=\"to-import-file-download\" icon=\"download\" @click.stop=\"downloadTem\">{{ t('to.import.template') }}</to-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</to-float>\n\t\t\t</div>\n\t\t</Teleport>\n\t</span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, getCurrentInstance, onBeforeUnmount } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { fileAjax } from '@touchvue/utils'\nimport { ToButton, ToIcon, ToFloat } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n// 定义组件名称和选项\n\n\nexport interface ImportProps {\n\tflex?: boolean\n\tmode?: string\n\ttype?: string\n\taccept?: string\n\tbuttonText?: string\n\tname?: string\n\taction?: string\n\tbeforeStart?: (file) => boolean | Promise<boolean>\n\tclosed?: () => any\n\tbeforeClose?: () => boolean | Promise<boolean>\n\topened?: () => any\n\tbeforeOpen?: () => boolean | Promise<boolean>\n\theaders?: object | null\n\twithCredentials?: boolean\n\tdata?: object | null\n\tdisabled?: boolean\n}\nconst props = withDefaults(defineProps<ImportProps>(), {\n\tflex: false,\n\tmode: 'default',\n\tbuttonText: '',\n\taccept: '',\n\ttype: 'button',\n\tname: 'importfile',\n\taction: '',\n\theaders: () => null,\n\twithCredentials: false,\n\tdata: () => null,\n\tbeforeStart: () => true,\n\tdisabled: false,\n\tbeforeOpen: () => true,\n\topened: () => true,\n\tbeforeClose: () => true,\n\tclosed: () => true\n})\n\nconst instance = getCurrentInstance()\nconst hasDownloadTemplate = () => {\n\treturn !!instance.vnode.props.onDownloadTemplate\n}\nconst emit = defineEmits(['success', 'error', 'start', 'progress', 'download-template'])\n\nconst state = ref('')\nconst fileName = ref('')\nconst layer = ref(null)\nconst iconEl = ref(null)\nconst button = ref(null)\nconst fileInput = ref(null)\nconst btnIcon = ref('import')\nconst isDragOver = ref(false)\nconst isFloatOpen = ref(false)\nconst errorTip = ref('')\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (state.value) {\n\t\tarr.push(`state-${state.value}`)\n\t}\n\treturn arr\n})\n\nconst setFileClass = computed(() => {\n\tlet arr: string[] = []\n\tif (isDragOver.value) {\n\t\tarr.push('is-dragover')\n\t}\n\treturn arr\n})\n\nconst fileTypeIcons = {\n\texcel: ['.xls', '.xlsx', '.csv'],\n\timg: ['.png', '.jpg', '.gif', '.apng', '.webp'],\n\tppt: ['.ppt', '.pptx', '.ppsx'],\n\trar: ['.rar', '.zip', '.tar', '.gz', '.tgz'],\n\tvideo: ['.rm', '.rmvb', '.avi', '.mkv', '.mp4', '.wmv', '.mov', '.movie', '.mpeg', '.mpg', '.qt'],\n\tvoice: ['.mp2', '.mp3', '.wma', '.midi'],\n\tword: ['.doc', '.docx']\n}\n\nconst getIcon = computed(() => {\n\t// 特殊状态处理\n\tif (!state.value) {\n\t\treturn 'upload'\n\t}\n\tif (state.value === 'uploading') {\n\t\treturn 'loading'\n\t}\n\tif (state.value === 'error') {\n\t\treturn 'close'\n\t}\n\n\t// 校验入参,为空直接返回默认值\n\tif (!fileName.value || typeof fileName.value !== 'string') {\n\t\treturn 'default'\n\t}\n\n\t// 提取文件后缀并统一转为小写\n\tlet ext\n\tif (fileName.value.startsWith('.')) {\n\t\t// 直接传入后缀的情况(如 \".XLSX\")\n\t\text = fileName.value.toLowerCase()\n\t} else {\n\t\t// 传入完整文件名的情况(如 \"Test.XLSX\")\n\t\tconst lastDotIndex = fileName.value.lastIndexOf('.')\n\t\t// 无后缀的文件(如 \"README\")\n\t\tif (lastDotIndex === -1) {\n\t\t\treturn 'default'\n\t\t}\n\t\text = fileName.value.slice(lastDotIndex).toLowerCase()\n\t}\n\n\t// 遍历映射关系(映射表已为小写),匹配对应的图标类型\n\tfor (const [iconType, extList] of Object.entries(fileTypeIcons)) {\n\t\tif (extList.includes(ext)) {\n\t\t\treturn iconType\n\t\t}\n\t}\n\n\t// 未匹配到任何类型,兜底使用 file 图标\n\treturn 'file'\n})\n\n// 验证文件类型是否符合 accept 属性\nconst validateFileType = (file: File): boolean => {\n\t// 如果没有设置 accept,则允许所有类型\n\tif (!props.accept) return true\n\n\tconst fileName = file.name.toLowerCase()\n\tconst acceptRules = props.accept.split(',').map(rule => rule.trim().toLowerCase())\n\n\t// 检查文件是否匹配任意一条 accept 规则\n\treturn acceptRules.some(rule => {\n\t\tif (rule.startsWith('.')) {\n\t\t\t// 扩展名规则(如 \".xlsx,.xls\")\n\t\t\treturn fileName.endsWith(rule)\n\t\t} else if (rule === '*/*') {\n\t\t\t// 允许所有类型\n\t\t\treturn true\n\t\t} else if (rule.includes('/*')) {\n\t\t\t// MIME 类型通配符(如 \"image/*\", \"application/*\")\n\t\t\tconst typePrefix = rule.split('/*')[0]\n\t\t\treturn file.type.toLowerCase().startsWith(typePrefix + '/')\n\t\t} else {\n\t\t\t// 具体 MIME 类型(如 \"application/json\")\n\t\t\treturn file.type.toLowerCase() === rule\n\t\t}\n\t})\n}\n\nconst handleChange = async (e: Event) => {\n\tconst files = (e.target as HTMLInputElement).files\n\tif (files && files.length > 0) {\n\t\tconst file = files[0]\n\t\tif (validateFileType(file)) {\n\t\t\tawait processFile(file)\n\t\t} else {\n\t\t\t// 文件类型不通过校验,显示错误状态\n\t\t\tstate.value = 'error'\n\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\tfileName.value = ''\n\t\t\t// 清空 input 以便重新选择\n\t\t\t;(e.target as HTMLInputElement).value = ''\n\t\t}\n\t}\n}\n\nasync function handleUpload(file) {\n\tlet formData = new FormData()\n\tformData.append(props.name, file)\n\tif (props.data) {\n\t\tObject.keys(props.data).forEach(key => {\n\t\t\tformData.append(key, props.data[key])\n\t\t})\n\t}\n\tstate.value = 'uploading'\n\tfileAjax({\n\t\taction: props.action,\n\t\tdata: formData,\n\t\theaders: props.headers,\n\t\twithCredentials: props.withCredentials,\n\t\tonError: (err, status) => {\n\t\t\tstate.value = 'error'\n\t\t\temit('error', err, status, file)\n\t\t\t// 根据错误类型做不同处理\n\t\t\tswitch (err.type) {\n\t\t\t\tcase 'network_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.network') + err.message\n\t\t\t\t\tbreak\n\t\t\t\tcase 'http_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.server') + `(${status}):${err.response?.message || err.message}`\n\t\t\t\t\tbreak\n\t\t\t\tcase 'parse_error':\n\t\t\t\t\terrorTip.value = t('to.import.error.dataFormat') + err.message\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t},\n\t\tonSuccess: (data, status) => {\n\t\t\tlet _data = JSON.parse(JSON.stringify(data))\n\t\t\tbtnIcon.value = 'import'\n\t\t\tstate.value = 'success'\n\t\t\temit('success', _data, status, file)\n\t\t},\n\t\tonProgress: e => {\n\t\t\tstate.value = 'uploading'\n\t\t\temit('progress', e.loaded, e.total, file)\n\t\t}\n\t})\n}\nconst handleFloat = el => {\n\tif (props.disabled) return false\n\tlayer.value.toggle(el)\n}\n\nconst handleImport = () => {\n\tfileInput.value.click()\n}\n\nconst downloadTem = () => {\n\temit('download-template')\n}\n\n// 重置组件状态\nconst handleReset = () => {\n\tstate.value = ''\n\tfileName.value = ''\n\terrorTip.value = ''\n\tbtnIcon.value = 'import'\n\tif (fileInput.value) {\n\t\tfileInput.value.value = ''\n\t}\n}\n\nconst handleFloatOpened = () => {\n\tisFloatOpen.value = true\n\taddPasteListener()\n\tif (props.opened) {\n\t\tprops.opened()\n\t}\n}\n\n// 处理 float 关闭回调\nconst handleFloatClosed = () => {\n\tremovePasteListener()\n\tisFloatOpen.value = false\n\tif (props.closed) {\n\t\tprops.closed()\n\t}\n}\n\n// 拖拽上传相关方法\nconst handleDragOver = () => {\n\tisDragOver.value = true\n}\n\nconst handleDragLeave = () => {\n\tisDragOver.value = false\n}\n\nconst handleDrop = async (e: DragEvent) => {\n\tisDragOver.value = false\n\tconst files = e.dataTransfer?.files\n\tif (files && files.length > 0) {\n\t\tconst file = files[0]\n\t\tif (validateFileType(file)) {\n\t\t\tawait processFile(file)\n\t\t} else {\n\t\t\t// 文件类型不正确时的状态处理\n\t\t\tstate.value = 'error'\n\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\tfileName.value = ''\n\t\t}\n\t}\n}\n\n// 粘贴上传相关方法\nconst handlePaste = async (e: ClipboardEvent) => {\n\t// 只在下拉框打开时处理粘贴\n\tif (!isFloatOpen.value) return\n\n\tconst items = e.clipboardData?.items\n\tif (!items) return\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tconst item = items[i]\n\t\tif (item.kind === 'file') {\n\t\t\tconst file = item.getAsFile()\n\t\t\tif (file && validateFileType(file)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tawait processFile(file)\n\t\t\t\tbreak\n\t\t\t} else if (file) {\n\t\t\t\t// 文件类型不正确时的状态处理\n\t\t\t\te.preventDefault()\n\t\t\t\tstate.value = 'error'\n\t\t\t\terrorTip.value = t('to.import.error.fileType')\n\t\t\t\tfileName.value = ''\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 添加全局粘贴监听\nconst addPasteListener = () => {\n\tdocument.body.addEventListener('paste', handlePaste)\n}\n\n// 移除全局粘贴监听\nconst removePasteListener = () => {\n\tdocument.body.removeEventListener('paste', handlePaste)\n}\n\n// 组件卸载前移除监听\nonBeforeUnmount(() => {\n\tremovePasteListener()\n})\n\n// 处理文件的统一方法\nconst processFile = async (file: File) => {\n\tlet flag = true\n\tif (props.beforeStart) {\n\t\tif (typeof props.beforeStart === 'function') {\n\t\t\tconst result = props.beforeStart(file)\n\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await result\n\t\t\t} else {\n\t\t\t\tflag = !!result\n\t\t\t}\n\t\t} else {\n\t\t\tflag = !!props.beforeStart\n\t\t}\n\t}\n\tif (!flag || !props.action) return false\n\tfileName.value = file.name\n\tbtnIcon.value = 'loading'\n\temit('start', file)\n\thandleUpload(file)\n}\n</script>\n"],"names":["DO_defineComponent","fileName","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","accept","_createBlock","_withModifiers","_Teleport","_createVNode"],"mappings":"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"}
@@ -5,6 +5,7 @@ import vDis from '../../../directives/dis/src/dis.mjs';
5
5
  import tipDirective from '../../../directives/tip/src/tip.mjs';
6
6
  import { vPress } from '../../../directives/press/src/press.mjs';
7
7
  import { t, langKey } from '../../../locale/index.mjs';
8
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
8
9
 
9
10
  const __default__ = defineComponent({
10
11
  name: "ToInput"
@@ -340,9 +341,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
340
341
  arr.push("to-input-tip-show");
341
342
  } else {
342
343
  if (props.mode) {
343
- for (let i = 0; i < props.mode.split(" ").length; i++) {
344
- arr.push(`mode-${props.mode.split(" ")[i]}`);
345
- }
344
+ arr.push(...getModeClasses(props.mode));
346
345
  }
347
346
  if (props.type) {
348
347
  arr.push(`type-${props.type}`);
@@ -470,8 +469,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
470
469
  emit("ctrlenter", data.value);
471
470
  }
472
471
  function clear() {
473
- data.value = "";
474
- clearVisible.value = false;
472
+ if (!props.disabled || props.link) {
473
+ data.value = "";
474
+ clearVisible.value = false;
475
+ }
475
476
  emit("clear");
476
477
  }
477
478
  function reduce() {
@@ -632,7 +633,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
632
633
  [vModelDynamic, data.value]
633
634
  ])
634
635
  ])),
635
- !props.disabled && props.clearable && !props.step ? withDirectives((openBlock(), createBlock(
636
+ (!props.disabled || props.link) && props.clearable ? withDirectives((openBlock(), createBlock(
636
637
  unref(ToIcon),
637
638
  {
638
639
  key: 6,
@@ -645,7 +646,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
645
646
  512
646
647
  /* NEED_PATCH */
647
648
  )), [
648
- [vShow, clearVisible.value]
649
+ [vShow, (!props.disabled || props.link) && clearVisible.value]
649
650
  ]) : createCommentVNode("v-if", true),
650
651
  props.maxlength !== Infinity && props.count && props.type !== "textarea" ? (openBlock(), createElementBlock("span", {
651
652
  key: 7,
@@ -695,7 +696,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
695
696
  }, [
696
697
  _ctx.$slots.fn || _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
697
698
  key: 0,
698
- class: "to-input-suffix-slot"
699
+ class: "to-input-suffix"
699
700
  }, [
700
701
  __props.type === "textarea" ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true),
701
702
  __props.type === "textarea" ? renderSlot(_ctx.$slots, "fn", { key: 1 }) : createCommentVNode("v-if", true)