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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  2. package/es/components/msg/index.d.ts +22 -7
  3. package/es/components/scroll/index.d.ts +0 -48
  4. package/es/components/scroll/src/Scroll.vue.d.ts +0 -28
  5. package/es/components/scroll/src/scroll.d.ts +0 -21
  6. package/es/hooks/useSetClass.d.ts +4 -0
  7. package/es/index.d.mjs +1 -1
  8. package/es/index.mjs +1 -1
  9. package/es/packages/components/box/src/box.vue2.mjs +4 -2
  10. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  11. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  12. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  13. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs +3 -1
  14. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  15. package/es/packages/components/button/src/button.vue2.mjs +2 -4
  16. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  17. package/es/packages/components/calendar/src/calendar.vue2.mjs +206 -232
  18. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  19. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -1
  20. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  21. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +2 -1
  22. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  23. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +14 -11
  24. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  25. package/es/packages/components/collapse/src/collapse.vue2.mjs +2 -1
  26. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  27. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +3 -4
  28. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  29. package/es/packages/components/daterange/src/date-range.vue2.mjs +30 -10
  30. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  31. package/es/packages/components/dialog/src/Dialog.vue2.mjs +2 -1
  32. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  33. package/es/packages/components/divider/src/divider.vue2.mjs +2 -1
  34. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  35. package/es/packages/components/export/src/export.vue2.mjs +2 -1
  36. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  37. package/es/packages/components/fix/src/Fix.vue2.mjs +2 -1
  38. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  39. package/es/packages/components/float/src/Float.vue2.mjs +2 -1
  40. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  41. package/es/packages/components/form/src/form.vue2.mjs +2 -1
  42. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  43. package/es/packages/components/gap/src/gap.vue2.mjs +2 -1
  44. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  45. package/es/packages/components/grid/src/grid.vue2.mjs +2 -1
  46. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  47. package/es/packages/components/guider/src/guider.vue2.mjs +2 -1
  48. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  49. package/es/packages/components/header/src/header.vue2.mjs +2 -1
  50. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  51. package/es/packages/components/icon/src/icon.vue2.mjs +2 -1
  52. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  53. package/es/packages/components/import/src/import.vue2.mjs +27 -29
  54. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  55. package/es/packages/components/input/src/input.vue2.mjs +3 -4
  56. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  57. package/es/packages/components/msg/index.d.mjs.map +1 -1
  58. package/es/packages/components/msg/index.mjs +26 -15
  59. package/es/packages/components/msg/index.mjs.map +1 -1
  60. package/es/packages/components/msg/src/msg.vue2.mjs +6 -5
  61. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  62. package/es/packages/components/padding/src/padding.vue2.mjs +2 -1
  63. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  64. package/es/packages/components/page/src/page.vue2.mjs +2 -1
  65. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  66. package/es/packages/components/param/src/Param.vue2.mjs +2 -1
  67. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  68. package/es/packages/components/pic/src/Pic.vue2.mjs +4 -2
  69. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  70. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  71. package/es/packages/components/progress/src/Progress.vue2.mjs +2 -1
  72. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  73. package/es/packages/components/range/src/range.vue2.mjs +2 -1
  74. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  75. package/es/packages/components/rate/src/rate.vue2.mjs +3 -2
  76. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  77. package/es/packages/components/scroll/src/Scroll.vue2.mjs +8 -218
  78. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  79. package/es/packages/components/scroll/src/scroll.mjs +0 -21
  80. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  81. package/es/packages/components/segment/src/segment.vue.mjs +2 -1
  82. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  83. package/es/packages/components/select/src/hooks/use-select-class-style.mjs +2 -3
  84. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  85. package/es/packages/components/select/src/select.vue2.mjs +122 -128
  86. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  87. package/es/packages/components/slide/src/slide.vue2.mjs +2 -1
  88. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  89. package/es/packages/components/step/src/step.vue2.mjs +2 -1
  90. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  91. package/es/packages/components/switch/src/switch.vue2.mjs +2 -1
  92. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  93. package/es/packages/components/tab/src/tab.vue2.mjs +2 -1
  94. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  95. package/es/packages/components/table/src/table.vue2.mjs +2 -1
  96. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  97. package/es/packages/components/tag/src/tag.vue2.mjs +2 -1
  98. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  99. package/es/packages/components/text/src/text.vue2.mjs +2 -1
  100. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  101. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  102. package/es/packages/components/timeline/src/timeline.vue2.mjs +2 -1
  103. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  104. package/es/packages/components/tip/src/tip.vue2.mjs +2 -1
  105. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  106. package/es/packages/components/tooltip/src/tooltip.vue2.mjs +2 -1
  107. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  108. package/es/packages/components/transfer/src/transfer.vue2.mjs +2 -1
  109. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  110. package/es/packages/components/tree/src/tree.vue2.mjs +2 -1
  111. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  112. package/es/packages/components/upload/src/upload.vue2.mjs +2 -1
  113. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  114. package/es/packages/directives/dis/src/dis.mjs +5 -0
  115. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  116. package/es/packages/directives/tip/src/tip.mjs +13 -0
  117. package/es/packages/directives/tip/src/tip.mjs.map +1 -1
  118. package/es/packages/hooks/index.d.mjs +1 -1
  119. package/es/packages/hooks/index.mjs +1 -1
  120. package/es/packages/hooks/useSetClass.mjs +5 -2
  121. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  122. package/es/packages/locale/lang/en-US.mjs +5 -0
  123. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  124. package/es/packages/locale/lang/zh-CN.mjs +5 -0
  125. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  126. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  127. package/lib/components/msg/index.d.ts +22 -7
  128. package/lib/components/scroll/index.d.ts +0 -48
  129. package/lib/components/scroll/src/Scroll.vue.d.ts +0 -28
  130. package/lib/components/scroll/src/scroll.d.ts +0 -21
  131. package/lib/hooks/useSetClass.d.ts +4 -0
  132. package/lib/index.d.js +1 -0
  133. package/lib/index.d.js.map +1 -1
  134. package/lib/index.js +1 -0
  135. package/lib/index.js.map +1 -1
  136. package/lib/packages/components/box/src/box.vue2.js +4 -2
  137. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  138. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  139. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  140. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js +3 -1
  141. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  142. package/lib/packages/components/button/src/button.vue2.js +2 -4
  143. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  144. package/lib/packages/components/calendar/src/calendar.vue2.js +206 -232
  145. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  146. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -1
  147. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  148. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +2 -1
  149. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  150. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +14 -11
  151. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  152. package/lib/packages/components/collapse/src/collapse.vue2.js +2 -1
  153. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  154. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +3 -4
  155. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  156. package/lib/packages/components/daterange/src/date-range.vue2.js +29 -9
  157. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  158. package/lib/packages/components/dialog/src/Dialog.vue2.js +2 -1
  159. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  160. package/lib/packages/components/divider/src/divider.vue2.js +2 -1
  161. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  162. package/lib/packages/components/export/src/export.vue2.js +2 -1
  163. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  164. package/lib/packages/components/fix/src/Fix.vue2.js +2 -1
  165. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  166. package/lib/packages/components/float/src/Float.vue2.js +2 -1
  167. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  168. package/lib/packages/components/form/src/form.vue2.js +2 -1
  169. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  170. package/lib/packages/components/gap/src/gap.vue2.js +2 -1
  171. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  172. package/lib/packages/components/grid/src/grid.vue2.js +2 -1
  173. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  174. package/lib/packages/components/guider/src/guider.vue2.js +2 -1
  175. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  176. package/lib/packages/components/header/src/header.vue2.js +2 -1
  177. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  178. package/lib/packages/components/icon/src/icon.vue2.js +2 -1
  179. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  180. package/lib/packages/components/import/src/import.vue2.js +26 -28
  181. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  182. package/lib/packages/components/input/src/input.vue2.js +3 -4
  183. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  184. package/lib/packages/components/msg/index.d.js.map +1 -1
  185. package/lib/packages/components/msg/index.js +26 -15
  186. package/lib/packages/components/msg/index.js.map +1 -1
  187. package/lib/packages/components/msg/src/msg.vue2.js +6 -5
  188. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  189. package/lib/packages/components/padding/src/padding.vue2.js +2 -1
  190. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  191. package/lib/packages/components/page/src/page.vue2.js +2 -1
  192. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  193. package/lib/packages/components/param/src/Param.vue2.js +2 -1
  194. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  195. package/lib/packages/components/pic/src/Pic.vue2.js +4 -2
  196. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  197. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  198. package/lib/packages/components/progress/src/Progress.vue2.js +2 -1
  199. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  200. package/lib/packages/components/range/src/range.vue2.js +2 -1
  201. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  202. package/lib/packages/components/rate/src/rate.vue2.js +2 -1
  203. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  204. package/lib/packages/components/scroll/src/Scroll.vue2.js +8 -218
  205. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  206. package/lib/packages/components/scroll/src/scroll.js +0 -21
  207. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  208. package/lib/packages/components/segment/src/segment.vue.js +2 -1
  209. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  210. package/lib/packages/components/select/src/hooks/use-select-class-style.js +2 -3
  211. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  212. package/lib/packages/components/select/src/select.vue2.js +122 -128
  213. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  214. package/lib/packages/components/slide/src/slide.vue2.js +2 -1
  215. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  216. package/lib/packages/components/step/src/step.vue2.js +2 -1
  217. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  218. package/lib/packages/components/switch/src/switch.vue2.js +2 -1
  219. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  220. package/lib/packages/components/tab/src/tab.vue2.js +2 -1
  221. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  222. package/lib/packages/components/table/src/table.vue2.js +2 -1
  223. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  224. package/lib/packages/components/tag/src/tag.vue2.js +2 -1
  225. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  226. package/lib/packages/components/text/src/text.vue2.js +2 -1
  227. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  228. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  229. package/lib/packages/components/timeline/src/timeline.vue2.js +2 -1
  230. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  231. package/lib/packages/components/tip/src/tip.vue2.js +2 -1
  232. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  233. package/lib/packages/components/tooltip/src/tooltip.vue2.js +2 -1
  234. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  235. package/lib/packages/components/transfer/src/transfer.vue2.js +2 -1
  236. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  237. package/lib/packages/components/tree/src/tree.vue2.js +2 -1
  238. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  239. package/lib/packages/components/upload/src/upload.vue2.js +2 -1
  240. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  241. package/lib/packages/directives/dis/src/dis.js +5 -0
  242. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  243. package/lib/packages/directives/tip/src/tip.js +13 -0
  244. package/lib/packages/directives/tip/src/tip.js.map +1 -1
  245. package/lib/packages/hooks/index.d.js +1 -0
  246. package/lib/packages/hooks/index.d.js.map +1 -1
  247. package/lib/packages/hooks/index.js +1 -0
  248. package/lib/packages/hooks/index.js.map +1 -1
  249. package/lib/packages/hooks/useSetClass.js +5 -1
  250. package/lib/packages/hooks/useSetClass.js.map +1 -1
  251. package/lib/packages/locale/lang/en-US.js +5 -0
  252. package/lib/packages/locale/lang/en-US.js.map +1 -1
  253. package/lib/packages/locale/lang/zh-CN.js +5 -0
  254. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  255. package/package.json +1 -1
  256. package/theme/components/index.css +318 -343
  257. package/theme/img/loading.png +0 -0
  258. package/theme/index.css +318 -343
  259. package/theme/skin/default.css +318 -343
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/msg/index.ts"],"sourcesContent":["import { h, render, isVNode } from 'vue'\nimport Msg from './src/msg.vue'\nimport { SFCWithInstall, withInstall } from '@touchvue/utils'\nimport { generateUUID, removeElement } from '@touchvue/utils'\n\nconst ToMsg: SFCWithInstall<typeof Msg> = withInstall(Msg)\nexport * from './src/instance'\n\n// 定义选项接口\nexport interface MsgOptions {\n\ttitle?: string\n\tcontent?: string\n\tpic?: string\n\tpicPosition?: string\n\tposition?: string\n\theight?: string | number\n\tconfirmButtonText?: string\n\tcancelButtonText?: string\n\tglobal?: boolean\n\tshow?: boolean\n\t[key: string]: any\n}\n\n// 创建msg实例的函数\nfunction createMsgInstance(app: any, ...args: any[]): Promise<boolean> {\n\tif (args.length === 0) return Promise.reject('无效的 msg 内容')\n\n\treturn new Promise((resolve, reject) => {\n\t\tconst defaultOptions: MsgOptions = {\n\t\t\ttitle: '',\n\t\t\tcontent: '',\n\t\t\tpic: '',\n\t\t\tpicPosition: 'left',\n\t\t\tposition: 'center',\n\t\t\theight: 'auto',\n\t\t\tconfirmButtonText: '确定',\n\t\t\tcancelButtonText: '取消',\n\t\t\tglobal: false,\n\t\t\tshow: false\n\t\t}\n\n\t\tlet options: MsgOptions = { ...defaultOptions }\n\n\t\t// 处理参数\n\t\tif (args.length === 1) {\n\t\t\tif (typeof args[0] === 'object') {\n\t\t\t\toptions = { ...defaultOptions, ...args[0] }\n\t\t\t} else {\n\t\t\t\toptions = { ...defaultOptions, content: String(args[0]) }\n\t\t\t}\n\t\t} else if (args.length >= 2) {\n\t\t\tif (typeof args[0] === 'string') {\n\t\t\t\tswitch (args[0]) {\n\t\t\t\t\tcase 'success':\n\t\t\t\t\t\toptions.pic = 'success'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\toptions.pic = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'help':\n\t\t\t\t\t\toptions.pic = 'help'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'loading':\n\t\t\t\t\t\toptions.pic = 'loading'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'info':\n\t\t\t\t\t\toptions.pic = 'info'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\toptions.pic = 'success'\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof args[1] === 'object') {\n\t\t\t\toptions = { ...options, ...args[1] }\n\t\t\t}\n\t\t}\n\n\t\t// 创建容器\n\t\tconst body = document.body\n\t\tconst uuid = `msg-${generateUUID()}`\n\t\tconst container = document.createElement('div')\n\t\tcontainer.setAttribute('id', uuid)\n\t\tbody.appendChild(container)\n\n\t\t// 处理VNode类型的content和title,避免同时作为props和slots传递\n\t\tconst isTitleVNode = isVNode(options.title)\n\t\tconst isDetailVNode = isVNode(options.detail)\n\n\t\tconst props = {\n\t\t\t...options,\n\t\t\t...(isTitleVNode ? { title: undefined } : {}),\n\t\t\t...(isDetailVNode ? { detail: undefined } : {})\n\t\t}\n\n\t\t// 创建VNode并渲染\n\t\tconst vnode = h(\n\t\t\tMsg,\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\tonClose: () => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trender(null, container)\n\t\t\t\t\t\tremoveElement(container)\n\t\t\t\t\t\treject(false)\n\t\t\t\t\t}, 200)\n\t\t\t\t},\n\t\t\t\tonConfirm: () => {\n\t\t\t\t\trender(null, container)\n\t\t\t\t\tremoveElement(container)\n\t\t\t\t\tresolve(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: isTitleVNode ? options.title : null,\n\t\t\t\tdetail: isDetailVNode ? options.detail : null\n\t\t\t}\n\t\t)\n\n\t\t// 设置应用上下文\n\t\tif (app && app._context) {\n\t\t\tvnode.appContext = app._context\n\t\t}\n\n\t\t// 渲染组件到容器\n\t\trender(vnode, container)\n\n\t\t// 等待DOM挂载完成后调用open方法\n\t\tconst componentInstance = vnode.component\n\t\trequestAnimationFrame(() => {\n\t\t\tif (componentInstance && componentInstance.exposed && typeof componentInstance.exposed.open === 'function') {\n\t\t\t\tcomponentInstance.exposed.open()\n\t\t\t}\n\t\t})\n\t})\n}\n\n// 创建$msg函数工厂\nfunction createMsgFunction(app: any) {\n\tconst $msg = function (...args: any[]): Promise<boolean> {\n\t\tapp = app ? app : ToMsg._context\n\t\treturn createMsgInstance(app, ...args)\n\t}\n\n\t// 添加便捷方法\n\t$msg.success = function (options: MsgOptions): Promise<boolean> {\n\t\t// 成功提示默认不需要取消按钮\n\t\tif (typeof options === 'object') {\n\t\t\toptions.cancelButtonText = ''\n\t\t} else {\n\t\t\toptions = { cancelButtonText: '' }\n\t\t}\n\t\treturn $msg('success', options)\n\t}\n\n\t$msg.error = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('error', options)\n\t}\n\n\t$msg.help = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('help', options)\n\t}\n\n\t$msg.loading = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('loading', options)\n\t}\n\n\t$msg.info = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('info', options)\n\t}\n\n\t$msg.confirm = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('help', options)\n\t}\n\n\treturn $msg\n}\n\nexport const $msg = createMsgFunction(null)\n\nconst originInstall = ToMsg.install\n\nToMsg.install = app => {\n\toriginInstall(app)\n\tToMsg._context = app\n\tconst appMsg = createMsgFunction(app)\n\tapp.config.globalProperties.$msg = appMsg\n}\n\nexport default $msg\n\nexport { ToMsg }\n"],"names":["withInstall","Msg","generateUUID","isVNode","h","render","removeElement","$msg"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/msg/index.ts"],"sourcesContent":["import { h, render, isVNode } from 'vue'\nimport Msg from './src/msg.vue'\nimport { SFCWithInstall, withInstall } from '@touchvue/utils'\nimport { generateUUID, removeElement } from '@touchvue/utils'\n\nconst ToMsg: SFCWithInstall<typeof Msg> = withInstall(Msg)\nexport * from './src/instance'\n\n// 定义选项接口\nexport interface MsgOptions {\n\tflex?: boolean\n\ttype?: string\n\tmode?: string\n\ttitle?: string\n\tcontent?: any\n\tbuttons?: Array<{\n\t\tlabel: string\n\t\tattrs?: Record<string, any>\n\t\tfn?: () => void\n\t}>\n\theight?: string | number\n\twidth?: string | number\n\tdir?: string\n\tdetail?: string\n\tshowDetail?: boolean\n\tpadding?: string | number\n\tposition?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tcloseOnBlur?: boolean\n\tzIndex?: number | string\n\tshow?: boolean\n\tglobal?: boolean\n\tconfirmable?: boolean\n\tcancelable?: boolean\n\t[key: string]: any\n}\n\n// 创建msg实例的函数\nfunction createMsgInstance(app: any, ...args: any[]): Promise<boolean> {\n\tif (args.length === 0) return Promise.reject('无效的 msg 内容')\n\n\treturn new Promise((resolve, reject) => {\n\t\tconst defaultOptions: MsgOptions = {\n\t\t\tmode: 'default',\n\t\t\ttitle: '',\n\t\t\tcontent: '',\n\t\t\tbuttons: [],\n\t\t\theight: 'auto',\n\t\t\twidth: '',\n\t\t\tflex: false,\n\t\t\tdetail: '',\n\t\t\tshowDetail: true,\n\t\t\tpadding: 0,\n\t\t\ttype: '',\n\t\t\tdir: '',\n\t\t\tposition: '',\n\t\t\tconfirmText: '',\n\t\t\tcancelText: '',\n\t\t\tcloseOnBlur: true,\n\t\t\tzIndex: 0,\n\t\t\tshow: false,\n\t\t\tglobal: true,\n\t\t\tconfirmable: true,\n\t\t\tcancelable: true\n\t\t}\n\n\t\tlet options: MsgOptions = { ...defaultOptions }\n\n\t\t// 处理参数\n\t\tif (args.length === 1) {\n\t\t\tif (typeof args[0] === 'object') {\n\t\t\t\toptions = { ...defaultOptions, ...args[0] }\n\t\t\t} else {\n\t\t\t\toptions = { ...defaultOptions, content: String(args[0]) }\n\t\t\t}\n\t\t} else if (args.length >= 2) {\n\t\t\tif (typeof args[0] === 'string') {\n\t\t\t\tswitch (args[0]) {\n\t\t\t\t\tcase 'success':\n\t\t\t\t\t\toptions.type = 'success'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\toptions.type = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'help':\n\t\t\t\t\t\toptions.type = 'help'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'loading':\n\t\t\t\t\t\toptions.type = 'loading'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'info':\n\t\t\t\t\t\toptions.type = 'info'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\toptions.type = 'success'\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof args[1] === 'object') {\n\t\t\t\toptions = { ...options, ...args[1] }\n\t\t\t}\n\t\t}\n\n\t\t// 创建容器\n\t\tconst body = document.body\n\t\tconst uuid = `msg-${generateUUID()}`\n\t\tconst container = document.createElement('div')\n\t\tcontainer.setAttribute('id', uuid)\n\t\tbody.appendChild(container)\n\n\t\t// 处理VNode类型的content和title,避免同时作为props和slots传递\n\t\tconst isTitleVNode = isVNode(options.title)\n\t\tconst isDetailVNode = isVNode(options.detail)\n\n\t\tconst props = {\n\t\t\t...options,\n\t\t\t...(isTitleVNode ? { title: undefined } : {}),\n\t\t\t...(isDetailVNode ? { detail: undefined } : {})\n\t\t}\n\n\t\t// 创建VNode并渲染\n\t\tconst vnode = h(\n\t\t\tMsg,\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\tonClose: () => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\trender(null, container)\n\t\t\t\t\t\tremoveElement(container)\n\t\t\t\t\t\treject(false)\n\t\t\t\t\t}, 200)\n\t\t\t\t},\n\t\t\t\tonConfirm: () => {\n\t\t\t\t\trender(null, container)\n\t\t\t\t\tremoveElement(container)\n\t\t\t\t\tresolve(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: isTitleVNode ? options.title : null,\n\t\t\t\tdetail: isDetailVNode ? options.detail : null\n\t\t\t}\n\t\t)\n\n\t\t// 设置应用上下文\n\t\tif (app && app._context) {\n\t\t\tvnode.appContext = app._context\n\t\t}\n\n\t\t// 渲染组件到容器\n\t\trender(vnode, container)\n\n\t\t// 等待DOM挂载完成后调用open方法\n\t\tconst componentInstance = vnode.component\n\t\trequestAnimationFrame(() => {\n\t\t\tif (componentInstance && componentInstance.exposed && typeof componentInstance.exposed.open === 'function') {\n\t\t\t\tcomponentInstance.exposed.open()\n\t\t\t}\n\t\t})\n\t})\n}\n\n// 创建$msg函数工厂\nfunction createMsgFunction(app: any) {\n\tconst $msg = function (...args: any[]): Promise<boolean> {\n\t\tapp = app ? app : ToMsg._context\n\t\treturn createMsgInstance(app, ...args)\n\t}\n\n\t// 添加便捷方法\n\t$msg.success = function (options: MsgOptions): Promise<boolean> {\n\t\t// 成功提示默认不需要取消按钮\n\t\tif (typeof options === 'object') {\n\t\t\toptions.cancelable = false\n\t\t} else {\n\t\t\toptions = { cancelable: false }\n\t\t}\n\t\treturn $msg('success', options)\n\t}\n\n\t$msg.error = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('error', options)\n\t}\n\n\t$msg.help = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('help', options)\n\t}\n\n\t$msg.loading = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('loading', options)\n\t}\n\n\t$msg.info = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('info', options)\n\t}\n\n\t$msg.confirm = function (options: MsgOptions): Promise<boolean> {\n\t\treturn $msg('help', options)\n\t}\n\n\treturn $msg\n}\n\nexport const $msg = createMsgFunction(null)\n\nconst originInstall = ToMsg.install\n\nToMsg.install = app => {\n\toriginInstall(app)\n\tToMsg._context = app\n\tconst appMsg = createMsgFunction(app)\n\tapp.config.globalProperties.$msg = appMsg\n}\n\nexport default $msg\n\nexport { ToMsg }\n"],"names":["withInstall","Msg","generateUUID","isVNode","h","render","removeElement","$msg"],"mappings":"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"}
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var purify_es = require('../../../../node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.js');
7
7
  var index$1 = require('../../button/index.js');
8
8
  var index = require('../../../locale/index.js');
9
+ var useSetClass = require('../../../hooks/useSetClass.js');
9
10
 
10
11
  const __default__ = vue.defineComponent({
11
12
  name: "ToMsg"
@@ -57,7 +58,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
57
58
  const setClass = vue.computed(() => {
58
59
  const arr = [];
59
60
  if (props.mode)
60
- arr.push(`mode-${props.mode}`);
61
+ arr.push(...useSetClass.getModeClasses(props.mode));
61
62
  if (props.type) {
62
63
  arr.push(`type-${props.type}`);
63
64
  }
@@ -265,14 +266,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
265
266
  128
266
267
  /* KEYED_FRAGMENT */
267
268
  )),
268
- _ctx.cancelText || true ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToButton), {
269
+ _ctx.cancelable ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToButton), {
269
270
  key: 0,
270
271
  class: "to-msg-button type-extend",
271
272
  onClick: cancel
272
273
  }, {
273
274
  default: vue.withCtx(() => [
274
275
  vue.createTextVNode(
275
- vue.toDisplayString(_ctx.cancelText || vue.unref(index.t)("to.msg.cancel")),
276
+ vue.toDisplayString(_ctx.cancelText || vue.unref(index.t)("to.common.cancel")),
276
277
  1
277
278
  /* TEXT */
278
279
  )
@@ -280,14 +281,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
280
281
  _: 1
281
282
  /* STABLE */
282
283
  })) : vue.createCommentVNode("v-if", true),
283
- _ctx.confirmText || true ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToButton), {
284
+ _ctx.confirmable ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ToButton), {
284
285
  key: 1,
285
286
  class: "to-msg-button type-confirm",
286
287
  onClick: confirm
287
288
  }, {
288
289
  default: vue.withCtx(() => [
289
290
  vue.createTextVNode(
290
- vue.toDisplayString(_ctx.confirmText || vue.unref(index.t)("to.msg.confirm")),
291
+ vue.toDisplayString(_ctx.confirmText || vue.unref(index.t)("to.common.confirm")),
291
292
  1
292
293
  /* TEXT */
293
294
  )
@@ -1 +1 @@
1
- {"version":3,"file":"msg.vue2.js","sources":["../../../../../../packages/components/msg/src/msg.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToMsg'\n});\n</script>\n<template>\n\t<div ref=\"el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-msg\" :class=\"setClass\">\n\t\t<div class=\"to-msg-bg\" @click=\"bgClose\"></div>\n\t\t<div class=\"to-msg-scroll\">\n\t\t\t<div class=\"to-msg-wrapper\" :style=\"setWrapperStyle\">\n\t\t\t\t<div class=\"to-msg-side\">\n\t\t\t\t\t<component :is=\"emoteComponent\" v-if=\"emoteComponent\"></component>\n\t\t\t\t\t<div class=\"to-msg-icon\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"hasInfoContent\" class=\"to-msg-main\">\n\t\t\t\t\t<div class=\"to-msg-text\">\n\t\t\t\t\t\t<div v-if=\"title || slots.title || slots.default\" class=\"to-msg-title\">\n\t\t\t\t\t\t\t{{ title }}\n\t\t\t\t\t\t\t<slot name=\"title\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"content || slots.content\" class=\"to-msg-content\">\n\t\t\t\t\t\t\t<slot name=\"content\">\n\t\t\t\t\t\t\t\t<component :is=\"content\" v-if=\"isCom\"></component>\n\t\t\t\t\t\t\t\t<span v-else v-html=\"safeContent\"></span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"slots.detail || detail\" class=\"to-msg-detail\">\n\t\t\t\t\t\t<template v-if=\"$slots.detail || detail\">\n\t\t\t\t\t\t\t<to-button v-if=\"!iShowDetail\" icon-position=\"right\" icon=\"expand\" class=\"to-msg-detail-button\" href=\"javascript:void(0)\" @click=\"iShowDetail = true\">{{ t('to.msg.showDetail') }}</to-button>\n\t\t\t\t\t\t\t<to-button v-else icon-position=\"right\" icon=\"collapse\" class=\"to-msg-detail-button\" href=\"javascript:void(0)\" @click=\"iShowDetail = false\">{{ t('to.msg.hideDetail') }}</to-button>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<div v-if=\"slots.detail && iShowDetail\" class=\"to-msg-detail-content\">\n\t\t\t\t\t\t\t<slot name=\"detail\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else-if=\"detail && iShowDetail\" class=\"to-msg-detail-content\" v-html=\"safeDetail\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"confirmable || cancelable || buttons.length\" class=\"to-msg-fn\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<to-button v-for=\"(btn, index) in buttons\" :key=\"index\" class=\"to-msg-button type-extend\" v-bind=\"btn.attrs\" @click=\"handleButtonClick(btn)\">{{ btn.label }}</to-button>\n\t\t\t\t\t\t\t<to-button v-if=\"cancelText || true\" class=\"to-msg-button type-extend\" @click=\"cancel\">{{ cancelText || t('to.msg.cancel') }}</to-button>\n\t\t\t\t\t\t\t<to-button v-if=\"confirmText || true\" class=\"to-msg-button type-confirm\" @click=\"confirm\">{{ confirmText || t('to.msg.confirm') }}</to-button>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport DOMPurify from 'dompurify'\nimport { computed, ref, useSlots, useAttrs, CSSProperties, isVNode, watch } from 'vue'\nimport { ToButton } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n\nexport interface ButtonConfig {\n\tlabel: string\n\tattrs?: Record<string, any>\n\tfn?: () => void\n}\n\nexport interface Props {\n\tflex?: boolean\n\ttype?: string\n\tmode?: string\n\ttitle?: string\n\tcontent?: any\n\tbuttons?: ButtonConfig[]\n\theight?: string | number\n\twidth?: string | number\n\tdir?: string\n\tdetail?: string\n\tshowDetail?: boolean\n\tpadding?: string | number\n\tposition?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tcloseOnBlur?: boolean\n\tzIndex?: number | string\n\tshow?: boolean\n\tglobal?: boolean\n\tconfirmable?: boolean\n\tcancelable?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\ttitle: '',\n\tcontent: '',\n\tbuttons: () => [],\n\theight: 'auto',\n\twidth: '',\n\tflex: false,\n\tdetail: '',\n\tshowDetail: true,\n\tpadding: 0,\n\ttype: '',\n\tdir: '',\n\tposition: '',\n\tconfirmText: '',\n\tcancelText: '',\n\tcloseOnBlur: true,\n\tzIndex: 0,\n\tshow: false,\n\tglobal: true,\n\tconfirmable: true,\n\tcancelable: true\n})\n\nconst emit = defineEmits(['close', 'confirm'])\n\nconst el = ref(null)\nconst iShowDetail = ref(props.showDetail)\nconst visible = ref(props.show)\nconst slots = useSlots()\nconst isCom = isVNode(props.content)\n\nconst className = useAttrs().class as string | undefined\n\n// 监听 show 属性变化\nwatch(\n\t() => props.show,\n\tnewVal => {\n\t\tvisible.value = newVal\n\t},\n\t{\n\t\timmediate: true\n\t}\n)\n\n// 计算属性\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.mode) arr.push(`mode-${props.mode}`)\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\tif (props.dir) {\n\t\tarr.push(`dir-${props.dir}`)\n\t}\n\tif (props.position) {\n\t\tarr.push(`position-${props.position}`)\n\t}\n\tif (props.global) {\n\t\tarr.push('is-global')\n\t}\n\tif (visible.value) arr.push('is-show')\n\tif (className) arr.push(className)\n\treturn arr\n})\n\nconst setWrapperStyle = computed(() => {\n\tconst style: CSSProperties = {}\n\tif (props.width) {\n\t\tstyle.width = `${props.width}em`\n\t}\n\treturn style\n})\n\nconst hasInfoContent = computed(() => props.title || slots.default || props.content || slots.content || slots.title)\nconst safeContent = computed(() => DOMPurify.sanitize(props.content))\nconst safeDetail = computed(() => DOMPurify.sanitize(props.detail))\n\nconst emoteComponent = computed(() => {\n\treturn (window as any).$TouchUI?.msg?.emote?.[props.type || 'default']\n})\n\nconst handleButtonClick = (btn: ButtonConfig) => {\n\tif (typeof btn.fn === 'function') {\n\t\tbtn.fn()\n\t}\n}\n\nconst open = () => {\n\tconst el = document.querySelector('.to-msg') as HTMLElement\n\tif (props.zIndex) {\n\t\tel.style.zIndex = props.zIndex.toString()\n\t} else {\n\t\tel.style.zIndex = ((window as any).$TouchUI?.zIndex ?? 1000).toString()\n\t\tif ((window as any).$TouchUI) (window as any).$TouchUI.zIndex++\n\t}\n\tvisible.value = true\n}\n\nconst close = () => {\n\tvisible.value = false\n\temit('close')\n}\n\nconst confirm = () => {\n\temit('confirm')\n\tvisible.value = false\n\temit('close')\n}\n\nconst cancel = () => {\n\tvisible.value = false\n\temit('close')\n}\n\nconst bgClose = () => {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\ndefineExpose({ open, close })\n</script>\n"],"names":["DO_defineComponent","ref","useSlots","isVNode","useAttrs","watch","computed","DOMPurify","el","_createElementBlock","_unref","langKey","flex","_normalizeClass","_createElementVNode","_openBlock","_createBlock","_resolveDynamicComponent","title","_renderSlot","content","detail","$slots","_Fragment","ToButton","t","confirmable","cancelable","buttons","_mergeProps","_createTextVNode","_toDisplayString","cancelText","confirmText"],"mappings":"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"}
1
+ {"version":3,"file":"msg.vue2.js","sources":["../../../../../../packages/components/msg/src/msg.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToMsg'\n});\n</script>\n<template>\n\t<div ref=\"el\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-msg\" :class=\"setClass\">\n\t\t<div class=\"to-msg-bg\" @click=\"bgClose\"></div>\n\t\t<div class=\"to-msg-scroll\">\n\t\t\t<div class=\"to-msg-wrapper\" :style=\"setWrapperStyle\">\n\t\t\t\t<div class=\"to-msg-side\">\n\t\t\t\t\t<component :is=\"emoteComponent\" v-if=\"emoteComponent\"></component>\n\t\t\t\t\t<div class=\"to-msg-icon\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"hasInfoContent\" class=\"to-msg-main\">\n\t\t\t\t\t<div class=\"to-msg-text\">\n\t\t\t\t\t\t<div v-if=\"title || slots.title || slots.default\" class=\"to-msg-title\">\n\t\t\t\t\t\t\t{{ title }}\n\t\t\t\t\t\t\t<slot name=\"title\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"content || slots.content\" class=\"to-msg-content\">\n\t\t\t\t\t\t\t<slot name=\"content\">\n\t\t\t\t\t\t\t\t<component :is=\"content\" v-if=\"isCom\"></component>\n\t\t\t\t\t\t\t\t<span v-else v-html=\"safeContent\"></span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"slots.detail || detail\" class=\"to-msg-detail\">\n\t\t\t\t\t\t<template v-if=\"$slots.detail || detail\">\n\t\t\t\t\t\t\t<to-button v-if=\"!iShowDetail\" icon-position=\"right\" icon=\"expand\" class=\"to-msg-detail-button\" href=\"javascript:void(0)\" @click=\"iShowDetail = true\">{{ t('to.msg.showDetail') }}</to-button>\n\t\t\t\t\t\t\t<to-button v-else icon-position=\"right\" icon=\"collapse\" class=\"to-msg-detail-button\" href=\"javascript:void(0)\" @click=\"iShowDetail = false\">{{ t('to.msg.hideDetail') }}</to-button>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<div v-if=\"slots.detail && iShowDetail\" class=\"to-msg-detail-content\">\n\t\t\t\t\t\t\t<slot name=\"detail\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else-if=\"detail && iShowDetail\" class=\"to-msg-detail-content\" v-html=\"safeDetail\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"confirmable || cancelable || buttons.length\" class=\"to-msg-fn\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<to-button v-for=\"(btn, index) in buttons\" :key=\"index\" class=\"to-msg-button type-extend\" v-bind=\"btn.attrs\" @click=\"handleButtonClick(btn)\">{{ btn.label }}</to-button>\n\t\t\t\t\t\t\t<to-button v-if=\"cancelable\" class=\"to-msg-button type-extend\" @click=\"cancel\">{{ cancelText || t('to.common.cancel') }}</to-button>\n\t\t\t\t\t\t\t<to-button v-if=\"confirmable\" class=\"to-msg-button type-confirm\" @click=\"confirm\">{{ confirmText || t('to.common.confirm') }}</to-button>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport DOMPurify from 'dompurify'\nimport { computed, ref, useSlots, useAttrs, CSSProperties, isVNode, watch } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { ToButton } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\n\n\nexport interface ButtonConfig {\n\tlabel: string\n\tattrs?: Record<string, any>\n\tfn?: () => void\n}\n\nexport interface Props {\n\tflex?: boolean\n\ttype?: string\n\tmode?: string\n\ttitle?: string\n\tcontent?: any\n\tbuttons?: ButtonConfig[]\n\theight?: string | number\n\twidth?: string | number\n\tdir?: string\n\tdetail?: string\n\tshowDetail?: boolean\n\tpadding?: string | number\n\tposition?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tcloseOnBlur?: boolean\n\tzIndex?: number | string\n\tshow?: boolean\n\tglobal?: boolean\n\tconfirmable?: boolean\n\tcancelable?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\ttitle: '',\n\tcontent: '',\n\tbuttons: () => [],\n\theight: 'auto',\n\twidth: '',\n\tflex: false,\n\tdetail: '',\n\tshowDetail: true,\n\tpadding: 0,\n\ttype: '',\n\tdir: '',\n\tposition: '',\n\tconfirmText: '',\n\tcancelText: '',\n\tcloseOnBlur: true,\n\tzIndex: 0,\n\tshow: false,\n\tglobal: true,\n\tconfirmable: true,\n\tcancelable: true\n})\n\nconst emit = defineEmits(['close', 'confirm'])\n\nconst el = ref(null)\nconst iShowDetail = ref(props.showDetail)\nconst visible = ref(props.show)\nconst slots = useSlots()\nconst isCom = isVNode(props.content)\n\nconst className = useAttrs().class as string | undefined\n\n// 监听 show 属性变化\nwatch(\n\t() => props.show,\n\tnewVal => {\n\t\tvisible.value = newVal\n\t},\n\t{\n\t\timmediate: true\n\t}\n)\n\n// 计算属性\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.mode) arr.push(...getModeClasses(props.mode))\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\tif (props.dir) {\n\t\tarr.push(`dir-${props.dir}`)\n\t}\n\tif (props.position) {\n\t\tarr.push(`position-${props.position}`)\n\t}\n\tif (props.global) {\n\t\tarr.push('is-global')\n\t}\n\tif (visible.value) arr.push('is-show')\n\tif (className) arr.push(className)\n\treturn arr\n})\n\nconst setWrapperStyle = computed(() => {\n\tconst style: CSSProperties = {}\n\tif (props.width) {\n\t\tstyle.width = `${props.width}em`\n\t}\n\treturn style\n})\n\nconst hasInfoContent = computed(() => props.title || slots.default || props.content || slots.content || slots.title)\nconst safeContent = computed(() => DOMPurify.sanitize(props.content))\nconst safeDetail = computed(() => DOMPurify.sanitize(props.detail))\n\nconst emoteComponent = computed(() => {\n\treturn (window as any).$TouchUI?.msg?.emote?.[props.type || 'default']\n})\n\nconst handleButtonClick = (btn: ButtonConfig) => {\n\tif (typeof btn.fn === 'function') {\n\t\tbtn.fn()\n\t}\n}\n\nconst open = () => {\n\tconst el = document.querySelector('.to-msg') as HTMLElement\n\tif (props.zIndex) {\n\t\tel.style.zIndex = props.zIndex.toString()\n\t} else {\n\t\tel.style.zIndex = ((window as any).$TouchUI?.zIndex ?? 1000).toString()\n\t\tif ((window as any).$TouchUI) (window as any).$TouchUI.zIndex++\n\t}\n\tvisible.value = true\n}\n\nconst close = () => {\n\tvisible.value = false\n\temit('close')\n}\n\nconst confirm = () => {\n\temit('confirm')\n\tvisible.value = false\n\temit('close')\n}\n\nconst cancel = () => {\n\tvisible.value = false\n\temit('close')\n}\n\nconst bgClose = () => {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\ndefineExpose({ open, close })\n</script>\n"],"names":["DO_defineComponent","ref","useSlots","isVNode","useAttrs","watch","computed","getModeClasses","DOMPurify","el","_createElementBlock","_unref","langKey","flex","_normalizeClass","_createElementVNode","_openBlock","_createBlock","_resolveDynamicComponent","title","_renderSlot","content","detail","$slots","_Fragment","ToButton","t","confirmable","cancelable","buttons","_mergeProps","_createTextVNode","_toDisplayString","cancelText","confirmText"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
+ var useSetClass = require('../../../hooks/useSetClass.js');
6
7
 
7
8
  const __default__ = vue.defineComponent({
8
9
  name: "ToPadding"
@@ -47,7 +48,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
47
48
  const setClass = vue.computed(() => {
48
49
  const arr = [];
49
50
  if (props.mode) {
50
- arr.push(`mode-${props.mode}`);
51
+ arr.push(...useSetClass.getModeClasses(props.mode));
51
52
  }
52
53
  if (props.height && props.height === "full") {
53
54
  arr.push("height-full");
@@ -1 +1 @@
1
- {"version":3,"file":"padding.vue2.js","sources":["../../../../../../packages/components/padding/src/padding.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPadding'\n});\n</script>\n<template>\n\t<div class=\"to-padding\" :flex=\"flex ? flex : null\" :style=\"setStyle\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport type { CSSProperties } from 'vue'\n\n\nexport interface Props {\n\tflex?: boolean\n\tmode?: string\n\tvalue?: string | number\n\theight?: string\n\tposition?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tflex: false,\n\tmode: 'default',\n\tvalue: 1,\n\theight: '',\n\tposition: 'trbl'\n})\n\nconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\nconst setStyle = computed((): CSSProperties => {\n\tconst obj: CSSProperties = {}\n\n\tif (String(props.value).trim() && props.mode === 'default') {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.value)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj['--value'] = padded\n\t}\n\n\tif (!props.position.includes('t')) {\n\t\tobj.paddingTop = 0\n\t}\n\tif (!props.position.includes('r')) {\n\t\tobj.paddingRight = 0\n\t}\n\tif (!props.position.includes('b')) {\n\t\tobj.paddingBottom = 0\n\t}\n\tif (!props.position.includes('l')) {\n\t\tobj.paddingLeft = 0\n\t}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height)) ? props.height : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.height && props.height === 'full') {\n\t\tarr.push('height-full')\n\t}\n\treturn arr\n})\n</script>\n"],"names":["DO_defineComponent","computed","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"padding.vue2.js","sources":["../../../../../../packages/components/padding/src/padding.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPadding'\n});\n</script>\n<template>\n\t<div class=\"to-padding\" :flex=\"flex ? flex : null\" :style=\"setStyle\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport type { CSSProperties } from 'vue'\n\n\nexport interface Props {\n\tflex?: boolean\n\tmode?: string\n\tvalue?: string | number\n\theight?: string\n\tposition?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tflex: false,\n\tmode: 'default',\n\tvalue: 1,\n\theight: '',\n\tposition: 'trbl'\n})\n\nconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\nconst setStyle = computed((): CSSProperties => {\n\tconst obj: CSSProperties = {}\n\n\tif (String(props.value).trim() && props.mode === 'default') {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.value)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tobj['--value'] = padded\n\t}\n\n\tif (!props.position.includes('t')) {\n\t\tobj.paddingTop = 0\n\t}\n\tif (!props.position.includes('r')) {\n\t\tobj.paddingRight = 0\n\t}\n\tif (!props.position.includes('b')) {\n\t\tobj.paddingBottom = 0\n\t}\n\tif (!props.position.includes('l')) {\n\t\tobj.paddingLeft = 0\n\t}\n\n\tif (props.height && props.height !== 'full') {\n\t\tobj.height = isNaN(Number(props.height)) ? props.height : `${props.height}em`\n\t}\n\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (props.height && props.height === 'full') {\n\t\tarr.push('height-full')\n\t}\n\treturn arr\n})\n</script>\n"],"names":["DO_defineComponent","computed","getModeClasses","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}
@@ -7,6 +7,7 @@ var index$1 = require('../../select/index.js');
7
7
  var index$2 = require('../../input/index.js');
8
8
  var dis = require('../../../directives/dis/src/dis.js');
9
9
  var index = require('../../../locale/index.js');
10
+ var useSetClass = require('../../../hooks/useSetClass.js');
10
11
 
11
12
  const __default__ = vue.defineComponent({
12
13
  name: "ToPage"
@@ -54,7 +55,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
55
  const setClass = vue.computed(() => {
55
56
  let arr = [];
56
57
  if (props.mode) {
57
- arr.push(`mode-${props.mode}`);
58
+ arr.push(...useSetClass.getModeClasses(props.mode));
58
59
  }
59
60
  return arr;
60
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPage'\n});\n</script>\n<template>\n\t<div v-if=\"cShowInSingle\" :key=\"langKey\" v-align=\"align\" :flex=\"flex ? flex : null\" :class=\"setClass\" class=\"to-page\">\n\t\t<template v-if=\"type === 'lite'\">\n\t\t\t<div class=\"to-page-first\"></div>\n\t\t\t<div class=\"to-page-prev\">{{ t('to.page.prevPage') }}</div>\n\t\t\t<div class=\"to-page-stat\">{{ currentPage_ }} / {{ total }}</div>\n\t\t\t<div class=\"to-page-next\">{{ t('to.page.nextPage') }}</div>\n\t\t\t<div class=\"to-page-last\"></div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<div v-if=\"layout.includes('total') || layout === 'all'\" class=\"to-page-total\">{{ t('to.page.total', total) }}</div>\n\t\t\t<div class=\"to-page-slot\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('pager') || layout === 'all'\" class=\"to-page-pager\">\n\t\t\t\t<div v-dis=\"Number(currentPage_) <= 1\" class=\"to-page-pager-prev\" @click=\"handlePagePrev\"></div>\n\t\t\t\t<div class=\"to-page-pager-list\">\n\t\t\t\t\t<div class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === 1 }\" @click=\"handleCurrentChange(1)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">1</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showPrevMore\" class=\"to-page-pager-ellipsis\">…</div>\n\t\t\t\t\t<div v-for=\"page in pager_\" :key=\"page\" class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === page }\" @click=\"handleCurrentChange(page)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">{{ page }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showNextMore\" class=\"to-page-pager-ellipsis\">…</div>\n\t\t\t\t\t<div v-if=\"pageCount_ > 1\" class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === Number(pageCount_) }\" @click=\"handleCurrentChange(pageCount_)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">{{ pageCount_ }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-dis=\"Number(currentPage_) >= Number(pageCount_)\" class=\"to-page-pager-next\" @click=\"handlePageNext\"></div>\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('size') || layout === 'all'\" class=\"to-page-size\">\n\t\t\t\t<to-select v-model=\"pageSize_\" v-dis=\"disabled\" class=\"to-page-size-select\" :unit=\"t('to.page.pageSize', '')\" :clearable=\"false\" :data=\"cPageSizes\" @change=\"handleSizeChange\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('jumper') || layout === 'all'\" class=\"to-page-jumper\">\n\t\t\t\t<to-input v-model=\"jumperPage\" v-dis=\"disabled\" :clearable=\"false\" type=\"number\" class=\"to-page-jumper-input\" :placeholder=\"t('to.page.go')\" @change=\"handleJump\">\n\t\t\t\t\t<to-icon value=\"next\" class=\"to-page-jumper-icon\" link></to-icon>\n\t\t\t\t</to-input>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, onMounted, nextTick } from 'vue'\nimport { ToInput, ToSelect } from '@touchvue/components'\nimport { vDis } from '@touchvue/directives'\nimport { t, langKey } from '@touchvue/locale'\n\n\n// const slots = useSlots\nconst props = defineProps({\n\tflex: Boolean,\n\ttype: { type: String, default: '' },\n\tmode: { type: String, default: 'default' },\n\talign: { type: String, default: '' },\n\tpageSize: { type: [Number, String], default: 10 },\n\ttotal: { type: [Number, String], default: 0 },\n\tpageCount: { type: [Number, String], default: undefined },\n\tpagerCount: { type: [Number, String], default: 7 },\n\tmodelValue: { type: [Number, String], default: 1 },\n\tlayout: { type: String, default: 'all' },\n\tpageSizes: { type: [Array, String], default: () => [10, 20, 30, 40, 50, 100] },\n\tprevText: { type: String, default: '' },\n\tnextText: { type: String, default: '' },\n\tdisabled: { type: Boolean, default: false },\n\tautoHide: { type: Boolean, default: false }\n})\n\nconst emit = defineEmits(['update:pageSize', 'size-change', 'current-change', 'prev-click', 'next-click', 'update:modelValue', 'change'])\n\nconst pageCount_ = ref<number>(0)\nconst pageSize_ = ref<number>(Number(props.pageSize))\nconst currentPage_ = ref<number>(Number(props.modelValue))\nconst pager_ = ref<number[]>([])\nconst jumperPage = ref<string>('')\nconst showPrevMore = ref(false)\nconst showNextMore = ref(false)\n\nconst cShowInSingle = computed(() => {\n\treturn !(props.autoHide && Number(pageCount_.value) <= 1) || !props.autoHide\n})\n\nconst cPageSizes = computed(() => {\n\tconst sizes = typeof props.pageSizes === 'string' ? props.pageSizes.split(',') : props.pageSizes\n\treturn sizes.map(size => ({\n\t\tlabel: String(size),\n\t\tvalue: String(size)\n\t}))\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => props.pageSize,\n\tval => {\n\t\tconst sizes = typeof props.pageSizes === 'string' ? props.pageSizes.split(',') : props.pageSizes\n\t\tif (props.layout.includes('size') || props.layout === 'all') {\n\t\t\tpageSize_.value = sizes.includes(Number(val)) ? Number(val) : Number(sizes[0])\n\t\t} else {\n\t\t\tpageSize_.value = Number(val)\n\t\t}\n\t\tnextTick(() => {\n\t\t\tcomputePager()\n\t\t})\n\t},\n\t{ immediate: true }\n)\n\nwatch(\n\t() => currentPage_.value,\n\tval => {\n\t\temit('update:modelValue', Number(val))\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tcurrentPage_.value = Number(val)\n\t\tcomputePager()\n\t}\n)\n\nwatch(\n\t() => props.pageCount,\n\tval => {\n\t\tpageCount_.value = Number(val)\n\t\tcomputePager()\n\t},\n\t{ immediate: true }\n)\n\nwatch(() => props.total, computePager)\n\nwatch(() => props.pagerCount, computePager)\n\nonMounted(() => {\n\tcomputePager()\n})\n\nfunction handleJump() {\n\tif (props.disabled || !jumperPage.value) return\n\tlet jump = Number(jumperPage.value)\n\tjump = Math.max(1, Math.min(jump, pageCount_.value))\n\tjumperPage.value = ''\n\thandleCurrentChange(jump)\n}\n\nfunction handleSizeChange(size: number) {\n\tif (props.disabled) return\n\tcurrentPage_.value = 1\n\temit('update:pageSize', Number(size))\n\temit('size-change', Number(size))\n\temit('current-change', 1)\n\temit('change', 1, Number(size))\n\tnextTick(() => {\n\t\tcomputePager()\n\t})\n}\n\nfunction handleCurrentChange(page: number) {\n\tif (props.disabled) return\n\tcurrentPage_.value = page\n\temit('current-change', Number(page))\n\temit('change', Number(page), Number(pageSize_.value))\n\tnextTick(() => {\n\t\tcomputePager()\n\t})\n}\n\nfunction handlePagePrev() {\n\tif (props.disabled || currentPage_.value <= 1) return\n\tcurrentPage_.value--\n\thandleCurrentChange(currentPage_.value)\n\temit('prev-click', currentPage_.value)\n}\n\nfunction handlePageNext() {\n\tif (props.disabled || currentPage_.value >= pageCount_.value) return\n\tcurrentPage_.value++\n\thandleCurrentChange(currentPage_.value)\n\temit('next-click', currentPage_.value)\n}\n\nfunction computePager() {\n\tconst pagerCount = Number(props.pagerCount)\n\tconst halfPagerCount = (pagerCount - 1) / 2\n\tconst count = props.pageCount ? Number(props.pageCount) : Math.ceil(Number(props.total) / pageSize_.value)\n\tpageCount_.value = Math.max(1, count)\n\n\t// 当 total 变化导致 pageCount 缩小时,将当前页码钳制到有效范围\n\tif (currentPage_.value > pageCount_.value) {\n\t\tcurrentPage_.value = pageCount_.value\n\t}\n\n\tconst current = currentPage_.value\n\t// 与 showNextMore 一致:总页数不超过 pagerCount 时用「全展开」布局,避免多余省略号及与左侧固定「1」重复\n\tshowPrevMore.value = current > pagerCount - halfPagerCount && pageCount_.value > pagerCount\n\tshowNextMore.value = current < pageCount_.value - halfPagerCount && pageCount_.value > pagerCount\n\n\tconst pages: number[] = []\n\n\tif (showPrevMore.value && !showNextMore.value) {\n\t\t// 左侧已单独渲染第 1 页,中间列表从 2 起,避免出现两个「1」\n\t\tconst start = Math.max(2, pageCount_.value - (pagerCount - 2))\n\t\tfor (let i = start; i < pageCount_.value; i++) pages.push(i)\n\t} else if (!showPrevMore.value && showNextMore.value) {\n\t\tfor (let i = 2; i < pagerCount; i++) pages.push(i)\n\t} else if (showPrevMore.value && showNextMore.value) {\n\t\tconst offset = Math.floor(pagerCount / 2) - 1\n\t\tfor (let i = current - offset; i <= current + offset; i++) pages.push(i)\n\t} else {\n\t\tfor (let i = 2; i < pageCount_.value; i++) pages.push(i)\n\t}\n\n\tpager_.value = pages\n}\n</script>\n"],"names":["DO_defineComponent","ref","computed","watch","nextTick","onMounted","_createElementBlock","_unref","langKey","_normalizeClass","_Fragment","_createElementVNode","t","_toDisplayString","_renderSlot","vDis","_renderList","_createVNode","ToSelect","_createBlock","ToInput"],"mappings":"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"}
1
+ {"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPage'\n});\n</script>\n<template>\n\t<div v-if=\"cShowInSingle\" :key=\"langKey\" v-align=\"align\" :flex=\"flex ? flex : null\" :class=\"setClass\" class=\"to-page\">\n\t\t<template v-if=\"type === 'lite'\">\n\t\t\t<div class=\"to-page-first\"></div>\n\t\t\t<div class=\"to-page-prev\">{{ t('to.page.prevPage') }}</div>\n\t\t\t<div class=\"to-page-stat\">{{ currentPage_ }} / {{ total }}</div>\n\t\t\t<div class=\"to-page-next\">{{ t('to.page.nextPage') }}</div>\n\t\t\t<div class=\"to-page-last\"></div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<div v-if=\"layout.includes('total') || layout === 'all'\" class=\"to-page-total\">{{ t('to.page.total', total) }}</div>\n\t\t\t<div class=\"to-page-slot\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('pager') || layout === 'all'\" class=\"to-page-pager\">\n\t\t\t\t<div v-dis=\"Number(currentPage_) <= 1\" class=\"to-page-pager-prev\" @click=\"handlePagePrev\"></div>\n\t\t\t\t<div class=\"to-page-pager-list\">\n\t\t\t\t\t<div class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === 1 }\" @click=\"handleCurrentChange(1)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">1</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showPrevMore\" class=\"to-page-pager-ellipsis\">…</div>\n\t\t\t\t\t<div v-for=\"page in pager_\" :key=\"page\" class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === page }\" @click=\"handleCurrentChange(page)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">{{ page }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showNextMore\" class=\"to-page-pager-ellipsis\">…</div>\n\t\t\t\t\t<div v-if=\"pageCount_ > 1\" class=\"to-page-pager-item\" :class=\"{ 'is-on': Number(currentPage_) === Number(pageCount_) }\" @click=\"handleCurrentChange(pageCount_)\">\n\t\t\t\t\t\t<div class=\"to-page-pager-item-text\">{{ pageCount_ }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-dis=\"Number(currentPage_) >= Number(pageCount_)\" class=\"to-page-pager-next\" @click=\"handlePageNext\"></div>\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('size') || layout === 'all'\" class=\"to-page-size\">\n\t\t\t\t<to-select v-model=\"pageSize_\" v-dis=\"disabled\" class=\"to-page-size-select\" :unit=\"t('to.page.pageSize', '')\" :clearable=\"false\" :data=\"cPageSizes\" @change=\"handleSizeChange\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"layout.includes('jumper') || layout === 'all'\" class=\"to-page-jumper\">\n\t\t\t\t<to-input v-model=\"jumperPage\" v-dis=\"disabled\" :clearable=\"false\" type=\"number\" class=\"to-page-jumper-input\" :placeholder=\"t('to.page.go')\" @change=\"handleJump\">\n\t\t\t\t\t<to-icon value=\"next\" class=\"to-page-jumper-icon\" link></to-icon>\n\t\t\t\t</to-input>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, onMounted, nextTick } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { ToInput, ToSelect } from '@touchvue/components'\nimport { vDis } from '@touchvue/directives'\nimport { t, langKey } from '@touchvue/locale'\n\n\n// const slots = useSlots\nconst props = defineProps({\n\tflex: Boolean,\n\ttype: { type: String, default: '' },\n\tmode: { type: String, default: 'default' },\n\talign: { type: String, default: '' },\n\tpageSize: { type: [Number, String], default: 10 },\n\ttotal: { type: [Number, String], default: 0 },\n\tpageCount: { type: [Number, String], default: undefined },\n\tpagerCount: { type: [Number, String], default: 7 },\n\tmodelValue: { type: [Number, String], default: 1 },\n\tlayout: { type: String, default: 'all' },\n\tpageSizes: { type: [Array, String], default: () => [10, 20, 30, 40, 50, 100] },\n\tprevText: { type: String, default: '' },\n\tnextText: { type: String, default: '' },\n\tdisabled: { type: Boolean, default: false },\n\tautoHide: { type: Boolean, default: false }\n})\n\nconst emit = defineEmits(['update:pageSize', 'size-change', 'current-change', 'prev-click', 'next-click', 'update:modelValue', 'change'])\n\nconst pageCount_ = ref<number>(0)\nconst pageSize_ = ref<number>(Number(props.pageSize))\nconst currentPage_ = ref<number>(Number(props.modelValue))\nconst pager_ = ref<number[]>([])\nconst jumperPage = ref<string>('')\nconst showPrevMore = ref(false)\nconst showNextMore = ref(false)\n\nconst cShowInSingle = computed(() => {\n\treturn !(props.autoHide && Number(pageCount_.value) <= 1) || !props.autoHide\n})\n\nconst cPageSizes = computed(() => {\n\tconst sizes = typeof props.pageSizes === 'string' ? props.pageSizes.split(',') : props.pageSizes\n\treturn sizes.map(size => ({\n\t\tlabel: String(size),\n\t\tvalue: String(size)\n\t}))\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\treturn arr\n})\n\nwatch(\n\t() => props.pageSize,\n\tval => {\n\t\tconst sizes = typeof props.pageSizes === 'string' ? props.pageSizes.split(',') : props.pageSizes\n\t\tif (props.layout.includes('size') || props.layout === 'all') {\n\t\t\tpageSize_.value = sizes.includes(Number(val)) ? Number(val) : Number(sizes[0])\n\t\t} else {\n\t\t\tpageSize_.value = Number(val)\n\t\t}\n\t\tnextTick(() => {\n\t\t\tcomputePager()\n\t\t})\n\t},\n\t{ immediate: true }\n)\n\nwatch(\n\t() => currentPage_.value,\n\tval => {\n\t\temit('update:modelValue', Number(val))\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tcurrentPage_.value = Number(val)\n\t\tcomputePager()\n\t}\n)\n\nwatch(\n\t() => props.pageCount,\n\tval => {\n\t\tpageCount_.value = Number(val)\n\t\tcomputePager()\n\t},\n\t{ immediate: true }\n)\n\nwatch(() => props.total, computePager)\n\nwatch(() => props.pagerCount, computePager)\n\nonMounted(() => {\n\tcomputePager()\n})\n\nfunction handleJump() {\n\tif (props.disabled || !jumperPage.value) return\n\tlet jump = Number(jumperPage.value)\n\tjump = Math.max(1, Math.min(jump, pageCount_.value))\n\tjumperPage.value = ''\n\thandleCurrentChange(jump)\n}\n\nfunction handleSizeChange(size: number) {\n\tif (props.disabled) return\n\tcurrentPage_.value = 1\n\temit('update:pageSize', Number(size))\n\temit('size-change', Number(size))\n\temit('current-change', 1)\n\temit('change', 1, Number(size))\n\tnextTick(() => {\n\t\tcomputePager()\n\t})\n}\n\nfunction handleCurrentChange(page: number) {\n\tif (props.disabled) return\n\tcurrentPage_.value = page\n\temit('current-change', Number(page))\n\temit('change', Number(page), Number(pageSize_.value))\n\tnextTick(() => {\n\t\tcomputePager()\n\t})\n}\n\nfunction handlePagePrev() {\n\tif (props.disabled || currentPage_.value <= 1) return\n\tcurrentPage_.value--\n\thandleCurrentChange(currentPage_.value)\n\temit('prev-click', currentPage_.value)\n}\n\nfunction handlePageNext() {\n\tif (props.disabled || currentPage_.value >= pageCount_.value) return\n\tcurrentPage_.value++\n\thandleCurrentChange(currentPage_.value)\n\temit('next-click', currentPage_.value)\n}\n\nfunction computePager() {\n\tconst pagerCount = Number(props.pagerCount)\n\tconst halfPagerCount = (pagerCount - 1) / 2\n\tconst count = props.pageCount ? Number(props.pageCount) : Math.ceil(Number(props.total) / pageSize_.value)\n\tpageCount_.value = Math.max(1, count)\n\n\t// 当 total 变化导致 pageCount 缩小时,将当前页码钳制到有效范围\n\tif (currentPage_.value > pageCount_.value) {\n\t\tcurrentPage_.value = pageCount_.value\n\t}\n\n\tconst current = currentPage_.value\n\t// 与 showNextMore 一致:总页数不超过 pagerCount 时用「全展开」布局,避免多余省略号及与左侧固定「1」重复\n\tshowPrevMore.value = current > pagerCount - halfPagerCount && pageCount_.value > pagerCount\n\tshowNextMore.value = current < pageCount_.value - halfPagerCount && pageCount_.value > pagerCount\n\n\tconst pages: number[] = []\n\n\tif (showPrevMore.value && !showNextMore.value) {\n\t\t// 左侧已单独渲染第 1 页,中间列表从 2 起,避免出现两个「1」\n\t\tconst start = Math.max(2, pageCount_.value - (pagerCount - 2))\n\t\tfor (let i = start; i < pageCount_.value; i++) pages.push(i)\n\t} else if (!showPrevMore.value && showNextMore.value) {\n\t\tfor (let i = 2; i < pagerCount; i++) pages.push(i)\n\t} else if (showPrevMore.value && showNextMore.value) {\n\t\tconst offset = Math.floor(pagerCount / 2) - 1\n\t\tfor (let i = current - offset; i <= current + offset; i++) pages.push(i)\n\t} else {\n\t\tfor (let i = 2; i < pageCount_.value; i++) pages.push(i)\n\t}\n\n\tpager_.value = pages\n}\n</script>\n"],"names":["DO_defineComponent","ref","computed","getModeClasses","watch","nextTick","onMounted","_createElementBlock","_unref","langKey","_normalizeClass","_Fragment","_createElementVNode","t","_toDisplayString","_renderSlot","vDis","_renderList","_createVNode","ToSelect","_createBlock","ToInput"],"mappings":";;;;;;;;;;;AAEA,MAAA,cAA6BA,mBAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsDD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAkBd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,UAAA,GAAaC,QAAY,CAAC,CAAA,CAAA;AAChC,IAAA,MAAM,SAAY,GAAAA,OAAA,CAAY,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA;AACpD,IAAA,MAAM,YAAe,GAAAA,OAAA,CAAY,MAAO,CAAA,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AACzD,IAAM,MAAA,MAAA,GAASA,OAAc,CAAA,EAAE,CAAA,CAAA;AAC/B,IAAM,MAAA,UAAA,GAAaA,QAAY,EAAE,CAAA,CAAA;AACjC,IAAM,MAAA,YAAA,GAAeA,QAAI,KAAK,CAAA,CAAA;AAC9B,IAAM,MAAA,YAAA,GAAeA,QAAI,KAAK,CAAA,CAAA;AAE9B,IAAM,MAAA,aAAA,GAAgBC,aAAS,MAAM;AACpC,MAAO,OAAA,EAAE,MAAM,QAAY,IAAA,MAAA,CAAO,WAAW,KAAK,CAAA,IAAK,CAAM,CAAA,IAAA,CAAC,KAAM,CAAA,QAAA,CAAA;AAAA,KACpE,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AACjC,MAAM,MAAA,KAAA,GAAQ,OAAO,KAAA,CAAM,SAAc,KAAA,QAAA,GAAW,MAAM,SAAU,CAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAM,CAAA,SAAA,CAAA;AACvF,MAAO,OAAA,KAAA,CAAM,IAAI,CAAS,IAAA,MAAA;AAAA,QACzB,KAAA,EAAO,OAAO,IAAI,CAAA;AAAA,QAClB,KAAA,EAAO,OAAO,IAAI,CAAA;AAAA,OACjB,CAAA,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAWA,aAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,IAAK,CAAA,GAAGC,0BAAe,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACvC;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAAC,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,QAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACN,QAAM,MAAA,KAAA,GAAQ,OAAO,KAAA,CAAM,SAAc,KAAA,QAAA,GAAW,MAAM,SAAU,CAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAM,CAAA,SAAA,CAAA;AACvF,QAAA,IAAI,MAAM,MAAO,CAAA,QAAA,CAAS,MAAM,CAAK,IAAA,KAAA,CAAM,WAAW,KAAO,EAAA;AAC5D,UAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAM,QAAS,CAAA,MAAA,CAAO,GAAG,CAAC,CAAI,GAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAAA,SACvE,MAAA;AACN,UAAU,SAAA,CAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AAAA,SAC7B;AACA,QAAAC,YAAA,CAAS,MAAM;AACd,UAAa,YAAA,EAAA,CAAA;AAAA,SACb,CAAA,CAAA;AAAA,OACF;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAAD,SAAA;AAAA,MACC,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,CAAO,GAAA,KAAA;AACN,QAAK,IAAA,CAAA,mBAAA,EAAqB,MAAO,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,OACtC;AAAA,KACD,CAAA;AAEA,IAAAA,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACN,QAAa,YAAA,CAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AAC/B,QAAa,YAAA,EAAA,CAAA;AAAA,OACd;AAAA,KACD,CAAA;AAEA,IAAAA,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,SAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACN,QAAW,UAAA,CAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AAC7B,QAAa,YAAA,EAAA,CAAA;AAAA,OACd;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAMA,SAAA,CAAA,MAAM,KAAM,CAAA,KAAA,EAAO,YAAY,CAAA,CAAA;AAErC,IAAMA,SAAA,CAAA,MAAM,KAAM,CAAA,UAAA,EAAY,YAAY,CAAA,CAAA;AAE1C,IAAAE,aAAA,CAAU,MAAM;AACf,MAAa,YAAA,EAAA,CAAA;AAAA,KACb,CAAA,CAAA;AAED,IAAA,SAAS,UAAa,GAAA;AACrB,MAAI,IAAA,KAAA,CAAM,QAAY,IAAA,CAAC,UAAW,CAAA,KAAA;AAAO,QAAA,OAAA;AACzC,MAAI,IAAA,IAAA,GAAO,MAAO,CAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAClC,MAAO,IAAA,GAAA,IAAA,CAAK,IAAI,CAAG,EAAA,IAAA,CAAK,IAAI,IAAM,EAAA,UAAA,CAAW,KAAK,CAAC,CAAA,CAAA;AACnD,MAAA,UAAA,CAAW,KAAQ,GAAA,EAAA,CAAA;AACnB,MAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KACzB;AAEA,IAAA,SAAS,iBAAiB,IAAc,EAAA;AACvC,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAA,YAAA,CAAa,KAAQ,GAAA,CAAA,CAAA;AACrB,MAAK,IAAA,CAAA,iBAAA,EAAmB,MAAO,CAAA,IAAI,CAAC,CAAA,CAAA;AACpC,MAAK,IAAA,CAAA,aAAA,EAAe,MAAO,CAAA,IAAI,CAAC,CAAA,CAAA;AAChC,MAAA,IAAA,CAAK,kBAAkB,CAAC,CAAA,CAAA;AACxB,MAAA,IAAA,CAAK,QAAU,EAAA,CAAA,EAAG,MAAO,CAAA,IAAI,CAAC,CAAA,CAAA;AAC9B,MAAAD,YAAA,CAAS,MAAM;AACd,QAAa,YAAA,EAAA,CAAA;AAAA,OACb,CAAA,CAAA;AAAA,KACF;AAEA,IAAA,SAAS,oBAAoB,IAAc,EAAA;AAC1C,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AACrB,MAAK,IAAA,CAAA,gBAAA,EAAkB,MAAO,CAAA,IAAI,CAAC,CAAA,CAAA;AACnC,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,IAAI,GAAG,MAAO,CAAA,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AACpD,MAAAA,YAAA,CAAS,MAAM;AACd,QAAa,YAAA,EAAA,CAAA;AAAA,OACb,CAAA,CAAA;AAAA,KACF;AAEA,IAAA,SAAS,cAAiB,GAAA;AACzB,MAAI,IAAA,KAAA,CAAM,QAAY,IAAA,YAAA,CAAa,KAAS,IAAA,CAAA;AAAG,QAAA,OAAA;AAC/C,MAAa,YAAA,CAAA,KAAA,EAAA,CAAA;AACb,MAAA,mBAAA,CAAoB,aAAa,KAAK,CAAA,CAAA;AACtC,MAAK,IAAA,CAAA,YAAA,EAAc,aAAa,KAAK,CAAA,CAAA;AAAA,KACtC;AAEA,IAAA,SAAS,cAAiB,GAAA;AACzB,MAAA,IAAI,KAAM,CAAA,QAAA,IAAY,YAAa,CAAA,KAAA,IAAS,UAAW,CAAA,KAAA;AAAO,QAAA,OAAA;AAC9D,MAAa,YAAA,CAAA,KAAA,EAAA,CAAA;AACb,MAAA,mBAAA,CAAoB,aAAa,KAAK,CAAA,CAAA;AACtC,MAAK,IAAA,CAAA,YAAA,EAAc,aAAa,KAAK,CAAA,CAAA;AAAA,KACtC;AAEA,IAAA,SAAS,YAAe,GAAA;AACvB,MAAM,MAAA,UAAA,GAAa,MAAO,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAC1C,MAAM,MAAA,cAAA,GAAA,CAAkB,aAAa,CAAK,IAAA,CAAA,CAAA;AAC1C,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,SAAY,GAAA,MAAA,CAAO,MAAM,SAAS,CAAA,GAAI,IAAK,CAAA,IAAA,CAAK,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,GAAI,UAAU,KAAK,CAAA,CAAA;AACzG,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,KAAK,CAAA,CAAA;AAGpC,MAAI,IAAA,YAAA,CAAa,KAAQ,GAAA,UAAA,CAAW,KAAO,EAAA;AAC1C,QAAA,YAAA,CAAa,QAAQ,UAAW,CAAA,KAAA,CAAA;AAAA,OACjC;AAEA,MAAA,MAAM,UAAU,YAAa,CAAA,KAAA,CAAA;AAE7B,MAAA,YAAA,CAAa,KAAQ,GAAA,OAAA,GAAU,UAAa,GAAA,cAAA,IAAkB,WAAW,KAAQ,GAAA,UAAA,CAAA;AACjF,MAAA,YAAA,CAAa,QAAQ,OAAU,GAAA,UAAA,CAAW,KAAQ,GAAA,cAAA,IAAkB,WAAW,KAAQ,GAAA,UAAA,CAAA;AAEvF,MAAA,MAAM,QAAkB,EAAC,CAAA;AAEzB,MAAA,IAAI,YAAa,CAAA,KAAA,IAAS,CAAC,YAAA,CAAa,KAAO,EAAA;AAE9C,QAAA,MAAM,QAAQ,IAAK,CAAA,GAAA,CAAI,GAAG,UAAW,CAAA,KAAA,IAAS,aAAa,CAAE,CAAA,CAAA,CAAA;AAC7D,QAAA,KAAA,IAAS,CAAI,GAAA,KAAA,EAAO,CAAI,GAAA,UAAA,CAAW,KAAO,EAAA,CAAA,EAAA;AAAK,UAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACjD,MAAA,IAAA,CAAC,YAAa,CAAA,KAAA,IAAS,aAAa,KAAO,EAAA;AACrD,QAAS,KAAA,IAAA,CAAA,GAAI,CAAG,EAAA,CAAA,GAAI,UAAY,EAAA,CAAA,EAAA;AAAK,UAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACvC,MAAA,IAAA,YAAA,CAAa,KAAS,IAAA,YAAA,CAAa,KAAO,EAAA;AACpD,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,KAAM,CAAA,UAAA,GAAa,CAAC,CAAI,GAAA,CAAA,CAAA;AAC5C,QAAA,KAAA,IAAS,CAAI,GAAA,OAAA,GAAU,MAAQ,EAAA,CAAA,IAAK,UAAU,MAAQ,EAAA,CAAA,EAAA;AAAK,UAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACjE,MAAA;AACN,QAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,KAAO,EAAA,CAAA,EAAA;AAAK,UAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACxD;AAEA,MAAA,MAAA,CAAO,KAAQ,GAAA,KAAA,CAAA;AAAA,KAChB;;;;aA/NY,cAAa,6CAAxBE,uBAuCM,KAAA,EAAA;AAAA,QAvCqB,GAAA,EAAKC,UAAOC,aAAA,CAAA;AAAA,QAAmB,IAAM,EAAA,OAAA,CAAI,IAAG,GAAA,OAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAU,OAAKC,kBAAA,CAAA,CAAE,QAAQ,CAAA,KAAA,EAAQ,SAAS,CAAA,CAAA;AAAA;QACpG,OAAI,CAAA,IAAA,KAAA,yBAApB,EAAAH,sBAAA;AAAA,UAMWI,YAAA;AAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AAAA,UAAA;AAAA,YALVC,sBAAiC,CAAA,KAAA,EAAA,EAA5B,KAAA,EAAM,iBAAe,CAAA;AAAA,YAC1BA,sBAAA;AAAA,cAA2D,KAAA;AAAA,cAAtD,EAAA,OAAM;iCAAkB,CAAAJ,SAAA,CAACK,OAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAC9BD,sBAAA;AAAA,cAAgE,KAAA;AAAA,cAAA,EAA3D,OAAM;kCAAkB,YAAY,CAAA,KAAA,IAAG,KAAG,GAAAE,mBAAA,CAAG,QAAK,KAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YACvDF,sBAAA;AAAA,cAA2D,KAAA;AAAA,cAAtD,EAAA,OAAM;iCAAkB,CAAAJ,SAAA,CAACK,OAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAC9BD,sBAAgC,CAAA,KAAA,EAAA,EAA3B,KAAA,EAAM,gBAAc,CAAA;AAAA;;;6BAE1B,EAAAL,sBAAA;AAAA,UA8BWI,YAAA;AAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AAAA,UAAA;AAAA,YA7BC,OAAA,CAAM,OAAC,QAAQ,CAAA,OAAA,KAAa,OAAM,CAAA,MAAA,KAAA,wBAA7C,EAAAJ,sBAAA;AAAA,cAAoH,KAAA;AAAA,cAAA;AAAA;gBAA3D,KAAM,EAAA,eAAA;AAAA,eAAmB;AAAA,cAAAO,oBAAAN,SAAA,CAAAK,OAAA,iBAAmB,EAAA,OAAA,CAAK,KAAA,CAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;YAC1GD,sBAEM,CAAA,KAAA,EAAA,EAFD,KAAA,EAAM,gBAAc,EAAA;AAAA,cACxBG,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;YAEE,OAAA,CAAM,MAAC,CAAA,QAAA,CAAQ,OAAA,CAAA,IAAa,OAAM,CAAA,MAAA,KAAA,wBAA7C,EAAAR,sBAAA,CAgBM,KAAA,EAAA;AAAA;cAhBmD,KAAM,EAAA,eAAA;AAAA;gCAC9D,CAAAK,sBAAA;AAAA,gBAAgG,KAAA;AAAA,gBAAA;AAAA,kBAAzD,KAAM,EAAA,oBAAA;AAAA,kBAAsB,OAAO,EAAA,cAAA;AAAA;;;;;gBAA9D,CAAAJ,UAAAQ,WAAA,CAAA,EAAA,OAAO,YAAY,CAAA,KAAA,KAAA,CAAA,CAAA;AAAA;cAC/BJ,sBAYM,CAAA,KAAA,EAAA,EAZD,KAAA,EAAM,sBAAoB,EAAA;AAAA,gBAC9BA,uBAEM,KAAA,EAAA;AAAA,kBAFD,KAAM,EAAAF,kBAAA,CAAA,CAAA,oBAAA,EAAwC,EAAA,OAAA,EAAA,MAAO,CAAA,YAAA,CAAY,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,kBAAY,gBAAO,KAAA,mBAAA,CAAmB,CAAA,CAAA;AAAA;kBAC3GE,uBAA4C,KAAvC,EAAA,EAAA,KAAM,EAAA,yBAAA,IAA0B,GAAC,CAAA;AAAA;gBAE5B,YAAY,CAAA,KAAA,qBAAvBL,uBAA+D,KAAA,EAAA;AAAA;kBAAtC,KAAM,EAAA,wBAAA;AAAA,iBAAyB,EAAA,QAAC;oCACzD,EAAAA,sBAAA;AAAA,kBAEMI,YAAA;AAAA,kBAAA,IAAA;AAAA,kBAAAM,cAFc,CAAA,MAAA,CAAM,KAAA,EAAA,CAAd,IAAI,KAAA;0CAAhB,EAAAV,sBAAA,CAEM,KAAA,EAAA;AAAA,sBAFuB,GAAK,EAAA,IAAA;AAAA,sBAAM,2BAAM,oBAAA,EAAoB,EAAA,OAAA,EAAoB,MAAO,CAAA,YAAA,CAAA,KAAY,CAAA,KAAM,IAAI,EAAA,CAAA,CAAA;AAAA,sBAAK,OAAK,EAAA,CAAA,MAAE,KAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA;sBACtJK,sBAAA;AAAA,wBAAqD,KAAA;AAAA,wBAAhD,EAAA,OAAM;4CAA6B,IAAI,CAAA;AAAA,wBAAA,CAAA;AAAA;AAAA,uBAAA;AAAA;;;;;gBAElC,YAAY,CAAA,KAAA,qBAAvBL,uBAA+D,KAAA,EAAA;AAAA;kBAAtC,KAAM,EAAA,wBAAA;AAAA,iBAAyB,EAAA,QAAC;gBAC9C,WAAU,KAAA,GAAA,CAAA,qBAArBA,uBAEM,KAAA,EAAA;AAAA;kBAFqB,KAAK,EAAAG,kBAAA,CAAA,CAAC,oBAAA,EAAwC,EAAA,OAAA,EAAA,MAAA,CAAO,YAAY,CAAA,KAAA,MAAM,MAAO,CAAA,UAAA,CAAU,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,kBAAM,OAAK,EAAA,CAAA,MAAE,KAAA,mBAAA,CAAoB,WAAU,KAAA,CAAA;AAAA;kBAC7JE,sBAAA;AAAA,oBAA2D,KAAA;AAAA,oBAAtD,EAAA,OAAM;wCAA6B,WAAU,KAAA,CAAA;AAAA,oBAAA,CAAA;AAAA;AAAA,mBAAA;AAAA;;gCAGpD,CAAAA,sBAAA;AAAA,gBAAiH,KAAA;AAAA,gBAAA;AAAA,kBAAzD,KAAM,EAAA,oBAAA;AAAA,kBAAsB,OAAO,EAAA,cAAA;AAAA;;;;;gBAA/E,CAAAJ,SAAA,CAAAQ,WAAA,CAAA,EAAA,MAAA,CAAO,YAAA,CAAA,KAAY,CAAK,IAAA,MAAA,CAAO,UAAU,CAAA,KAAA,CAAA,CAAA;AAAA;;YAE3C,OAAA,CAAM,MAAC,CAAA,QAAA,CAAQ,MAAA,CAAA,IAAY,OAAM,CAAA,MAAA,KAAA,wBAA5C,EAAAT,sBAAA,CAEM,KAAA,EAAA;AAAA;cAFkD,KAAM,EAAA,cAAA;AAAA;gCAC7D,CAAAW,eAAA,CAAiLV,SAAA,CAAAW,gBAAA,CAAA,EAAA;AAAA,4BAA7J,SAAS,CAAA,KAAA;AAAA,8CAAT,KAAA,SAAA,CAAS,KAAA,GAAA,MAAA;AAAA,gBAAmB,KAAM,EAAA,qBAAA;AAAA,gBAAuB,IAAM,EAAAX,SAAA,CAACK,OAAA,CAAA,CAAA,oBAAA,EAAA,CAAA;AAAA,gBAA2B,SAAW,EAAA,KAAA;AAAA,gBAAQ,MAAM,UAAU,CAAA,KAAA;AAAA,gBAAG,QAAQ,EAAA,gBAAA;AAAA;yCAAvH,QAAQ,QAAA,CAAA;AAAA;;YAEpC,OAAA,CAAM,MAAC,CAAA,QAAA,CAAQ,QAAA,CAAA,IAAc,OAAM,CAAA,MAAA,KAAA,wBAA9C,EAAAN,sBAAA,CAIM,KAAA,EAAA;AAAA;cAJoD,KAAM,EAAA,gBAAA;AAAA;mDAC/Da,eAEW,CAAAZ,SAAA,CAAAa,eAAA,CAAA,EAAA;AAAA,4BAFQ,UAAU,CAAA,KAAA;AAAA,8CAAV,KAAA,UAAA,CAAU,KAAA,GAAA,MAAA;AAAA,gBAAoB,SAAW,EAAA,KAAA;AAAA,gBAAO,IAAK,EAAA,QAAA;AAAA,gBAAS,KAAM,EAAA,sBAAA;AAAA,gBAAwB,WAAa,EAAAb,SAAA,CAACK,OAAA,CAAA,CAAA,YAAA,CAAA;AAAA,gBAAiB,QAAQ,EAAA,UAAA;AAAA;qCACrJ,MAAiE;AAAA,kBAAjEK,gBAAiE,kBAAA,EAAA;AAAA,oBAAxD,KAAM,EAAA,MAAA;AAAA,oBAAO,KAAM,EAAA,qBAAA;AAAA,oBAAsB,IAAA,EAAA,EAAA;AAAA;;;;;yCADb,QAAQ,QAAA,CAAA;AAAA;;;;;;;yBAlCC,EAAA,OAAA,CAAK,KAAA,CAAA;AAAA;;;;;;;"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  var param = require('./param.js');
7
7
  var ParamItem = require('./ParamItem.vue.js');
8
+ var useSetClass = require('../../../hooks/useSetClass.js');
8
9
 
9
10
  const __default__ = vue.defineComponent({
10
11
  name: "ToParam"
@@ -46,7 +47,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
46
47
  arr.push(`align-${props.align}`);
47
48
  }
48
49
  if (props.mode) {
49
- arr.push(`mode-${props.mode}`);
50
+ arr.push(...useSetClass.getModeClasses(props.mode));
50
51
  }
51
52
  if (props.type === "v") {
52
53
  arr.push("dir-v");
@@ -1 +1 @@
1
- {"version":3,"file":"Param.vue2.js","sources":["../../../../../../packages/components/param/src/Param.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToParam'\n});\n</script>\n<template>\n\t<div ref=\"paramRef\" :flex=\"flex ? flex : null\" class=\"to-param\" :class=\"setClass\">\n\t\t<div class=\"to-param-list\">\n\t\t\t<template v-for=\"(item, index) in rowData\" :key=\"index\">\n\t\t\t\t<ParamItem :label=\"item.label\" :value=\"item.value\" :class=\"[item.merge ? 'merge-' + item.merge : '']\" :tip=\"tip ? item.value : ''\" :label-width=\"labelWidth\" :wrap=\"item.wrap\">\n\t\t\t\t\t<template #label>\n\t\t\t\t\t\t<slot name=\"label\" :label=\"item.label\" :value=\"item.value\"></slot>\n\t\t\t\t\t</template>\n\t\t\t\t\t<slot :name=\"item.label\" :value=\"item.value\"></slot>\n\t\t\t\t</ParamItem>\n\t\t\t\t<div v-if=\"index < rowData.length - 1\" class=\"to-param-divider\"></div>\n\t\t\t</template>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, onMounted, onBeforeUnmount, provide } from 'vue'\nimport { paramProps } from './param'\nimport ParamItem from './ParamItem.vue'\n\n\n\nconst props = defineProps(paramProps)\nconst rowData = ref<any[]>([])\nconst labelWidth = ref<string>(String(props.labelWidth))\nconst paramItems = ref<any[]>([])\n\n// 提供给 ParamItem 组件的注册方法\nconst registerParamItem = (item: any) => {\n\tparamItems.value.push(item)\n}\n\n// 提供给 ParamItem 组件的注销方法\nconst unregisterParamItem = (item: any) => {\n\tconst index = paramItems.value.indexOf(item)\n\tif (index !== -1) {\n\t\tparamItems.value.splice(index, 1)\n\t}\n}\n\nconst getLabelWidth = () => {\n\treturn labelWidth.value\n}\n\n// 提供给子组件\nprovide('toParamContext', {\n\tregisterParamItem,\n\tunregisterParamItem,\n\tgetLabelWidth\n})\n\n// 计算属性\nconst setClass = computed(() => {\n\tconst arr = [props.col ? 'col-' + props.col : '', props.avg ? 'is-avg' : '', props.wrap ? 'is-wrap' : '']\n\tif (props.dir === 'v') {\n\t\tarr.push('dir-v')\n\t}\n\tif (props.dir === 'vo') {\n\t\tarr.push('dir-vo')\n\t}\n\tif (props.align) {\n\t\tarr.push(`align-${props.align}`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.type === 'v') {\n\t\tarr.push('dir-v')\n\t\tarr.push('align-center')\n\t\tarr.push('col-avg')\n\t}\n\tif (props.type === 'vo') {\n\t\tarr.push('dir-vo')\n\t\tarr.push('align-center')\n\t\tarr.push('col-avg')\n\t}\n\n\treturn arr\n})\n\n// 修改getRowData方法,支持处理字符串格式的数据\nconst getRowData = () => {\n\trowData.value = []\n\n\t// 如果data是字符串格式,则转换为数组格式\n\tif (typeof props.data === 'string') {\n\t\tconst items = props.data.split(';').filter(item => item.trim() !== '')\n\t\trowData.value = items.map(item => {\n\t\t\tconst [label, value] = item.split(':')\n\t\t\treturn {\n\t\t\t\tlabel: label ? label.trim() : '',\n\t\t\t\tvalue: value ? value.trim() : ''\n\t\t\t}\n\t\t})\n\t}\n\n\t// 如果data是数组格式,则直接使用\n\telse if (Array.isArray(props.data)) {\n\t\trowData.value = [...props.data]\n\t}\n}\n\nwatch(\n\t() => props.data,\n\t() => {\n\t\tif (props.data) {\n\t\t\tgetRowData()\n\t\t}\n\t},\n\t{ deep: true, immediate: true }\n)\n\n// 计算最长label宽度的方法\nconst adjustLabelWidth = () => {\n\trequestAnimationFrame(() => {\n\t\tlet maxWidth = 0\n\t\tparamItems.value.forEach(item => {\n\t\t\tif (item.vnode?.el?.querySelector('.label span')) {\n\t\t\t\tconst labelSpan = item.vnode.el.querySelector('.label span')\n\t\t\t\tconst labelWidth = labelSpan.getBoundingClientRect().width\n\t\t\t\tif (maxWidth < labelWidth) {\n\t\t\t\t\tmaxWidth = labelWidth\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t// 直接设置width值,避免多次DOM操作\n\t\tlabelWidth.value = maxWidth + 20 + 'px'\n\t})\n}\n\n// 监听labelWidth变化\nwatch(\n\t() => props.labelWidth,\n\tnewVal => {\n\t\tlabelWidth.value = String(newVal)\n\t\tif (newVal === 'compute') {\n\t\t\tadjustLabelWidth()\n\t\t}\n\t}\n)\n\n// 创建一个ref引用,用于获取组件根元素\nconst paramRef = ref(null)\n\n// 使用ResizeObserver监听元素大小变化\nlet resizeObserver = null\n\nonMounted(() => {\n\tif (props.labelWidth === 'compute') {\n\t\t// 创建ResizeObserver实例\n\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\tadjustLabelWidth()\n\t\t})\n\n\t\t// 观察组件根元素\n\t\tif (paramRef.value) {\n\t\t\tresizeObserver.observe(paramRef.value)\n\t\t}\n\n\t\t// 初始计算\n\t\tadjustLabelWidth()\n\t}\n})\n\nonBeforeUnmount(() => {\n\t// 清理ResizeObserver\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect()\n\t\tresizeObserver = null\n\t}\n})\n\ndefineExpose({\n\tgetLabelWidth\n})\n</script>\n"],"names":["DO_defineComponent","ref","provide","computed","watch","labelWidth","onMounted","onBeforeUnmount","_createElementBlock","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","ParamItem","tip","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Param.vue2.js","sources":["../../../../../../packages/components/param/src/Param.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToParam'\n});\n</script>\n<template>\n\t<div ref=\"paramRef\" :flex=\"flex ? flex : null\" class=\"to-param\" :class=\"setClass\">\n\t\t<div class=\"to-param-list\">\n\t\t\t<template v-for=\"(item, index) in rowData\" :key=\"index\">\n\t\t\t\t<ParamItem :label=\"item.label\" :value=\"item.value\" :class=\"[item.merge ? 'merge-' + item.merge : '']\" :tip=\"tip ? item.value : ''\" :label-width=\"labelWidth\" :wrap=\"item.wrap\">\n\t\t\t\t\t<template #label>\n\t\t\t\t\t\t<slot name=\"label\" :label=\"item.label\" :value=\"item.value\"></slot>\n\t\t\t\t\t</template>\n\t\t\t\t\t<slot :name=\"item.label\" :value=\"item.value\"></slot>\n\t\t\t\t</ParamItem>\n\t\t\t\t<div v-if=\"index < rowData.length - 1\" class=\"to-param-divider\"></div>\n\t\t\t</template>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, onMounted, onBeforeUnmount, provide } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { paramProps } from './param'\nimport ParamItem from './ParamItem.vue'\n\n\n\nconst props = defineProps(paramProps)\nconst rowData = ref<any[]>([])\nconst labelWidth = ref<string>(String(props.labelWidth))\nconst paramItems = ref<any[]>([])\n\n// 提供给 ParamItem 组件的注册方法\nconst registerParamItem = (item: any) => {\n\tparamItems.value.push(item)\n}\n\n// 提供给 ParamItem 组件的注销方法\nconst unregisterParamItem = (item: any) => {\n\tconst index = paramItems.value.indexOf(item)\n\tif (index !== -1) {\n\t\tparamItems.value.splice(index, 1)\n\t}\n}\n\nconst getLabelWidth = () => {\n\treturn labelWidth.value\n}\n\n// 提供给子组件\nprovide('toParamContext', {\n\tregisterParamItem,\n\tunregisterParamItem,\n\tgetLabelWidth\n})\n\n// 计算属性\nconst setClass = computed(() => {\n\tconst arr = [props.col ? 'col-' + props.col : '', props.avg ? 'is-avg' : '', props.wrap ? 'is-wrap' : '']\n\tif (props.dir === 'v') {\n\t\tarr.push('dir-v')\n\t}\n\tif (props.dir === 'vo') {\n\t\tarr.push('dir-vo')\n\t}\n\tif (props.align) {\n\t\tarr.push(`align-${props.align}`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (props.type === 'v') {\n\t\tarr.push('dir-v')\n\t\tarr.push('align-center')\n\t\tarr.push('col-avg')\n\t}\n\tif (props.type === 'vo') {\n\t\tarr.push('dir-vo')\n\t\tarr.push('align-center')\n\t\tarr.push('col-avg')\n\t}\n\n\treturn arr\n})\n\n// 修改getRowData方法,支持处理字符串格式的数据\nconst getRowData = () => {\n\trowData.value = []\n\n\t// 如果data是字符串格式,则转换为数组格式\n\tif (typeof props.data === 'string') {\n\t\tconst items = props.data.split(';').filter(item => item.trim() !== '')\n\t\trowData.value = items.map(item => {\n\t\t\tconst [label, value] = item.split(':')\n\t\t\treturn {\n\t\t\t\tlabel: label ? label.trim() : '',\n\t\t\t\tvalue: value ? value.trim() : ''\n\t\t\t}\n\t\t})\n\t}\n\n\t// 如果data是数组格式,则直接使用\n\telse if (Array.isArray(props.data)) {\n\t\trowData.value = [...props.data]\n\t}\n}\n\nwatch(\n\t() => props.data,\n\t() => {\n\t\tif (props.data) {\n\t\t\tgetRowData()\n\t\t}\n\t},\n\t{ deep: true, immediate: true }\n)\n\n// 计算最长label宽度的方法\nconst adjustLabelWidth = () => {\n\trequestAnimationFrame(() => {\n\t\tlet maxWidth = 0\n\t\tparamItems.value.forEach(item => {\n\t\t\tif (item.vnode?.el?.querySelector('.label span')) {\n\t\t\t\tconst labelSpan = item.vnode.el.querySelector('.label span')\n\t\t\t\tconst labelWidth = labelSpan.getBoundingClientRect().width\n\t\t\t\tif (maxWidth < labelWidth) {\n\t\t\t\t\tmaxWidth = labelWidth\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t// 直接设置width值,避免多次DOM操作\n\t\tlabelWidth.value = maxWidth + 20 + 'px'\n\t})\n}\n\n// 监听labelWidth变化\nwatch(\n\t() => props.labelWidth,\n\tnewVal => {\n\t\tlabelWidth.value = String(newVal)\n\t\tif (newVal === 'compute') {\n\t\t\tadjustLabelWidth()\n\t\t}\n\t}\n)\n\n// 创建一个ref引用,用于获取组件根元素\nconst paramRef = ref(null)\n\n// 使用ResizeObserver监听元素大小变化\nlet resizeObserver = null\n\nonMounted(() => {\n\tif (props.labelWidth === 'compute') {\n\t\t// 创建ResizeObserver实例\n\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\tadjustLabelWidth()\n\t\t})\n\n\t\t// 观察组件根元素\n\t\tif (paramRef.value) {\n\t\t\tresizeObserver.observe(paramRef.value)\n\t\t}\n\n\t\t// 初始计算\n\t\tadjustLabelWidth()\n\t}\n})\n\nonBeforeUnmount(() => {\n\t// 清理ResizeObserver\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect()\n\t\tresizeObserver = null\n\t}\n})\n\ndefineExpose({\n\tgetLabelWidth\n})\n</script>\n"],"names":["DO_defineComponent","ref","provide","computed","getModeClasses","watch","labelWidth","onMounted","onBeforeUnmount","_createElementBlock","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","ParamItem","tip","_renderSlot"],"mappings":"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"}
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var pic = require('./pic.js');
7
7
  var PicViewer = require('./PicViewer.vue.js');
8
8
  var index = require('../../tag/index.js');
9
+ var useSetClass = require('../../../hooks/useSetClass.js');
9
10
 
10
11
  const __default__ = vue.defineComponent({
11
12
  name: "ToPic"
@@ -34,7 +35,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
34
35
  arr.push(`color-${props.color}`);
35
36
  }
36
37
  if (props.mode) {
37
- arr.push(`mode-${props.mode}`);
38
+ arr.push(...useSetClass.getModeClasses(props.mode));
38
39
  }
39
40
  if (props.link) {
40
41
  arr.push(`is-link`);
@@ -85,6 +86,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
85
86
  };
86
87
  return (_ctx, _cache) => {
87
88
  return vue.openBlock(), vue.createElementBlock("span", {
89
+ role: _ctx.link ? "button" : null,
88
90
  flex: _ctx.flex ? _ctx.flex : null,
89
91
  class: vue.normalizeClass(["to-pic", setClass.value]),
90
92
  style: vue.normalizeStyle(setStyle.value)
@@ -126,7 +128,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
126
128
  64
127
129
  /* STABLE_FRAGMENT */
128
130
  )) : vue.createCommentVNode("v-if", true)
129
- ], 14, ["flex"]);
131
+ ], 14, ["role", "flex"]);
130
132
  };
131
133
  }
132
134
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Pic.vue2.js","sources":["../../../../../../packages/components/pic/src/Pic.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPic'\n});\n</script>\n<template>\n\t<span :flex=\"flex ? flex : null\" class=\"to-pic\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<img :src=\"src\" class=\"to-pic-content\" :alt=\"alt\" @click=\"clickHandler\" />\n\t\t<to-tag v-if=\"count !== '' && count !== undefined && Number(count) !== 0\" type=\"number\" class=\"to-pic-count\">{{ count }}</to-tag>\n\t\t<template v-if=\"preview\">\n\t\t\t<pic-viewer v-if=\"showViewer\" :mask-closable=\"true\" :z-index=\"zIndex\" :initial-index=\"imageIndex\" :on-close=\"closeViewer\" :url-list=\"previews\"></pic-viewer>\n\t\t</template>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, computed } from 'vue'\nimport { picProps } from './pic'\nimport PicViewer from './PicViewer.vue'\nimport { ToTag } from '@touchvue/components'\n\n\n\nconst props = defineProps(picProps)\n\nconst showViewer = ref(false)\nlet prevOverflow = ''\n\nconst preview = computed(() => {\n\treturn Array.isArray(props.previews) && props.previews.length > 0\n})\n\nconst imageIndex = computed(() => {\n\tlet previewIndex = 0\n\tconst srcIndex = (props.previews as string[]).indexOf(props.src)\n\tif (srcIndex >= 0) {\n\t\tpreviewIndex = srcIndex\n\t}\n\treturn previewIndex\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\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\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tobj['--width'] = props.width + 'em'\n\t\t} else if (props.width === 'full') {\n\t\t\tobj['--width'] = '100%'\n\t\t} else {\n\t\t\tobj['--width'] = String(props.width)\n\t\t}\n\t}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else if (props.height === 'full') {\n\t\t\tobj.height = '100%'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\tif (props.height !== 'auto') {\n\t\tif (typeof props.height === 'number') {\n\t\t\tobj.height = `${props.height}em`\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\tif (props.previews && props.previews.length > 0) {\n\t\tobj.cursor = 'pointer'\n\t}\n\n\treturn obj\n})\n\nconst clickHandler = () => {\n\tif (!preview.value) {\n\t\treturn\n\t}\n\tshowViewer.value = true\n}\n\nconst closeViewer = () => {\n\tdocument.body.style.overflow = prevOverflow\n\tshowViewer.value = false\n}\n</script>\n"],"names":["DO_defineComponent","ref","computed","_createElementBlock","flex","_normalizeClass","_createElementVNode","src","alt","count","_createBlock","_unref","ToTag","_Fragment","PicViewer","zIndex","previews"],"mappings":"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"}
1
+ {"version":3,"file":"Pic.vue2.js","sources":["../../../../../../packages/components/pic/src/Pic.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToPic'\n});\n</script>\n<template>\n\t<span :role=\"link ? 'button' : null\" :flex=\"flex ? flex : null\" class=\"to-pic\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<img :src=\"src\" class=\"to-pic-content\" :alt=\"alt\" @click=\"clickHandler\" />\n\t\t<to-tag v-if=\"count !== '' && count !== undefined && Number(count) !== 0\" type=\"number\" class=\"to-pic-count\">{{ count }}</to-tag>\n\t\t<template v-if=\"preview\">\n\t\t\t<pic-viewer v-if=\"showViewer\" :mask-closable=\"true\" :z-index=\"zIndex\" :initial-index=\"imageIndex\" :on-close=\"closeViewer\" :url-list=\"previews\"></pic-viewer>\n\t\t</template>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, computed } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { picProps } from './pic'\nimport PicViewer from './PicViewer.vue'\nimport { ToTag } from '@touchvue/components'\n\n\n\nconst props = defineProps(picProps)\n\nconst showViewer = ref(false)\nlet prevOverflow = ''\n\nconst preview = computed(() => {\n\treturn Array.isArray(props.previews) && props.previews.length > 0\n})\n\nconst imageIndex = computed(() => {\n\tlet previewIndex = 0\n\tconst srcIndex = (props.previews as string[]).indexOf(props.src)\n\tif (srcIndex >= 0) {\n\t\tpreviewIndex = srcIndex\n\t}\n\treturn previewIndex\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\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\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tobj['--width'] = props.width + 'em'\n\t\t} else if (props.width === 'full') {\n\t\t\tobj['--width'] = '100%'\n\t\t} else {\n\t\t\tobj['--width'] = String(props.width)\n\t\t}\n\t}\n\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else if (props.height === 'full') {\n\t\t\tobj.height = '100%'\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\tif (props.height !== 'auto') {\n\t\tif (typeof props.height === 'number') {\n\t\t\tobj.height = `${props.height}em`\n\t\t} else {\n\t\t\tobj.height = String(props.height)\n\t\t}\n\t}\n\n\tif (props.previews && props.previews.length > 0) {\n\t\tobj.cursor = 'pointer'\n\t}\n\n\treturn obj\n})\n\nconst clickHandler = () => {\n\tif (!preview.value) {\n\t\treturn\n\t}\n\tshowViewer.value = true\n}\n\nconst closeViewer = () => {\n\tdocument.body.style.overflow = prevOverflow\n\tshowViewer.value = false\n}\n</script>\n"],"names":["DO_defineComponent","ref","computed","getModeClasses","_createElementBlock","link","flex","_normalizeClass","_createElementVNode","src","alt","count","_createBlock","_unref","ToTag","_Fragment","PicViewer","zIndex","previews"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.vue.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\n\t<span ref=\"elRef\" :flex=\"flex ? flex : null\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<template v-if=\"type === 'circle'\">\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\n\t\t\t\t<circle cx=\"50\" cy=\"50\" :r=\"radius\" fill=\"none\" :stroke-width=\"thick\" class=\"to-progress-bg\" />\n\t\t\t\t<circle cx=\"50\" cy=\"50\" :r=\"radius\" fill=\"none\" :stroke-width=\"barThick\" transform=\"rotate(-90, 50, 50)\" :stroke-dashoffset=\"strokeDashoffset\" :stroke-dasharray=\"strokeDasharray\" class=\"to-progress-bar\" />\n\t\t\t</svg>\n\t\t\t<div class=\"to-progress-text\">\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<span class=\"to-progress-bg\">\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span v-if=\"textPosition === 'outer' && type !== 'loading'\" class=\"to-progress-text\" :style=\"setTextStyle\">\n\t\t\t\t{{ textValue }}\n\t\t\t</span>\n\t\t</template>\n\t</span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\n\nexport default defineComponent({\n\tname: 'ToProgress',\n\tprops: {\n\t\tflex: Boolean,\n\t\t// 类型:normal 或 loading\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'normal',\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val)\n\t\t},\n\t\t// 进度条百分比,0~100的数字\n\t\tvalue: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 0,\n\t\t\trequired: true\n\t\t},\n\t\t// 模式\n\t\tmode: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default'\n\t\t},\n\t\t// 文字\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 标题\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\t// 内容\n\t\tcontent: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\n\t\ttextPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'inner',\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val)\n\t\t},\n\t\t// 显示值的宽度设置\n\t\ttextWidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 'auto'\n\t\t},\n\t\t// 颜色\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: 'primary'\n\t\t},\n\t\t// 宽度\n\t\twidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: ''\n\t\t},\n\t\t// 进度条大小\n\t\tbarSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 1\n\t\t}\n\t},\n\tsetup(props) {\n\t\t// 响应式状态\n\t\tconst elRef = ref<HTMLElement | null>(null)\n\t\tconst radius = ref<number>(0)\n\t\tconst thick = ref<number>(0)\n\t\tconst barRadius = ref<number>(0)\n\t\tconst barThick = ref<number>(0)\n\t\tconst em = ref(0)\n\t\tconst offsetWidth = ref(0)\n\t\tconst iPercentage = ref('')\n\n\t\tconst getColor = (color: string) => {\n\t\t\tlet c = color\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\n\t\t\tlet number = Math.round(Math.random() * 6)\n\t\t\tif (color === 'radam') {\n\t\t\t\tc = colors[number]\n\t\t\t}\n\n\t\t\tswitch (c) {\n\t\t\t\tcase 'fg':\n\t\t\t\t\treturn '#000'\n\t\t\t\tcase 'info':\n\t\t\t\t\treturn '#999'\n\t\t\t\tcase 'warning':\n\t\t\t\t\treturn '#f3b100'\n\t\t\t\tcase 'success':\n\t\t\t\t\treturn '#8fc320'\n\t\t\t\tcase 'danger':\n\t\t\t\t\treturn '#e40077'\n\t\t\t\tcase 'secondary':\n\t\t\t\t\treturn '#4d5b65'\n\t\t\t\tcase 'primary':\n\t\t\t\t\treturn '#0085d0'\n\t\t\t\tdefault:\n\t\t\t\t\treturn color\n\t\t\t}\n\t\t}\n\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\n\t\tconst strokeDasharray = computed(() => circumference.value)\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\n\n\t\tconst textValue = computed(() => {\n\t\t\tif (props.text) {\n\t\t\t\treturn props.text\n\t\t\t} else {\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst titleValue = computed(() => {\n\t\t\tif (props.title !== undefined) {\n\t\t\t\treturn props.title\n\t\t\t} else {\n\t\t\t\t// 如果是100%,可以显示完成标识\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\n\t\t\t\t\treturn '100%'\n\t\t\t\t}\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst setClass = computed(() => {\n\t\t\tconst arr: string[] = []\n\t\t\tarr.push(`color-${props.color}`)\n\t\t\tif (props.textPosition) {\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\n\t\t\t}\n\t\t\tif (props.type) {\n\t\t\t\tarr.push(`type-${props.type}`)\n\t\t\t}\n\t\t\tif (props.mode) {\n\t\t\t\tarr.push(`mode-${props.mode}`)\n\t\t\t}\n\t\t\treturn arr\n\t\t})\n\n\t\tconst setStyle = computed(() => {\n\t\t\tconst obj: Record<string, string> = {}\n\t\t\tif (props.width) {\n\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\t// 保持1:1的宽高比\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\n\t\t\t\t\t\tobj.width = size\n\t\t\t\t\t\tobj.height = size\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t\t// 强制保持1:1的宽高比\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t\tobj.height = props.width as string\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\tobj.width = props.width + 'em'\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn obj\n\t\t})\n\n\t\tconst setBarStyle = computed(() => {\n\t\t\treturn 'width:' + iPercentage.value\n\t\t})\n\n\t\tconst setTextStyle = computed(() => {\n\t\t\tif (props.textWidth === 'auto') {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\n\t\t\t}\n\t\t})\n\n\t\t// 方法\n\t\tconst setPercentage = () => {\n\t\t\tlet p = 0\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\n\t\t\t} else {\n\t\t\t\tp = Number(props.value)\n\t\t\t}\n\t\t\tif (p < 0) {\n\t\t\t\tp = 0\n\t\t\t}\n\t\t\tiPercentage.value = p + '%'\n\t\t}\n\n\t\tconst init = () => {\n\t\t\tlet timer: number | null = null\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\n\t\t\t\tif (el) {\n\t\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\t\t// 获取基础值\n\t\t\t\t\t\tconst circleBgTick = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--thick'))\n\t\t\t\t\t\tconst circleBarTick = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--bar-thick'))\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\n\n\t\t\t\t\t\t// 计算半径\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\n\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\n\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\n\t\t\t\t\t\tif (typeof props.width === 'number') {\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (timer) {\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = null\n\t\t\t\t}\n\t\t\t}, 200)\n\t\t}\n\n\t\t// 生命周期钩子\n\t\tonMounted(() => {\n\t\t\twindow.addEventListener('resize', init)\n\t\t\tnextTick(() => {\n\t\t\t\tinit()\n\t\t\t})\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\twindow.removeEventListener('resize', init)\n\t\t})\n\n\t\t// 监听属性变化\n\t\twatch(\n\t\t\t() => props.value,\n\t\t\t() => {\n\t\t\t\tsetPercentage()\n\t\t\t}\n\t\t)\n\n\t\t// 初始化\n\t\tsetPercentage()\n\n\t\treturn {\n\t\t\tthick,\n\t\t\telRef,\n\t\t\tem,\n\t\t\tbarThick,\n\t\t\tbarRadius,\n\t\t\toffsetWidth,\n\t\t\tiPercentage,\n\t\t\tgetColor,\n\t\t\tradius,\n\t\t\tstrokeDasharray,\n\t\t\tstrokeDashoffset,\n\t\t\ttextValue,\n\t\t\ttitleValue,\n\t\t\tsetClass,\n\t\t\tsetStyle,\n\t\t\tsetBarStyle,\n\t\t\tsetTextStyle\n\t\t}\n\t}\n})\n</script>\n"],"names":["flex","setStyle","type","_openBlock","_createElementBlock","_Fragment","_createElementVNode","radius","strokeDashoffset","titleValue","_renderSlot","content","_toDisplayString","setBarStyle","_normalizeStyle","textPosition"],"mappings":"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"}
1
+ {"version":3,"file":"Progress.vue.js","sources":["../../../../../../packages/components/progress/src/Progress.vue"],"sourcesContent":["<template>\n\t<span ref=\"elRef\" :flex=\"flex ? flex : null\" class=\"to-progress\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<template v-if=\"type === 'circle'\">\n\t\t\t<svg class=\"svg\" viewBox=\"0 0 100 100\">\n\t\t\t\t<circle cx=\"50\" cy=\"50\" :r=\"radius\" fill=\"none\" :stroke-width=\"thick\" class=\"to-progress-bg\" />\n\t\t\t\t<circle cx=\"50\" cy=\"50\" :r=\"radius\" fill=\"none\" :stroke-width=\"barThick\" transform=\"rotate(-90, 50, 50)\" :stroke-dashoffset=\"strokeDashoffset\" :stroke-dasharray=\"strokeDasharray\" class=\"to-progress-bar\" />\n\t\t\t</svg>\n\t\t\t<div class=\"to-progress-text\">\n\t\t\t\t<slot :title=\"titleValue\" :content=\"content\">\n\t\t\t\t\t<div class=\"to-progress-text-title\">{{ titleValue }}</div>\n\t\t\t\t\t<div v-if=\"content\" class=\"to-progress-text-content\">{{ content }}</div>\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<span class=\"to-progress-bg\">\n\t\t\t\t<span :style=\"setBarStyle\" class=\"to-progress-bar\">\n\t\t\t\t\t<span v-if=\"textPosition === 'inner'\" class=\"to-progress-text\">{{ textValue }}</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span v-if=\"textPosition === 'outer' && type !== 'loading'\" class=\"to-progress-text\" :style=\"setTextStyle\">\n\t\t\t\t{{ textValue }}\n\t\t\t</span>\n\t\t</template>\n\t</span>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\n\nexport default defineComponent({\n\tname: 'ToProgress',\n\tprops: {\n\t\tflex: Boolean,\n\t\t// 类型:normal 或 loading\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'normal',\n\t\t\tvalidator: (val: string) => ['normal', 'loading', 'circle'].includes(val)\n\t\t},\n\t\t// 进度条百分比,0~100的数字\n\t\tvalue: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 0,\n\t\t\trequired: true\n\t\t},\n\t\t// 模式\n\t\tmode: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default'\n\t\t},\n\t\t// 文字\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 标题\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\t// 内容\n\t\tcontent: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 进度位置:outer(在外)、inner(在内)、none(不显示进度)\n\t\ttextPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'inner',\n\t\t\tvalidator: (val: string) => ['outer', 'inner', 'none'].includes(val)\n\t\t},\n\t\t// 显示值的宽度设置\n\t\ttextWidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 'auto'\n\t\t},\n\t\t// 颜色\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\tdefault: 'primary'\n\t\t},\n\t\t// 宽度\n\t\twidth: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: ''\n\t\t},\n\t\t// 进度条大小\n\t\tbarSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 1\n\t\t}\n\t},\n\tsetup(props) {\n\t\t// 响应式状态\n\t\tconst elRef = ref<HTMLElement | null>(null)\n\t\tconst radius = ref<number>(0)\n\t\tconst thick = ref<number>(0)\n\t\tconst barRadius = ref<number>(0)\n\t\tconst barThick = ref<number>(0)\n\t\tconst em = ref(0)\n\t\tconst offsetWidth = ref(0)\n\t\tconst iPercentage = ref('')\n\n\t\tconst getColor = (color: string) => {\n\t\t\tlet c = color\n\t\t\t// 随机色彩逻辑,实际项目中可能需要根据实际环境调整\n\t\t\tlet colors = ['primary', 'success', 'warning', 'danger', 'info', 'secondary', 'fg']\n\t\t\tlet number = Math.round(Math.random() * 6)\n\t\t\tif (color === 'radam') {\n\t\t\t\tc = colors[number]\n\t\t\t}\n\n\t\t\tswitch (c) {\n\t\t\t\tcase 'fg':\n\t\t\t\t\treturn '#000'\n\t\t\t\tcase 'info':\n\t\t\t\t\treturn '#999'\n\t\t\t\tcase 'warning':\n\t\t\t\t\treturn '#f3b100'\n\t\t\t\tcase 'success':\n\t\t\t\t\treturn '#8fc320'\n\t\t\t\tcase 'danger':\n\t\t\t\t\treturn '#e40077'\n\t\t\t\tcase 'secondary':\n\t\t\t\t\treturn '#4d5b65'\n\t\t\t\tcase 'primary':\n\t\t\t\t\treturn '#0085d0'\n\t\t\t\tdefault:\n\t\t\t\t\treturn color\n\t\t\t}\n\t\t}\n\n\t\tconst circumference = computed(() => 2 * Math.PI * radius.value)\n\t\tconst strokeDasharray = computed(() => circumference.value)\n\t\tconst strokeDashoffset = computed(() => circumference.value * (1 - Number(props.value) / 100))\n\n\t\tconst textValue = computed(() => {\n\t\t\tif (props.text) {\n\t\t\t\treturn props.text\n\t\t\t} else {\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst titleValue = computed(() => {\n\t\t\tif (props.title !== undefined) {\n\t\t\t\treturn props.title\n\t\t\t} else {\n\t\t\t\t// 如果是100%,可以显示完成标识\n\t\t\t\tconst percentValue = Number(iPercentage.value.replace('%', ''))\n\t\t\t\tif (percentValue >= 100 && props.type === 'circle') {\n\t\t\t\t\treturn '100%'\n\t\t\t\t}\n\t\t\t\treturn iPercentage.value\n\t\t\t}\n\t\t})\n\n\t\tconst setClass = computed(() => {\n\t\t\tconst arr: string[] = []\n\t\t\tarr.push(`color-${props.color}`)\n\t\t\tif (props.textPosition) {\n\t\t\t\tarr.push(`text-position-${props.textPosition}`)\n\t\t\t}\n\t\t\tif (props.type) {\n\t\t\t\tarr.push(`type-${props.type}`)\n\t\t\t}\n\t\t\tif (props.mode) {\n\t\t\t\tarr.push(...getModeClasses(props.mode))\n\t\t\t}\n\t\t\treturn arr\n\t\t})\n\n\t\tconst setStyle = computed(() => {\n\t\t\tconst obj: Record<string, string> = {}\n\t\t\tif (props.width) {\n\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\t// 保持1:1的宽高比\n\t\t\t\t\t\tconst size = Number(props.width) + 'em'\n\t\t\t\t\t\tobj.width = size\n\t\t\t\t\t\tobj.height = size\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t\t// 强制保持1:1的宽高比\n\t\t\t\t\t\tobj.aspectRatio = '1/1'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t\tobj.height = props.width as string\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!isNaN(Number(props.width))) {\n\t\t\t\t\t\tobj.width = props.width + 'em'\n\t\t\t\t\t} else if (props.width === 'full') {\n\t\t\t\t\t\tobj.width = '100%'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj.width = props.width as string\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn obj\n\t\t})\n\n\t\tconst setBarStyle = computed(() => {\n\t\t\treturn 'width:' + iPercentage.value\n\t\t})\n\n\t\tconst setTextStyle = computed(() => {\n\t\t\tif (props.textWidth === 'auto') {\n\t\t\t\treturn ''\n\t\t\t} else {\n\t\t\t\treturn 'width:' + props.textWidth + 'em'\n\t\t\t}\n\t\t})\n\n\t\t// 方法\n\t\tconst setPercentage = () => {\n\t\t\tlet p = 0\n\t\t\tif ((props.value + '').indexOf('%') > -1) {\n\t\t\t\tp = Number((props.value as string).replace('%', ''))\n\t\t\t} else {\n\t\t\t\tp = Number(props.value)\n\t\t\t}\n\t\t\tif (p < 0) {\n\t\t\t\tp = 0\n\t\t\t}\n\t\t\tiPercentage.value = p + '%'\n\t\t}\n\n\t\tconst init = () => {\n\t\t\tlet timer: number | null = null\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tem.value = 12 // 基础单位,可能需要根据实际项目调整\n\t\t\t\tconst el = document.querySelector('.to-progress') as HTMLElement\n\t\t\t\tif (el) {\n\t\t\t\t\tif (props.type === 'circle') {\n\t\t\t\t\t\t// 获取基础值\n\t\t\t\t\t\tconst circleBgTick = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--thick'))\n\t\t\t\t\t\tconst circleBarTick = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--bar-thick'))\n\t\t\t\t\t\tconst width = parseFloat(getComputedStyle(elRef.value).getPropertyValue('--width'))\n\n\t\t\t\t\t\t// 计算半径\n\t\t\t\t\t\tthick.value = (circleBgTick / width) * 100\n\t\t\t\t\t\tbarThick.value = (circleBarTick / width) * 100\n\t\t\t\t\t\tradius.value = 50 - Math.max(thick.value, barThick.value) / 2\n\n\t\t\t\t\t\t// 环形进度条使用固定尺寸\n\t\t\t\t\t\toffsetWidth.value = 120 // 默认大小为120px\n\n\t\t\t\t\t\t// 如果指定了width属性,则覆盖默认值\n\t\t\t\t\t\tif (typeof props.width === 'number') {\n\t\t\t\t\t\t\toffsetWidth.value = props.width * 16 // 转换em为px\n\t\t\t\t\t\t} else if (props.width === 'full' && el.parentElement) {\n\t\t\t\t\t\t\toffsetWidth.value = el.parentElement.offsetWidth\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\toffsetWidth.value = el.offsetWidth\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (timer) {\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = null\n\t\t\t\t}\n\t\t\t}, 200)\n\t\t}\n\n\t\t// 生命周期钩子\n\t\tonMounted(() => {\n\t\t\twindow.addEventListener('resize', init)\n\t\t\tnextTick(() => {\n\t\t\t\tinit()\n\t\t\t})\n\t\t})\n\n\t\tonBeforeUnmount(() => {\n\t\t\twindow.removeEventListener('resize', init)\n\t\t})\n\n\t\t// 监听属性变化\n\t\twatch(\n\t\t\t() => props.value,\n\t\t\t() => {\n\t\t\t\tsetPercentage()\n\t\t\t}\n\t\t)\n\n\t\t// 初始化\n\t\tsetPercentage()\n\n\t\treturn {\n\t\t\tthick,\n\t\t\telRef,\n\t\t\tem,\n\t\t\tbarThick,\n\t\t\tbarRadius,\n\t\t\toffsetWidth,\n\t\t\tiPercentage,\n\t\t\tgetColor,\n\t\t\tradius,\n\t\t\tstrokeDasharray,\n\t\t\tstrokeDashoffset,\n\t\t\ttextValue,\n\t\t\ttitleValue,\n\t\t\tsetClass,\n\t\t\tsetStyle,\n\t\t\tsetBarStyle,\n\t\t\tsetTextStyle\n\t\t}\n\t}\n})\n</script>\n"],"names":["flex","setStyle","type","_openBlock","_createElementBlock","_Fragment","_createElementVNode","radius","strokeDashoffset","titleValue","_renderSlot","content","_toDisplayString","setBarStyle","_normalizeStyle","textPosition"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
+ var useSetClass = require('../../../hooks/useSetClass.js');
6
7
 
7
8
  var _sfc_main = vue.defineComponent({
8
9
  name: "ToProgress",
@@ -133,7 +134,7 @@ var _sfc_main = vue.defineComponent({
133
134
  arr.push(`type-${props.type}`);
134
135
  }
135
136
  if (props.mode) {
136
- arr.push(`mode-${props.mode}`);
137
+ arr.push(...useSetClass.getModeClasses(props.mode));
137
138
  }
138
139
  return arr;
139
140
  });