@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
@@ -2,6 +2,7 @@ import { defineComponent, ref, useSlots, isVNode, useAttrs, watch, computed, ope
2
2
  import purify from '../../../../node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.mjs';
3
3
  import { ToButton } from '../../button/index.mjs';
4
4
  import { langKey, t } from '../../../locale/index.mjs';
5
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
5
6
 
6
7
  const __default__ = defineComponent({
7
8
  name: "ToMsg"
@@ -53,7 +54,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
53
54
  const setClass = computed(() => {
54
55
  const arr = [];
55
56
  if (props.mode)
56
- arr.push(`mode-${props.mode}`);
57
+ arr.push(...getModeClasses(props.mode));
57
58
  if (props.type) {
58
59
  arr.push(`type-${props.type}`);
59
60
  }
@@ -261,14 +262,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
261
262
  128
262
263
  /* KEYED_FRAGMENT */
263
264
  )),
264
- _ctx.cancelText || true ? (openBlock(), createBlock(unref(ToButton), {
265
+ _ctx.cancelable ? (openBlock(), createBlock(unref(ToButton), {
265
266
  key: 0,
266
267
  class: "to-msg-button type-extend",
267
268
  onClick: cancel
268
269
  }, {
269
270
  default: withCtx(() => [
270
271
  createTextVNode(
271
- toDisplayString(_ctx.cancelText || unref(t)("to.msg.cancel")),
272
+ toDisplayString(_ctx.cancelText || unref(t)("to.common.cancel")),
272
273
  1
273
274
  /* TEXT */
274
275
  )
@@ -276,14 +277,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
276
277
  _: 1
277
278
  /* STABLE */
278
279
  })) : createCommentVNode("v-if", true),
279
- _ctx.confirmText || true ? (openBlock(), createBlock(unref(ToButton), {
280
+ _ctx.confirmable ? (openBlock(), createBlock(unref(ToButton), {
280
281
  key: 1,
281
282
  class: "to-msg-button type-confirm",
282
283
  onClick: confirm
283
284
  }, {
284
285
  default: withCtx(() => [
285
286
  createTextVNode(
286
- toDisplayString(_ctx.confirmText || unref(t)("to.msg.confirm")),
287
+ toDisplayString(_ctx.confirmText || unref(t)("to.common.confirm")),
287
288
  1
288
289
  /* TEXT */
289
290
  )
@@ -1 +1 @@
1
- {"version":3,"file":"msg.vue2.mjs","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","DOMPurify","el","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","_openBlock","_createBlock","_resolveDynamicComponent","title","_renderSlot","content","detail","$slots","_Fragment","confirmable","cancelable","buttons","_mergeProps","_createTextVNode","_toDisplayString","cancelText","confirmText"],"mappings":";;;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,OAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAwBd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,EAAA,GAAK,IAAI,IAAI,CAAA,CAAA;AACnB,IAAM,MAAA,WAAA,GAAc,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACxC,IAAM,MAAA,OAAA,GAAU,GAAI,CAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAC9B,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAEnC,IAAM,MAAA,SAAA,GAAY,UAAW,CAAA,KAAA,CAAA;AAG7B,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA,CAAA;AAAA,OACjB;AAAA,MACA;AAAA,QACC,SAAW,EAAA,IAAA;AAAA,OACZ;AAAA,KACD,CAAA;AAIA,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAAgB,EAAC,CAAA;AACvB,MAAA,IAAI,KAAM,CAAA,IAAA;AAAM,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAC7C,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AACA,MAAA,IAAI,MAAM,GAAK,EAAA;AACd,QAAI,GAAA,CAAA,IAAA,CAAK,CAAO,IAAA,EAAA,KAAA,CAAM,GAAK,CAAA,CAAA,CAAA,CAAA;AAAA,OAC5B;AACA,MAAA,IAAI,MAAM,QAAU,EAAA;AACnB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAY,SAAA,EAAA,KAAA,CAAM,QAAU,CAAA,CAAA,CAAA,CAAA;AAAA,OACtC;AACA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,GAAA,CAAI,KAAK,WAAW,CAAA,CAAA;AAAA,OACrB;AACA,MAAA,IAAI,OAAQ,CAAA,KAAA;AAAO,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AACrC,MAAI,IAAA,SAAA;AAAW,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AACjC,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACtC,MAAA,MAAM,QAAuB,EAAC,CAAA;AAC9B,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAM,KAAA,CAAA,KAAA,GAAQ,GAAG,KAAM,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,OACxB;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,MAAM,cAAiB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,KAAS,IAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACnH,IAAA,MAAM,cAAc,QAAS,CAAA,MAAMC,OAAU,QAAS,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AACpE,IAAA,MAAM,aAAa,QAAS,CAAA,MAAMA,OAAU,QAAS,CAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAElE,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;;AACrC,MAAQ,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAe,aAAf,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAzB,mBAA8B,KAA9B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,MAAM,IAAQ,IAAA,SAAA,CAAA,CAAA;AAAA,KAC5D,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoB,CAAC,GAAsB,KAAA;AAChD,MAAI,IAAA,OAAO,GAAI,CAAA,EAAA,KAAO,UAAY,EAAA;AACjC,QAAA,GAAA,CAAI,EAAG,EAAA,CAAA;AAAA,OACR;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,OAAO,MAAM;;AAClB,MAAMC,MAAAA,GAAAA,GAAK,QAAS,CAAA,aAAA,CAAc,SAAS,CAAA,CAAA;AAC3C,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAAA,GAAG,CAAA,KAAA,CAAM,MAAS,GAAA,KAAA,CAAM,OAAO,QAAS,EAAA,CAAA;AAAA,OAClC,MAAA;AACN,QAAAA,GAAAA,CAAG,MAAM,MAAW,GAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAe,aAAf,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAzB,IAAmC,GAAA,EAAA,GAAA,GAAA,EAAM,QAAS,EAAA,CAAA;AACtE,QAAA,IAAK,MAAe,CAAA,QAAA;AAAU,UAAC,OAAe,QAAS,CAAA,MAAA,EAAA,CAAA;AAAA,OACxD;AACA,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAAA,KACjB,CAAA;AAEA,IAAA,MAAM,QAAQ,MAAM;AACnB,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAChB,MAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACrB,MAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AACd,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAChB,MAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,MAAM,SAAS,MAAM;AACpB,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAChB,MAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACrB,MAAA,IAAI,MAAM,WAAa,EAAA;AACtB,QAAM,KAAA,EAAA,CAAA;AAAA,OACP;AAAA,KACD,CAAA;AAEA,IAAa,QAAA,CAAA,EAAE,IAAM,EAAA,KAAA,EAAO,CAAA,CAAA;;wBA3M3B,EAAAC,kBAAA,CAyCM,KAAA,EAAA;AAAA,eAzCG,EAAA,IAAA;AAAA,QAAJ,GAAI,EAAA,EAAA;AAAA,QAAM,GAAA,EAAKC,MAAO,OAAA,CAAA;AAAA,QAAG,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,QAAiB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;QACtFC,mBAA8C,KAAA,EAAA;AAAA,UAAzC,KAAM,EAAA,WAAA;AAAA,UAAa,OAAO,EAAA,OAAA;AAAA;QAC/BA,kBAsCM,CAAA,KAAA,EAAA,EAtCD,KAAA,EAAM,iBAAe,EAAA;AAAA,UACzBA,kBAAA;AAAA,YAoCM,KAAA;AAAA,YAAA;AAAA,cApCD,KAAM,EAAA,gBAAA;AAAA,cAAkB,KAAA,gBAAO,CAAA,eAAA,CAAe,KAAA,CAAA;AAAA;;cAClDA,kBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,eAAa,EAAA;AAAA,gBACe,eAAc,KAApD,IAAAC,SAAA,EAAA,EAAAC,WAAA,CAAkEC,wBAAlD,cAAc,CAAA,KAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAA;gBAC9BH,kBAA+B,CAAA,KAAA,EAAA,EAA1B,KAAA,EAAM,eAAa,CAAA;AAAA;cAEd,cAAc,CAAA,KAAA,iBAAzBJ,mBA8BM,KAAA,EAAA;AAAA;gBA9BqB,KAAM,EAAA,aAAA;AAAA;gBAChCI,kBAWM,CAAA,KAAA,EAAA,EAXD,KAAA,EAAM,eAAa,EAAA;AAAA,kBACZI,IAAAA,CAAAA,KAAAA,IAASP,KAAK,CAAA,KAAA,CAAC,CAAA,KAAA,IAASA,KAAA,CAAA,KAAA,CAAM,CAAA,OAAA,iBAAzCD,mBAGM,KAAA,EAAA;AAAA;oBAH4C,KAAM,EAAA,cAAA;AAAA;oBACpDQ,eAAAA;AAAAA,sBAAAA,eAAAA,CAAAA,IAAAA,CAAAA,KAAK,CAAG,GAAA,GAAA;AAAA,sBACX,CAAA;AAAA;AAAA,qBAAA;AAAA,oBAAAC,UAAA,CAAqB,IAAA,CAAA,MAAA,EAAA,OAAA,CAAA;AAAA;kBAEXC,IAAAA,CAAO,WAAIT,KAAK,CAAA,KAAA,EAAC,sBAA5B,EAAAD,kBAAA,CAKM,KAAA,EAAA;AAAA;oBAL+B,KAAM,EAAA,gBAAA;AAAA;oBAC1CS,WAGO,4BAHP,MAGO;AAAA,sBAFyBR,MAAK,KAAA,CAAA,IAApCI,WAAA,EAAAC,WAAA,CAAkDC,wBAAlCG,IAAO,CAAA,OAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAA,mBACvBV,mBAAyC,MAAA,EAAA;AAAA;wBAA5B,WAAQ,WAAW,CAAA,KAAA;AAAA;;;;gBAIxBC,KAAA,CAAK,KAAA,CAAC,CAAA,MAAA,IAAUU,KAAM,qBAAjC,EAAAX,kBAAA,CASM,KAAA,EAAA;AAAA;kBAT6B,KAAM,EAAA,eAAA;AAAA;kBACxBY,KAAM,MAAC,CAAA,MAAA,IAAUD,IAAM,CAAA,MAAA,eAAvC,EAAAX,kBAAA;AAAA,oBAGWa,QAAA;AAAA,oBAAA,EAAA,KAAA,CAAA,EAAA;AAAA,oBAAA;AAAA,uBAFQ,YAAW,sBAA7BP,WAA8L,CAAAL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;wBAA/J,eAAc,EAAA,OAAA;AAAA,wBAAQ,IAAK,EAAA,QAAA;AAAA,wBAAS,KAAM,EAAA,sBAAA;AAAA,wBAAuB,IAAK,EAAA,oBAAA;AAAA,wBAAsB,gBAAO,KAAA,WAAA,CAAW,KAAA,GAAA,IAAA;AAAA;yCAAS,MAA4B;AAAA;2CAAzB,CAAAA,KAAA,CAAC,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,4BAAA,CAAA;AAAA;AAAA,2BAAA;AAAA;;;wDAC1J,EAAAK,WAAA,CAAoLL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;wBAAlK,eAAc,EAAA,OAAA;AAAA,wBAAQ,IAAK,EAAA,UAAA;AAAA,wBAAW,KAAM,EAAA,sBAAA;AAAA,wBAAuB,IAAK,EAAA,oBAAA;AAAA,wBAAsB,gBAAO,KAAA,WAAA,CAAW,KAAA,GAAA,KAAA;AAAA;yCAAU,MAA4B;AAAA;2CAAzB,CAAAA,KAAA,CAAC,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA;AAAA,4BAAA,CAAA;AAAA;AAAA,2BAAA;AAAA;;;;;;;;kBAEtIA,KAAA,CAAK,KAAA,CAAC,CAAA,MAAA,IAAU,YAAW,oBAAtC,EAAAD,kBAAA,CAEM,KAAA,EAAA;AAAA;oBAFkC,KAAM,EAAA,uBAAA;AAAA;oBAC7CS,UAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,wBAEPE,IAAAA,CAAAA,MAAAA,IAAU,YAAW,oBAArC,EAAAX,kBAAA,CAA2F,KAAA,EAAA;AAAA;oBAApD,KAAM,EAAA,uBAAA;AAAA,oBAAwB,WAAQ,UAAU,CAAA,KAAA;AAAA;;gBAE7Ec,IAAAA,CAAAA,WAAeC,IAAAA,IAAAA,CAAAA,UAAcC,IAAAA,IAAAA,CAAAA,QAAQ,qBAAhD,EAAAhB,kBAAA,CAMM,KAAA,EAAA;AAAA;kBANkD,KAAM,EAAA,WAAA;AAAA;kBAC7DS,WAIO,4BAJP,MAIO;AAAA,qBAHNJ,SAAA,CAAA,IAAA,CAAA,EAAAL,kBAAA;AAAA,sBAAwKa,QAAA;AAAA,sBAAtIG,IAAAA;AAAAA,sBAAAA,UAAAA,CAAAA,IAAAA,CAAAA,OAAf,EAAA,CAAA,KAAK,KAAK,KAAA;AAA7B,wBAAA,OAAAX,WAAA,EAAAC,WAAA,CAAwKL,iBAAxKgB,UAAwK,CAAA;AAAA,0BAA5H,GAAK,EAAA,KAAA;AAAA,0BAAO,KAAM,EAAA,2BAAA;AAAA,2BAAoC,EAAA,OAAA,EAAA,IAAA,EAAA,EAAA,IAAI,KAAK,EAAA;AAAA,0BAAG,OAAK,EAAA,CAAA,MAAE,KAAA,iBAAA,CAAkB,GAAG,CAAA;AAAA;2CAAG,MAAe;AAAA,4BAAZC,eAAA;AAAA,8BAAAC,eAAA,CAAA,IAAI,KAAK,CAAA;AAAA,8BAAA,CAAA;AAAA;AAAA,6BAAA;AAAA;;;;;;;;oBACxIC,IAAAA,CAAU,cAAA,qBAA3Bd,WAAyI,CAAAL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;sBAApG,KAAM,EAAA,2BAAA;AAAA,sBAA6B,OAAO,EAAA,MAAA;AAAA;uCAAQ,MAAsC;AAAA,wBAAnCmB,eAAAA;AAAAA,0BAAAA,gBAAAA,IAAAA,CAAAA,UAAAA,IAAcnB,MAAC,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,0BAAA,CAAA;AAAA;AAAA,yBAAA;AAAA;;;;oBACxFoB,IAAAA,CAAW,eAAA,qBAA5Bf,WAA8I,CAAAL,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA;sBAAxG,KAAM,EAAA,4BAAA;AAAA,sBAA8B,OAAO,EAAA,OAAA;AAAA;uCAAS,MAAwC;AAAA,wBAArCoB,eAAAA;AAAAA,0BAAAA,gBAAAA,IAAAA,CAAAA,WAAAA,IAAepB,MAAC,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA;AAAA,0BAAA,CAAA;AAAA;AAAA,yBAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"msg.vue2.mjs","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","DOMPurify","el","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","_openBlock","_createBlock","_resolveDynamicComponent","title","_renderSlot","content","detail","$slots","_Fragment","confirmable","cancelable","buttons","_mergeProps","_createTextVNode","_toDisplayString","cancelText","confirmText"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToPadding"
@@ -43,7 +44,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
43
44
  const setClass = computed(() => {
44
45
  const arr = [];
45
46
  if (props.mode) {
46
- arr.push(`mode-${props.mode}`);
47
+ arr.push(...getModeClasses(props.mode));
47
48
  }
48
49
  if (props.height && props.height === "full") {
49
50
  arr.push("height-full");
@@ -1 +1 @@
1
- {"version":3,"file":"padding.vue2.mjs","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","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"padding.vue2.mjs","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","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ToSelect } from '../../select/index.mjs';
3
3
  import { ToInput } from '../../input/index.mjs';
4
4
  import vDis from '../../../directives/dis/src/dis.mjs';
5
5
  import { langKey, t } from '../../../locale/index.mjs';
6
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
6
7
 
7
8
  const __default__ = defineComponent({
8
9
  name: "ToPage"
@@ -50,7 +51,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
50
51
  const setClass = computed(() => {
51
52
  let arr = [];
52
53
  if (props.mode) {
53
- arr.push(`mode-${props.mode}`);
54
+ arr.push(...getModeClasses(props.mode));
54
55
  }
55
56
  return arr;
56
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"page.vue2.mjs","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","_createElementBlock","_unref","_normalizeClass","_Fragment","_createElementVNode","_toDisplayString","_renderSlot","_renderList","_createVNode","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"page.vue2.mjs","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","_createElementBlock","_unref","_normalizeClass","_Fragment","_createElementVNode","_toDisplayString","_renderSlot","_renderList","_createVNode","_createBlock"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, ref, provide, computed, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, renderList, createVNode, withCtx, renderSlot, createCommentVNode } from 'vue';
2
2
  import { paramProps } from './param.mjs';
3
3
  import ParamItem from './ParamItem.vue.mjs';
4
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
4
5
 
5
6
  const __default__ = defineComponent({
6
7
  name: "ToParam"
@@ -42,7 +43,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
42
43
  arr.push(`align-${props.align}`);
43
44
  }
44
45
  if (props.mode) {
45
- arr.push(`mode-${props.mode}`);
46
+ arr.push(...getModeClasses(props.mode));
46
47
  }
47
48
  if (props.type === "v") {
48
49
  arr.push("dir-v");
@@ -1 +1 @@
1
- {"version":3,"file":"Param.vue2.mjs","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","labelWidth","_createElementBlock","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","tip","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Param.vue2.mjs","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","labelWidth","_createElementBlock","flex","_normalizeClass","_createElementVNode","_openBlock","_Fragment","_renderList","_createVNode","tip","_renderSlot"],"mappings":";;;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,SAAA;AACP,CAAC,CAAA,CAAA;;;;;AA0BD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,OAAA,GAAU,GAAW,CAAA,EAAE,CAAA,CAAA;AAC7B,IAAA,MAAM,UAAa,GAAA,GAAA,CAAY,MAAO,CAAA,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AACvD,IAAM,MAAA,UAAA,GAAa,GAAW,CAAA,EAAE,CAAA,CAAA;AAGhC,IAAM,MAAA,iBAAA,GAAoB,CAAC,IAAc,KAAA;AACxC,MAAW,UAAA,CAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;AAGA,IAAM,MAAA,mBAAA,GAAsB,CAAC,IAAc,KAAA;AAC1C,MAAA,MAAM,KAAQ,GAAA,UAAA,CAAW,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAC3C,MAAA,IAAI,UAAU,CAAI,CAAA,EAAA;AACjB,QAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,OACjC;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC3B,MAAA,OAAO,UAAW,CAAA,KAAA,CAAA;AAAA,KACnB,CAAA;AAGA,IAAA,OAAA,CAAQ,gBAAkB,EAAA;AAAA,MACzB,iBAAA;AAAA,MACA,mBAAA;AAAA,MACA,aAAA;AAAA,KACA,CAAA,CAAA;AAGD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,GAAM,GAAA,CAAC,KAAM,CAAA,GAAA,GAAM,SAAS,KAAM,CAAA,GAAA,GAAM,EAAI,EAAA,KAAA,CAAM,MAAM,QAAW,GAAA,EAAA,EAAI,KAAM,CAAA,IAAA,GAAO,YAAY,EAAE,CAAA,CAAA;AACxG,MAAI,IAAA,KAAA,CAAM,QAAQ,GAAK,EAAA;AACtB,QAAA,GAAA,CAAI,KAAK,OAAO,CAAA,CAAA;AAAA,OACjB;AACA,MAAI,IAAA,KAAA,CAAM,QAAQ,IAAM,EAAA;AACvB,QAAA,GAAA,CAAI,KAAK,QAAQ,CAAA,CAAA;AAAA,OAClB;AACA,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AACA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,IAAK,CAAA,GAAG,cAAe,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACvC;AACA,MAAI,IAAA,KAAA,CAAM,SAAS,GAAK,EAAA;AACvB,QAAA,GAAA,CAAI,KAAK,OAAO,CAAA,CAAA;AAChB,QAAA,GAAA,CAAI,KAAK,cAAc,CAAA,CAAA;AACvB,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AAAA,OACnB;AACA,MAAI,IAAA,KAAA,CAAM,SAAS,IAAM,EAAA;AACxB,QAAA,GAAA,CAAI,KAAK,QAAQ,CAAA,CAAA;AACjB,QAAA,GAAA,CAAI,KAAK,cAAc,CAAA,CAAA;AACvB,QAAA,GAAA,CAAI,KAAK,SAAS,CAAA,CAAA;AAAA,OACnB;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAGD,IAAA,MAAM,aAAa,MAAM;AACxB,MAAA,OAAA,CAAQ,QAAQ,EAAC,CAAA;AAGjB,MAAI,IAAA,OAAO,KAAM,CAAA,IAAA,KAAS,QAAU,EAAA;AACnC,QAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,IAAA,CAAK,KAAM,CAAA,GAAG,CAAE,CAAA,MAAA,CAAO,CAAQ,IAAA,KAAA,IAAA,CAAK,IAAK,EAAA,KAAM,EAAE,CAAA,CAAA;AACrE,QAAQ,OAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,GAAA,CAAI,CAAQ,IAAA,KAAA;AACjC,UAAA,MAAM,CAAC,KAAO,EAAA,KAAK,CAAI,GAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AACrC,UAAO,OAAA;AAAA,YACN,KAAO,EAAA,KAAA,GAAQ,KAAM,CAAA,IAAA,EAAS,GAAA,EAAA;AAAA,YAC9B,KAAO,EAAA,KAAA,GAAQ,KAAM,CAAA,IAAA,EAAS,GAAA,EAAA;AAAA,WAC/B,CAAA;AAAA,SACA,CAAA,CAAA;AAAA,OAIO,MAAA,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAG,EAAA;AACnC,QAAA,OAAA,CAAQ,KAAQ,GAAA,CAAC,GAAG,KAAA,CAAM,IAAI,CAAA,CAAA;AAAA,OAC/B;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM;AACL,QAAA,IAAI,MAAM,IAAM,EAAA;AACf,UAAW,UAAA,EAAA,CAAA;AAAA,SACZ;AAAA,OACD;AAAA,MACA,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,KAC/B,CAAA;AAGA,IAAA,MAAM,mBAAmB,MAAM;AAC9B,MAAA,qBAAA,CAAsB,MAAM;AAC3B,QAAA,IAAI,QAAW,GAAA,CAAA,CAAA;AACf,QAAW,UAAA,CAAA,KAAA,CAAM,QAAQ,CAAQ,IAAA,KAAA;;AAChC,UAAA,IAAA,CAAI,gBAAK,KAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAY,EAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,cAAc,aAAgB,CAAA,EAAA;AACjD,YAAA,MAAM,SAAY,GAAA,IAAA,CAAK,KAAM,CAAA,EAAA,CAAG,cAAc,aAAa,CAAA,CAAA;AAC3D,YAAMC,MAAAA,WAAAA,GAAa,SAAU,CAAA,qBAAA,EAAwB,CAAA,KAAA,CAAA;AACrD,YAAA,IAAI,WAAWA,WAAY,EAAA;AAC1B,cAAWA,QAAAA,GAAAA,WAAAA,CAAAA;AAAA,aACZ;AAAA,WACD;AAAA,SACA,CAAA,CAAA;AAGD,QAAW,UAAA,CAAA,KAAA,GAAQ,WAAW,EAAK,GAAA,IAAA,CAAA;AAAA,OACnC,CAAA,CAAA;AAAA,KACF,CAAA;AAGA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAW,UAAA,CAAA,KAAA,GAAQ,OAAO,MAAM,CAAA,CAAA;AAChC,QAAA,IAAI,WAAW,SAAW,EAAA;AACzB,UAAiB,gBAAA,EAAA,CAAA;AAAA,SAClB;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,QAAA,GAAW,IAAI,IAAI,CAAA,CAAA;AAGzB,IAAA,IAAI,cAAiB,GAAA,IAAA,CAAA;AAErB,IAAA,SAAA,CAAU,MAAM;AACf,MAAI,IAAA,KAAA,CAAM,eAAe,SAAW,EAAA;AAEnC,QAAiB,cAAA,GAAA,IAAI,eAAe,MAAM;AACzC,UAAiB,gBAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAGD,QAAA,IAAI,SAAS,KAAO,EAAA;AACnB,UAAe,cAAA,CAAA,OAAA,CAAQ,SAAS,KAAK,CAAA,CAAA;AAAA,SACtC;AAGA,QAAiB,gBAAA,EAAA,CAAA;AAAA,OAClB;AAAA,KACA,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AAErB,MAAA,IAAI,cAAgB,EAAA;AACnB,QAAA,cAAA,CAAe,UAAW,EAAA,CAAA;AAC1B,QAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,OAClB;AAAA,KACA,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACZ,aAAA;AAAA,KACA,CAAA,CAAA;;wBAhLA,EAAAC,kBAAA,CAYM,KAAA,EAAA;AAAA,eAZG,EAAA,UAAA;AAAA,QAAJ,GAAI,EAAA,QAAA;AAAA,QAAY,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,UAAmB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;QAC/EC,kBAUM,CAAA,KAAA,EAAA,EAVD,KAAA,EAAM,iBAAe,EAAA;AAAA,WACzBC,SAAA,CAAA,IAAA,CAAA,EAAAJ,kBAAA;AAAA,YAQWK,QAAA;AAAA,YARuB,IAAA;AAAA,YAAAC,UAAA,CAAA,OAAA,CAAA,KAAhB,EAAA,CAAA,MAAM,KAAK,KAAA;;;uBAAoB,KAAK,EAAA;AAAA,gBAAA;AAAA,kBACrDC,YAKY,SAAA,EAAA;AAAA,oBALA,OAAO,IAAK,CAAA,KAAA;AAAA,oBAAQ,OAAO,IAAK,CAAA,KAAA;AAAA,oBAAQ,KAAA,kBAAQ,IAAA,CAAK,QAAmB,QAAA,GAAA,IAAA,CAAK,KAAK,GAAA,EAAA,CAAA,CAAA;AAAA,oBAAS,GAAKC,EAAAA,IAAAA,CAAAA,GAAM,GAAA,IAAA,CAAK,KAAK,GAAA,EAAA;AAAA,oBAAQ,eAAa,UAAU,CAAA,KAAA;AAAA,oBAAG,MAAM,IAAK,CAAA,IAAA;AAAA;oBAC7J,KAAA,UACV,MAAkE;AAAA,sBAAlEC,UAAA,CAAkE,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,wBAA9C,OAAO,IAAK,CAAA,KAAA;AAAA,wBAAQ,OAAO,IAAK,CAAA,KAAA;AAAA;;qCAErD,MAAoD;AAAA,sBAApDA,UAAoD,CAAA,IAAA,CAAA,MAAvC,EAAA,IAAA,CAAK,KAAK,EAAA;AAAA,wBAAG,OAAO,IAAK,CAAA,KAAA;AAAA;;;;;kBAE5B,KAAA,GAAQ,QAAO,KAAC,CAAA,MAAA,GAAM,kBAAjCT,mBAAsE,KAAA,EAAA;AAAA;oBAA/B,KAAM,EAAA,kBAAA;AAAA;;;;;;;;;;;;;;;;;"}
@@ -2,6 +2,7 @@ import { defineComponent, ref, computed, openBlock, createElementBlock, normaliz
2
2
  import { picProps } from './pic.mjs';
3
3
  import PicViewer from './PicViewer.vue.mjs';
4
4
  import { ToTag } from '../../tag/index.mjs';
5
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
5
6
 
6
7
  const __default__ = defineComponent({
7
8
  name: "ToPic"
@@ -30,7 +31,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
30
31
  arr.push(`color-${props.color}`);
31
32
  }
32
33
  if (props.mode) {
33
- arr.push(`mode-${props.mode}`);
34
+ arr.push(...getModeClasses(props.mode));
34
35
  }
35
36
  if (props.link) {
36
37
  arr.push(`is-link`);
@@ -81,6 +82,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
81
82
  };
82
83
  return (_ctx, _cache) => {
83
84
  return openBlock(), createElementBlock("span", {
85
+ role: _ctx.link ? "button" : null,
84
86
  flex: _ctx.flex ? _ctx.flex : null,
85
87
  class: normalizeClass(["to-pic", setClass.value]),
86
88
  style: normalizeStyle(setStyle.value)
@@ -122,7 +124,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
122
124
  64
123
125
  /* STABLE_FRAGMENT */
124
126
  )) : createCommentVNode("v-if", true)
125
- ], 14, ["flex"]);
127
+ ], 14, ["role", "flex"]);
126
128
  };
127
129
  }
128
130
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Pic.vue2.mjs","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","_createElementBlock","flex","_normalizeClass","_createElementVNode","src","alt","count","_createBlock","_unref","_Fragment","zIndex","previews"],"mappings":";;;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,OAAA;AACP,CAAC,CAAA,CAAA;;;;;AAmBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAC5B,IAAA,IAAI,YAAe,GAAA,EAAA,CAAA;AAEnB,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC9B,MAAA,OAAO,MAAM,OAAQ,CAAA,KAAA,CAAM,QAAQ,CAAK,IAAA,KAAA,CAAM,SAAS,MAAS,GAAA,CAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AACjC,MAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AACnB,MAAA,MAAM,QAAY,GAAA,KAAA,CAAM,QAAsB,CAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AAC/D,MAAA,IAAI,YAAY,CAAG,EAAA;AAClB,QAAe,YAAA,GAAA,QAAA,CAAA;AAAA,OAChB;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAAgB,EAAC,CAAA;AAEvB,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,KAAK,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACnB;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAA8B,EAAC,CAAA;AAErC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,UAAI,GAAA,CAAA,SAAS,CAAI,GAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,SAChC,MAAA,IAAW,KAAM,CAAA,KAAA,KAAU,MAAQ,EAAA;AAClC,UAAA,GAAA,CAAI,SAAS,CAAI,GAAA,MAAA,CAAA;AAAA,SACX,MAAA;AACN,UAAA,GAAA,CAAI,SAAS,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,SACpC;AAAA,OACD;AAEA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAC,CAAG,EAAA;AACjC,UAAI,GAAA,CAAA,MAAA,GAAS,MAAM,MAAS,GAAA,IAAA,CAAA;AAAA,SAC7B,MAAA,IAAW,KAAM,CAAA,MAAA,KAAW,MAAQ,EAAA;AACnC,UAAA,GAAA,CAAI,MAAS,GAAA,MAAA,CAAA;AAAA,SACP,MAAA;AACN,UAAI,GAAA,CAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACjC;AAAA,OACD;AAEA,MAAI,IAAA,KAAA,CAAM,WAAW,MAAQ,EAAA;AAC5B,QAAI,IAAA,OAAO,KAAM,CAAA,MAAA,KAAW,QAAU,EAAA;AACrC,UAAI,GAAA,CAAA,MAAA,GAAS,GAAG,KAAM,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SAChB,MAAA;AACN,UAAI,GAAA,CAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACjC;AAAA,OACD;AAEA,MAAA,IAAI,KAAM,CAAA,QAAA,IAAY,KAAM,CAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAChD,QAAA,GAAA,CAAI,MAAS,GAAA,SAAA,CAAA;AAAA,OACd;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AAC1B,MAAI,IAAA,CAAC,QAAQ,KAAO,EAAA;AACnB,QAAA,OAAA;AAAA,OACD;AACA,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,YAAA,CAAA;AAC/B,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB,CAAA;;wBApGC,EAAAC,kBAAA,CAMO,MAAA,EAAA;AAAA,QANA,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,QAAiB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAAG,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QACjFC,mBAA0E,KAAA,EAAA;AAAA,UAApE,KAAKC,IAAG,CAAA,GAAA;AAAA,UAAE,KAAM,EAAA,gBAAA;AAAA,UAAkB,KAAKC,IAAG,CAAA,GAAA;AAAA,UAAG,OAAO,EAAA,YAAA;AAAA;QAC5CC,KAAAA,gBAAgBA,IAAK,CAAA,KAAA,KAAK,UAAa,MAAOA,CAAAA,IAAAA,CAAK,KAAA,CAAA,KAAA,kBAAjEC,WAAiI,CAAAC,KAAA,CAAA,KAAA,CAAA,EAAA;AAAA;UAAvD,IAAK,EAAA,QAAA;AAAA,UAAS,KAAM,EAAA,cAAA;AAAA;2BAAe,MAAW;AAAA;8BAARF,KAAK,KAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;QACrG,OAAA,CAAO,oBAAvB,EAAAN,kBAAA;AAAA,UAEWS,QAAA;AAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AAAA,UAAA;AAAA,YADQ,UAAU,CAAA,KAAA,iBAA5BF,YAA4J,SAAA,EAAA;AAAA;cAA7H,eAAe,EAAA,IAAA;AAAA,cAAO,WAASG,IAAM,CAAA,MAAA;AAAA,cAAG,iBAAe,UAAU,CAAA,KAAA;AAAA,cAAG,UAAU,EAAA,WAAA;AAAA,cAAc,YAAUC,IAAQ,CAAA,QAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Pic.vue2.mjs","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","_createElementBlock","link","flex","_normalizeClass","_createElementVNode","src","alt","count","_createBlock","_unref","_Fragment","zIndex","previews"],"mappings":";;;;;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,OAAA;AACP,CAAC,CAAA,CAAA;;;;;AAoBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAC5B,IAAA,IAAI,YAAe,GAAA,EAAA,CAAA;AAEnB,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC9B,MAAA,OAAO,MAAM,OAAQ,CAAA,KAAA,CAAM,QAAQ,CAAK,IAAA,KAAA,CAAM,SAAS,MAAS,GAAA,CAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AACjC,MAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AACnB,MAAA,MAAM,QAAY,GAAA,KAAA,CAAM,QAAsB,CAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AAC/D,MAAA,IAAI,YAAY,CAAG,EAAA;AAClB,QAAe,YAAA,GAAA,QAAA,CAAA;AAAA,OAChB;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAAgB,EAAC,CAAA;AAEvB,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAChC;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,IAAK,CAAA,GAAG,cAAe,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACvC;AAEA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,KAAK,CAAS,OAAA,CAAA,CAAA,CAAA;AAAA,OACnB;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAA8B,EAAC,CAAA;AAErC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,UAAI,GAAA,CAAA,SAAS,CAAI,GAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,SAChC,MAAA,IAAW,KAAM,CAAA,KAAA,KAAU,MAAQ,EAAA;AAClC,UAAA,GAAA,CAAI,SAAS,CAAI,GAAA,MAAA,CAAA;AAAA,SACX,MAAA;AACN,UAAA,GAAA,CAAI,SAAS,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,SACpC;AAAA,OACD;AAEA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,MAAM,CAAC,CAAG,EAAA;AACjC,UAAI,GAAA,CAAA,MAAA,GAAS,MAAM,MAAS,GAAA,IAAA,CAAA;AAAA,SAC7B,MAAA,IAAW,KAAM,CAAA,MAAA,KAAW,MAAQ,EAAA;AACnC,UAAA,GAAA,CAAI,MAAS,GAAA,MAAA,CAAA;AAAA,SACP,MAAA;AACN,UAAI,GAAA,CAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACjC;AAAA,OACD;AAEA,MAAI,IAAA,KAAA,CAAM,WAAW,MAAQ,EAAA;AAC5B,QAAI,IAAA,OAAO,KAAM,CAAA,MAAA,KAAW,QAAU,EAAA;AACrC,UAAI,GAAA,CAAA,MAAA,GAAS,GAAG,KAAM,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SAChB,MAAA;AACN,UAAI,GAAA,CAAA,MAAA,GAAS,MAAO,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,SACjC;AAAA,OACD;AAEA,MAAA,IAAI,KAAM,CAAA,QAAA,IAAY,KAAM,CAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAChD,QAAA,GAAA,CAAI,MAAS,GAAA,SAAA,CAAA;AAAA,OACd;AAEA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AAC1B,MAAI,IAAA,CAAC,QAAQ,KAAO,EAAA;AACnB,QAAA,OAAA;AAAA,OACD;AACA,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,YAAA,CAAA;AAC/B,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB,CAAA;;wBArGC,EAAAC,kBAAA,CAMO,MAAA,EAAA;AAAA,QANA,IAAA,EAAMC,IAAI,CAAA,IAAA,GAAA,QAAA,GAAA,IAAA;AAAA,QAAqB,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,QAAiB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAAG,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QAChHC,mBAA0E,KAAA,EAAA;AAAA,UAApE,KAAKC,IAAG,CAAA,GAAA;AAAA,UAAE,KAAM,EAAA,gBAAA;AAAA,UAAkB,KAAKC,IAAG,CAAA,GAAA;AAAA,UAAG,OAAO,EAAA,YAAA;AAAA;QAC5CC,KAAAA,gBAAgBA,IAAK,CAAA,KAAA,KAAK,UAAa,MAAOA,CAAAA,IAAAA,CAAK,KAAA,CAAA,KAAA,kBAAjEC,WAAiI,CAAAC,KAAA,CAAA,KAAA,CAAA,EAAA;AAAA;UAAvD,IAAK,EAAA,QAAA;AAAA,UAAS,KAAM,EAAA,cAAA;AAAA;2BAAe,MAAW;AAAA;8BAARF,KAAK,KAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;QACrG,OAAA,CAAO,oBAAvB,EAAAP,kBAAA;AAAA,UAEWU,QAAA;AAAA,UAAA,EAAA,KAAA,CAAA,EAAA;AAAA,UAAA;AAAA,YADQ,UAAU,CAAA,KAAA,iBAA5BF,YAA4J,SAAA,EAAA;AAAA;cAA7H,eAAe,EAAA,IAAA;AAAA,cAAO,WAASG,IAAM,CAAA,MAAA;AAAA,cAAG,iBAAe,UAAU,CAAA,KAAA;AAAA,cAAG,UAAU,EAAA,WAAA;AAAA,cAAc,YAAUC,IAAQ,CAAA,QAAA;AAAA;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.vue.mjs","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.mjs","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":";;;;SACW,YAAO,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;AAAQA,EAAAA,OAAAA,SAAAA,EAAOA,EAAAA,kBAAAA,CAAI,MAAA,EAAA;AAAA,IAAS,GAAK,EAAA,OAAA;AAAA,IAAkC,IAAK,EAAA,IAAA,CAAEC,IAAAA,GAAAA,IAAAA,CAAAA,IAAAA,GAAAA,IAAAA;AAAAA,IAAAA,OAAAA,cAAAA,CAAAA,CAAAA,aAAAA,EAAAA,IAAAA,CAAAA,QAAAA,CAAAA,CAAAA;AAAAA,WAC1EC,cAAI,CAAA,IAAA,CAAA,QAAA,CAAA;AAAA,GAAA,EAAA;AAAA,IACR,IAAA,CAAA,IAAA,KAAA,QAAA,IAAAC,SAAA,EAAA,EAAAC,kBAAA;AAAA,MAAKC,QAAA;AAAA,MAAA,EAAA,KAAA,CAAA,EAAA;AAAA,MAAA;AAAA,SAAAF,SAAA,EAAsB,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,UAAA,KAAA,EAAA,KAAA;AAAA,UACrC,OAAA,EAAA,aAAA;AAAA,SAAA,EAAA;AAAA,UAAuBE,mBAAA,QAAA,EAAA;AAAA,YAAE,EAAGC,EAAAA,IAAAA;AAAAA,YAAQ,EAAI,EAAA,IAAA;AAAA,YAAS,GAAA,IAAA,CAAA,MAAA;AAAA,YAAqB,IAAK,EAAA,MAAA;AAAA,YAAA,gBAAA,IAAA,CAAA,KAAA;AAAA,YAC3E,KAAA,EAAA,gBAAA;AAAA,aAAQ,IAAG,EAAA,CAAA,EAAI,CAAA,GAAA,EAAA,cAAA,CAAA,CAAA;AAAA,UAAQD,mBAAA,QAAA,EAAA;AAAA,YAAE,EAAGC,EAAAA,IAAAA;AAAAA,YAAQ,EAAI,EAAA,IAAA;AAAA,YAAS,GAAA,IAAA,CAAA,MAAA;AAAA,YAAwB,IAAA,EAAA,MAAA;AAAA,YAAiC,gBAAmBC,IAAAA,CAAAA,QAAAA;AAAAA,YAAmB,SAAA,EAAA,qBAAA;AAAA,YAAmC,qBAAM,IAAiB,CAAA,gBAAA;AAAA,YAAA,oBAAA,IAAA,CAAA,eAAA;AAAA;WAE3M,EAKM,MAAA,CAAA,EAAA,CAAA,KALD,cAAM,EAAA,mBAAA,EAAkB,kBAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,0BACdC,CAAAA,KAAAA,EAAU,EAAA,KAAA,EAAA,oBAAA,EAAA;AAAA,UAAAC,UAAA,CAAYC,IAAO,CAAA,MAAA,EAAA,SAAA,EAAA;AAAA,YAGpC,OAAA,IAAA,CAAA,UAAA;AAAA,YAFN,SAAA,IAAA,CAAA,OAAA;AAAA,aACWA,MAAAA;AAAAA,YAAAA,kBAAAA;AAAAA,cAAX,KAAA;AAAA,cAAwE,EAAA,OAAA,wBAAA,EAAA;AAAA,cAAAC,eAAA,CAAA,KAAA,UAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAA9C,IAAA,CAAA,OAAA,IAAAT,SAAA,EAAA,EAAAC,kBAAA;AAAA,cAA0B,KAAA;AAAA,cAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;AAAA;;;;;;;;;MAKtD,EAAA;AAAA;AAAA,KAIO,KAHND,WAAA,EAAAC,kBAAA;AAAA,MAEOC,QAAA;AAAA,MAAA,EAAA,KAAA,CAAA,EAAA;AAAA,MAAA;AAAA,QAAAC,kBAFK,CAAA,MAAA,EAAEO,EAAW,KAAA,EAAA,kBAAA,EAAA;AAAA,UAAAP,kBAAA;AAAA,YAAQ,MAAA;AAAA,YAAiB;AAAA,cAAA,KAAA,EAAAQ,cAAA,CAAA,IAAA,CAAA,WAAA,CAAA;AAAA,cACrCC,KAAAA,EAAAA,iBAAAA;AAAAA,aAAAA;AAAAA;cAAgC,IAAA,CAAA,YAAA,KAAA,OAAA,IAAAZ,SAAA,EAAA,EAAAC,kBAAA;AAAA,gBAAkB,MAAA;AAAA,gBAAA;AAAA,kBAAA,GAAA,EAAA,CAAA;AAAA;;;;;;aAGpDW;AAAAA,YAAAA,CAAAA;AAAAA;AAAAA,WAAY;AAAA,SAAA,CAAA;AAAA,QAA0C,KAAA,YAAA,KAAA,OAAA,IAAA,KAAA,IAAA,KAAA,SAAA,IAAAZ,WAAA,EAAAC,kBAAA;AAAA,UAAkB,MAAA;AAAA,UAAA;AAAA,YAAE,GAAK,EAAA,CAAA;AAAA,YAAA,KAAA,EAAA,kBAAA;AAAA;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, computed, onMounted, nextTick, onBeforeUnmount, watch } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  var _sfc_main = defineComponent({
4
5
  name: "ToProgress",
@@ -129,7 +130,7 @@ var _sfc_main = defineComponent({
129
130
  arr.push(`type-${props.type}`);
130
131
  }
131
132
  if (props.mode) {
132
- arr.push(`mode-${props.mode}`);
133
+ arr.push(...getModeClasses(props.mode));
133
134
  }
134
135
  return arr;
135
136
  });