@wfrog/vc-ui 1.0.0

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 (301) hide show
  1. package/README.md +95 -0
  2. package/dist/es/chunk/-EkpfdcW.mjs +1100 -0
  3. package/dist/es/chunk/8rLUmOVR.mjs +29 -0
  4. package/dist/es/chunk/B-rxnVJv.mjs +3 -0
  5. package/dist/es/chunk/BAGoDD49.mjs +36 -0
  6. package/dist/es/chunk/BAtns-Mc.mjs +96 -0
  7. package/dist/es/chunk/BJS5Pdfp.mjs +55 -0
  8. package/dist/es/chunk/BMzd-IS6.mjs +900 -0
  9. package/dist/es/chunk/BWcCXRRK.mjs +229 -0
  10. package/dist/es/chunk/BX-Ogf7p.mjs +3743 -0
  11. package/dist/es/chunk/B_tU9Nax.mjs +49 -0
  12. package/dist/es/chunk/BdDihk0t.mjs +3420 -0
  13. package/dist/es/chunk/C2LgraHx.mjs +489 -0
  14. package/dist/es/chunk/C5hWsUfD.mjs +64 -0
  15. package/dist/es/chunk/C7iSSBUr.mjs +303 -0
  16. package/dist/es/chunk/CD98REcR.mjs +666 -0
  17. package/dist/es/chunk/CEClY-_T.mjs +445 -0
  18. package/dist/es/chunk/CEm0brzD.mjs +35 -0
  19. package/dist/es/chunk/CMABHk8B.mjs +1942 -0
  20. package/dist/es/chunk/CS4VKsqy.mjs +19 -0
  21. package/dist/es/chunk/CVlj9F0I.mjs +291 -0
  22. package/dist/es/chunk/CZ4ggqDE.mjs +140 -0
  23. package/dist/es/chunk/CaTfZePA.mjs +533 -0
  24. package/dist/es/chunk/Ce9ApjrT.mjs +201 -0
  25. package/dist/es/chunk/ClZGuAIb.mjs +10 -0
  26. package/dist/es/chunk/Coex0GxM.mjs +450 -0
  27. package/dist/es/chunk/Ct6q2FXg.mjs +5 -0
  28. package/dist/es/chunk/CyxEcbcy.mjs +29 -0
  29. package/dist/es/chunk/D389hx_T.mjs +35 -0
  30. package/dist/es/chunk/D3DXeVfC.mjs +1171 -0
  31. package/dist/es/chunk/D3uV7vm-.mjs +45 -0
  32. package/dist/es/chunk/D5259bwd.mjs +50 -0
  33. package/dist/es/chunk/DMHNh_tw.mjs +49 -0
  34. package/dist/es/chunk/DVNTpOBR.mjs +4 -0
  35. package/dist/es/chunk/DZACQ9LT.mjs +95 -0
  36. package/dist/es/chunk/De_EXLIy.mjs +22 -0
  37. package/dist/es/chunk/Dh4jaUSg.mjs +89 -0
  38. package/dist/es/chunk/DhhdKtyu.mjs +439 -0
  39. package/dist/es/chunk/DqUIKX7f.mjs +2039 -0
  40. package/dist/es/chunk/Dqz1zvKN.mjs +59 -0
  41. package/dist/es/chunk/Dvi7RsXg.mjs +727 -0
  42. package/dist/es/chunk/DyDMGLoF.mjs +123 -0
  43. package/dist/es/chunk/E_WRn0OP.mjs +449 -0
  44. package/dist/es/chunk/Fo0dZYnz.mjs +128 -0
  45. package/dist/es/chunk/HSv8BL8o.mjs +72 -0
  46. package/dist/es/chunk/JCIyOUEY.mjs +105 -0
  47. package/dist/es/chunk/O-uhUKF4.mjs +43 -0
  48. package/dist/es/chunk/Spa-JKB4.mjs +1046 -0
  49. package/dist/es/chunk/VAdRxe-1.mjs +16 -0
  50. package/dist/es/chunk/VCrtRnxt.mjs +1477 -0
  51. package/dist/es/chunk/ViP2SEY4.mjs +211 -0
  52. package/dist/es/chunk/aibQ9WSZ.mjs +249 -0
  53. package/dist/es/chunk/nWBcrYxV.mjs +690 -0
  54. package/dist/es/chunk/pcqpp-6-.mjs +9 -0
  55. package/dist/es/chunk/qY9OvNHY.mjs +283 -0
  56. package/dist/es/chunk/su2Zrql0.mjs +53 -0
  57. package/dist/es/chunk/zfg5SOj1.mjs +138 -0
  58. package/dist/es/components/awesome-icon/awesome-icon.d.ts +6 -0
  59. package/dist/es/components/awesome-icon/awesome-icon.mjs +41 -0
  60. package/dist/es/components/awesome-icon/awesome-icon.vue.d.ts +5 -0
  61. package/dist/es/components/awesome-icon/index.d.ts +4 -0
  62. package/dist/es/components/awesome-icon/index.mjs +6 -0
  63. package/dist/es/components/backbottom/backbottom.d.ts +7 -0
  64. package/dist/es/components/backbottom/backbottom.mjs +172 -0
  65. package/dist/es/components/backbottom/backbottom.vue.d.ts +7 -0
  66. package/dist/es/components/backbottom/components/child.vue.d.ts +30 -0
  67. package/dist/es/components/backbottom/index.d.ts +4 -0
  68. package/dist/es/components/backbottom/index.mjs +6 -0
  69. package/dist/es/components/button/button.d.ts +18 -0
  70. package/dist/es/components/button/button.mjs +313 -0
  71. package/dist/es/components/button/button.vue.d.ts +33 -0
  72. package/dist/es/components/button/index.css +9 -0
  73. package/dist/es/components/button/index.d.ts +4 -0
  74. package/dist/es/components/button/index.mjs +6 -0
  75. package/dist/es/components/cdn-tag.vue.d.ts +5 -0
  76. package/dist/es/components/chat-container/chat-container.d.ts +9 -0
  77. package/dist/es/components/chat-container/chat-container.mjs +77 -0
  78. package/dist/es/components/chat-container/chat-container.vue.d.ts +29 -0
  79. package/dist/es/components/chat-container/index.css +9 -0
  80. package/dist/es/components/chat-container/index.d.ts +4 -0
  81. package/dist/es/components/chat-container/index.mjs +6 -0
  82. package/dist/es/components/choice/choice.d.ts +6 -0
  83. package/dist/es/components/choice/choice.mjs +53 -0
  84. package/dist/es/components/choice/choice.vue.d.ts +5 -0
  85. package/dist/es/components/choice/index.css +7 -0
  86. package/dist/es/components/choice/index.d.ts +4 -0
  87. package/dist/es/components/choice/index.mjs +6 -0
  88. package/dist/es/components/choice-boolean/choice-boolean.d.ts +5 -0
  89. package/dist/es/components/choice-boolean/choice-boolean.mjs +32 -0
  90. package/dist/es/components/choice-boolean/choice-boolean.vue.d.ts +10 -0
  91. package/dist/es/components/choice-boolean/index.d.ts +4 -0
  92. package/dist/es/components/choice-boolean/index.mjs +6 -0
  93. package/dist/es/components/config-provider/config-provider.d.ts +16 -0
  94. package/dist/es/components/config-provider/config-provider.mjs +29 -0
  95. package/dist/es/components/config-provider/config-provider.vue.d.ts +18 -0
  96. package/dist/es/components/config-provider/config-provider2.mjs +6 -0
  97. package/dist/es/components/config-provider/index.d.ts +4 -0
  98. package/dist/es/components/config-provider/index.mjs +6 -0
  99. package/dist/es/components/cropper/cropper.d.ts +12 -0
  100. package/dist/es/components/cropper/cropper.mjs +333 -0
  101. package/dist/es/components/cropper/cropper.vue.d.ts +32 -0
  102. package/dist/es/components/cropper/index.css +4 -0
  103. package/dist/es/components/cropper/index.d.ts +4 -0
  104. package/dist/es/components/cropper/index.mjs +6 -0
  105. package/dist/es/components/currency/currency.d.ts +21 -0
  106. package/dist/es/components/currency/currency.mjs +185 -0
  107. package/dist/es/components/currency/currency.vue.d.ts +14 -0
  108. package/dist/es/components/currency/index.css +8 -0
  109. package/dist/es/components/currency/index.d.ts +4 -0
  110. package/dist/es/components/currency/index.mjs +6 -0
  111. package/dist/es/components/daterange-picker/daterange-picker.d.ts +6 -0
  112. package/dist/es/components/daterange-picker/daterange-picker.mjs +5550 -0
  113. package/dist/es/components/daterange-picker/daterange-picker.vue.d.ts +13 -0
  114. package/dist/es/components/daterange-picker/index.d.ts +4 -0
  115. package/dist/es/components/daterange-picker/index.mjs +6 -0
  116. package/dist/es/components/dialog/dialog.d.ts +13 -0
  117. package/dist/es/components/dialog/dialog.mjs +537 -0
  118. package/dist/es/components/dialog/dialog.vue.d.ts +38 -0
  119. package/dist/es/components/dialog/index.css +87 -0
  120. package/dist/es/components/dialog/index.d.ts +4 -0
  121. package/dist/es/components/dialog/index.mjs +6 -0
  122. package/dist/es/components/dialog-camera-upload/dialog-camera-upload.d.ts +33 -0
  123. package/dist/es/components/dialog-camera-upload/dialog-camera-upload.mjs +412 -0
  124. package/dist/es/components/dialog-camera-upload/dialog-camera-upload.vue.d.ts +23 -0
  125. package/dist/es/components/dialog-camera-upload/index.css +66 -0
  126. package/dist/es/components/dialog-camera-upload/index.d.ts +4 -0
  127. package/dist/es/components/dialog-camera-upload/index.mjs +6 -0
  128. package/dist/es/components/dialog-map-point/dialog-map-point.d.ts +9 -0
  129. package/dist/es/components/dialog-map-point/dialog-map-point.mjs +183 -0
  130. package/dist/es/components/dialog-map-point/dialog-map-point.vue.d.ts +22 -0
  131. package/dist/es/components/dialog-map-point/index.css +11 -0
  132. package/dist/es/components/dialog-map-point/index.d.ts +4 -0
  133. package/dist/es/components/dialog-map-point/index.mjs +6 -0
  134. package/dist/es/components/dialog-upload-images/dialog-upload-images.d.ts +16 -0
  135. package/dist/es/components/dialog-upload-images/dialog-upload-images.mjs +1391 -0
  136. package/dist/es/components/dialog-upload-images/dialog-upload-images.vue.d.ts +19 -0
  137. package/dist/es/components/dialog-upload-images/index.css +62 -0
  138. package/dist/es/components/dialog-upload-images/index.d.ts +4 -0
  139. package/dist/es/components/dialog-upload-images/index.mjs +6 -0
  140. package/dist/es/components/document.vue.d.ts +14 -0
  141. package/dist/es/components/drawer/drawer.d.ts +7 -0
  142. package/dist/es/components/drawer/drawer.mjs +412 -0
  143. package/dist/es/components/drawer/drawer.vue.d.ts +31 -0
  144. package/dist/es/components/drawer/index.css +56 -0
  145. package/dist/es/components/drawer/index.d.ts +4 -0
  146. package/dist/es/components/drawer/index.mjs +6 -0
  147. package/dist/es/components/easy-pagination/easy-pagination.d.ts +8 -0
  148. package/dist/es/components/easy-pagination/easy-pagination.mjs +74 -0
  149. package/dist/es/components/easy-pagination/easy-pagination.vue.d.ts +19 -0
  150. package/dist/es/components/easy-pagination/index.css +10 -0
  151. package/dist/es/components/easy-pagination/index.d.ts +4 -0
  152. package/dist/es/components/easy-pagination/index.mjs +6 -0
  153. package/dist/es/components/el-icon/el-icon.d.ts +6 -0
  154. package/dist/es/components/el-icon/el-icon.mjs +46 -0
  155. package/dist/es/components/el-icon/el-icon.vue.d.ts +6 -0
  156. package/dist/es/components/el-icon/index.css +7 -0
  157. package/dist/es/components/el-icon/index.d.ts +4 -0
  158. package/dist/es/components/el-icon/index.mjs +6 -0
  159. package/dist/es/components/example-wrapper.vue.d.ts +19 -0
  160. package/dist/es/components/flag/flag.mjs +44 -0
  161. package/dist/es/components/flag/flag.vue.d.ts +5 -0
  162. package/dist/es/components/flag/flags.d.ts +8 -0
  163. package/dist/es/components/flag/index.d.ts +4 -0
  164. package/dist/es/components/flag/index.mjs +6 -0
  165. package/dist/es/components/icon/icon.d.ts +6 -0
  166. package/dist/es/components/icon/icon.mjs +54 -0
  167. package/dist/es/components/icon/icon.vue.d.ts +3 -0
  168. package/dist/es/components/icon/icon2.mjs +27 -0
  169. package/dist/es/components/icon/index.css +9 -0
  170. package/dist/es/components/icon/index.d.ts +4 -0
  171. package/dist/es/components/icon/index.mjs +6 -0
  172. package/dist/es/components/image/image.d.ts +16 -0
  173. package/dist/es/components/image/image.mjs +167 -0
  174. package/dist/es/components/image/image.vue.d.ts +206 -0
  175. package/dist/es/components/image/index.css +20 -0
  176. package/dist/es/components/image/index.d.ts +4 -0
  177. package/dist/es/components/image/index.mjs +6 -0
  178. package/dist/es/components/input/index.css +9 -0
  179. package/dist/es/components/input/index.d.ts +4 -0
  180. package/dist/es/components/input/index.mjs +6 -0
  181. package/dist/es/components/input/input.d.ts +4 -0
  182. package/dist/es/components/input/input.mjs +85 -0
  183. package/dist/es/components/input/input.vue.d.ts +1232 -0
  184. package/dist/es/components/input-number/index.css +24 -0
  185. package/dist/es/components/input-number/index.d.ts +4 -0
  186. package/dist/es/components/input-number/index.mjs +6 -0
  187. package/dist/es/components/input-number/input-number.d.ts +8 -0
  188. package/dist/es/components/input-number/input-number.mjs +137 -0
  189. package/dist/es/components/input-number/input-number.vue.d.ts +35 -0
  190. package/dist/es/components/pca-picker/components/c.vue.d.ts +123 -0
  191. package/dist/es/components/pca-picker/components/elevator-item.vue.d.ts +7 -0
  192. package/dist/es/components/pca-picker/components/filter.vue.d.ts +2 -0
  193. package/dist/es/components/pca-picker/components/history.vue.d.ts +2 -0
  194. package/dist/es/components/pca-picker/components/hot.vue.d.ts +2 -0
  195. package/dist/es/components/pca-picker/components/p.vue.d.ts +2 -0
  196. package/dist/es/components/pca-picker/components/pca.vue.d.ts +9 -0
  197. package/dist/es/components/pca-picker/index.css +107 -0
  198. package/dist/es/components/pca-picker/index.d.ts +4 -0
  199. package/dist/es/components/pca-picker/index.mjs +6 -0
  200. package/dist/es/components/pca-picker/pca-picker.d.ts +78 -0
  201. package/dist/es/components/pca-picker/pca-picker.mjs +1667 -0
  202. package/dist/es/components/pca-picker/pca-picker.vue.d.ts +583 -0
  203. package/dist/es/components/qr-code/index.d.ts +4 -0
  204. package/dist/es/components/qr-code/index.mjs +6 -0
  205. package/dist/es/components/qr-code/qr-code.d.ts +9 -0
  206. package/dist/es/components/qr-code/qr-code.mjs +69 -0
  207. package/dist/es/components/qr-code/qr-code.vue.d.ts +13 -0
  208. package/dist/es/components/screenfull/index.css +14 -0
  209. package/dist/es/components/screenfull/index.d.ts +4 -0
  210. package/dist/es/components/screenfull/index.mjs +6 -0
  211. package/dist/es/components/screenfull/screenfull.d.ts +4 -0
  212. package/dist/es/components/screenfull/screenfull.mjs +91 -0
  213. package/dist/es/components/screenfull/screenfull.vue.d.ts +20 -0
  214. package/dist/es/components/select/index.css +9 -0
  215. package/dist/es/components/select/index.d.ts +4 -0
  216. package/dist/es/components/select/index.mjs +6 -0
  217. package/dist/es/components/select/select.d.ts +6 -0
  218. package/dist/es/components/select/select.mjs +63 -0
  219. package/dist/es/components/select/select.vue.d.ts +6 -0
  220. package/dist/es/components/single-player/index.css +45 -0
  221. package/dist/es/components/single-player/index.d.ts +4 -0
  222. package/dist/es/components/single-player/index.mjs +6 -0
  223. package/dist/es/components/single-player/single-player.d.ts +4 -0
  224. package/dist/es/components/single-player/single-player.mjs +1172 -0
  225. package/dist/es/components/single-player/single-player.vue.d.ts +13 -0
  226. package/dist/es/components/svg-icon/index.css +9 -0
  227. package/dist/es/components/svg-icon/index.d.ts +4 -0
  228. package/dist/es/components/svg-icon/index.mjs +6 -0
  229. package/dist/es/components/svg-icon/svg-icon.d.ts +5 -0
  230. package/dist/es/components/svg-icon/svg-icon.mjs +46 -0
  231. package/dist/es/components/svg-icon/svg-icon.vue.d.ts +18 -0
  232. package/dist/es/components/switch/index.css +15 -0
  233. package/dist/es/components/switch/index.d.ts +4 -0
  234. package/dist/es/components/switch/index.mjs +6 -0
  235. package/dist/es/components/switch/switch.d.ts +9 -0
  236. package/dist/es/components/switch/switch.mjs +82 -0
  237. package/dist/es/components/switch/switch.vue.d.ts +14 -0
  238. package/dist/es/components/sync-scroll-container/index.css +82 -0
  239. package/dist/es/components/sync-scroll-container/index.d.ts +4 -0
  240. package/dist/es/components/sync-scroll-container/index.mjs +6 -0
  241. package/dist/es/components/sync-scroll-container/sync-scroll-container.d.ts +6 -0
  242. package/dist/es/components/sync-scroll-container/sync-scroll-container.mjs +157 -0
  243. package/dist/es/components/sync-scroll-container/sync-scroll-container.vue.d.ts +36 -0
  244. package/dist/es/components/tags/index.css +17 -0
  245. package/dist/es/components/tags/index.d.ts +4 -0
  246. package/dist/es/components/tags/index.mjs +6 -0
  247. package/dist/es/components/tags/tags.d.ts +9 -0
  248. package/dist/es/components/tags/tags.mjs +296 -0
  249. package/dist/es/components/tags/tags.vue.d.ts +20 -0
  250. package/dist/es/components/text-ellipsis/index.css +15 -0
  251. package/dist/es/components/text-ellipsis/index.d.ts +4 -0
  252. package/dist/es/components/text-ellipsis/index.mjs +6 -0
  253. package/dist/es/components/text-ellipsis/text-ellipsis.d.ts +12 -0
  254. package/dist/es/components/text-ellipsis/text-ellipsis.mjs +137 -0
  255. package/dist/es/components/text-ellipsis/text-ellipsis.vue.d.ts +41 -0
  256. package/dist/es/components/thousand-input/index.css +4 -0
  257. package/dist/es/components/thousand-input/index.d.ts +4 -0
  258. package/dist/es/components/thousand-input/index.mjs +6 -0
  259. package/dist/es/components/thousand-input/thousand-input.d.ts +11 -0
  260. package/dist/es/components/thousand-input/thousand-input.mjs +159 -0
  261. package/dist/es/components/thousand-input/thousand-input.vue.d.ts +2558 -0
  262. package/dist/es/components/tinymce/config.d.ts +25 -0
  263. package/dist/es/components/tinymce/index.css +9 -0
  264. package/dist/es/components/tinymce/index.d.ts +4 -0
  265. package/dist/es/components/tinymce/index.mjs +6 -0
  266. package/dist/es/components/tinymce/tinymce.d.ts +9 -0
  267. package/dist/es/components/tinymce/tinymce.mjs +176 -0
  268. package/dist/es/components/tinymce/tinymce.vue.d.ts +20 -0
  269. package/dist/es/components/tree-picker/components/popover-cascader.d.ts +8 -0
  270. package/dist/es/components/tree-picker/components/popover-cascader.vue.d.ts +1361 -0
  271. package/dist/es/components/tree-picker/docs/data.d.ts +2 -0
  272. package/dist/es/components/tree-picker/index.css +41 -0
  273. package/dist/es/components/tree-picker/index.d.ts +4 -0
  274. package/dist/es/components/tree-picker/index.mjs +6 -0
  275. package/dist/es/components/tree-picker/popover-cascader.css +23 -0
  276. package/dist/es/components/tree-picker/tree-picker.d.ts +14 -0
  277. package/dist/es/components/tree-picker/tree-picker.mjs +173 -0
  278. package/dist/es/components/tree-picker/tree-picker.vue.d.ts +575 -0
  279. package/dist/es/components/upload-file/index.css +30 -0
  280. package/dist/es/components/upload-file/index.d.ts +4 -0
  281. package/dist/es/components/upload-file/index.mjs +6 -0
  282. package/dist/es/components/upload-file/upload-file.d.ts +39 -0
  283. package/dist/es/components/upload-file/upload-file.mjs +202 -0
  284. package/dist/es/components/upload-file/upload-file.vue.d.ts +30 -0
  285. package/dist/es/directives/cleave/index.d.ts +3 -0
  286. package/dist/es/directives/focus/index.d.ts +4 -0
  287. package/dist/es/directives/index.d.ts +3 -0
  288. package/dist/es/directives/thousand/index.d.ts +3 -0
  289. package/dist/es/index.d.ts +42 -0
  290. package/dist/es/index.mjs +122 -0
  291. package/dist/es/use/useSmallScreen/index.d.ts +4 -0
  292. package/dist/es/use/useSmallScreen/index.mjs +10 -0
  293. package/dist/es/use/useStore/index.d.ts +3 -0
  294. package/dist/es/use/useStore/index.mjs +22 -0
  295. package/dist/es/utils/index.d.ts +6 -0
  296. package/dist/es/utils/resolver.d.ts +3 -0
  297. package/dist/es/utils/resolver.mjs +24 -0
  298. package/dist/es/utils/typescript.d.ts +6 -0
  299. package/dist/global.d.ts +42 -0
  300. package/dist/index.css +869 -0
  301. package/package.json +58 -0
@@ -0,0 +1,533 @@
1
+ import { defineComponent, inject, ref, computed, onBeforeUnmount, toRef, createBlock, openBlock, Transition, unref, withCtx, withDirectives, createElementVNode, withModifiers, normalizeClass, normalizeStyle, vShow, createElementBlock, Fragment, createVNode, watch, nextTick, provide, reactive, onActivated, onMounted, onUpdated, createCommentVNode, resolveDynamicComponent, renderSlot } from 'vue';
2
+ import { c as useEventListener, e as useResizeObserver } from './CEClY-_T.mjs';
3
+ import { c as buildProps, u as useNamespace, t as throwError, o as isClient, f as isNumber, d as definePropType, e as debugWarn, s as isObject } from './E_WRn0OP.mjs';
4
+ import { _ as _export_sfc, w as withInstall } from './D389hx_T.mjs';
5
+ import { u as useAriaProps } from './C2LgraHx.mjs';
6
+ import { a as addUnit } from './D5259bwd.mjs';
7
+
8
+ const GAP = 4;
9
+ const BAR_MAP = {
10
+ vertical: {
11
+ offset: "offsetHeight",
12
+ scroll: "scrollTop",
13
+ scrollSize: "scrollHeight",
14
+ size: "height",
15
+ key: "vertical",
16
+ axis: "Y",
17
+ client: "clientY",
18
+ direction: "top"
19
+ },
20
+ horizontal: {
21
+ offset: "offsetWidth",
22
+ scroll: "scrollLeft",
23
+ scrollSize: "scrollWidth",
24
+ size: "width",
25
+ key: "horizontal",
26
+ axis: "X",
27
+ client: "clientX",
28
+ direction: "left"
29
+ }
30
+ };
31
+ const renderThumbStyle = ({
32
+ move,
33
+ size,
34
+ bar
35
+ }) => ({
36
+ [bar.size]: size,
37
+ transform: `translate${bar.axis}(${move}%)`
38
+ });
39
+
40
+ const scrollbarContextKey = Symbol("scrollbarContextKey");
41
+
42
+ const thumbProps = buildProps({
43
+ vertical: Boolean,
44
+ size: String,
45
+ move: Number,
46
+ ratio: {
47
+ type: Number,
48
+ required: true
49
+ },
50
+ always: Boolean
51
+ });
52
+
53
+ const COMPONENT_NAME$1 = "Thumb";
54
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
55
+ __name: "thumb",
56
+ props: thumbProps,
57
+ setup(__props) {
58
+ const props = __props;
59
+ const scrollbar = inject(scrollbarContextKey);
60
+ const ns = useNamespace("scrollbar");
61
+ if (!scrollbar)
62
+ throwError(COMPONENT_NAME$1, "can not inject scrollbar context");
63
+ const instance = ref();
64
+ const thumb = ref();
65
+ const thumbState = ref({});
66
+ const visible = ref(false);
67
+ let cursorDown = false;
68
+ let cursorLeave = false;
69
+ let baseScrollHeight = 0;
70
+ let baseScrollWidth = 0;
71
+ let originalOnSelectStart = isClient ? document.onselectstart : null;
72
+ const bar = computed(() => BAR_MAP[props.vertical ? "vertical" : "horizontal"]);
73
+ const thumbStyle = computed(() => renderThumbStyle({
74
+ size: props.size,
75
+ move: props.move,
76
+ bar: bar.value
77
+ }));
78
+ const offsetRatio = computed(() => instance.value[bar.value.offset] ** 2 / scrollbar.wrapElement[bar.value.scrollSize] / props.ratio / thumb.value[bar.value.offset]);
79
+ const clickThumbHandler = (e) => {
80
+ var _a;
81
+ e.stopPropagation();
82
+ if (e.ctrlKey || [1, 2].includes(e.button))
83
+ return;
84
+ (_a = window.getSelection()) == null ? void 0 : _a.removeAllRanges();
85
+ startDrag(e);
86
+ const el = e.currentTarget;
87
+ if (!el)
88
+ return;
89
+ thumbState.value[bar.value.axis] = el[bar.value.offset] - (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction]);
90
+ };
91
+ const clickTrackHandler = (e) => {
92
+ if (!thumb.value || !instance.value || !scrollbar.wrapElement)
93
+ return;
94
+ const offset = Math.abs(e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]);
95
+ const thumbHalf = thumb.value[bar.value.offset] / 2;
96
+ const thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.value / instance.value[bar.value.offset];
97
+ scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100;
98
+ };
99
+ const startDrag = (e) => {
100
+ e.stopImmediatePropagation();
101
+ cursorDown = true;
102
+ baseScrollHeight = scrollbar.wrapElement.scrollHeight;
103
+ baseScrollWidth = scrollbar.wrapElement.scrollWidth;
104
+ document.addEventListener("mousemove", mouseMoveDocumentHandler);
105
+ document.addEventListener("mouseup", mouseUpDocumentHandler);
106
+ originalOnSelectStart = document.onselectstart;
107
+ document.onselectstart = () => false;
108
+ };
109
+ const mouseMoveDocumentHandler = (e) => {
110
+ if (!instance.value || !thumb.value)
111
+ return;
112
+ if (cursorDown === false)
113
+ return;
114
+ const prevPage = thumbState.value[bar.value.axis];
115
+ if (!prevPage)
116
+ return;
117
+ const offset = (instance.value.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]) * -1;
118
+ const thumbClickPosition = thumb.value[bar.value.offset] - prevPage;
119
+ const thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.value / instance.value[bar.value.offset];
120
+ if (bar.value.scroll === "scrollLeft") {
121
+ scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * baseScrollWidth / 100;
122
+ } else {
123
+ scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * baseScrollHeight / 100;
124
+ }
125
+ };
126
+ const mouseUpDocumentHandler = () => {
127
+ cursorDown = false;
128
+ thumbState.value[bar.value.axis] = 0;
129
+ document.removeEventListener("mousemove", mouseMoveDocumentHandler);
130
+ document.removeEventListener("mouseup", mouseUpDocumentHandler);
131
+ restoreOnselectstart();
132
+ if (cursorLeave)
133
+ visible.value = false;
134
+ };
135
+ const mouseMoveScrollbarHandler = () => {
136
+ cursorLeave = false;
137
+ visible.value = !!props.size;
138
+ };
139
+ const mouseLeaveScrollbarHandler = () => {
140
+ cursorLeave = true;
141
+ visible.value = cursorDown;
142
+ };
143
+ onBeforeUnmount(() => {
144
+ restoreOnselectstart();
145
+ document.removeEventListener("mouseup", mouseUpDocumentHandler);
146
+ });
147
+ const restoreOnselectstart = () => {
148
+ if (document.onselectstart !== originalOnSelectStart)
149
+ document.onselectstart = originalOnSelectStart;
150
+ };
151
+ useEventListener(toRef(scrollbar, "scrollbarElement"), "mousemove", mouseMoveScrollbarHandler);
152
+ useEventListener(toRef(scrollbar, "scrollbarElement"), "mouseleave", mouseLeaveScrollbarHandler);
153
+ return (_ctx, _cache) => {
154
+ return openBlock(), createBlock(Transition, {
155
+ name: unref(ns).b("fade"),
156
+ persisted: ""
157
+ }, {
158
+ default: withCtx(() => [
159
+ withDirectives(createElementVNode("div", {
160
+ ref_key: "instance",
161
+ ref: instance,
162
+ class: normalizeClass([unref(ns).e("bar"), unref(ns).is(unref(bar).key)]),
163
+ onMousedown: clickTrackHandler,
164
+ onClick: withModifiers(() => {
165
+ }, ["stop"])
166
+ }, [
167
+ createElementVNode("div", {
168
+ ref_key: "thumb",
169
+ ref: thumb,
170
+ class: normalizeClass(unref(ns).e("thumb")),
171
+ style: normalizeStyle(unref(thumbStyle)),
172
+ onMousedown: clickThumbHandler
173
+ }, null, 38)
174
+ ], 42, ["onClick"]), [
175
+ [vShow, _ctx.always || visible.value]
176
+ ])
177
+ ]),
178
+ _: 1
179
+ }, 8, ["name"]);
180
+ };
181
+ }
182
+ });
183
+ var Thumb = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "thumb.vue"]]);
184
+
185
+ const barProps = buildProps({
186
+ always: {
187
+ type: Boolean,
188
+ default: true
189
+ },
190
+ minSize: {
191
+ type: Number,
192
+ required: true
193
+ }
194
+ });
195
+
196
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
197
+ __name: "bar",
198
+ props: barProps,
199
+ setup(__props, { expose }) {
200
+ const props = __props;
201
+ const scrollbar = inject(scrollbarContextKey);
202
+ const moveX = ref(0);
203
+ const moveY = ref(0);
204
+ const sizeWidth = ref("");
205
+ const sizeHeight = ref("");
206
+ const ratioY = ref(1);
207
+ const ratioX = ref(1);
208
+ const handleScroll = (wrap) => {
209
+ if (wrap) {
210
+ const offsetHeight = wrap.offsetHeight - GAP;
211
+ const offsetWidth = wrap.offsetWidth - GAP;
212
+ moveY.value = wrap.scrollTop * 100 / offsetHeight * ratioY.value;
213
+ moveX.value = wrap.scrollLeft * 100 / offsetWidth * ratioX.value;
214
+ }
215
+ };
216
+ const update = () => {
217
+ const wrap = scrollbar == null ? void 0 : scrollbar.wrapElement;
218
+ if (!wrap)
219
+ return;
220
+ const offsetHeight = wrap.offsetHeight - GAP;
221
+ const offsetWidth = wrap.offsetWidth - GAP;
222
+ const originalHeight = offsetHeight ** 2 / wrap.scrollHeight;
223
+ const originalWidth = offsetWidth ** 2 / wrap.scrollWidth;
224
+ const height = Math.max(originalHeight, props.minSize);
225
+ const width = Math.max(originalWidth, props.minSize);
226
+ ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height));
227
+ ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width));
228
+ sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : "";
229
+ sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : "";
230
+ };
231
+ expose({
232
+ handleScroll,
233
+ update
234
+ });
235
+ return (_ctx, _cache) => {
236
+ return openBlock(), createElementBlock(Fragment, null, [
237
+ createVNode(Thumb, {
238
+ move: moveX.value,
239
+ ratio: ratioX.value,
240
+ size: sizeWidth.value,
241
+ always: _ctx.always
242
+ }, null, 8, ["move", "ratio", "size", "always"]),
243
+ createVNode(Thumb, {
244
+ move: moveY.value,
245
+ ratio: ratioY.value,
246
+ size: sizeHeight.value,
247
+ vertical: "",
248
+ always: _ctx.always
249
+ }, null, 8, ["move", "ratio", "size", "always"])
250
+ ], 64);
251
+ };
252
+ }
253
+ });
254
+ var Bar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "bar.vue"]]);
255
+
256
+ const scrollbarProps = buildProps({
257
+ distance: {
258
+ type: Number,
259
+ default: 0
260
+ },
261
+ height: {
262
+ type: [String, Number],
263
+ default: ""
264
+ },
265
+ maxHeight: {
266
+ type: [String, Number],
267
+ default: ""
268
+ },
269
+ native: Boolean,
270
+ wrapStyle: {
271
+ type: definePropType([String, Object, Array]),
272
+ default: ""
273
+ },
274
+ wrapClass: {
275
+ type: [String, Array],
276
+ default: ""
277
+ },
278
+ viewClass: {
279
+ type: [String, Array],
280
+ default: ""
281
+ },
282
+ viewStyle: {
283
+ type: [String, Array, Object],
284
+ default: ""
285
+ },
286
+ noresize: Boolean,
287
+ tag: {
288
+ type: String,
289
+ default: "div"
290
+ },
291
+ always: Boolean,
292
+ minSize: {
293
+ type: Number,
294
+ default: 20
295
+ },
296
+ tabindex: {
297
+ type: [String, Number],
298
+ default: void 0
299
+ },
300
+ id: String,
301
+ role: String,
302
+ ...useAriaProps(["ariaLabel", "ariaOrientation"])
303
+ });
304
+ const scrollbarEmits = {
305
+ "end-reached": (direction) => ["left", "right", "top", "bottom"].includes(direction),
306
+ scroll: ({
307
+ scrollTop,
308
+ scrollLeft
309
+ }) => [scrollTop, scrollLeft].every(isNumber)
310
+ };
311
+
312
+ const COMPONENT_NAME = "ElScrollbar";
313
+ const __default__ = defineComponent({
314
+ name: COMPONENT_NAME
315
+ });
316
+ const _sfc_main = /* @__PURE__ */ defineComponent({
317
+ ...__default__,
318
+ props: scrollbarProps,
319
+ emits: scrollbarEmits,
320
+ setup(__props, { expose, emit }) {
321
+ const props = __props;
322
+ const ns = useNamespace("scrollbar");
323
+ let stopResizeObserver = void 0;
324
+ let stopWrapResizeObserver = void 0;
325
+ let stopResizeListener = void 0;
326
+ let wrapScrollTop = 0;
327
+ let wrapScrollLeft = 0;
328
+ let direction = "";
329
+ const distanceScrollState = {
330
+ bottom: false,
331
+ top: false,
332
+ right: false,
333
+ left: false
334
+ };
335
+ const scrollbarRef = ref();
336
+ const wrapRef = ref();
337
+ const resizeRef = ref();
338
+ const barRef = ref();
339
+ const wrapStyle = computed(() => {
340
+ const style = {};
341
+ const height = addUnit(props.height);
342
+ const maxHeight = addUnit(props.maxHeight);
343
+ if (height)
344
+ style.height = height;
345
+ if (maxHeight)
346
+ style.maxHeight = maxHeight;
347
+ return [props.wrapStyle, style];
348
+ });
349
+ const wrapKls = computed(() => {
350
+ return [
351
+ props.wrapClass,
352
+ ns.e("wrap"),
353
+ { [ns.em("wrap", "hidden-default")]: !props.native }
354
+ ];
355
+ });
356
+ const resizeKls = computed(() => {
357
+ return [ns.e("view"), props.viewClass];
358
+ });
359
+ const shouldSkipDirection = (direction2) => {
360
+ var _a;
361
+ return (_a = distanceScrollState[direction2]) != null ? _a : false;
362
+ };
363
+ const DIRECTION_PAIRS = {
364
+ top: "bottom",
365
+ bottom: "top",
366
+ left: "right",
367
+ right: "left"
368
+ };
369
+ const updateTriggerStatus = (arrivedStates) => {
370
+ const oppositeDirection = DIRECTION_PAIRS[direction];
371
+ if (!oppositeDirection)
372
+ return;
373
+ const arrived = arrivedStates[direction];
374
+ const oppositeArrived = arrivedStates[oppositeDirection];
375
+ if (arrived && !distanceScrollState[direction]) {
376
+ distanceScrollState[direction] = true;
377
+ }
378
+ if (!oppositeArrived && distanceScrollState[oppositeDirection]) {
379
+ distanceScrollState[oppositeDirection] = false;
380
+ }
381
+ };
382
+ const handleScroll = () => {
383
+ var _a;
384
+ if (wrapRef.value) {
385
+ (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
386
+ const prevTop = wrapScrollTop;
387
+ const prevLeft = wrapScrollLeft;
388
+ wrapScrollTop = wrapRef.value.scrollTop;
389
+ wrapScrollLeft = wrapRef.value.scrollLeft;
390
+ const arrivedStates = {
391
+ bottom: wrapScrollTop + wrapRef.value.clientHeight >= wrapRef.value.scrollHeight - props.distance,
392
+ top: wrapScrollTop <= props.distance && prevTop !== 0,
393
+ right: wrapScrollLeft + wrapRef.value.clientWidth >= wrapRef.value.scrollWidth - props.distance && prevLeft !== wrapScrollLeft,
394
+ left: wrapScrollLeft <= props.distance && prevLeft !== 0
395
+ };
396
+ emit("scroll", {
397
+ scrollTop: wrapScrollTop,
398
+ scrollLeft: wrapScrollLeft
399
+ });
400
+ if (prevTop !== wrapScrollTop) {
401
+ direction = wrapScrollTop > prevTop ? "bottom" : "top";
402
+ }
403
+ if (prevLeft !== wrapScrollLeft) {
404
+ direction = wrapScrollLeft > prevLeft ? "right" : "left";
405
+ }
406
+ if (props.distance > 0) {
407
+ if (shouldSkipDirection(direction)) {
408
+ return;
409
+ }
410
+ updateTriggerStatus(arrivedStates);
411
+ }
412
+ if (arrivedStates[direction])
413
+ emit("end-reached", direction);
414
+ }
415
+ };
416
+ function scrollTo(arg1, arg2) {
417
+ if (isObject(arg1)) {
418
+ wrapRef.value.scrollTo(arg1);
419
+ } else if (isNumber(arg1) && isNumber(arg2)) {
420
+ wrapRef.value.scrollTo(arg1, arg2);
421
+ }
422
+ }
423
+ const setScrollTop = (value) => {
424
+ if (!isNumber(value)) {
425
+ debugWarn(COMPONENT_NAME, "value must be a number");
426
+ return;
427
+ }
428
+ wrapRef.value.scrollTop = value;
429
+ };
430
+ const setScrollLeft = (value) => {
431
+ if (!isNumber(value)) {
432
+ debugWarn(COMPONENT_NAME, "value must be a number");
433
+ return;
434
+ }
435
+ wrapRef.value.scrollLeft = value;
436
+ };
437
+ const update = () => {
438
+ var _a;
439
+ (_a = barRef.value) == null ? void 0 : _a.update();
440
+ distanceScrollState[direction] = false;
441
+ };
442
+ watch(() => props.noresize, (noresize) => {
443
+ if (noresize) {
444
+ stopResizeObserver == null ? void 0 : stopResizeObserver();
445
+ stopWrapResizeObserver == null ? void 0 : stopWrapResizeObserver();
446
+ stopResizeListener == null ? void 0 : stopResizeListener();
447
+ } else {
448
+ ({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update));
449
+ ({ stop: stopWrapResizeObserver } = useResizeObserver(wrapRef, update));
450
+ stopResizeListener = useEventListener("resize", update);
451
+ }
452
+ }, { immediate: true });
453
+ watch(() => [props.maxHeight, props.height], () => {
454
+ if (!props.native)
455
+ nextTick(() => {
456
+ var _a;
457
+ update();
458
+ if (wrapRef.value) {
459
+ (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
460
+ }
461
+ });
462
+ });
463
+ provide(scrollbarContextKey, reactive({
464
+ scrollbarElement: scrollbarRef,
465
+ wrapElement: wrapRef
466
+ }));
467
+ onActivated(() => {
468
+ if (wrapRef.value) {
469
+ wrapRef.value.scrollTop = wrapScrollTop;
470
+ wrapRef.value.scrollLeft = wrapScrollLeft;
471
+ }
472
+ });
473
+ onMounted(() => {
474
+ if (!props.native)
475
+ nextTick(() => {
476
+ update();
477
+ });
478
+ });
479
+ onUpdated(() => update());
480
+ expose({
481
+ wrapRef,
482
+ update,
483
+ scrollTo,
484
+ setScrollTop,
485
+ setScrollLeft,
486
+ handleScroll
487
+ });
488
+ return (_ctx, _cache) => {
489
+ return openBlock(), createElementBlock("div", {
490
+ ref_key: "scrollbarRef",
491
+ ref: scrollbarRef,
492
+ class: normalizeClass(unref(ns).b())
493
+ }, [
494
+ createElementVNode("div", {
495
+ ref_key: "wrapRef",
496
+ ref: wrapRef,
497
+ class: normalizeClass(unref(wrapKls)),
498
+ style: normalizeStyle(unref(wrapStyle)),
499
+ tabindex: _ctx.tabindex,
500
+ onScroll: handleScroll
501
+ }, [
502
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
503
+ id: _ctx.id,
504
+ ref_key: "resizeRef",
505
+ ref: resizeRef,
506
+ class: normalizeClass(unref(resizeKls)),
507
+ style: normalizeStyle(_ctx.viewStyle),
508
+ role: _ctx.role,
509
+ "aria-label": _ctx.ariaLabel,
510
+ "aria-orientation": _ctx.ariaOrientation
511
+ }, {
512
+ default: withCtx(() => [
513
+ renderSlot(_ctx.$slots, "default")
514
+ ]),
515
+ _: 3
516
+ }, 8, ["id", "class", "style", "role", "aria-label", "aria-orientation"]))
517
+ ], 46, ["tabindex"]),
518
+ !_ctx.native ? (openBlock(), createBlock(Bar, {
519
+ key: 0,
520
+ ref_key: "barRef",
521
+ ref: barRef,
522
+ always: _ctx.always,
523
+ "min-size": _ctx.minSize
524
+ }, null, 8, ["always", "min-size"])) : createCommentVNode("v-if", true)
525
+ ], 2);
526
+ };
527
+ }
528
+ });
529
+ var Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "scrollbar.vue"]]);
530
+
531
+ const ElScrollbar = withInstall(Scrollbar);
532
+
533
+ export { ElScrollbar as E, scrollbarEmits as s };