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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  2. package/es/hooks/useSetClass.d.ts +4 -0
  3. package/es/index.d.mjs +1 -1
  4. package/es/index.mjs +1 -1
  5. package/es/packages/components/box/src/box.vue2.mjs +2 -1
  6. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  7. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  8. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  9. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs +3 -1
  10. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  11. package/es/packages/components/button/src/button.vue2.mjs +2 -4
  12. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  13. package/es/packages/components/calendar/src/calendar.vue2.mjs +206 -232
  14. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  15. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -1
  16. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  17. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +2 -1
  18. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  19. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +14 -11
  20. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  21. package/es/packages/components/collapse/src/collapse.vue2.mjs +2 -1
  22. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  23. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +3 -4
  24. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  25. package/es/packages/components/daterange/src/date-range.vue2.mjs +30 -10
  26. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  27. package/es/packages/components/dialog/src/Dialog.vue2.mjs +2 -1
  28. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  29. package/es/packages/components/divider/src/divider.vue2.mjs +2 -1
  30. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  31. package/es/packages/components/export/src/export.vue2.mjs +2 -1
  32. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  33. package/es/packages/components/fix/src/Fix.vue2.mjs +2 -1
  34. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  35. package/es/packages/components/float/src/Float.vue2.mjs +2 -1
  36. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  37. package/es/packages/components/form/src/form.vue2.mjs +2 -1
  38. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  39. package/es/packages/components/gap/src/gap.vue2.mjs +2 -1
  40. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  41. package/es/packages/components/grid/src/grid.vue2.mjs +2 -1
  42. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  43. package/es/packages/components/guider/src/guider.vue2.mjs +2 -1
  44. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  45. package/es/packages/components/header/src/header.vue2.mjs +2 -1
  46. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  47. package/es/packages/components/icon/src/icon.vue2.mjs +2 -1
  48. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  49. package/es/packages/components/import/src/import.vue2.mjs +27 -29
  50. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  51. package/es/packages/components/input/src/input.vue2.mjs +3 -4
  52. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  53. package/es/packages/components/msg/src/msg.vue2.mjs +2 -1
  54. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  55. package/es/packages/components/padding/src/padding.vue2.mjs +2 -1
  56. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  57. package/es/packages/components/page/src/page.vue2.mjs +2 -1
  58. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  59. package/es/packages/components/param/src/Param.vue2.mjs +2 -1
  60. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  61. package/es/packages/components/pic/src/Pic.vue2.mjs +2 -1
  62. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  63. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  64. package/es/packages/components/progress/src/Progress.vue2.mjs +2 -1
  65. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  66. package/es/packages/components/range/src/range.vue2.mjs +2 -1
  67. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  68. package/es/packages/components/rate/src/rate.vue2.mjs +3 -2
  69. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  70. package/es/packages/components/scroll/src/Scroll.vue2.mjs +2 -1
  71. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  72. package/es/packages/components/segment/src/segment.vue.mjs +2 -1
  73. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  74. package/es/packages/components/select/src/hooks/use-select-class-style.mjs +2 -3
  75. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  76. package/es/packages/components/select/src/select.vue2.mjs +2 -3
  77. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  78. package/es/packages/components/slide/src/slide.vue2.mjs +2 -1
  79. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  80. package/es/packages/components/step/src/step.vue2.mjs +2 -1
  81. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  82. package/es/packages/components/switch/src/switch.vue2.mjs +2 -1
  83. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  84. package/es/packages/components/tab/src/tab.vue2.mjs +2 -1
  85. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  86. package/es/packages/components/table/src/table.vue2.mjs +2 -1
  87. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  88. package/es/packages/components/tag/src/tag.vue2.mjs +2 -1
  89. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  90. package/es/packages/components/text/src/text.vue2.mjs +2 -1
  91. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  92. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  93. package/es/packages/components/timeline/src/timeline.vue2.mjs +2 -1
  94. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  95. package/es/packages/components/tip/src/tip.vue2.mjs +2 -1
  96. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  97. package/es/packages/components/tooltip/src/tooltip.vue2.mjs +2 -1
  98. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  99. package/es/packages/components/transfer/src/transfer.vue2.mjs +2 -1
  100. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  101. package/es/packages/components/tree/src/tree.vue2.mjs +2 -1
  102. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  103. package/es/packages/components/upload/src/upload.vue2.mjs +2 -1
  104. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  105. package/es/packages/directives/dis/src/dis.mjs +5 -0
  106. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  107. package/es/packages/hooks/index.d.mjs +1 -1
  108. package/es/packages/hooks/index.mjs +1 -1
  109. package/es/packages/hooks/useSetClass.mjs +5 -2
  110. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  111. package/es/packages/locale/lang/en-US.mjs +1 -0
  112. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  113. package/es/packages/locale/lang/zh-CN.mjs +1 -0
  114. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  115. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  116. package/lib/hooks/useSetClass.d.ts +4 -0
  117. package/lib/index.d.js +1 -0
  118. package/lib/index.d.js.map +1 -1
  119. package/lib/index.js +1 -0
  120. package/lib/index.js.map +1 -1
  121. package/lib/packages/components/box/src/box.vue2.js +2 -1
  122. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  123. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  124. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  125. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js +3 -1
  126. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  127. package/lib/packages/components/button/src/button.vue2.js +2 -4
  128. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  129. package/lib/packages/components/calendar/src/calendar.vue2.js +206 -232
  130. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  131. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -1
  132. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  133. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +2 -1
  134. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  135. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +14 -11
  136. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  137. package/lib/packages/components/collapse/src/collapse.vue2.js +2 -1
  138. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  139. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +3 -4
  140. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  141. package/lib/packages/components/daterange/src/date-range.vue2.js +29 -9
  142. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  143. package/lib/packages/components/dialog/src/Dialog.vue2.js +2 -1
  144. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  145. package/lib/packages/components/divider/src/divider.vue2.js +2 -1
  146. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  147. package/lib/packages/components/export/src/export.vue2.js +2 -1
  148. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  149. package/lib/packages/components/fix/src/Fix.vue2.js +2 -1
  150. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  151. package/lib/packages/components/float/src/Float.vue2.js +2 -1
  152. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  153. package/lib/packages/components/form/src/form.vue2.js +2 -1
  154. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  155. package/lib/packages/components/gap/src/gap.vue2.js +2 -1
  156. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  157. package/lib/packages/components/grid/src/grid.vue2.js +2 -1
  158. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  159. package/lib/packages/components/guider/src/guider.vue2.js +2 -1
  160. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  161. package/lib/packages/components/header/src/header.vue2.js +2 -1
  162. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  163. package/lib/packages/components/icon/src/icon.vue2.js +2 -1
  164. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  165. package/lib/packages/components/import/src/import.vue2.js +26 -28
  166. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  167. package/lib/packages/components/input/src/input.vue2.js +3 -4
  168. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  169. package/lib/packages/components/msg/src/msg.vue2.js +2 -1
  170. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  171. package/lib/packages/components/padding/src/padding.vue2.js +2 -1
  172. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  173. package/lib/packages/components/page/src/page.vue2.js +2 -1
  174. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  175. package/lib/packages/components/param/src/Param.vue2.js +2 -1
  176. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  177. package/lib/packages/components/pic/src/Pic.vue2.js +2 -1
  178. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  179. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  180. package/lib/packages/components/progress/src/Progress.vue2.js +2 -1
  181. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  182. package/lib/packages/components/range/src/range.vue2.js +2 -1
  183. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  184. package/lib/packages/components/rate/src/rate.vue2.js +2 -1
  185. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  186. package/lib/packages/components/scroll/src/Scroll.vue2.js +2 -1
  187. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  188. package/lib/packages/components/segment/src/segment.vue.js +2 -1
  189. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  190. package/lib/packages/components/select/src/hooks/use-select-class-style.js +2 -3
  191. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  192. package/lib/packages/components/select/src/select.vue2.js +2 -3
  193. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  194. package/lib/packages/components/slide/src/slide.vue2.js +2 -1
  195. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  196. package/lib/packages/components/step/src/step.vue2.js +2 -1
  197. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  198. package/lib/packages/components/switch/src/switch.vue2.js +2 -1
  199. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  200. package/lib/packages/components/tab/src/tab.vue2.js +2 -1
  201. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  202. package/lib/packages/components/table/src/table.vue2.js +2 -1
  203. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  204. package/lib/packages/components/tag/src/tag.vue2.js +2 -1
  205. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  206. package/lib/packages/components/text/src/text.vue2.js +2 -1
  207. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  208. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  209. package/lib/packages/components/timeline/src/timeline.vue2.js +2 -1
  210. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  211. package/lib/packages/components/tip/src/tip.vue2.js +2 -1
  212. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  213. package/lib/packages/components/tooltip/src/tooltip.vue2.js +2 -1
  214. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  215. package/lib/packages/components/transfer/src/transfer.vue2.js +2 -1
  216. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  217. package/lib/packages/components/tree/src/tree.vue2.js +2 -1
  218. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  219. package/lib/packages/components/upload/src/upload.vue2.js +2 -1
  220. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  221. package/lib/packages/directives/dis/src/dis.js +5 -0
  222. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  223. package/lib/packages/hooks/index.d.js +1 -0
  224. package/lib/packages/hooks/index.d.js.map +1 -1
  225. package/lib/packages/hooks/index.js +1 -0
  226. package/lib/packages/hooks/index.js.map +1 -1
  227. package/lib/packages/hooks/useSetClass.js +5 -1
  228. package/lib/packages/hooks/useSetClass.js.map +1 -1
  229. package/lib/packages/locale/lang/en-US.js +1 -0
  230. package/lib/packages/locale/lang/en-US.js.map +1 -1
  231. package/lib/packages/locale/lang/zh-CN.js +1 -0
  232. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  233. package/package.json +1 -1
  234. package/theme/components/index.css +249 -211
  235. package/theme/img/loading.png +0 -0
  236. package/theme/index.css +249 -211
  237. package/theme/skin/default.css +249 -211
@@ -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":"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"}
@@ -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`);
@@ -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 :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 { 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","link","flex","_normalizeClass","_createElementVNode","src","alt","count","_createBlock","_unref","_Fragment","zIndex","previews"],"mappings":"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"}
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":"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"}
@@ -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":"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"}
@@ -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
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.vue2.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":[],"mappings":"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"}
1
+ {"version":3,"file":"Progress.vue2.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":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, ref, onMounted, watch, nextTick, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createCommentVNode, createBlock, unref } from 'vue';
2
2
  import { ToInput } from '../../input/index.mjs';
3
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
3
4
 
4
5
  const __default__ = defineComponent({
5
6
  name: "ToRange"
@@ -109,7 +110,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
109
110
  arr.push(`is-disabled`);
110
111
  }
111
112
  if (props.mode) {
112
- arr.push(`mode-${props.mode}`);
113
+ arr.push(...getModeClasses(props.mode));
113
114
  }
114
115
  return arr;
115
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"range.vue2.mjs","sources":["../../../../../../packages/components/range/src/range.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRange'\n});\n</script>\n<template>\n\t<span class=\"to-range\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\" @touchmove=\"moveHandle($event)\" @touchend=\"endHandle($event)\">\n\t\t<span ref=\"barRef\" class=\"to-range-bar\">\n\t\t\t<span ref=\"progressRef\" class=\"to-range-progress\" :style=\"{ width: endProgress - startProgress + '%', left: startProgress + '%' }\">\n\t\t\t\t<span v-if=\"start\" ref=\"startRef\" class=\"to-range-handle is-start\" @mousedown=\"onStartButtonDown\"></span>\n\t\t\t\t<span ref=\"endRef\" class=\"to-range-handle\" @mousedown=\"onButtonDown\" @touchstart=\"endStartHandle($event)\"></span>\n\t\t\t</span>\n\t\t</span>\n\t\t<to-input v-if=\"inputable\" v-model=\"endProgress\" class=\"to-range-input\" :width=\"inputWidth\" :dot=\"fixed\"></to-input>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { ToInput } from '@touchvue/components'\n\n\nexport interface RangeProps {\n\tflex?: boolean\n\tmode?: string\n\tmodelValue?: string | number\n\tdisabled?: boolean\n\tinputable?: boolean\n\tmax?: string | number\n\tmin?: string | number\n\truler?: boolean\n\tstart?: boolean\n\tstep?: string | number\n\twidth?: string | number\n\tinputWidth?: string | number\n\ttoFixed?: string | number\n}\nconst props = withDefaults(defineProps<RangeProps>(), {\n\tmode: 'default',\n\tmodelValue: 0,\n\tdisabled: false,\n\tinputable: false,\n\tmax: 100,\n\tmin: 0,\n\tflex: false,\n\truler: false,\n\tstart: false,\n\tstep: 1,\n\twidth: '',\n\tinputWidth: 6,\n\ttoFixed: 0\n})\n\nconst endProgress = ref(0)\nconst startProgress = ref(0)\nconst progressRef = ref(null)\nconst endRef = ref(null)\nconst startRef = ref(null)\nconst barRef = ref(null)\nconst endDragX = ref(0)\nconst startDragX = ref(0)\nconst endProgressWidth = ref(0)\nconst startLeft = ref(0)\nconst fixed = ref(0)\nconst valueWidth = ref(0)\nconst stepProgress = ref(0)\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nonMounted(() => {\n\tvalueWidth.value = Number(props.max) - Number(props.min)\n\tif (props.step) {\n\t\tstepProgress.value = Number(((1 / (valueWidth.value / Number(props.step))) * 100).toFixed(2))\n\t}\n\tfixed.value = Number(props.toFixed) ? Number(props.toFixed) : getDecimalPlaces(props.min)\n})\nwatch(\n\t() => endProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (startProgress.value / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => startProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (endProgress.value / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\tif (props.start && typeof val === 'string') {\n\t\t\tlet arr = val.split(',')\n\t\t\tendProgress.value = ((Number(arr[1]) - Number(props.min)) / valueWidth) * 100\n\t\t\tstartProgress.value = ((Number(arr[0]) - Number(props.min)) / valueWidth) * 100\n\t\t} else {\n\t\t\tlet width = ((Number(val) - Number(props.min)) / valueWidth) * 100\n\t\t\tendProgress.value = width\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nfunction getDecimalPlaces(num) {\n\t// 处理整数(无小数点)的情况\n\tif (Number.isInteger(num)) return 0\n\n\t// 将数字转为字符串并按小数点分割\n\tconst parts = num.toString().split('.')\n\n\t// 小数点后部分的长度即为小数位数(若没有小数点,返回0)\n\treturn parts.length > 1 ? parts[1].length : 0\n}\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.inputable) {\n\t\tarr.push(`is-inputable`)\n\t}\n\tif (props.disabled) {\n\t\tarr.push(`is-disabled`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.width) {\n\t\tobj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`\n\t}\n\treturn obj\n})\n\nfunction onButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonEndDragStart(event)\n\twindow.addEventListener('mousemove', onDragging)\n\twindow.addEventListener('touchmove', onDragging)\n\twindow.addEventListener('mouseup', onDragEnd)\n\twindow.addEventListener('touchend', onDragEnd)\n\twindow.addEventListener('contextmenu', onDragEnd)\n}\nfunction onStartButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonStartDragStart(event)\n\twindow.addEventListener('mousemove', onStartDragging)\n\twindow.addEventListener('touchmove', onStartDragging)\n\twindow.addEventListener('mouseup', onStartDragEnd)\n\twindow.addEventListener('touchend', onStartDragEnd)\n\twindow.addEventListener('contextmenu', onStartDragEnd)\n}\nfunction onStartDragStart(event: MouseEvent) {\n\tstartDragX.value = event.clientX\n\tstartLeft.value = Number(progressRef.value.style.left.split('%')[0])\n}\nfunction onEndDragStart(event: MouseEvent) {\n\tendDragX.value = event.clientX\n\tendProgressWidth.value = progressRef.value.offsetWidth\n}\nfunction onStartDragging(e: MouseEvent) {\n\tlet width = e.clientX - startDragX.value\n\tlet barWidth = barRef.value.offsetWidth\n\tif (width > 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per < endProgress.value) {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t} else if (width <= 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per <= 0) {\n\t\t\tstartProgress.value = 0\n\t\t} else {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t}\n}\nfunction onDragging(e: MouseEvent) {\n\tlet width = e.clientX - endDragX.value //变动值\n\tlet barWidth = barRef.value.offsetWidth //滚动区域总宽度\n\tlet startWidth = (startProgress.value / 100) * barWidth //开始按钮的位置\n\tif (props.start) {\n\t\tlet per = (width / barWidth) * 100 + ((endProgressWidth.value + startWidth) * 100) / barWidth\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth - startWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tif (Math.abs(width) > barWidth - startWidth) {\n\t\t\t\tendProgress.value = startProgress.value\n\t\t\t} else {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tlet per = (endProgressWidth.value / barWidth + width / barWidth) * 100\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tlet per = (width / barWidth) * 100 + (endProgressWidth.value / barWidth) * 100\n\t\t\tif (per >= 0) {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t} else if (per < 0) {\n\t\t\t\tendProgress.value = 0\n\t\t\t}\n\t\t}\n\t}\n}\nfunction onDragEnd() {\n\twindow.removeEventListener('mousemove', onDragging)\n\twindow.removeEventListener('touchmove', onDragging)\n\twindow.removeEventListener('mouseup', onDragEnd)\n\twindow.removeEventListener('touchend', onDragEnd)\n\twindow.removeEventListener('contextmenu', onDragEnd)\n}\nfunction onStartDragEnd() {\n\twindow.removeEventListener('mousemove', onStartDragging)\n\twindow.removeEventListener('touchmove', onStartDragging)\n\twindow.removeEventListener('mouseup', onStartDragEnd)\n\twindow.removeEventListener('touchend', onStartDragEnd)\n\twindow.removeEventListener('contextmenu', onStartDragEnd)\n}\nfunction endStartHandle(event) {\n\tconsole.log('endStartHandle', event)\n}\nfunction moveHandle(event) {\n\tconsole.log('moveHandle', event)\n}\nfunction endHandle(event) {\n\tconsole.log('moveHandle', event)\n}\n</script>\n"],"names":["DO_defineComponent","valueWidth","_createElementBlock","_normalizeClass","flex","_createElementVNode","_normalizeStyle","start","inputable","_createBlock","_unref","inputWidth"],"mappings":"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"}
1
+ {"version":3,"file":"range.vue2.mjs","sources":["../../../../../../packages/components/range/src/range.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRange'\n});\n</script>\n<template>\n\t<span class=\"to-range\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\" @touchmove=\"moveHandle($event)\" @touchend=\"endHandle($event)\">\n\t\t<span ref=\"barRef\" class=\"to-range-bar\">\n\t\t\t<span ref=\"progressRef\" class=\"to-range-progress\" :style=\"{ width: endProgress - startProgress + '%', left: startProgress + '%' }\">\n\t\t\t\t<span v-if=\"start\" ref=\"startRef\" class=\"to-range-handle is-start\" @mousedown=\"onStartButtonDown\"></span>\n\t\t\t\t<span ref=\"endRef\" class=\"to-range-handle\" @mousedown=\"onButtonDown\" @touchstart=\"endStartHandle($event)\"></span>\n\t\t\t</span>\n\t\t</span>\n\t\t<to-input v-if=\"inputable\" v-model=\"endProgress\" class=\"to-range-input\" :width=\"inputWidth\" :dot=\"fixed\"></to-input>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { ToInput } from '@touchvue/components'\n\n\nexport interface RangeProps {\n\tflex?: boolean\n\tmode?: string\n\tmodelValue?: string | number\n\tdisabled?: boolean\n\tinputable?: boolean\n\tmax?: string | number\n\tmin?: string | number\n\truler?: boolean\n\tstart?: boolean\n\tstep?: string | number\n\twidth?: string | number\n\tinputWidth?: string | number\n\ttoFixed?: string | number\n}\nconst props = withDefaults(defineProps<RangeProps>(), {\n\tmode: 'default',\n\tmodelValue: 0,\n\tdisabled: false,\n\tinputable: false,\n\tmax: 100,\n\tmin: 0,\n\tflex: false,\n\truler: false,\n\tstart: false,\n\tstep: 1,\n\twidth: '',\n\tinputWidth: 6,\n\ttoFixed: 0\n})\n\nconst endProgress = ref(0)\nconst startProgress = ref(0)\nconst progressRef = ref(null)\nconst endRef = ref(null)\nconst startRef = ref(null)\nconst barRef = ref(null)\nconst endDragX = ref(0)\nconst startDragX = ref(0)\nconst endProgressWidth = ref(0)\nconst startLeft = ref(0)\nconst fixed = ref(0)\nconst valueWidth = ref(0)\nconst stepProgress = ref(0)\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nonMounted(() => {\n\tvalueWidth.value = Number(props.max) - Number(props.min)\n\tif (props.step) {\n\t\tstepProgress.value = Number(((1 / (valueWidth.value / Number(props.step))) * 100).toFixed(2))\n\t}\n\tfixed.value = Number(props.toFixed) ? Number(props.toFixed) : getDecimalPlaces(props.min)\n})\nwatch(\n\t() => endProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (startProgress.value / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => startProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (endProgress.value / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\tif (props.start && typeof val === 'string') {\n\t\t\tlet arr = val.split(',')\n\t\t\tendProgress.value = ((Number(arr[1]) - Number(props.min)) / valueWidth) * 100\n\t\t\tstartProgress.value = ((Number(arr[0]) - Number(props.min)) / valueWidth) * 100\n\t\t} else {\n\t\t\tlet width = ((Number(val) - Number(props.min)) / valueWidth) * 100\n\t\t\tendProgress.value = width\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nfunction getDecimalPlaces(num) {\n\t// 处理整数(无小数点)的情况\n\tif (Number.isInteger(num)) return 0\n\n\t// 将数字转为字符串并按小数点分割\n\tconst parts = num.toString().split('.')\n\n\t// 小数点后部分的长度即为小数位数(若没有小数点,返回0)\n\treturn parts.length > 1 ? parts[1].length : 0\n}\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.inputable) {\n\t\tarr.push(`is-inputable`)\n\t}\n\tif (props.disabled) {\n\t\tarr.push(`is-disabled`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.width) {\n\t\tobj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`\n\t}\n\treturn obj\n})\n\nfunction onButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonEndDragStart(event)\n\twindow.addEventListener('mousemove', onDragging)\n\twindow.addEventListener('touchmove', onDragging)\n\twindow.addEventListener('mouseup', onDragEnd)\n\twindow.addEventListener('touchend', onDragEnd)\n\twindow.addEventListener('contextmenu', onDragEnd)\n}\nfunction onStartButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonStartDragStart(event)\n\twindow.addEventListener('mousemove', onStartDragging)\n\twindow.addEventListener('touchmove', onStartDragging)\n\twindow.addEventListener('mouseup', onStartDragEnd)\n\twindow.addEventListener('touchend', onStartDragEnd)\n\twindow.addEventListener('contextmenu', onStartDragEnd)\n}\nfunction onStartDragStart(event: MouseEvent) {\n\tstartDragX.value = event.clientX\n\tstartLeft.value = Number(progressRef.value.style.left.split('%')[0])\n}\nfunction onEndDragStart(event: MouseEvent) {\n\tendDragX.value = event.clientX\n\tendProgressWidth.value = progressRef.value.offsetWidth\n}\nfunction onStartDragging(e: MouseEvent) {\n\tlet width = e.clientX - startDragX.value\n\tlet barWidth = barRef.value.offsetWidth\n\tif (width > 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per < endProgress.value) {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t} else if (width <= 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per <= 0) {\n\t\t\tstartProgress.value = 0\n\t\t} else {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t}\n}\nfunction onDragging(e: MouseEvent) {\n\tlet width = e.clientX - endDragX.value //变动值\n\tlet barWidth = barRef.value.offsetWidth //滚动区域总宽度\n\tlet startWidth = (startProgress.value / 100) * barWidth //开始按钮的位置\n\tif (props.start) {\n\t\tlet per = (width / barWidth) * 100 + ((endProgressWidth.value + startWidth) * 100) / barWidth\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth - startWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tif (Math.abs(width) > barWidth - startWidth) {\n\t\t\t\tendProgress.value = startProgress.value\n\t\t\t} else {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tlet per = (endProgressWidth.value / barWidth + width / barWidth) * 100\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tlet per = (width / barWidth) * 100 + (endProgressWidth.value / barWidth) * 100\n\t\t\tif (per >= 0) {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t} else if (per < 0) {\n\t\t\t\tendProgress.value = 0\n\t\t\t}\n\t\t}\n\t}\n}\nfunction onDragEnd() {\n\twindow.removeEventListener('mousemove', onDragging)\n\twindow.removeEventListener('touchmove', onDragging)\n\twindow.removeEventListener('mouseup', onDragEnd)\n\twindow.removeEventListener('touchend', onDragEnd)\n\twindow.removeEventListener('contextmenu', onDragEnd)\n}\nfunction onStartDragEnd() {\n\twindow.removeEventListener('mousemove', onStartDragging)\n\twindow.removeEventListener('touchmove', onStartDragging)\n\twindow.removeEventListener('mouseup', onStartDragEnd)\n\twindow.removeEventListener('touchend', onStartDragEnd)\n\twindow.removeEventListener('contextmenu', onStartDragEnd)\n}\nfunction endStartHandle(event) {\n\tconsole.log('endStartHandle', event)\n}\nfunction moveHandle(event) {\n\tconsole.log('moveHandle', event)\n}\nfunction endHandle(event) {\n\tconsole.log('moveHandle', event)\n}\n</script>\n"],"names":["DO_defineComponent","valueWidth","_createElementBlock","_normalizeClass","flex","_createElementVNode","_normalizeStyle","start","inputable","_createBlock","_unref","inputWidth"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, renderList, createVNode, unref, toDisplayString, createCommentVNode } from 'vue';
1
+ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, Fragment, renderList, createVNode, toDisplayString, createCommentVNode } from 'vue';
2
2
  import { ToIcon } from '../../icon/index.mjs';
3
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
3
4
 
4
5
  const __default__ = defineComponent({
5
6
  name: "ToRate"
@@ -160,7 +161,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
160
161
  {
161
162
  class: normalizeClass(["to-rate", [
162
163
  `color-${__props.color}`,
163
- `mode-${__props.mode}`,
164
+ ...unref(getModeClasses)(__props.mode),
164
165
  {
165
166
  "is-half": isHalf.value,
166
167
  "is-disabled": __props.disabled