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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  2. package/es/components/calendar/src/calendar.d.ts +4 -0
  3. package/es/components/calendar/src/calendar.vue.d.ts +9 -0
  4. package/es/components/checkboxes/src/Checkboxes.vue.d.ts +2 -0
  5. package/es/components/ellipsis/index.d.ts +15 -0
  6. package/es/components/ellipsis/src/Ellipsis.vue.d.ts +9 -0
  7. package/es/components/grid/src/grid-item.vue.d.ts +2 -0
  8. package/es/components/timeline/src/timeline.d.ts +1 -1
  9. package/es/components/timeline/src/timeline.vue.d.ts +1 -1
  10. package/es/hooks/useSetClass.d.ts +4 -0
  11. package/es/index.d.mjs +1 -1
  12. package/es/index.mjs +1 -1
  13. package/es/packages/components/box/src/box.vue2.mjs +41 -2
  14. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  15. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs +1 -1
  16. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  17. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs +3 -1
  18. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  19. package/es/packages/components/button/src/button.mjs +1 -1
  20. package/es/packages/components/button/src/button.mjs.map +1 -1
  21. package/es/packages/components/button/src/button.vue2.mjs +62 -24
  22. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  23. package/es/packages/components/calendar/src/calendar.mjs +4 -0
  24. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  25. package/es/packages/components/calendar/src/calendar.vue2.mjs +210 -232
  26. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  27. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -1
  28. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  29. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs +2 -1
  30. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  31. package/es/packages/components/center-scroll/src/center-scroll.mjs +1 -1
  32. package/es/packages/components/center-scroll/src/center-scroll.mjs.map +1 -1
  33. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +14 -11
  34. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  35. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +8 -4
  36. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  37. package/es/packages/components/collapse/src/collapse.vue2.mjs +2 -1
  38. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  39. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +4 -5
  40. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  41. package/es/packages/components/daterange/src/date-range.vue2.mjs +30 -10
  42. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  43. package/es/packages/components/dialog/src/Dialog.vue2.mjs +2 -1
  44. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  45. package/es/packages/components/dialog/src/dialog.mjs +1 -1
  46. package/es/packages/components/dialog/src/dialog.mjs.map +1 -1
  47. package/es/packages/components/divider/src/divider.vue2.mjs +2 -1
  48. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  49. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs +4 -0
  50. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs.map +1 -1
  51. package/es/packages/components/export/src/export.vue2.mjs +2 -1
  52. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  53. package/es/packages/components/fix/src/Fix.vue2.mjs +2 -1
  54. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  55. package/es/packages/components/float/src/Float.vue2.mjs +2 -1
  56. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  57. package/es/packages/components/float/src/float.mjs +1 -1
  58. package/es/packages/components/float/src/float.mjs.map +1 -1
  59. package/es/packages/components/form/src/form.vue2.mjs +3 -2
  60. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  61. package/es/packages/components/gap/src/gap.vue2.mjs +2 -1
  62. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  63. package/es/packages/components/grid/src/grid-item.vue2.mjs +11 -4
  64. package/es/packages/components/grid/src/grid-item.vue2.mjs.map +1 -1
  65. package/es/packages/components/grid/src/grid.vue2.mjs +2 -1
  66. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  67. package/es/packages/components/guider/src/guider.vue2.mjs +3 -2
  68. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  69. package/es/packages/components/header/src/header.vue2.mjs +2 -1
  70. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  71. package/es/packages/components/icon/src/icon.vue2.mjs +2 -1
  72. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  73. package/es/packages/components/import/src/import.vue2.mjs +27 -29
  74. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  75. package/es/packages/components/input/src/input.vue2.mjs +9 -8
  76. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  77. package/es/packages/components/msg/src/msg.vue2.mjs +2 -1
  78. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  79. package/es/packages/components/padding/src/padding.vue2.mjs +3 -2
  80. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  81. package/es/packages/components/page/src/page.vue2.mjs +8 -7
  82. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  83. package/es/packages/components/param/src/Param.vue2.mjs +2 -1
  84. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  85. package/es/packages/components/param/src/param.mjs +1 -1
  86. package/es/packages/components/param/src/param.mjs.map +1 -1
  87. package/es/packages/components/pic/src/Pic.vue2.mjs +2 -1
  88. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  89. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  90. package/es/packages/components/progress/src/Progress.vue2.mjs +2 -1
  91. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  92. package/es/packages/components/range/src/range.vue2.mjs +2 -1
  93. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  94. package/es/packages/components/rate/src/rate.vue2.mjs +4 -3
  95. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  96. package/es/packages/components/scroll/src/Scroll.vue2.mjs +2 -1
  97. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  98. package/es/packages/components/scroll/src/scroll.mjs +1 -1
  99. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  100. package/es/packages/components/segment/src/segment.vue.mjs +2 -1
  101. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  102. package/es/packages/components/select/src/hooks/use-select-class-style.mjs +2 -3
  103. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  104. package/es/packages/components/select/src/select.vue2.mjs +2 -3
  105. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  106. package/es/packages/components/slide/src/slide.vue2.mjs +2 -1
  107. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  108. package/es/packages/components/step/src/step.vue2.mjs +2 -1
  109. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  110. package/es/packages/components/switch/src/switch.vue2.mjs +2 -1
  111. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  112. package/es/packages/components/tab/src/tab.vue2.mjs +5 -1
  113. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  114. package/es/packages/components/table/src/table.vue2.mjs +2 -1
  115. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  116. package/es/packages/components/tag/src/tag.vue2.mjs +41 -2
  117. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  118. package/es/packages/components/text/src/text.vue2.mjs +16 -4
  119. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  120. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  121. package/es/packages/components/timeline/src/timeline.vue2.mjs +3 -2
  122. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  123. package/es/packages/components/tip/index.mjs +1 -1
  124. package/es/packages/components/tip/index.mjs.map +1 -1
  125. package/es/packages/components/tip/src/tip.vue2.mjs +2 -1
  126. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  127. package/es/packages/components/tooltip/src/tooltip.mjs +1 -1
  128. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  129. package/es/packages/components/tooltip/src/tooltip.vue2.mjs +2 -1
  130. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  131. package/es/packages/components/transfer/src/transfer.vue2.mjs +2 -1
  132. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  133. package/es/packages/components/tree/src/tree.vue2.mjs +2 -1
  134. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  135. package/es/packages/components/upload/src/upload.vue2.mjs +2 -1
  136. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  137. package/es/packages/directives/dis/src/dis.mjs +5 -0
  138. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  139. package/es/packages/hooks/index.d.mjs +1 -1
  140. package/es/packages/hooks/index.mjs +1 -1
  141. package/es/packages/hooks/useSetClass.mjs +5 -2
  142. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  143. package/es/packages/locale/lang/en-US.mjs +1 -0
  144. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  145. package/es/packages/locale/lang/zh-CN.mjs +1 -0
  146. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  147. package/es/utils/constants/base.d.ts +1 -1
  148. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +3 -1
  149. package/lib/components/calendar/src/calendar.d.ts +4 -0
  150. package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
  151. package/lib/components/checkboxes/src/Checkboxes.vue.d.ts +2 -0
  152. package/lib/components/ellipsis/index.d.ts +15 -0
  153. package/lib/components/ellipsis/src/Ellipsis.vue.d.ts +9 -0
  154. package/lib/components/grid/src/grid-item.vue.d.ts +2 -0
  155. package/lib/components/timeline/src/timeline.d.ts +1 -1
  156. package/lib/components/timeline/src/timeline.vue.d.ts +1 -1
  157. package/lib/hooks/useSetClass.d.ts +4 -0
  158. package/lib/index.d.js +1 -0
  159. package/lib/index.d.js.map +1 -1
  160. package/lib/index.js +1 -0
  161. package/lib/index.js.map +1 -1
  162. package/lib/packages/components/box/src/box.vue2.js +40 -1
  163. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  164. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js +1 -1
  165. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  166. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js +3 -1
  167. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  168. package/lib/packages/components/button/src/button.js +1 -1
  169. package/lib/packages/components/button/src/button.js.map +1 -1
  170. package/lib/packages/components/button/src/button.vue2.js +61 -23
  171. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  172. package/lib/packages/components/calendar/src/calendar.js +4 -0
  173. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  174. package/lib/packages/components/calendar/src/calendar.vue2.js +210 -232
  175. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  176. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -1
  177. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  178. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js +2 -1
  179. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  180. package/lib/packages/components/center-scroll/src/center-scroll.js +1 -1
  181. package/lib/packages/components/center-scroll/src/center-scroll.js.map +1 -1
  182. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +14 -11
  183. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  184. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +7 -3
  185. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  186. package/lib/packages/components/collapse/src/collapse.vue2.js +2 -1
  187. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  188. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +4 -5
  189. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  190. package/lib/packages/components/daterange/src/date-range.vue2.js +29 -9
  191. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  192. package/lib/packages/components/dialog/src/Dialog.vue2.js +2 -1
  193. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  194. package/lib/packages/components/dialog/src/dialog.js +1 -1
  195. package/lib/packages/components/dialog/src/dialog.js.map +1 -1
  196. package/lib/packages/components/divider/src/divider.vue2.js +2 -1
  197. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  198. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js +4 -0
  199. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js.map +1 -1
  200. package/lib/packages/components/export/src/export.vue2.js +2 -1
  201. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  202. package/lib/packages/components/fix/src/Fix.vue2.js +2 -1
  203. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  204. package/lib/packages/components/float/src/Float.vue2.js +2 -1
  205. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  206. package/lib/packages/components/float/src/float.js +1 -1
  207. package/lib/packages/components/float/src/float.js.map +1 -1
  208. package/lib/packages/components/form/src/form.vue2.js +3 -2
  209. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  210. package/lib/packages/components/gap/src/gap.vue2.js +2 -1
  211. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  212. package/lib/packages/components/grid/src/grid-item.vue2.js +10 -3
  213. package/lib/packages/components/grid/src/grid-item.vue2.js.map +1 -1
  214. package/lib/packages/components/grid/src/grid.vue2.js +2 -1
  215. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  216. package/lib/packages/components/guider/src/guider.vue2.js +3 -2
  217. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  218. package/lib/packages/components/header/src/header.vue2.js +2 -1
  219. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  220. package/lib/packages/components/icon/src/icon.vue2.js +2 -1
  221. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  222. package/lib/packages/components/import/src/import.vue2.js +26 -28
  223. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  224. package/lib/packages/components/input/src/input.vue2.js +9 -8
  225. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  226. package/lib/packages/components/msg/src/msg.vue2.js +2 -1
  227. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  228. package/lib/packages/components/padding/src/padding.vue2.js +3 -2
  229. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  230. package/lib/packages/components/page/src/page.vue2.js +7 -6
  231. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  232. package/lib/packages/components/param/src/Param.vue2.js +2 -1
  233. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  234. package/lib/packages/components/param/src/param.js +1 -1
  235. package/lib/packages/components/param/src/param.js.map +1 -1
  236. package/lib/packages/components/pic/src/Pic.vue2.js +2 -1
  237. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  238. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  239. package/lib/packages/components/progress/src/Progress.vue2.js +2 -1
  240. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  241. package/lib/packages/components/range/src/range.vue2.js +2 -1
  242. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  243. package/lib/packages/components/rate/src/rate.vue2.js +3 -2
  244. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  245. package/lib/packages/components/scroll/src/Scroll.vue2.js +2 -1
  246. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  247. package/lib/packages/components/scroll/src/scroll.js +1 -1
  248. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  249. package/lib/packages/components/segment/src/segment.vue.js +2 -1
  250. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  251. package/lib/packages/components/select/src/hooks/use-select-class-style.js +2 -3
  252. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  253. package/lib/packages/components/select/src/select.vue2.js +2 -3
  254. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  255. package/lib/packages/components/slide/src/slide.vue2.js +2 -1
  256. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  257. package/lib/packages/components/step/src/step.vue2.js +2 -1
  258. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  259. package/lib/packages/components/switch/src/switch.vue2.js +2 -1
  260. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  261. package/lib/packages/components/tab/src/tab.vue2.js +5 -1
  262. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  263. package/lib/packages/components/table/src/table.vue2.js +2 -1
  264. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  265. package/lib/packages/components/tag/src/tag.vue2.js +40 -1
  266. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  267. package/lib/packages/components/text/src/text.vue2.js +15 -3
  268. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  269. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  270. package/lib/packages/components/timeline/src/timeline.vue2.js +3 -2
  271. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  272. package/lib/packages/components/tip/index.js +1 -1
  273. package/lib/packages/components/tip/index.js.map +1 -1
  274. package/lib/packages/components/tip/src/tip.vue2.js +2 -1
  275. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  276. package/lib/packages/components/tooltip/src/tooltip.js +1 -1
  277. package/lib/packages/components/tooltip/src/tooltip.js.map +1 -1
  278. package/lib/packages/components/tooltip/src/tooltip.vue2.js +2 -1
  279. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  280. package/lib/packages/components/transfer/src/transfer.vue2.js +2 -1
  281. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  282. package/lib/packages/components/tree/src/tree.vue2.js +2 -1
  283. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  284. package/lib/packages/components/upload/src/upload.vue2.js +2 -1
  285. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  286. package/lib/packages/directives/dis/src/dis.js +5 -0
  287. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  288. package/lib/packages/hooks/index.d.js +1 -0
  289. package/lib/packages/hooks/index.d.js.map +1 -1
  290. package/lib/packages/hooks/index.js +1 -0
  291. package/lib/packages/hooks/index.js.map +1 -1
  292. package/lib/packages/hooks/useSetClass.js +5 -1
  293. package/lib/packages/hooks/useSetClass.js.map +1 -1
  294. package/lib/packages/locale/lang/en-US.js +1 -0
  295. package/lib/packages/locale/lang/en-US.js.map +1 -1
  296. package/lib/packages/locale/lang/zh-CN.js +1 -0
  297. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  298. package/lib/utils/constants/base.d.ts +1 -1
  299. package/package.json +1 -1
  300. package/theme/components/index.css +529 -237
  301. package/theme/img/loading.png +0 -0
  302. package/theme/index.css +529 -237
  303. package/theme/skin/default.css +529 -237
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, renderSlot, createBlock, withCtx, createTextVNode, toDisplayString, createCommentVNode, nextTick } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
  import { getEm } from '../../../utils/ratio.mjs';
3
4
 
4
5
  const DRAG_THRESHOLD = 5;
@@ -83,7 +84,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
83
84
  const setClass = computed(() => {
84
85
  const arr = [];
85
86
  if (props.mode) {
86
- arr.push(`mode-${props.mode}`);
87
+ arr.push(...getModeClasses(props.mode));
87
88
  }
88
89
  if (isDraging.value) {
89
90
  arr.push(`is-dragging`);
@@ -1 +1 @@
1
- {"version":3,"file":"Fix.vue2.mjs","sources":["../../../../../../packages/components/fix/src/Fix.vue"],"sourcesContent":["<script lang=\"ts\">\nconst DRAG_THRESHOLD = 5\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFix'\n});</script>\n<template>\n\t<div class=\"to-fix\" :class=\"setClass\">\n\t\t<div ref=\"content\" class=\"to-fix-wrapper\" :style=\"setStyle\" @mousedown=\"onMouseDown\" @touchstart=\"onTouchStart\">\n\t\t\t<slot></slot>\n\t\t\t<to-tag v-if=\"Number(number)\" class=\"to-fix-number\" type=\"number\">{{ number }}</to-tag>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, nextTick } from 'vue'\nimport { getEm } from '@touchvue/utils'\n\n// 定义 props\nconst props = defineProps({\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\ttop: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tnumber: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tleft: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tright: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tbottom: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\tdraggable: Boolean\n})\n\n// 响应式数据\nconst content = ref<HTMLElement | null>(null)\nconst resizeTimer = ref<number | null>(null)\nconst isDown = ref(false)\nconst offsetX = ref(0)\nconst offsetY = ref(0)\nconst currentTop = ref<string | null>(null)\nconst currentLeft = ref<string | null>(null)\nconst currentRight = ref<string | null>(null)\nconst currentBottom = ref<string | null>(null)\nconst isDraging = ref(false) // 拖动开始标志\nconst startX = ref(0) // 记录起始X位置\nconst startY = ref(0) // 记录起始Y位置\n // 拖动阈值,5px\n\n// 计算属性\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\tif (currentTop.value) {\n\t\tobj.top = currentTop.value\n\t\tobj.bottom = 'auto'\n\t} else {\n\t\tif (props.top && props.top !== 'auto') {\n\t\t\tobj.top = props.top + 'em'\n\t\t\tobj.bottom = 'auto'\n\t\t} else if (props.bottom && props.bottom !== 'auto') {\n\t\t\tobj.bottom = props.bottom + 'em'\n\t\t\tobj.top = 'auto'\n\t\t}\n\t}\n\tif (currentLeft.value) {\n\t\tobj.left = currentLeft.value\n\t\tobj.right = 'auto'\n\t} else {\n\t\tif (props.left && props.left !== 'auto') {\n\t\t\tobj.left = props.left + 'em'\n\t\t\tobj.right = 'auto'\n\t\t} else if (props.right && props.right !== 'auto') {\n\t\t\tobj.right = props.right + 'em'\n\t\t\tobj.left = 'auto'\n\t\t}\n\t}\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (isDraging.value) {\n\t\tarr.push(`is-dragging`)\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(isDown, val => {\n\tif (val) {\n\t\tdocument.body.style.userSelect = 'none'\n\t} else {\n\t\tdocument.body.style.userSelect = ''\n\t}\n})\n\n// 方法\nconst init = () => {\n\tif (props.appendToBody && content.value?.parentElement) {\n\t\tdocument.body.appendChild(content.value.parentElement)\n\t}\n\twindow.addEventListener('resize', resize)\n}\n\nconst destroy = () => {\n\twindow.removeEventListener('resize', resize)\n\tif (props.appendToBody && content.value?.parentElement?.parentNode) {\n\t\tcontent.value.parentElement.parentNode.removeChild(content.value.parentElement)\n\t}\n}\n\n// 鼠标事件\nconst onMouseDown = (event: MouseEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\tstartX.value = event.clientX // 记录起始位置\n\tstartY.value = event.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = event.clientX - rect.left\n\t\toffsetY.value = event.clientY - rect.top\n\t}\n\tdocument.addEventListener('mousemove', onMouseMove)\n\tdocument.addEventListener('mouseup', onMouseUp)\n}\n\nconst onMouseMove = (event: MouseEvent) => {\n\tif (!isDown.value) return\n\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(event.clientX - startX.value, 2) + Math.pow(event.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(event.clientX, event.clientY)\n\t}\n}\n\nconst onMouseUp = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('mousemove', onMouseMove)\n\tdocument.removeEventListener('mouseup', onMouseUp)\n\tsetEmUnit()\n}\n\n// 触摸事件\nconst onTouchStart = (event: TouchEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\n\tconst touch = event.touches[0]\n\tstartX.value = touch.clientX // 记录起始位置\n\tstartY.value = touch.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = touch.clientX - rect.left\n\t\toffsetY.value = touch.clientY - rect.top\n\t}\n\n\tdocument.addEventListener('touchmove', onTouchMove)\n\tdocument.addEventListener('touchend', onTouchEnd)\n}\n\nconst onTouchMove = (event: TouchEvent) => {\n\tif (!isDown.value) return\n\n\tconst touch = event.touches[0]\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(touch.clientX - startX.value, 2) + Math.pow(touch.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(touch.clientX, touch.clientY)\n\t}\n}\n\nconst onTouchEnd = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('touchmove', onTouchMove)\n\tdocument.removeEventListener('touchend', onTouchEnd)\n\tsetEmUnit()\n}\n\nconst setEmUnit = () => {\n\tif (content.value) {\n\t\tcurrentTop.value = content.value.getBoundingClientRect().top / getEm() + 'em'\n\t\tcurrentLeft.value = content.value.getBoundingClientRect().left / getEm() + 'em'\n\t}\n}\n\nconst setPosition = (clientX?: number, clientY?: number) => {\n\tif (!content.value) return\n\n\tconst container = content.value.offsetParent || document.documentElement\n\tconst containerRect = container.getBoundingClientRect()\n\tconst elRect = content.value.getBoundingClientRect()\n\tconst elWidth = content.value.offsetWidth\n\tconst elHeight = content.value.offsetHeight\n\tlet newLeft = clientX ? clientX - offsetX.value : elRect.left\n\tlet newTop = clientY ? clientY - offsetY.value : elRect.top\n\n\t// 确保元素不会拖出可视范围\n\tif (newLeft < 0) newLeft = 0\n\tif (newLeft + elWidth > containerRect.width) newLeft = containerRect.width - elWidth\n\tif (newTop < 0) newTop = 0\n\tif (newTop + elHeight > containerRect.height) newTop = containerRect.height - elHeight\n\n\tcurrentTop.value = `${newTop}px`\n\tcurrentLeft.value = `${newLeft}px`\n\tcurrentRight.value = 'auto'\n\tcurrentBottom.value = 'auto'\n}\n\nconst resize = () => {\n\tif (resizeTimer.value) {\n\t\tclearTimeout(resizeTimer.value)\n\t}\n\tresizeTimer.value = window.setTimeout(() => {\n\t\tsetPosition()\n\t\tnextTick(() => {\n\t\t\tsetEmUnit()\n\t\t})\n\t}, 300)\n}\n\n// 生命周期钩子\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"Fix.vue2.mjs","sources":["../../../../../../packages/components/fix/src/Fix.vue"],"sourcesContent":["<script lang=\"ts\">\nconst DRAG_THRESHOLD = 5\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFix'\n});</script>\n<template>\n\t<div class=\"to-fix\" :class=\"setClass\">\n\t\t<div ref=\"content\" class=\"to-fix-wrapper\" :style=\"setStyle\" @mousedown=\"onMouseDown\" @touchstart=\"onTouchStart\">\n\t\t\t<slot></slot>\n\t\t\t<to-tag v-if=\"Number(number)\" class=\"to-fix-number\" type=\"number\">{{ number }}</to-tag>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, nextTick } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { getEm } from '@touchvue/utils'\n\n// 定义 props\nconst props = defineProps({\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\ttop: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tnumber: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tleft: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tright: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tbottom: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\tdraggable: Boolean\n})\n\n// 响应式数据\nconst content = ref<HTMLElement | null>(null)\nconst resizeTimer = ref<number | null>(null)\nconst isDown = ref(false)\nconst offsetX = ref(0)\nconst offsetY = ref(0)\nconst currentTop = ref<string | null>(null)\nconst currentLeft = ref<string | null>(null)\nconst currentRight = ref<string | null>(null)\nconst currentBottom = ref<string | null>(null)\nconst isDraging = ref(false) // 拖动开始标志\nconst startX = ref(0) // 记录起始X位置\nconst startY = ref(0) // 记录起始Y位置\n // 拖动阈值,5px\n\n// 计算属性\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\tif (currentTop.value) {\n\t\tobj.top = currentTop.value\n\t\tobj.bottom = 'auto'\n\t} else {\n\t\tif (props.top && props.top !== 'auto') {\n\t\t\tobj.top = props.top + 'em'\n\t\t\tobj.bottom = 'auto'\n\t\t} else if (props.bottom && props.bottom !== 'auto') {\n\t\t\tobj.bottom = props.bottom + 'em'\n\t\t\tobj.top = 'auto'\n\t\t}\n\t}\n\tif (currentLeft.value) {\n\t\tobj.left = currentLeft.value\n\t\tobj.right = 'auto'\n\t} else {\n\t\tif (props.left && props.left !== 'auto') {\n\t\t\tobj.left = props.left + 'em'\n\t\t\tobj.right = 'auto'\n\t\t} else if (props.right && props.right !== 'auto') {\n\t\t\tobj.right = props.right + 'em'\n\t\t\tobj.left = 'auto'\n\t\t}\n\t}\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (isDraging.value) {\n\t\tarr.push(`is-dragging`)\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(isDown, val => {\n\tif (val) {\n\t\tdocument.body.style.userSelect = 'none'\n\t} else {\n\t\tdocument.body.style.userSelect = ''\n\t}\n})\n\n// 方法\nconst init = () => {\n\tif (props.appendToBody && content.value?.parentElement) {\n\t\tdocument.body.appendChild(content.value.parentElement)\n\t}\n\twindow.addEventListener('resize', resize)\n}\n\nconst destroy = () => {\n\twindow.removeEventListener('resize', resize)\n\tif (props.appendToBody && content.value?.parentElement?.parentNode) {\n\t\tcontent.value.parentElement.parentNode.removeChild(content.value.parentElement)\n\t}\n}\n\n// 鼠标事件\nconst onMouseDown = (event: MouseEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\tstartX.value = event.clientX // 记录起始位置\n\tstartY.value = event.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = event.clientX - rect.left\n\t\toffsetY.value = event.clientY - rect.top\n\t}\n\tdocument.addEventListener('mousemove', onMouseMove)\n\tdocument.addEventListener('mouseup', onMouseUp)\n}\n\nconst onMouseMove = (event: MouseEvent) => {\n\tif (!isDown.value) return\n\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(event.clientX - startX.value, 2) + Math.pow(event.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(event.clientX, event.clientY)\n\t}\n}\n\nconst onMouseUp = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('mousemove', onMouseMove)\n\tdocument.removeEventListener('mouseup', onMouseUp)\n\tsetEmUnit()\n}\n\n// 触摸事件\nconst onTouchStart = (event: TouchEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\n\tconst touch = event.touches[0]\n\tstartX.value = touch.clientX // 记录起始位置\n\tstartY.value = touch.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = touch.clientX - rect.left\n\t\toffsetY.value = touch.clientY - rect.top\n\t}\n\n\tdocument.addEventListener('touchmove', onTouchMove)\n\tdocument.addEventListener('touchend', onTouchEnd)\n}\n\nconst onTouchMove = (event: TouchEvent) => {\n\tif (!isDown.value) return\n\n\tconst touch = event.touches[0]\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(touch.clientX - startX.value, 2) + Math.pow(touch.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(touch.clientX, touch.clientY)\n\t}\n}\n\nconst onTouchEnd = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('touchmove', onTouchMove)\n\tdocument.removeEventListener('touchend', onTouchEnd)\n\tsetEmUnit()\n}\n\nconst setEmUnit = () => {\n\tif (content.value) {\n\t\tcurrentTop.value = content.value.getBoundingClientRect().top / getEm() + 'em'\n\t\tcurrentLeft.value = content.value.getBoundingClientRect().left / getEm() + 'em'\n\t}\n}\n\nconst setPosition = (clientX?: number, clientY?: number) => {\n\tif (!content.value) return\n\n\tconst container = content.value.offsetParent || document.documentElement\n\tconst containerRect = container.getBoundingClientRect()\n\tconst elRect = content.value.getBoundingClientRect()\n\tconst elWidth = content.value.offsetWidth\n\tconst elHeight = content.value.offsetHeight\n\tlet newLeft = clientX ? clientX - offsetX.value : elRect.left\n\tlet newTop = clientY ? clientY - offsetY.value : elRect.top\n\n\t// 确保元素不会拖出可视范围\n\tif (newLeft < 0) newLeft = 0\n\tif (newLeft + elWidth > containerRect.width) newLeft = containerRect.width - elWidth\n\tif (newTop < 0) newTop = 0\n\tif (newTop + elHeight > containerRect.height) newTop = containerRect.height - elHeight\n\n\tcurrentTop.value = `${newTop}px`\n\tcurrentLeft.value = `${newLeft}px`\n\tcurrentRight.value = 'auto'\n\tcurrentBottom.value = 'auto'\n}\n\nconst resize = () => {\n\tif (resizeTimer.value) {\n\t\tclearTimeout(resizeTimer.value)\n\t}\n\tresizeTimer.value = window.setTimeout(() => {\n\t\tsetPosition()\n\t\tnextTick(() => {\n\t\t\tsetEmUnit()\n\t\t})\n\t}, 300)\n}\n\n// 生命周期钩子\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, useAttrs, ref, watch, computed, onMounted, onActivated, onBeforeUnmount, onDeactivated, nextTick, openBlock, createBlock, Teleport, createElementBlock, normalizeClass, unref, normalizeStyle, withModifiers, createCommentVNode, createElementVNode, renderSlot } from 'vue';
2
2
  import { floatProps, floatEmits } from './float.mjs';
3
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
3
4
 
4
5
  const __default__ = defineComponent({
5
6
  name: "ToFloat",
@@ -52,7 +53,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
53
  arr.push("is-slide");
53
54
  }
54
55
  if (props.mode) {
55
- arr.push(`mode-${props.mode}`);
56
+ arr.push(...getModeClasses(props.mode));
56
57
  }
57
58
  if (iposition.value !== "auto")
58
59
  arr.push(`position-${iposition.value}`);
@@ -1 +1 @@
1
- {"version":3,"file":"Float.vue2.mjs","sources":["../../../../../../packages/components/float/src/Float.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFloat',\n\tinheritAttrs: false\n});\n</script>\n<template>\n\t<Teleport to=\"body\" :disabled=\"!global\">\n\t\t<div v-if=\"lazy ? ifShow : true\" ref=\"el\" class=\"to-float\" :class=\"[setClass, attrs.class as string | string[] | undefined]\" :style=\"[setStyle, attrs.style as Record<string, string | number> | undefined]\" @mousedown=\"$emit('click')\" @touchstart=\"$emit('click')\" @mouseenter=\"$emit('mouseenter')\" @mouseleave=\"$emit('mouseleave')\" @click.stop>\n\t\t\t<div v-if=\"props.mask\" ref=\"maskRef\" class=\"to-float-mask\" @click=\"maskClickHandle\"></div>\n\t\t\t<div ref=\"wrapper\" class=\"to-float-wrapper\" :style=\"slide ? wrapperStyle : null\">\n\t\t\t\t<div ref=\"content\" class=\"to-float-content\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, onMounted, onBeforeUnmount, nextTick, onDeactivated, onActivated, CSSProperties, useAttrs } from 'vue'\nimport { floatProps, floatEmits } from './float'\n\n// 获取当前 vue 实例\n\n\nconst props = defineProps(floatProps)\nconst emit = defineEmits(floatEmits)\nconst attrs = useAttrs()\n\nconst el = ref<HTMLElement | null>(null)\nconst origin = ref('top')\nconst ifShow = ref(false)\nconst scrollNode = ref<HTMLElement | null>(null)\nconst iposition = ref<string>(props.position || (props.slide ? 'right' : 'auto'))\nconst ialign = ref(props.align)\nconst link = ref<\n\t| HTMLElement\n\t| {\n\t\t\tx?: number\n\t\t\ttouches?: TouchList\n\t\t\tclientX?: number\n\t\t\tclientY?: number\n\t\t\toffsetWidth?: number\n\t\t\toffsetHeight?: number\n\t\t\tgetBoundingClientRect?: () => DOMRect\n\t\t\ttarget?: HTMLElement\n\t\t\tparentNode?: HTMLElement\n\t }\n\t| null\n>(null)\nconst isOpen = ref(false)\nconst isOver = ref(false)\nconst maskRef = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\nconst content = ref<HTMLElement | null>(null)\nconst event = ref('')\nconst size = ref(1)\nconst contentObserver = ref<MutationObserver | null>(null)\nlet contentObserverTimer: ReturnType<typeof setTimeout> | null = null\nlet hasInitShow = false\n\nwatch(\n\t() => props.position,\n\tval => {\n\t\tiposition.value = val || (props.slide ? 'right' : 'auto')\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.align,\n\tval => {\n\t\tialign.value = val\n\t},\n\t{ immediate: true }\n)\n\nconst setClass = computed(() => {\n\tconst arr = [] as string[]\n\tif (isOpen.value) arr.push('is-show')\n\tif (props.slide) {\n\t\tarr.push('is-slide')\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (iposition.value !== 'auto') arr.push(`position-${iposition.value}`)\n\tif (origin.value === 'bottom') arr.push('origin-bottom')\n\tif (props.mask) arr.push('is-mask')\n\treturn arr\n})\nconst transitionTransform = computed(() => `transform ${props.speed}ms ease-out`)\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, any> = {}\n\tif (props.width && !props.slide) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\tif (props.left) {\n\t\tif (isNaN(Number(props.left))) obj.left = props.left\n\t\telse obj.left = props.left + 'em'\n\t}\n\tif (props.top) {\n\t\tif (isNaN(Number(props.top))) obj.top = props.top\n\t\telse obj.top = props.top + 'em'\n\t}\n\tif (size.value !== 1) {\n\t\tobj.fontSize = size.value + 'em'\n\t}\n\tif (props.zIndex) {\n\t\tobj.zIndex = props.zIndex\n\t} else {\n\t\tobj.zIndex = (window as any).$TouchUI?.zIndex.toString()\n\t\t;(window as any).$TouchUI ? (window as any).$TouchUI.zIndex++ : ((window as any).$TouchUI = { zIndex: 1 })\n\t}\n\treturn obj\n})\n\nconst wrapperStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\n\t// 宽度设置\n\t// 高度设置在打开的时候再设置,因为涉及到动态计算 wrapper 的高度\n\tif ((iposition.value === 'right' || iposition.value === 'left') && props.width) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\treturn obj\n})\n\n// 初始化\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nfunction init() {\n\tif (!props.slide) {\n\t\twindow.addEventListener('resize', close, false)\n\t\treturn\n\t}\n\tif (props.show && !hasInitShow) {\n\t\thasInitShow = true\n\t\topen()\n\t}\n}\n\nfunction destroy() {\n\tstopContentObserver()\n\tif (!props.slide) {\n\t\tdocument.body.removeEventListener('mousedown', blur)\n\t\tdocument.body.removeEventListener('touchstart', blur)\n\t\twindow.removeEventListener('resize', close)\n\t}\n\tdocument.body.removeEventListener('scroll', close)\n\tdocument.body.removeEventListener('wheel', close)\n}\n\nfunction maskClickHandle() {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\n/** 记录 ToScroll 内容区滚动位置(slot 变化重算高度前调用) */\nfunction captureScrollTops(root: HTMLElement | null) {\n\tconst tops: { el: HTMLElement; top: number }[] = []\n\tif (!root) return tops\n\troot.querySelectorAll('.to-scroll-content').forEach(node => {\n\t\tconst el = node as HTMLElement\n\t\ttops.push({ el, top: el.scrollTop })\n\t})\n\treturn tops\n}\n\nfunction restoreScrollTops(tops: { el: HTMLElement; top: number }[]) {\n\ttops.forEach(({ el, top }) => {\n\t\tif (el.isConnected) el.scrollTop = top\n\t})\n}\n\nfunction set(link?: any, reposition = false) {\n\t// 重置 wrapper 高度,这样下次打开的时候才好重新计算是否超过整体高度\n\tif (props.slide) {\n\t\tsetTimeout(() => {\n\t\t\tif ((iposition.value === 'top' || iposition.value === 'bottom') && !props.height && wrapper.value) {\n\t\t\t\twrapper.value.style.height = ''\n\t\t\t\twrapper.value.style.height = wrapper.value.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}, 0)\n\t} else if (link) {\n\t\t// reposition:仍要清空 wrapper 以按新内容测量高度;先记下内部滚动,避免 height='' 重排后滚回顶部\n\t\tconst savedScrollTops = reposition ? captureScrollTops(content.value) : []\n\t\tif (!reposition) {\n\t\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\t\tif (el.value) {\n\t\t\t\tel.value.style.transition = 'none'\n\t\t\t\tel.value.style.transform = ''\n\t\t\t}\n\t\t} else {\n\t\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\t}\n\t\tnextTick(() => {\n\t\t\t// 宽度设置\n\t\t\tif (!props.width && el.value) {\n\t\t\t\tif ('x' in link || 'touches' in link) {\n\t\t\t\t\tel.value.style.width = '14em'\n\t\t\t\t} else {\n\t\t\t\t\tel.value.style.width = link.getBoundingClientRect().width + 'px'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.top === '' || props.left === '') {\n\t\t\t\tlet x: number, y: number, linkWidth: number, linkHeight: number\n\t\t\t\tconst wrapperWidth = wrapper.value?.getBoundingClientRect().width || 0\n\t\t\t\tconst wrapperHeight = wrapper.value?.getBoundingClientRect().height || 0\n\t\t\t\tconst bodyWidth = document.body.getBoundingClientRect().width\n\t\t\t\tconst bodyHeight = document.body.getBoundingClientRect().height\n\t\t\t\tlet topSpace: number, bottomSpace: number, leftSpace: number, rightSpace: number\n\t\t\t\tlet useSpace = 0\n\t\t\t\tconst dx = Number(props.dx) * 1 // 这里 em() 需根据实际情况补充\n\t\t\t\tconst dy = Number(props.dy) * 1\n\t\t\t\tif ('clientX' in link || 'touches' in link) {\n\t\t\t\t\tx = 'clientX' in link ? link.clientX : link.touches[0].clientX\n\t\t\t\t\ty = 'clientY' in link ? link.clientY : link.touches[0].clientY\n\t\t\t\t\tlinkWidth = 0\n\t\t\t\t\tlinkHeight = 0\n\t\t\t\t} else {\n\t\t\t\t\tx = link.getBoundingClientRect().left\n\t\t\t\t\ty = link.getBoundingClientRect().top\n\t\t\t\t\tlinkWidth = link.getBoundingClientRect().width\n\t\t\t\t\tlinkHeight = link.getBoundingClientRect().height\n\t\t\t\t}\n\t\t\t\ttopSpace = y\n\t\t\t\tbottomSpace = bodyHeight - y - linkHeight\n\t\t\t\tleftSpace = x\n\t\t\t\trightSpace = bodyWidth - x - linkWidth\n\t\t\t\t// 计算相对位置\n\t\t\t\tif (!props.position) {\n\t\t\t\t\tif (bottomSpace >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t} else if (y >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// 自动计算对齐方式\n\t\t\t\tif (props.align === 'auto') {\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (rightSpace >= wrapperWidth) {\n\t\t\t\t\t\t\tialign.value = 'left'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'right'\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tialign.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'bottom'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (el.value) {\n\t\t\t\t\tif (iposition.value === 'top') {\n\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\tel.value.style.bottom = bottomSpace + linkHeight - 1 - dy + 'px'\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tel.value.style.top = topSpace + linkHeight - 1 + dy + 'px'\n\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (ialign.value === 'left') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace + dx + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else if (ialign.value === 'center') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace - wrapperWidth / 2 + linkWidth / 2 + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.right = rightSpace - dx + 'px'\n\t\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left') {\n\t\t\t\t\t\tel.value.style.right = rightSpace + linkWidth - dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'right') {\n\t\t\t\t\t\tel.value.style.left = leftSpace + linkWidth + dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left' || iposition.value === 'right') {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\t\tel.value.style.bottom = bottomSpace - dy + 'px'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.top = topSpace + dy + 'px'\n\t\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tuseSpace = bottomSpace\n\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t} else if (iposition.value === 'top') {\n\t\t\t\t\t\tuseSpace = topSpace\n\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tuseSpace = topSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t\t} else if (ialign.value === 'top') {\n\t\t\t\t\t\t\tuseSpace = bottomSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.error('[ToFloat] 浮层对齐方式设置错误!position 在左右两侧时,对齐方式应是顶部或底部')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (useSpace < wrapperHeight && wrapper.value) {\n\t\t\t\t\t\tisOver.value = true\n\t\t\t\t\t\twrapper.value.style.height = useSpace + 'px'\n\t\t\t\t\t}\n\t\t\t\t\t// 自动计算大小\n\t\t\t\t\tif (link) {\n\t\t\t\t\t\tconst ratio = link.getBoundingClientRect().width / link.offsetWidth\n\t\t\t\t\t\tconst ratio2 = Number(getComputedStyle(link).fontSize.trim().toLowerCase().replace(/px$/, '')) / Number(getComputedStyle(document.body).fontSize.trim().toLowerCase().replace(/px$/, ''))\n\t\t\t\t\t\tsize.value = ratio * ratio2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 打开:播放入场动画并绑定滚动关闭;仅调整布局:浮层已展开,不再走 setOpenStyle,避免等同「再打开」\n\t\t\tif (el.value && !reposition) {\n\t\t\t\tsetOpenStyle()\n\t\t\t}\n\t\t\tif (link && !('x' in link) && !('touches' in link) && !reposition) {\n\t\t\t\tsetScrollStatus()\n\t\t\t}\n\t\t\t// 内容变化后高度已更新,把内部列表滚动恢复到重算前\n\t\t\tif (reposition && savedScrollTops.length) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trestoreScrollTops(savedScrollTops)\n\t\t\t\t\trequestAnimationFrame(() => restoreScrollTops(savedScrollTops))\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunction open(by?: any) {\n\tif (props.beforeOpen) {\n\t\tconst fn = props.beforeOpen()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\topenAction(by)\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) openAction(by)\n\t\t}\n\t} else {\n\t\topenAction(by)\n\t}\n}\n\nfunction openAction(by?: any) {\n\tif (!isOpen.value) {\n\t\temit('beforeOpen')\n\n\t\tif (props.slide) {\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置样式\n\t\t\tnextTick(() => {\n\t\t\t\tset()\n\t\t\t\tsetOpenStyle()\n\t\t\t\tstartContentObserver()\n\t\t\t})\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\tlet timer: any = null\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\temit('opened')\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}, Number(props.speed))\n\n\t\t\tisOpen.value = true\n\t\t} else {\n\t\t\tdocument.body.addEventListener('mousedown', blur)\n\t\t\tdocument.body.addEventListener('touchstart', blur)\n\n\t\t\tif (by) {\n\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\tlink.value = by\n\t\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\t\tevent.value = 'contextmenu'\n\t\t\t\t\t}\n\t\t\t\t\tif (by.type === 'contextmenu') {\n\t\t\t\t\t\tby.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// 兼容处理:如果by是DOM元素则直接使用,否则通过$refs.el获取\n\t\t\t\t\tif (by instanceof HTMLElement) {\n\t\t\t\t\t\tlink.value = by\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetElementFromRef(by).then(element => {\n\t\t\t\t\t\t\tlink.value = element\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置其他依赖项\n\t\t\tsetTimeout(() => {\n\t\t\t\tset(link.value)\n\t\t\t\tstartContentObserver()\n\t\t\t}, 0)\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\temit('opened')\n\t\t\tisOpen.value = true\n\t\t}\n\t}\n}\n\nfunction setOpenStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\twrapper.value.style.transition = transitionTransform.value\n\t\t\twrapper.value.style.transform = 'translateY(0)'\n\t\t\tsetTimeout(() => {\n\t\t\t\twrapper.value.style.transform = ''\n\t\t\t}, Number(props.speed))\n\t\t}, 0)\n\t} else {\n\t\t// 先固定为收起态且无过渡,再下一帧加 transition 并展开,避免与布局测量同一帧合并导致无动画\n\t\tel.value.style.transition = 'none'\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t\tel.value.style.visibility = 'visible'\n\t\trequestAnimationFrame(() => {\n\t\t\tel.value.style.transition = transitionTransform.value\n\t\t\tel.value.style.transform = 'scale(1)'\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.value.style.transform = ''\n\t\t\t\tel.value.style.transition = ''\n\t\t\t}, Number(props.speed))\n\t\t})\n\t}\n\tel.value.style.zIndex = (window as any).$TouchUI?.zIndex\n}\n\nfunction close(e?: Event) {\n\t// float 组件内部滚动不关闭\n\tif (e && el.value && e.target && typeof Node !== 'undefined' && e.target instanceof Node && el.value.contains(e.target)) {\n\t\treturn\n\t}\n\tif (isOpen.value) {\n\t\tif (props.beforeClose) {\n\t\t\tconst fn = props.beforeClose()\n\t\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tcloseAction()\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tconsole.log(error)\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (fn) closeAction()\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAction()\n\t\t}\n\t}\n}\n\nfunction closeAction() {\n\tstopContentObserver()\n\t// 参数重置\n\tif (!props.height && wrapper.value) {\n\t\twrapper.value.style.height = ''\n\t}\n\tisOver.value = false\n\n\tif (props.slide) {\n\t\tsetCloseStyle()\n\t\tisOpen.value = false\n\t} else {\n\t\t// 移除事件\n\t\tif (scrollNode.value) {\n\t\t\tscrollNode.value.removeEventListener('scroll', close)\n\t\t}\n\n\t\t// 前置事件\n\t\temit('beforeClose')\n\n\t\t// 样式设置\n\t\tsetCloseStyle()\n\n\t\t// 关闭\n\t\tisOpen.value = false\n\t}\n\n\tsetTimeout(() => {\n\t\t// 销毁\n\t\tif (props.lazy) {\n\t\t\tifShow.value = false\n\t\t}\n\n\t\t// 后置事件\n\t\temit('closed')\n\n\t\t// 后置方法\n\t\tif (props.afterClose && Object.prototype.toString.call(props.afterClose) === '[object Function]') {\n\t\t\tprops.afterClose()\n\t\t}\n\t}, Number(props.speed))\n}\n\nfunction setCloseStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t} else {\n\t\t// 打开结束时会清空 transition,这里必须带上 transition,否则收起没有过渡\n\t\tel.value.style.transition = transitionTransform.value\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t}\n}\n\nfunction toggle(by?: any) {\n\tif (isOpen.value) {\n\t\tclose()\n\t} else {\n\t\tif (by) {\n\t\t\topen(by)\n\t\t} else {\n\t\t\topen()\n\t\t}\n\t}\n}\n\nfunction blur(e: MouseEvent | TouchEvent) {\n\tif (!props.closeOnBlur) return\n\t// 同步阶段:检查点击目标是否在之后打开的浮层内(DOM 顺序更靠后)\n\t// 所有浮层都 teleport 到 body,DOM 顺序即打开顺序\n\tif (el.value && e.target instanceof Node) {\n\t\tconst allFloats = Array.from(document.querySelectorAll('.to-float.is-show'))\n\t\tconst currentIdx = allFloats.indexOf(el.value)\n\t\tfor (let i = currentIdx + 1; i < allFloats.length; i++) {\n\t\t\tif (allFloats[i].contains(e.target)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\tnextTick(() => {\n\t\tlet node = e.target as HTMLElement | null\n\t\tif (event.value === 'contextmenu') {\n\t\t\t// 右键点击,任意位置均隐藏 && node !== this.$el\n\t\t\twhile (node && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else if (link.value && 'target' in link.value && link.value.target) {\n\t\t\twhile (node && node !== el.value && node !== link.value.target && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else {\n\t\t\twhile (node && node !== el.value && node !== link.value && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t}\n\t\tif (node && node.nodeName === 'BODY') {\n\t\t\tclose()\n\t\t}\n\t})\n}\n\nfunction setScrollStatus() {\n\tdocument.body.addEventListener('scroll', close, { passive: true })\n\tdocument.body.addEventListener('wheel', close, { passive: true })\n}\n\nasync function getElementFromRef(refOrNode) {\n\tawait nextTick() // 保证 DOM 已渲染\n\tif (!refOrNode) return null\n\tconst val = refOrNode.value ?? refOrNode\n\tif (!val) return null\n\tif (val instanceof Element || val instanceof Text) return val\n\tif (val.$el) return val.$el\n\tif (val._vnode && val._vnode.el) return val._vnode.el\n\treturn null\n}\n\nfunction startContentObserver() {\n\tstopContentObserver()\n\tif (content.value) {\n\t\tcontentObserver.value = new MutationObserver(() => {\n\t\t\tif (isOpen.value) {\n\t\t\t\tif (contentObserverTimer) clearTimeout(contentObserverTimer)\n\t\t\t\tcontentObserverTimer = setTimeout(() => {\n\t\t\t\t\tset(link.value, true)\n\t\t\t\t}, 0)\n\t\t\t}\n\t\t})\n\t\tcontentObserver.value.observe(content.value, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t\tcharacterData: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['style', 'class']\n\t\t})\n\t}\n}\n\nfunction stopContentObserver() {\n\tif (contentObserver.value) {\n\t\tcontentObserver.value.disconnect()\n\t\tcontentObserver.value = null\n\t}\n\tif (contentObserverTimer) {\n\t\tclearTimeout(contentObserverTimer)\n\t\tcontentObserverTimer = null\n\t}\n}\n\n// 暴露方法\ndefineExpose({ open, close, toggle, set })\n</script>\n"],"names":["DO_defineComponent","el","link","_createBlock","_Teleport","global","lazy","_createElementBlock","_unref","_normalizeStyle","$emit","_createElementVNode","slide","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Float.vue2.mjs","sources":["../../../../../../packages/components/float/src/Float.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFloat',\n\tinheritAttrs: false\n});\n</script>\n<template>\n\t<Teleport to=\"body\" :disabled=\"!global\">\n\t\t<div v-if=\"lazy ? ifShow : true\" ref=\"el\" class=\"to-float\" :class=\"[setClass, attrs.class as string | string[] | undefined]\" :style=\"[setStyle, attrs.style as Record<string, string | number> | undefined]\" @mousedown=\"$emit('click')\" @touchstart=\"$emit('click')\" @mouseenter=\"$emit('mouseenter')\" @mouseleave=\"$emit('mouseleave')\" @click.stop>\n\t\t\t<div v-if=\"props.mask\" ref=\"maskRef\" class=\"to-float-mask\" @click=\"maskClickHandle\"></div>\n\t\t\t<div ref=\"wrapper\" class=\"to-float-wrapper\" :style=\"slide ? wrapperStyle : null\">\n\t\t\t\t<div ref=\"content\" class=\"to-float-content\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed, onMounted, onBeforeUnmount, nextTick, onDeactivated, onActivated, CSSProperties, useAttrs } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { floatProps, floatEmits } from './float'\n\n// 获取当前 vue 实例\n\n\nconst props = defineProps(floatProps)\nconst emit = defineEmits(floatEmits)\nconst attrs = useAttrs()\n\nconst el = ref<HTMLElement | null>(null)\nconst origin = ref('top')\nconst ifShow = ref(false)\nconst scrollNode = ref<HTMLElement | null>(null)\nconst iposition = ref<string>(props.position || (props.slide ? 'right' : 'auto'))\nconst ialign = ref(props.align)\nconst link = ref<\n\t| HTMLElement\n\t| {\n\t\t\tx?: number\n\t\t\ttouches?: TouchList\n\t\t\tclientX?: number\n\t\t\tclientY?: number\n\t\t\toffsetWidth?: number\n\t\t\toffsetHeight?: number\n\t\t\tgetBoundingClientRect?: () => DOMRect\n\t\t\ttarget?: HTMLElement\n\t\t\tparentNode?: HTMLElement\n\t }\n\t| null\n>(null)\nconst isOpen = ref(false)\nconst isOver = ref(false)\nconst maskRef = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\nconst content = ref<HTMLElement | null>(null)\nconst event = ref('')\nconst size = ref(1)\nconst contentObserver = ref<MutationObserver | null>(null)\nlet contentObserverTimer: ReturnType<typeof setTimeout> | null = null\nlet hasInitShow = false\n\nwatch(\n\t() => props.position,\n\tval => {\n\t\tiposition.value = val || (props.slide ? 'right' : 'auto')\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.align,\n\tval => {\n\t\tialign.value = val\n\t},\n\t{ immediate: true }\n)\n\nconst setClass = computed(() => {\n\tconst arr = [] as string[]\n\tif (isOpen.value) arr.push('is-show')\n\tif (props.slide) {\n\t\tarr.push('is-slide')\n\t}\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (iposition.value !== 'auto') arr.push(`position-${iposition.value}`)\n\tif (origin.value === 'bottom') arr.push('origin-bottom')\n\tif (props.mask) arr.push('is-mask')\n\treturn arr\n})\nconst transitionTransform = computed(() => `transform ${props.speed}ms ease-out`)\n\nconst setStyle = computed(() => {\n\tconst obj: Record<string, any> = {}\n\tif (props.width && !props.slide) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\tif (props.left) {\n\t\tif (isNaN(Number(props.left))) obj.left = props.left\n\t\telse obj.left = props.left + 'em'\n\t}\n\tif (props.top) {\n\t\tif (isNaN(Number(props.top))) obj.top = props.top\n\t\telse obj.top = props.top + 'em'\n\t}\n\tif (size.value !== 1) {\n\t\tobj.fontSize = size.value + 'em'\n\t}\n\tif (props.zIndex) {\n\t\tobj.zIndex = props.zIndex\n\t} else {\n\t\tobj.zIndex = (window as any).$TouchUI?.zIndex.toString()\n\t\t;(window as any).$TouchUI ? (window as any).$TouchUI.zIndex++ : ((window as any).$TouchUI = { zIndex: 1 })\n\t}\n\treturn obj\n})\n\nconst wrapperStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\n\t// 宽度设置\n\t// 高度设置在打开的时候再设置,因为涉及到动态计算 wrapper 的高度\n\tif ((iposition.value === 'right' || iposition.value === 'left') && props.width) {\n\t\tif (!isNaN(Number(props.width))) obj.width = props.width + 'em'\n\t\telse if (props.width === 'full') obj.width = '100%'\n\t\telse obj.width = props.width\n\t}\n\treturn obj\n})\n\n// 初始化\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nfunction init() {\n\tif (!props.slide) {\n\t\twindow.addEventListener('resize', close, false)\n\t\treturn\n\t}\n\tif (props.show && !hasInitShow) {\n\t\thasInitShow = true\n\t\topen()\n\t}\n}\n\nfunction destroy() {\n\tstopContentObserver()\n\tif (!props.slide) {\n\t\tdocument.body.removeEventListener('mousedown', blur)\n\t\tdocument.body.removeEventListener('touchstart', blur)\n\t\twindow.removeEventListener('resize', close)\n\t}\n\tdocument.body.removeEventListener('scroll', close)\n\tdocument.body.removeEventListener('wheel', close)\n}\n\nfunction maskClickHandle() {\n\tif (props.closeOnBlur) {\n\t\tclose()\n\t}\n}\n\n/** 记录 ToScroll 内容区滚动位置(slot 变化重算高度前调用) */\nfunction captureScrollTops(root: HTMLElement | null) {\n\tconst tops: { el: HTMLElement; top: number }[] = []\n\tif (!root) return tops\n\troot.querySelectorAll('.to-scroll-content').forEach(node => {\n\t\tconst el = node as HTMLElement\n\t\ttops.push({ el, top: el.scrollTop })\n\t})\n\treturn tops\n}\n\nfunction restoreScrollTops(tops: { el: HTMLElement; top: number }[]) {\n\ttops.forEach(({ el, top }) => {\n\t\tif (el.isConnected) el.scrollTop = top\n\t})\n}\n\nfunction set(link?: any, reposition = false) {\n\t// 重置 wrapper 高度,这样下次打开的时候才好重新计算是否超过整体高度\n\tif (props.slide) {\n\t\tsetTimeout(() => {\n\t\t\tif ((iposition.value === 'top' || iposition.value === 'bottom') && !props.height && wrapper.value) {\n\t\t\t\twrapper.value.style.height = ''\n\t\t\t\twrapper.value.style.height = wrapper.value.getBoundingClientRect().height + 'px'\n\t\t\t}\n\t\t}, 0)\n\t} else if (link) {\n\t\t// reposition:仍要清空 wrapper 以按新内容测量高度;先记下内部滚动,避免 height='' 重排后滚回顶部\n\t\tconst savedScrollTops = reposition ? captureScrollTops(content.value) : []\n\t\tif (!reposition) {\n\t\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\t\tif (el.value) {\n\t\t\t\tel.value.style.transition = 'none'\n\t\t\t\tel.value.style.transform = ''\n\t\t\t}\n\t\t} else {\n\t\t\tif (wrapper.value) wrapper.value.style.height = ''\n\t\t}\n\t\tnextTick(() => {\n\t\t\t// 宽度设置\n\t\t\tif (!props.width && el.value) {\n\t\t\t\tif ('x' in link || 'touches' in link) {\n\t\t\t\t\tel.value.style.width = '14em'\n\t\t\t\t} else {\n\t\t\t\t\tel.value.style.width = link.getBoundingClientRect().width + 'px'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.top === '' || props.left === '') {\n\t\t\t\tlet x: number, y: number, linkWidth: number, linkHeight: number\n\t\t\t\tconst wrapperWidth = wrapper.value?.getBoundingClientRect().width || 0\n\t\t\t\tconst wrapperHeight = wrapper.value?.getBoundingClientRect().height || 0\n\t\t\t\tconst bodyWidth = document.body.getBoundingClientRect().width\n\t\t\t\tconst bodyHeight = document.body.getBoundingClientRect().height\n\t\t\t\tlet topSpace: number, bottomSpace: number, leftSpace: number, rightSpace: number\n\t\t\t\tlet useSpace = 0\n\t\t\t\tconst dx = Number(props.dx) * 1 // 这里 em() 需根据实际情况补充\n\t\t\t\tconst dy = Number(props.dy) * 1\n\t\t\t\tif ('clientX' in link || 'touches' in link) {\n\t\t\t\t\tx = 'clientX' in link ? link.clientX : link.touches[0].clientX\n\t\t\t\t\ty = 'clientY' in link ? link.clientY : link.touches[0].clientY\n\t\t\t\t\tlinkWidth = 0\n\t\t\t\t\tlinkHeight = 0\n\t\t\t\t} else {\n\t\t\t\t\tx = link.getBoundingClientRect().left\n\t\t\t\t\ty = link.getBoundingClientRect().top\n\t\t\t\t\tlinkWidth = link.getBoundingClientRect().width\n\t\t\t\t\tlinkHeight = link.getBoundingClientRect().height\n\t\t\t\t}\n\t\t\t\ttopSpace = y\n\t\t\t\tbottomSpace = bodyHeight - y - linkHeight\n\t\t\t\tleftSpace = x\n\t\t\t\trightSpace = bodyWidth - x - linkWidth\n\t\t\t\t// 计算相对位置\n\t\t\t\tif (!props.position) {\n\t\t\t\t\tif (bottomSpace >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t} else if (y >= wrapperHeight) {\n\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tiposition.value = 'bottom'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tiposition.value = 'top'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// 自动计算对齐方式\n\t\t\t\tif (props.align === 'auto') {\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (rightSpace >= wrapperWidth) {\n\t\t\t\t\t\t\tialign.value = 'left'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'right'\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (y + linkHeight / 2 < bodyHeight / 2) {\n\t\t\t\t\t\t\tialign.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tialign.value = 'bottom'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (el.value) {\n\t\t\t\t\tif (iposition.value === 'top') {\n\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\tel.value.style.bottom = bottomSpace + linkHeight - 1 - dy + 'px'\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tel.value.style.top = topSpace + linkHeight - 1 + dy + 'px'\n\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'top' || iposition.value === 'bottom') {\n\t\t\t\t\t\tif (ialign.value === 'left') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace + dx + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else if (ialign.value === 'center') {\n\t\t\t\t\t\t\tel.value.style.left = leftSpace - wrapperWidth / 2 + linkWidth / 2 + 'px'\n\t\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.right = rightSpace - dx + 'px'\n\t\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left') {\n\t\t\t\t\t\tel.value.style.right = rightSpace + linkWidth - dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.left = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'right') {\n\t\t\t\t\t\tel.value.style.left = leftSpace + linkWidth + dx - 1 + 'px'\n\t\t\t\t\t\tel.value.style.right = ''\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'left' || iposition.value === 'right') {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tel.value.style.top = ''\n\t\t\t\t\t\t\tel.value.style.bottom = bottomSpace - dy + 'px'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.value.style.top = topSpace + dy + 'px'\n\t\t\t\t\t\t\tel.value.style.bottom = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (iposition.value === 'bottom') {\n\t\t\t\t\t\tuseSpace = bottomSpace\n\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t} else if (iposition.value === 'top') {\n\t\t\t\t\t\tuseSpace = topSpace\n\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (ialign.value === 'bottom') {\n\t\t\t\t\t\t\tuseSpace = topSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'bottom'\n\t\t\t\t\t\t} else if (ialign.value === 'top') {\n\t\t\t\t\t\t\tuseSpace = bottomSpace + linkHeight\n\t\t\t\t\t\t\torigin.value = 'top'\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.error('[ToFloat] 浮层对齐方式设置错误!position 在左右两侧时,对齐方式应是顶部或底部')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (useSpace < wrapperHeight && wrapper.value) {\n\t\t\t\t\t\tisOver.value = true\n\t\t\t\t\t\twrapper.value.style.height = useSpace + 'px'\n\t\t\t\t\t}\n\t\t\t\t\t// 自动计算大小\n\t\t\t\t\tif (link) {\n\t\t\t\t\t\tconst ratio = link.getBoundingClientRect().width / link.offsetWidth\n\t\t\t\t\t\tconst ratio2 = Number(getComputedStyle(link).fontSize.trim().toLowerCase().replace(/px$/, '')) / Number(getComputedStyle(document.body).fontSize.trim().toLowerCase().replace(/px$/, ''))\n\t\t\t\t\t\tsize.value = ratio * ratio2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 打开:播放入场动画并绑定滚动关闭;仅调整布局:浮层已展开,不再走 setOpenStyle,避免等同「再打开」\n\t\t\tif (el.value && !reposition) {\n\t\t\t\tsetOpenStyle()\n\t\t\t}\n\t\t\tif (link && !('x' in link) && !('touches' in link) && !reposition) {\n\t\t\t\tsetScrollStatus()\n\t\t\t}\n\t\t\t// 内容变化后高度已更新,把内部列表滚动恢复到重算前\n\t\t\tif (reposition && savedScrollTops.length) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\trestoreScrollTops(savedScrollTops)\n\t\t\t\t\trequestAnimationFrame(() => restoreScrollTops(savedScrollTops))\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunction open(by?: any) {\n\tif (props.beforeOpen) {\n\t\tconst fn = props.beforeOpen()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\topenAction(by)\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) openAction(by)\n\t\t}\n\t} else {\n\t\topenAction(by)\n\t}\n}\n\nfunction openAction(by?: any) {\n\tif (!isOpen.value) {\n\t\temit('beforeOpen')\n\n\t\tif (props.slide) {\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置样式\n\t\t\tnextTick(() => {\n\t\t\t\tset()\n\t\t\t\tsetOpenStyle()\n\t\t\t\tstartContentObserver()\n\t\t\t})\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\tlet timer: any = null\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\temit('opened')\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}, Number(props.speed))\n\n\t\t\tisOpen.value = true\n\t\t} else {\n\t\t\tdocument.body.addEventListener('mousedown', blur)\n\t\t\tdocument.body.addEventListener('touchstart', blur)\n\n\t\t\tif (by) {\n\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\tlink.value = by\n\t\t\t\t\tif (by.clientX || (by.touches && by.touches[0].clientX)) {\n\t\t\t\t\t\tevent.value = 'contextmenu'\n\t\t\t\t\t}\n\t\t\t\t\tif (by.type === 'contextmenu') {\n\t\t\t\t\t\tby.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// 兼容处理:如果by是DOM元素则直接使用,否则通过$refs.el获取\n\t\t\t\t\tif (by instanceof HTMLElement) {\n\t\t\t\t\t\tlink.value = by\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetElementFromRef(by).then(element => {\n\t\t\t\t\t\t\tlink.value = element\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 打开\n\t\t\tif (props.lazy) {\n\t\t\t\tifShow.value = true\n\t\t\t}\n\n\t\t\t// 设置其他依赖项\n\t\t\tsetTimeout(() => {\n\t\t\t\tset(link.value)\n\t\t\t\tstartContentObserver()\n\t\t\t}, 0)\n\n\t\t\t// 后置事件\n\t\t\tif (props.afterOpen && Object.prototype.toString.call(props.afterOpen) === '[object Function]') {\n\t\t\t\tprops.afterOpen()\n\t\t\t}\n\n\t\t\t// 后置动作\n\t\t\temit('opened')\n\t\t\tisOpen.value = true\n\t\t}\n\t}\n}\n\nfunction setOpenStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\twrapper.value.style.transition = transitionTransform.value\n\t\t\twrapper.value.style.transform = 'translateY(0)'\n\t\t\tsetTimeout(() => {\n\t\t\t\twrapper.value.style.transform = ''\n\t\t\t}, Number(props.speed))\n\t\t}, 0)\n\t} else {\n\t\t// 先固定为收起态且无过渡,再下一帧加 transition 并展开,避免与布局测量同一帧合并导致无动画\n\t\tel.value.style.transition = 'none'\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t\tel.value.style.visibility = 'visible'\n\t\trequestAnimationFrame(() => {\n\t\t\tel.value.style.transition = transitionTransform.value\n\t\t\tel.value.style.transform = 'scale(1)'\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.value.style.transform = ''\n\t\t\t\tel.value.style.transition = ''\n\t\t\t}, Number(props.speed))\n\t\t})\n\t}\n\tel.value.style.zIndex = (window as any).$TouchUI?.zIndex\n}\n\nfunction close(e?: Event) {\n\t// float 组件内部滚动不关闭\n\tif (e && el.value && e.target && typeof Node !== 'undefined' && e.target instanceof Node && el.value.contains(e.target)) {\n\t\treturn\n\t}\n\tif (isOpen.value) {\n\t\tif (props.beforeClose) {\n\t\t\tconst fn = props.beforeClose()\n\t\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tcloseAction()\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tconsole.log(error)\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (fn) closeAction()\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAction()\n\t\t}\n\t}\n}\n\nfunction closeAction() {\n\tstopContentObserver()\n\t// 参数重置\n\tif (!props.height && wrapper.value) {\n\t\twrapper.value.style.height = ''\n\t}\n\tisOver.value = false\n\n\tif (props.slide) {\n\t\tsetCloseStyle()\n\t\tisOpen.value = false\n\t} else {\n\t\t// 移除事件\n\t\tif (scrollNode.value) {\n\t\t\tscrollNode.value.removeEventListener('scroll', close)\n\t\t}\n\n\t\t// 前置事件\n\t\temit('beforeClose')\n\n\t\t// 样式设置\n\t\tsetCloseStyle()\n\n\t\t// 关闭\n\t\tisOpen.value = false\n\t}\n\n\tsetTimeout(() => {\n\t\t// 销毁\n\t\tif (props.lazy) {\n\t\t\tifShow.value = false\n\t\t}\n\n\t\t// 后置事件\n\t\temit('closed')\n\n\t\t// 后置方法\n\t\tif (props.afterClose && Object.prototype.toString.call(props.afterClose) === '[object Function]') {\n\t\t\tprops.afterClose()\n\t\t}\n\t}, Number(props.speed))\n}\n\nfunction setCloseStyle() {\n\tif (props.slide) {\n\t\tif (iposition.value === 'top') {\n\t\t\twrapper.value.style.transform = 'translateY(-100%)'\n\t\t}\n\t\tif (iposition.value === 'bottom') {\n\t\t\twrapper.value.style.transform = 'translateY(100%)'\n\t\t}\n\t\tif (iposition.value === 'right') {\n\t\t\twrapper.value.style.transform = 'translateX(100%)'\n\t\t}\n\t\tif (iposition.value === 'left') {\n\t\t\twrapper.value.style.transform = 'translateX(-100%)'\n\t\t}\n\t} else {\n\t\t// 打开结束时会清空 transition,这里必须带上 transition,否则收起没有过渡\n\t\tel.value.style.transition = transitionTransform.value\n\t\tel.value.style.transform = 'scale(1, 0)'\n\t}\n}\n\nfunction toggle(by?: any) {\n\tif (isOpen.value) {\n\t\tclose()\n\t} else {\n\t\tif (by) {\n\t\t\topen(by)\n\t\t} else {\n\t\t\topen()\n\t\t}\n\t}\n}\n\nfunction blur(e: MouseEvent | TouchEvent) {\n\tif (!props.closeOnBlur) return\n\t// 同步阶段:检查点击目标是否在之后打开的浮层内(DOM 顺序更靠后)\n\t// 所有浮层都 teleport 到 body,DOM 顺序即打开顺序\n\tif (el.value && e.target instanceof Node) {\n\t\tconst allFloats = Array.from(document.querySelectorAll('.to-float.is-show'))\n\t\tconst currentIdx = allFloats.indexOf(el.value)\n\t\tfor (let i = currentIdx + 1; i < allFloats.length; i++) {\n\t\t\tif (allFloats[i].contains(e.target)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\tnextTick(() => {\n\t\tlet node = e.target as HTMLElement | null\n\t\tif (event.value === 'contextmenu') {\n\t\t\t// 右键点击,任意位置均隐藏 && node !== this.$el\n\t\t\twhile (node && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else if (link.value && 'target' in link.value && link.value.target) {\n\t\t\twhile (node && node !== el.value && node !== link.value.target && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t} else {\n\t\t\twhile (node && node !== el.value && node !== link.value && node.nodeName !== 'BODY') {\n\t\t\t\tnode = node.parentNode as HTMLElement | null\n\t\t\t}\n\t\t}\n\t\tif (node && node.nodeName === 'BODY') {\n\t\t\tclose()\n\t\t}\n\t})\n}\n\nfunction setScrollStatus() {\n\tdocument.body.addEventListener('scroll', close, { passive: true })\n\tdocument.body.addEventListener('wheel', close, { passive: true })\n}\n\nasync function getElementFromRef(refOrNode) {\n\tawait nextTick() // 保证 DOM 已渲染\n\tif (!refOrNode) return null\n\tconst val = refOrNode.value ?? refOrNode\n\tif (!val) return null\n\tif (val instanceof Element || val instanceof Text) return val\n\tif (val.$el) return val.$el\n\tif (val._vnode && val._vnode.el) return val._vnode.el\n\treturn null\n}\n\nfunction startContentObserver() {\n\tstopContentObserver()\n\tif (content.value) {\n\t\tcontentObserver.value = new MutationObserver(() => {\n\t\t\tif (isOpen.value) {\n\t\t\t\tif (contentObserverTimer) clearTimeout(contentObserverTimer)\n\t\t\t\tcontentObserverTimer = setTimeout(() => {\n\t\t\t\t\tset(link.value, true)\n\t\t\t\t}, 0)\n\t\t\t}\n\t\t})\n\t\tcontentObserver.value.observe(content.value, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t\tcharacterData: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['style', 'class']\n\t\t})\n\t}\n}\n\nfunction stopContentObserver() {\n\tif (contentObserver.value) {\n\t\tcontentObserver.value.disconnect()\n\t\tcontentObserver.value = null\n\t}\n\tif (contentObserverTimer) {\n\t\tclearTimeout(contentObserverTimer)\n\t\tcontentObserverTimer = null\n\t}\n}\n\n// 暴露方法\ndefineExpose({ open, close, toggle, set })\n</script>\n"],"names":["DO_defineComponent","el","link","_createBlock","_Teleport","global","lazy","_createElementBlock","_unref","_normalizeStyle","$emit","_createElementVNode","slide","_renderSlot"],"mappings":"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"}
@@ -17,7 +17,7 @@ const floatProps = {
17
17
  afterOpen: { type: Function, default: null },
18
18
  dx: { type: [Number, String], default: 0 },
19
19
  dy: { type: [Number, String], default: 0 },
20
- mode: { type: String, default: "" },
20
+ mode: { type: String, default: "default" },
21
21
  global: { type: Boolean, default: true },
22
22
  speed: { type: [Number, String], default: 100 }
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"float.mjs","sources":["../../../../../../packages/components/float/src/float.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const floatProps = {\n\tslide: { type: Boolean, default: false },\n\tshow: { type: Boolean, default: false },\n\tlazy: { type: Boolean, default: true },\n\tposition: { type: String, default: '' },\n\twidth: { type: [Number, String], default: '' },\n\theight: { type: [Number, String], default: '' },\n\tleft: { type: [Number, String], default: '' },\n\ttop: { type: [Number, String], default: '' },\n\talign: { type: String, default: 'auto' },\n\tmask: { type: Boolean, default: true },\n\tzIndex: { type: Number, default: 0 },\n\tcloseOnBlur: { type: Boolean, default: true },\n\tbeforeClose: { type: Function, default: null },\n\tbeforeOpen: { type: Function, default: null },\n\tafterClose: { type: Function, default: null },\n\tafterOpen: { type: Function, default: null },\n\tdx: { type: [Number, String], default: 0 },\n\tdy: { type: [Number, String], default: 0 },\n\tmode: { type: String, default: '' },\n\tglobal: { type: Boolean, default: true },\n\tspeed: { type: [Number, String], default: 100 }\n}\n\nexport type FloatProps = ExtractPropTypes<typeof floatProps>\n\nexport const floatEmits = ['click', 'mouseenter', 'mouseleave', 'beforeOpen', 'opened', 'beforeClose', 'closed']\n\nexport type FloatEmits = typeof floatEmits\n"],"names":[],"mappings":"AAEO,MAAM,UAAa,GAAA;AAAA,EACzB,KAAO,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACtC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,QAAU,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EACtC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC7C,MAAA,EAAQ,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC9C,IAAA,EAAM,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC5C,GAAA,EAAK,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC3C,KAAO,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,MAAO,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,MAAQ,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,CAAE,EAAA;AAAA,EACnC,WAAa,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EAC5C,WAAa,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC7C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,SAAW,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC3C,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,IAAM,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EAClC,MAAQ,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACvC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,GAAI,EAAA;AAC/C,EAAA;AAIa,MAAA,UAAA,GAAa,CAAC,OAAS,EAAA,YAAA,EAAc,cAAc,YAAc,EAAA,QAAA,EAAU,eAAe,QAAQ;;;;"}
1
+ {"version":3,"file":"float.mjs","sources":["../../../../../../packages/components/float/src/float.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const floatProps = {\n\tslide: { type: Boolean, default: false },\n\tshow: { type: Boolean, default: false },\n\tlazy: { type: Boolean, default: true },\n\tposition: { type: String, default: '' },\n\twidth: { type: [Number, String], default: '' },\n\theight: { type: [Number, String], default: '' },\n\tleft: { type: [Number, String], default: '' },\n\ttop: { type: [Number, String], default: '' },\n\talign: { type: String, default: 'auto' },\n\tmask: { type: Boolean, default: true },\n\tzIndex: { type: Number, default: 0 },\n\tcloseOnBlur: { type: Boolean, default: true },\n\tbeforeClose: { type: Function, default: null },\n\tbeforeOpen: { type: Function, default: null },\n\tafterClose: { type: Function, default: null },\n\tafterOpen: { type: Function, default: null },\n\tdx: { type: [Number, String], default: 0 },\n\tdy: { type: [Number, String], default: 0 },\n\tmode: { type: String, default: 'default' },\n\tglobal: { type: Boolean, default: true },\n\tspeed: { type: [Number, String], default: 100 }\n}\n\nexport type FloatProps = ExtractPropTypes<typeof floatProps>\n\nexport const floatEmits = ['click', 'mouseenter', 'mouseleave', 'beforeOpen', 'opened', 'beforeClose', 'closed']\n\nexport type FloatEmits = typeof floatEmits\n"],"names":[],"mappings":"AAEO,MAAM,UAAa,GAAA;AAAA,EACzB,KAAO,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA;AAAA,EACtC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,QAAU,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,EAAG,EAAA;AAAA,EACtC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC7C,MAAA,EAAQ,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC9C,IAAA,EAAM,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC5C,GAAA,EAAK,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,EAAG,EAAA;AAAA,EAC3C,KAAO,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,MAAO,EAAA;AAAA,EACvC,IAAM,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACrC,MAAQ,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,CAAE,EAAA;AAAA,EACnC,WAAa,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EAC5C,WAAa,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC7C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,UAAY,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC5C,SAAW,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,SAAS,IAAK,EAAA;AAAA,EAC3C,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,EAAA,EAAI,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,CAAE,EAAA;AAAA,EACzC,IAAM,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,SAAU,EAAA;AAAA,EACzC,MAAQ,EAAA,EAAE,IAAM,EAAA,OAAA,EAAS,SAAS,IAAK,EAAA;AAAA,EACvC,KAAA,EAAO,EAAE,IAAM,EAAA,CAAC,QAAQ,MAAM,CAAA,EAAG,SAAS,GAAI,EAAA;AAC/C,EAAA;AAIa,MAAA,UAAA,GAAa,CAAC,OAAS,EAAA,YAAA,EAAc,cAAc,YAAc,EAAA,QAAA,EAAU,eAAe,QAAQ;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, useSlots, computed, watch, onMounted, onBeforeUnmount, provide, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, renderSlot, createCommentVNode, unref } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToForm"
@@ -33,7 +34,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
33
34
  },
34
35
  mode: {
35
36
  type: String,
36
- default: ""
37
+ default: "default"
37
38
  },
38
39
  valueWidth: {
39
40
  type: String,
@@ -99,7 +100,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
99
100
  if (props.submitPosition)
100
101
  arr.push(`submit-position-${props.submitPosition}`);
101
102
  if (props.mode)
102
- arr.push(`mode-${props.mode}`);
103
+ arr.push(...getModeClasses(props.mode));
103
104
  if (props.dir)
104
105
  arr.push(`dir-${props.dir}`);
105
106
  if (props.valueWidth)
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToForm'\n});\n</script>\n<template>\n\t<div class=\"to-form\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"toForm\" class=\"to-form-list\">\n\t\t\t<slot></slot>\n\t\t\t<div v-if=\"props.submitPosition === 'corner'\" class=\"to-form-item is-placeholder\"></div>\n\t\t\t<div v-if=\"slots.submit\" class=\"to-form-submit\" :style=\"submitStyle\">\n\t\t\t\t<slot name=\"submit\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, onMounted, onBeforeUnmount, provide, useSlots, watch } from 'vue'\n\n\nconst props = defineProps({\n\tflex: Boolean,\n\tlabelWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tlabelPosition: {\n\t\ttype: String,\n\t\tdefault: 'left'\n\t},\n\tcol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\tsubmitPosition: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdir: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tvalueWidth: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tspace: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceX: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceY: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tcomparable: Boolean\n})\n\nconst toForm = ref<HTMLElement | null>(null)\nconst slots = useSlots()\nconst items = ref<any[]>([])\nconst maxLabelWidth = ref(0)\n\n// 响应式引用,用于 provide 给子组件\nconst labelWidthRef = ref(props.labelWidth)\nconst labelPositionRef = ref(props.labelPosition)\nconst spaceRef = ref(props.space)\nconst spaceXRef = ref(props.spaceX)\nconst spaceYRef = ref(props.spaceY)\nconst valueWidthRef = ref(props.valueWidth)\n\nconst adjust = () => {\n\tsetTimeout(() => {\n\t\tlet maxWidth = 0\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = ''\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tconst label = item?.$refs?.label\n\t\t\tif (label && label.clientWidth > maxWidth) {\n\t\t\t\tmaxWidth = label.clientWidth\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = `${maxWidth + 1}px`\n\t\t\t}\n\t\t})\n\t\tmaxLabelWidth.value = maxWidth + 1\n\t}, 200)\n}\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.col) {\n\t\tarr.push('is-col')\n\t\tarr.push(`col-${props.col}`)\n\t}\n\tif (props.submitPosition) arr.push(`submit-position-${props.submitPosition}`)\n\tif (props.mode) arr.push(`mode-${props.mode}`)\n\tif (props.dir) arr.push(`dir-${props.dir}`)\n\tif (props.valueWidth) arr.push(`value-width-${props.valueWidth}`)\n\tif (props.labelPosition) arr.push(`label-position-${props.labelPosition}`)\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.space) {\n\t\tstyle.gap = props.space + 'em'\n\t}\n\tif (props.spaceX) {\n\t\tstyle['--gap-x'] = props.spaceX + 'em'\n\t}\n\tif (props.spaceY) {\n\t\tstyle['--gap-y'] = props.spaceY + 'em'\n\t}\n\treturn style\n})\n\nconst submitStyle = computed(() => {\n\tif (props.submitPosition === 'item') {\n\t\tif (props.labelWidth === 'max') {\n\t\t\treturn { marginLeft: maxLabelWidth.value + 'px' }\n\t\t} else {\n\t\t\treturn { marginLeft: props.labelWidth + 'em' }\n\t\t}\n\t}\n\treturn {}\n})\n\n// 监听 props 变化,更新响应式引用\nwatch(\n\t() => props.labelWidth,\n\tnewVal => {\n\t\tlabelWidthRef.value = newVal\n\t\tif (newVal === 'max') {\n\t\t\tadjust()\n\t\t}\n\t}\n)\n\nwatch(\n\t() => props.labelPosition,\n\tnewVal => {\n\t\tlabelPositionRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.space,\n\tnewVal => {\n\t\tspaceRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceX,\n\tnewVal => {\n\t\tspaceXRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceY,\n\tnewVal => {\n\t\tspaceYRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.valueWidth,\n\tnewVal => {\n\t\tvalueWidthRef.value = newVal\n\t}\n)\n\nonMounted(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.addEventListener('resize', adjust)\n\t\tadjust()\n\t}\n})\n\nonBeforeUnmount(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.removeEventListener('resize', adjust)\n\t}\n})\n\n// provide current instance\nprovide('ToForm', {\n\tlabelWidth: labelWidthRef,\n\tlabelPosition: labelPositionRef,\n\tspace: spaceRef,\n\tspaceX: spaceXRef,\n\tspaceY: spaceYRef,\n\tsubmitPosition: props.submitPosition,\n\titems: items.value,\n\ttype: props.type,\n\tcomparable: props.comparable,\n\tvalueWidth: valueWidthRef\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_unref"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAiDd,IAAM,MAAA,MAAA,GAAS,IAAwB,IAAI,CAAA,CAAA;AAC3C,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,KAAA,GAAQ,GAAW,CAAA,EAAE,CAAA,CAAA;AAC3B,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAC,CAAA,CAAA;AAG3B,IAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAC1C,IAAM,MAAA,gBAAA,GAAmB,GAAI,CAAA,KAAA,CAAM,aAAa,CAAA,CAAA;AAChD,IAAM,MAAA,QAAA,GAAW,GAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAChC,IAAM,MAAA,SAAA,GAAY,GAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAClC,IAAM,MAAA,SAAA,GAAY,GAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAClC,IAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAE1C,IAAA,MAAM,SAAS,MAAM;AACpB,MAAA,UAAA,CAAW,MAAM;AAChB,QAAA,IAAI,QAAW,GAAA,CAAA,CAAA;AACf,QAAM,KAAA,CAAA,KAAA,CAAM,QAAQ,CAAQ,IAAA,KAAA;;AAC3B,UAAI,IAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,KAAO,EAAA;AACvB,YAAK,IAAA,CAAA,KAAA,CAAM,KAAM,CAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AAAA,WAChC;AAAA,SACA,CAAA,CAAA;AACD,QAAM,KAAA,CAAA,KAAA,CAAM,QAAQ,CAAQ,IAAA,KAAA;;AAC3B,UAAM,MAAA,KAAA,GAAA,CAAQ,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAC3B,UAAI,IAAA,KAAA,IAAS,KAAM,CAAA,WAAA,GAAc,QAAU,EAAA;AAC1C,YAAA,QAAA,GAAW,KAAM,CAAA,WAAA,CAAA;AAAA,WAClB;AAAA,SACA,CAAA,CAAA;AACD,QAAM,KAAA,CAAA,KAAA,CAAM,QAAQ,CAAQ,IAAA,KAAA;;AAC3B,UAAI,IAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,KAAO,EAAA;AACvB,YAAA,IAAA,CAAK,KAAM,CAAA,KAAA,CAAM,KAAM,CAAA,KAAA,GAAQ,GAAG,QAAW,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,WAC9C;AAAA,SACA,CAAA,CAAA;AACD,QAAA,aAAA,CAAc,QAAQ,QAAW,GAAA,CAAA,CAAA;AAAA,SAC/B,GAAG,CAAA,CAAA;AAAA,KACP,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAAgB,EAAC,CAAA;AACvB,MAAA,IAAI,MAAM,GAAK,EAAA;AACd,QAAA,GAAA,CAAI,KAAK,QAAQ,CAAA,CAAA;AACjB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAO,IAAA,EAAA,KAAA,CAAM,GAAK,CAAA,CAAA,CAAA,CAAA;AAAA,OAC5B;AACA,MAAA,IAAI,KAAM,CAAA,cAAA;AAAgB,QAAI,GAAA,CAAA,IAAA,CAAK,CAAmB,gBAAA,EAAA,KAAA,CAAM,cAAgB,CAAA,CAAA,CAAA,CAAA;AAC5E,MAAA,IAAI,KAAM,CAAA,IAAA;AAAM,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAC7C,MAAA,IAAI,KAAM,CAAA,GAAA;AAAK,QAAI,GAAA,CAAA,IAAA,CAAK,CAAO,IAAA,EAAA,KAAA,CAAM,GAAK,CAAA,CAAA,CAAA,CAAA;AAC1C,MAAA,IAAI,KAAM,CAAA,UAAA;AAAY,QAAI,GAAA,CAAA,IAAA,CAAK,CAAe,YAAA,EAAA,KAAA,CAAM,UAAY,CAAA,CAAA,CAAA,CAAA;AAChE,MAAA,IAAI,KAAM,CAAA,aAAA;AAAe,QAAI,GAAA,CAAA,IAAA,CAAK,CAAkB,eAAA,EAAA,KAAA,CAAM,aAAe,CAAA,CAAA,CAAA,CAAA;AACzE,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,QAAgC,EAAC,CAAA;AACvC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAM,KAAA,CAAA,GAAA,GAAM,MAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,OAC3B;AACA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAM,KAAA,CAAA,SAAS,CAAI,GAAA,KAAA,CAAM,MAAS,GAAA,IAAA,CAAA;AAAA,OACnC;AACA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAM,KAAA,CAAA,SAAS,CAAI,GAAA,KAAA,CAAM,MAAS,GAAA,IAAA,CAAA;AAAA,OACnC;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AAClC,MAAI,IAAA,KAAA,CAAM,mBAAmB,MAAQ,EAAA;AACpC,QAAI,IAAA,KAAA,CAAM,eAAe,KAAO,EAAA;AAC/B,UAAA,OAAO,EAAE,UAAA,EAAY,aAAc,CAAA,KAAA,GAAQ,IAAK,EAAA,CAAA;AAAA,SAC1C,MAAA;AACN,UAAA,OAAO,EAAE,UAAA,EAAY,KAAM,CAAA,UAAA,GAAa,IAAK,EAAA,CAAA;AAAA,SAC9C;AAAA,OACD;AACA,MAAA,OAAO,EAAC,CAAA;AAAA,KACR,CAAA,CAAA;AAGD,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,aAAA,CAAc,KAAQ,GAAA,MAAA,CAAA;AACtB,QAAA,IAAI,WAAW,KAAO,EAAA;AACrB,UAAO,MAAA,EAAA,CAAA;AAAA,SACR;AAAA,OACD;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,aAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,gBAAA,CAAiB,KAAQ,GAAA,MAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,QAAA,CAAS,KAAQ,GAAA,MAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,MAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAA;AAAA,OACnB;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,MAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAA;AAAA,OACnB;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAU,MAAA,KAAA;AACT,QAAA,aAAA,CAAc,KAAQ,GAAA,MAAA,CAAA;AAAA,OACvB;AAAA,KACD,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACf,MAAI,IAAA,KAAA,CAAM,eAAe,KAAO,EAAA;AAC/B,QAAO,MAAA,CAAA,gBAAA,CAAiB,UAAU,MAAM,CAAA,CAAA;AACxC,QAAO,MAAA,EAAA,CAAA;AAAA,OACR;AAAA,KACA,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAI,IAAA,KAAA,CAAM,eAAe,KAAO,EAAA;AAC/B,QAAO,MAAA,CAAA,mBAAA,CAAoB,UAAU,MAAM,CAAA,CAAA;AAAA,OAC5C;AAAA,KACA,CAAA,CAAA;AAGD,IAAA,OAAA,CAAQ,QAAU,EAAA;AAAA,MACjB,UAAY,EAAA,aAAA;AAAA,MACZ,aAAe,EAAA,gBAAA;AAAA,MACf,KAAO,EAAA,QAAA;AAAA,MACP,MAAQ,EAAA,SAAA;AAAA,MACR,MAAQ,EAAA,SAAA;AAAA,MACR,gBAAgB,KAAM,CAAA,cAAA;AAAA,MACtB,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,UAAY,EAAA,aAAA;AAAA,KACZ,CAAA,CAAA;;wBAlNA,EAAAC,kBAAA,CAQM,KAAA,EAAA;AAAA,QARD,OAAKC,cAAA,CAAA,CAAC,SAA6C,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAA1C,IAAM,EAAA,OAAA,CAAI,IAAG,GAAA,OAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAA4B,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QACjFC,kBAAA;AAAA,UAMM,KAAA;AAAA,UAAA;AAAA,mBANG,EAAA,QAAA;AAAA,YAAJ,GAAI,EAAA,MAAA;AAAA,YAAS,KAAM,EAAA,cAAA;AAAA;;YACvBC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,YACF,MAAM,cAAc,KAAA,QAAA,iBAA/BH,mBAAwF,KAAA,EAAA;AAAA;cAA1C,KAAM,EAAA,6BAAA;AAAA;YACzCI,KAAA,CAAA,KAAA,CAAM,CAAA,MAAA,eAAjB,EAAAJ,kBAAA;AAAA,cAEM,KAAA;AAAA,cAAA;AAAA;gBAFmB,KAAM,EAAA,gBAAA;AAAA,gBAAkB,KAAA,gBAAO,CAAA,WAAA,CAAW,KAAA,CAAA;AAAA;;gBAClEG,UAAA,CAA2B,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToForm'\n});\n</script>\n<template>\n\t<div class=\"to-form\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"toForm\" class=\"to-form-list\">\n\t\t\t<slot></slot>\n\t\t\t<div v-if=\"props.submitPosition === 'corner'\" class=\"to-form-item is-placeholder\"></div>\n\t\t\t<div v-if=\"slots.submit\" class=\"to-form-submit\" :style=\"submitStyle\">\n\t\t\t\t<slot name=\"submit\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, onMounted, onBeforeUnmount, provide, useSlots, watch } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\n\n\nconst props = defineProps({\n\tflex: Boolean,\n\tlabelWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tlabelPosition: {\n\t\ttype: String,\n\t\tdefault: 'left'\n\t},\n\tcol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\tsubmitPosition: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdir: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\tvalueWidth: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tspace: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceX: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceY: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tcomparable: Boolean\n})\n\nconst toForm = ref<HTMLElement | null>(null)\nconst slots = useSlots()\nconst items = ref<any[]>([])\nconst maxLabelWidth = ref(0)\n\n// 响应式引用,用于 provide 给子组件\nconst labelWidthRef = ref(props.labelWidth)\nconst labelPositionRef = ref(props.labelPosition)\nconst spaceRef = ref(props.space)\nconst spaceXRef = ref(props.spaceX)\nconst spaceYRef = ref(props.spaceY)\nconst valueWidthRef = ref(props.valueWidth)\n\nconst adjust = () => {\n\tsetTimeout(() => {\n\t\tlet maxWidth = 0\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = ''\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tconst label = item?.$refs?.label\n\t\t\tif (label && label.clientWidth > maxWidth) {\n\t\t\t\tmaxWidth = label.clientWidth\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = `${maxWidth + 1}px`\n\t\t\t}\n\t\t})\n\t\tmaxLabelWidth.value = maxWidth + 1\n\t}, 200)\n}\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.col) {\n\t\tarr.push('is-col')\n\t\tarr.push(`col-${props.col}`)\n\t}\n\tif (props.submitPosition) arr.push(`submit-position-${props.submitPosition}`)\n\tif (props.mode) arr.push(...getModeClasses(props.mode))\n\tif (props.dir) arr.push(`dir-${props.dir}`)\n\tif (props.valueWidth) arr.push(`value-width-${props.valueWidth}`)\n\tif (props.labelPosition) arr.push(`label-position-${props.labelPosition}`)\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.space) {\n\t\tstyle.gap = props.space + 'em'\n\t}\n\tif (props.spaceX) {\n\t\tstyle['--gap-x'] = props.spaceX + 'em'\n\t}\n\tif (props.spaceY) {\n\t\tstyle['--gap-y'] = props.spaceY + 'em'\n\t}\n\treturn style\n})\n\nconst submitStyle = computed(() => {\n\tif (props.submitPosition === 'item') {\n\t\tif (props.labelWidth === 'max') {\n\t\t\treturn { marginLeft: maxLabelWidth.value + 'px' }\n\t\t} else {\n\t\t\treturn { marginLeft: props.labelWidth + 'em' }\n\t\t}\n\t}\n\treturn {}\n})\n\n// 监听 props 变化,更新响应式引用\nwatch(\n\t() => props.labelWidth,\n\tnewVal => {\n\t\tlabelWidthRef.value = newVal\n\t\tif (newVal === 'max') {\n\t\t\tadjust()\n\t\t}\n\t}\n)\n\nwatch(\n\t() => props.labelPosition,\n\tnewVal => {\n\t\tlabelPositionRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.space,\n\tnewVal => {\n\t\tspaceRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceX,\n\tnewVal => {\n\t\tspaceXRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceY,\n\tnewVal => {\n\t\tspaceYRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.valueWidth,\n\tnewVal => {\n\t\tvalueWidthRef.value = newVal\n\t}\n)\n\nonMounted(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.addEventListener('resize', adjust)\n\t\tadjust()\n\t}\n})\n\nonBeforeUnmount(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.removeEventListener('resize', adjust)\n\t}\n})\n\n// provide current instance\nprovide('ToForm', {\n\tlabelWidth: labelWidthRef,\n\tlabelPosition: labelPositionRef,\n\tspace: spaceRef,\n\tspaceX: spaceXRef,\n\tspaceY: spaceYRef,\n\tsubmitPosition: props.submitPosition,\n\titems: items.value,\n\ttype: props.type,\n\tcomparable: props.comparable,\n\tvalueWidth: valueWidthRef\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_unref"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToGap"
@@ -44,7 +45,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
44
45
  const setClass = computed(() => {
45
46
  let arr = [];
46
47
  if (props.mode) {
47
- arr.push(`mode-${props.mode}`);
48
+ arr.push(...getModeClasses(props.mode));
48
49
  }
49
50
  if (props.inline) {
50
51
  arr.push(`is-inline`);
@@ -1 +1 @@
1
- {"version":3,"file":"gap.vue2.mjs","sources":["../../../../../../packages/components/gap/src/gap.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGap'\n});\n</script>\n<template>\n\t<div class=\"to-gap\" :flex=\"flex ? flex : null\" :style=\"setStyle\" :class=\"setClass\"></div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, CSSProperties } from 'vue'\n\n\n\nconst props = defineProps({\n\tflex: Boolean,\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\tvalue: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t}\n})\n\nconst setStyle = computed((): CSSProperties => {\n\tconst obj: CSSProperties = {}\n\tif (props.value && Number(props.value) !== -1) {\n\t\tif (props.inline) {\n\t\t\tif (!isNaN(Number(props.value))) {\n\t\t\t\tobj.width = props.value + 'em'\n\t\t\t} else {\n\t\t\t\tobj.width = props.value\n\t\t\t}\n\t\t} else {\n\t\t\tif (!isNaN(Number(props.value))) {\n\t\t\t\tobj.height = props.value + 'em'\n\t\t\t} else {\n\t\t\t\tobj.height = props.value\n\t\t\t}\n\t\t}\n\t}\n\treturn obj\n})\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.inline) {\n\t\tarr.push(`is-inline`)\n\t}\n\tif (Number(props.value) === -1) {\n\t\tarr.push('is-close')\n\t}\n\treturn arr\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,OAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;AAUD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAgBd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAqB;AAC9C,MAAA,MAAM,MAAqB,EAAC,CAAA;AAC5B,MAAA,IAAI,MAAM,KAAS,IAAA,MAAA,CAAO,KAAM,CAAA,KAAK,MAAM,CAAI,CAAA,EAAA;AAC9C,QAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,UAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,YAAI,GAAA,CAAA,KAAA,GAAQ,MAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,WACpB,MAAA;AACN,YAAA,GAAA,CAAI,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,WACnB;AAAA,SACM,MAAA;AACN,UAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,YAAI,GAAA,CAAA,MAAA,GAAS,MAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,WACrB,MAAA;AACN,YAAA,GAAA,CAAI,SAAS,KAAM,CAAA,KAAA,CAAA;AAAA,WACpB;AAAA,SACD;AAAA,OACD;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AACA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,GAAA,CAAI,KAAK,CAAW,SAAA,CAAA,CAAA,CAAA;AAAA,OACrB;AACA,MAAA,IAAI,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,KAAM,CAAI,CAAA,EAAA;AAC/B,QAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;;wBAtDA,EAAAC,kBAAA,CAAyF,KAAA,EAAA;AAAA,QAApF,OAAKC,cAAA,CAAA,CAAC,QAA8D,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAA5D,IAAM,EAAA,OAAA,CAAI,IAAG,GAAA,OAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAU,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"gap.vue2.mjs","sources":["../../../../../../packages/components/gap/src/gap.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGap'\n});\n</script>\n<template>\n\t<div class=\"to-gap\" :flex=\"flex ? flex : null\" :style=\"setStyle\" :class=\"setClass\"></div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, CSSProperties } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\n\n\n\nconst props = defineProps({\n\tflex: Boolean,\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\tvalue: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t}\n})\n\nconst setStyle = computed((): CSSProperties => {\n\tconst obj: CSSProperties = {}\n\tif (props.value && Number(props.value) !== -1) {\n\t\tif (props.inline) {\n\t\t\tif (!isNaN(Number(props.value))) {\n\t\t\t\tobj.width = props.value + 'em'\n\t\t\t} else {\n\t\t\t\tobj.width = props.value\n\t\t\t}\n\t\t} else {\n\t\t\tif (!isNaN(Number(props.value))) {\n\t\t\t\tobj.height = props.value + 'em'\n\t\t\t} else {\n\t\t\t\tobj.height = props.value\n\t\t\t}\n\t\t}\n\t}\n\treturn obj\n})\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (props.inline) {\n\t\tarr.push(`is-inline`)\n\t}\n\tif (Number(props.value) === -1) {\n\t\tarr.push('is-close')\n\t}\n\treturn arr\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,OAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;AAWD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAgBd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAqB;AAC9C,MAAA,MAAM,MAAqB,EAAC,CAAA;AAC5B,MAAA,IAAI,MAAM,KAAS,IAAA,MAAA,CAAO,KAAM,CAAA,KAAK,MAAM,CAAI,CAAA,EAAA;AAC9C,QAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,UAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,YAAI,GAAA,CAAA,KAAA,GAAQ,MAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,WACpB,MAAA;AACN,YAAA,GAAA,CAAI,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,WACnB;AAAA,SACM,MAAA;AACN,UAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,YAAI,GAAA,CAAA,MAAA,GAAS,MAAM,KAAQ,GAAA,IAAA,CAAA;AAAA,WACrB,MAAA;AACN,YAAA,GAAA,CAAI,SAAS,KAAM,CAAA,KAAA,CAAA;AAAA,WACpB;AAAA,SACD;AAAA,OACD;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,GAAA,CAAI,IAAK,CAAA,GAAG,cAAe,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAAA,OACvC;AACA,MAAA,IAAI,MAAM,MAAQ,EAAA;AACjB,QAAA,GAAA,CAAI,KAAK,CAAW,SAAA,CAAA,CAAA,CAAA;AAAA,OACrB;AACA,MAAA,IAAI,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,KAAM,CAAI,CAAA,EAAA;AAC/B,QAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;;wBAvDA,EAAAC,kBAAA,CAAyF,KAAA,EAAA;AAAA,QAApF,OAAKC,cAAA,CAAA,CAAC,QAA8D,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAA5D,IAAM,EAAA,OAAA,CAAI,IAAG,GAAA,OAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAU,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, renderSlot } from 'vue';
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from 'vue';
2
2
 
3
3
  const __default__ = defineComponent({
4
4
  name: "ToGridItem"
@@ -7,10 +7,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  ...__default__,
8
8
  props: {
9
9
  width: { default: "" },
10
- flex: { type: Boolean, default: false }
10
+ flex: { type: Boolean, default: false },
11
+ align: { default: "center" }
11
12
  },
12
13
  setup(__props) {
13
14
  const props = __props;
15
+ const setClass = computed(() => {
16
+ const arr = [];
17
+ if (props.align)
18
+ arr.push(`align-${props.align}`);
19
+ return arr;
20
+ });
14
21
  const setStyle = computed(() => {
15
22
  const style = {};
16
23
  if (props.width) {
@@ -27,11 +34,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
27
34
  return (_ctx, _cache) => {
28
35
  return openBlock(), createElementBlock("div", {
29
36
  flex: _ctx.flex ? _ctx.flex : null,
30
- class: "to-grid-item",
37
+ class: normalizeClass(["to-grid-item", setClass.value]),
31
38
  style: normalizeStyle(setStyle.value)
32
39
  }, [
33
40
  renderSlot(_ctx.$slots, "default")
34
- ], 12, ["flex"]);
41
+ ], 14, ["flex"]);
35
42
  };
36
43
  }
37
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grid-item.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGridItem'\n});\n</script>\n<template>\n\t<div :flex=\"flex ? flex : null\" class=\"to-grid-item\" :style=\"setStyle\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\n\n\nexport interface Props {\n\twidth?: number | string\n\tflex?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\twidth: '',\n\tflex: false\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tstyle.width = `${props.width}em`\n\t\t} else if (props.width === 'full') {\n\t\t\tstyle.width = '100%'\n\t\t} else {\n\t\t\tstyle.width = props.width.toString()\n\t\t}\n\t}\n\n\treturn style\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_renderSlot"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,YAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;AAkBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,QAAgC,EAAC,CAAA;AAEvC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,UAAM,KAAA,CAAA,KAAA,GAAQ,GAAG,KAAM,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACxB,MAAA,IAAW,KAAM,CAAA,KAAA,KAAU,MAAQ,EAAA;AAClC,UAAA,KAAA,CAAM,KAAQ,GAAA,MAAA,CAAA;AAAA,SACR,MAAA;AACN,UAAM,KAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,CAAM,QAAS,EAAA,CAAA;AAAA,SACpC;AAAA,OACD;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,KACP,CAAA,CAAA;;wBAlCA,EAAAC,kBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,KAAM,EAAA,cAAA;AAAA,QAAgB,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QACpEC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"grid-item.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGridItem'\n});\n</script>\n<template>\n\t<div :flex=\"flex ? flex : null\" class=\"to-grid-item\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\n\n\nexport interface Props {\n\twidth?: number | string\n\tflex?: boolean\n\talign?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\twidth: '',\n\tflex: false,\n\talign: 'center'\n})\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.align) arr.push(`align-${props.align}`)\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\n\tif (props.width) {\n\t\tif (!isNaN(Number(props.width))) {\n\t\t\tstyle.width = `${props.width}em`\n\t\t} else if (props.width === 'full') {\n\t\t\tstyle.width = '100%'\n\t\t} else {\n\t\t\tstyle.width = props.width.toString()\n\t\t}\n\t}\n\n\treturn style\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","_renderSlot"],"mappings":";;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,YAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;AAmBD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAMd,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,MAAgB,EAAC,CAAA;AACvB,MAAA,IAAI,KAAM,CAAA,KAAA;AAAO,QAAI,GAAA,CAAA,IAAA,CAAK,CAAS,MAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAChD,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,MAAM,QAAgC,EAAC,CAAA;AAEvC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,CAAC,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAG,EAAA;AAChC,UAAM,KAAA,CAAA,KAAA,GAAQ,GAAG,KAAM,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACxB,MAAA,IAAW,KAAM,CAAA,KAAA,KAAU,MAAQ,EAAA;AAClC,UAAA,KAAA,CAAM,KAAQ,GAAA,MAAA,CAAA;AAAA,SACR,MAAA;AACN,UAAM,KAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,CAAM,QAAS,EAAA,CAAA;AAAA,SACpC;AAAA,OACD;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,KACP,CAAA,CAAA;;wBA1CA,EAAAC,kBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAAS,OAAKC,cAAA,CAAA,CAAC,cAAuB,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAAG,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA;QACtFC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, provide, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from 'vue';
2
+ import { getModeClasses } from '../../../hooks/useSetClass.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToGrid"
@@ -64,7 +65,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
64
65
  const setClass = computed(() => {
65
66
  const classes = [];
66
67
  if (props.mode)
67
- classes.push(`mode-${props.mode}`);
68
+ classes.push(...getModeClasses(props.mode));
68
69
  if (props.type)
69
70
  classes.push(`type-${props.type}`);
70
71
  if (props.dir)
@@ -1 +1 @@
1
- {"version":3,"file":"grid.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGrid'\n});\n</script>\n<template>\n\t<div ref=\"el\" class=\"to-grid\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, provide, ref } from 'vue'\nimport type { CSSProperties } from 'vue'\n\n\ntype GridProps = {\n\tflex?: boolean\n\ttype?: string\n\tmode?: string\n\tdir?: string\n\tgap?: number | string\n\tpadding?: number | string\n\tpaddingPosition?: string\n\theight?: number | string\n\tverticalAlign?: string\n\tva?: string\n\tcol?: number | string\n\twrap?: boolean\n}\n\nconst el = ref(null)\n\n// 默认值\nconst props = withDefaults(defineProps<GridProps>(), {\n\tflex: false,\n\ttype: '',\n\tmode: 'default',\n\tdir: '',\n\tgap: 0,\n\tpadding: 0,\n\tpaddingPosition: '',\n\theight: '',\n\tverticalAlign: '',\n\tva: '',\n\tcol: '',\n\twrap: true\n})\n\nprovide('grid', props)\n\nconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\nconst setStyle = computed((): CSSProperties => {\n\tconst styles: CSSProperties = {}\n\n\tif (props.padding && String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tstyles.padding = padded\n\t}\n\n\tif (props.padding && props.paddingPosition !== '') {\n\t\tif (!props.paddingPosition.includes('t')) {\n\t\t\tstyles.paddingTop = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('r')) {\n\t\t\tstyles.paddingRight = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('b')) {\n\t\t\tstyles.paddingBottom = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('l')) {\n\t\t\tstyles.paddingLeft = 0\n\t\t}\n\t}\n\n\tif (props.height && props.height !== 'full') {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tstyles.height = props.height + 'em'\n\t\t}\n\t}\n\n\tif (props.col && props.col !== 'col-auto') {\n\t\tstyles['--col'] = props.col\n\t}\n\n\tif (props.gap) {\n\t\tconst gaps = String(props.gap).split(' ')\n\t\tstyles['--gap-y'] = gaps[0] + 'em'\n\t\tstyles['--gap-x'] = gaps.length > 1 ? gaps[1] + 'em' : gaps[0] + 'em'\n\t}\n\n\treturn styles\n})\n\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\n\tif (props.mode) classes.push(`mode-${props.mode}`)\n\tif (props.type) classes.push(`type-${props.type}`)\n\tif (props.dir) classes.push(`dir-${props.dir}`)\n\tif (props.col && props.col !== 'auto') classes.push(`is-col`)\n\tif (props.col) classes.push(`col-${props.col}`)\n\tif (props.height === 'full') classes.push(`height-full`)\n\tif (props.verticalAlign === 'top' || props.va === 'top') classes.push('va-top')\n\tif (props.verticalAlign === 'bottom' || props.va === 'bottom') classes.push('va-bottom')\n\tif (props.verticalAlign === 'baseline' || props.va === 'baseline') classes.push('va-baseline')\n\tif (props.verticalAlign === 'full' || props.va === 'full' || props.verticalAlign === 'stretch' || props.va === 'stretch') classes.push('va-full')\n\tif (props.wrap && props.dir !== 'v') classes.push('is-wrap')\n\n\treturn classes\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"grid.vue2.mjs","sources":["../../../../../../packages/components/grid/src/grid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToGrid'\n});\n</script>\n<template>\n\t<div ref=\"el\" class=\"to-grid\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, provide, ref } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport type { CSSProperties } from 'vue'\n\n\ntype GridProps = {\n\tflex?: boolean\n\ttype?: string\n\tmode?: string\n\tdir?: string\n\tgap?: number | string\n\tpadding?: number | string\n\tpaddingPosition?: string\n\theight?: number | string\n\tverticalAlign?: string\n\tva?: string\n\tcol?: number | string\n\twrap?: boolean\n}\n\nconst el = ref(null)\n\n// 默认值\nconst props = withDefaults(defineProps<GridProps>(), {\n\tflex: false,\n\ttype: '',\n\tmode: 'default',\n\tdir: '',\n\tgap: 0,\n\tpadding: 0,\n\tpaddingPosition: '',\n\theight: '',\n\tverticalAlign: '',\n\tva: '',\n\tcol: '',\n\twrap: true\n})\n\nprovide('grid', props)\n\nconst hasUnit = (val: string) => /[a-z%]+$/i.test(val)\nconst setStyle = computed((): CSSProperties => {\n\tconst styles: CSSProperties = {}\n\n\tif (props.padding && String(props.padding).trim()) {\n\t\t// 分割成各个值\n\t\tconst padded = String(props.padding)\n\t\t\t.trim()\n\t\t\t.split(/\\s+/)\n\t\t\t.map(val => {\n\t\t\t\t// 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n\t\t\t\treturn hasUnit(val) ? val : `${val}em`\n\t\t\t})\n\t\t\t.join(' ')\n\n\t\tstyles.padding = padded\n\t}\n\n\tif (props.padding && props.paddingPosition !== '') {\n\t\tif (!props.paddingPosition.includes('t')) {\n\t\t\tstyles.paddingTop = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('r')) {\n\t\t\tstyles.paddingRight = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('b')) {\n\t\t\tstyles.paddingBottom = 0\n\t\t}\n\t\tif (!props.paddingPosition.includes('l')) {\n\t\t\tstyles.paddingLeft = 0\n\t\t}\n\t}\n\n\tif (props.height && props.height !== 'full') {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tstyles.height = props.height + 'em'\n\t\t}\n\t}\n\n\tif (props.col && props.col !== 'col-auto') {\n\t\tstyles['--col'] = props.col\n\t}\n\n\tif (props.gap) {\n\t\tconst gaps = String(props.gap).split(' ')\n\t\tstyles['--gap-y'] = gaps[0] + 'em'\n\t\tstyles['--gap-x'] = gaps.length > 1 ? gaps[1] + 'em' : gaps[0] + 'em'\n\t}\n\n\treturn styles\n})\n\nconst setClass = computed(() => {\n\tconst classes: string[] = []\n\n\tif (props.mode) classes.push(...getModeClasses(props.mode))\n\tif (props.type) classes.push(`type-${props.type}`)\n\tif (props.dir) classes.push(`dir-${props.dir}`)\n\tif (props.col && props.col !== 'auto') classes.push(`is-col`)\n\tif (props.col) classes.push(`col-${props.col}`)\n\tif (props.height === 'full') classes.push(`height-full`)\n\tif (props.verticalAlign === 'top' || props.va === 'top') classes.push('va-top')\n\tif (props.verticalAlign === 'bottom' || props.va === 'bottom') classes.push('va-bottom')\n\tif (props.verticalAlign === 'baseline' || props.va === 'baseline') classes.push('va-baseline')\n\tif (props.verticalAlign === 'full' || props.va === 'full' || props.verticalAlign === 'stretch' || props.va === 'stretch') classes.push('va-full')\n\tif (props.wrap && props.dir !== 'v') classes.push('is-wrap')\n\n\treturn classes\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","flex","_renderSlot"],"mappings":"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"}