@element-plus/nightly 0.0.20240827 → 0.0.20240829

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 (396) hide show
  1. package/dist/index.full.js +10 -12
  2. package/dist/index.full.min.js +10 -10
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +10 -10
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +10 -12
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/my.js +1 -1
  152. package/dist/locale/my.min.js +1 -1
  153. package/dist/locale/my.min.mjs +1 -1
  154. package/dist/locale/my.mjs +1 -1
  155. package/dist/locale/nb-no.js +1 -1
  156. package/dist/locale/nb-no.min.js +1 -1
  157. package/dist/locale/nb-no.min.mjs +1 -1
  158. package/dist/locale/nb-no.mjs +1 -1
  159. package/dist/locale/nl.js +1 -1
  160. package/dist/locale/nl.min.js +1 -1
  161. package/dist/locale/nl.min.mjs +1 -1
  162. package/dist/locale/nl.mjs +1 -1
  163. package/dist/locale/pa.js +1 -1
  164. package/dist/locale/pa.min.js +1 -1
  165. package/dist/locale/pa.min.mjs +1 -1
  166. package/dist/locale/pa.mjs +1 -1
  167. package/dist/locale/pl.js +1 -1
  168. package/dist/locale/pl.min.js +1 -1
  169. package/dist/locale/pl.min.mjs +1 -1
  170. package/dist/locale/pl.mjs +1 -1
  171. package/dist/locale/pt-br.js +1 -1
  172. package/dist/locale/pt-br.min.js +1 -1
  173. package/dist/locale/pt-br.min.mjs +1 -1
  174. package/dist/locale/pt-br.mjs +1 -1
  175. package/dist/locale/pt.js +1 -1
  176. package/dist/locale/pt.min.js +1 -1
  177. package/dist/locale/pt.min.mjs +1 -1
  178. package/dist/locale/pt.mjs +1 -1
  179. package/dist/locale/ro.js +1 -1
  180. package/dist/locale/ro.min.js +1 -1
  181. package/dist/locale/ro.min.mjs +1 -1
  182. package/dist/locale/ro.mjs +1 -1
  183. package/dist/locale/ru.js +1 -1
  184. package/dist/locale/ru.min.js +1 -1
  185. package/dist/locale/ru.min.mjs +1 -1
  186. package/dist/locale/ru.mjs +1 -1
  187. package/dist/locale/sk.js +1 -1
  188. package/dist/locale/sk.min.js +1 -1
  189. package/dist/locale/sk.min.mjs +1 -1
  190. package/dist/locale/sk.mjs +1 -1
  191. package/dist/locale/sl.js +1 -1
  192. package/dist/locale/sl.min.js +1 -1
  193. package/dist/locale/sl.min.mjs +1 -1
  194. package/dist/locale/sl.mjs +1 -1
  195. package/dist/locale/sr.js +1 -1
  196. package/dist/locale/sr.min.js +1 -1
  197. package/dist/locale/sr.min.mjs +1 -1
  198. package/dist/locale/sr.mjs +1 -1
  199. package/dist/locale/sv.js +1 -1
  200. package/dist/locale/sv.min.js +1 -1
  201. package/dist/locale/sv.min.mjs +1 -1
  202. package/dist/locale/sv.mjs +1 -1
  203. package/dist/locale/sw.js +1 -1
  204. package/dist/locale/sw.min.js +1 -1
  205. package/dist/locale/sw.min.mjs +1 -1
  206. package/dist/locale/sw.mjs +1 -1
  207. package/dist/locale/ta.js +1 -1
  208. package/dist/locale/ta.min.js +1 -1
  209. package/dist/locale/ta.min.mjs +1 -1
  210. package/dist/locale/ta.mjs +1 -1
  211. package/dist/locale/th.js +1 -1
  212. package/dist/locale/th.min.js +1 -1
  213. package/dist/locale/th.min.mjs +1 -1
  214. package/dist/locale/th.mjs +1 -1
  215. package/dist/locale/tk.js +1 -1
  216. package/dist/locale/tk.min.js +1 -1
  217. package/dist/locale/tk.min.mjs +1 -1
  218. package/dist/locale/tk.mjs +1 -1
  219. package/dist/locale/tr.js +1 -1
  220. package/dist/locale/tr.min.js +1 -1
  221. package/dist/locale/tr.min.mjs +1 -1
  222. package/dist/locale/tr.mjs +1 -1
  223. package/dist/locale/ug-cn.js +1 -1
  224. package/dist/locale/ug-cn.min.js +1 -1
  225. package/dist/locale/ug-cn.min.mjs +1 -1
  226. package/dist/locale/ug-cn.mjs +1 -1
  227. package/dist/locale/uk.js +1 -1
  228. package/dist/locale/uk.min.js +1 -1
  229. package/dist/locale/uk.min.mjs +1 -1
  230. package/dist/locale/uk.mjs +1 -1
  231. package/dist/locale/uz-uz.js +1 -1
  232. package/dist/locale/uz-uz.min.js +1 -1
  233. package/dist/locale/uz-uz.min.mjs +1 -1
  234. package/dist/locale/uz-uz.mjs +1 -1
  235. package/dist/locale/vi.js +1 -1
  236. package/dist/locale/vi.min.js +1 -1
  237. package/dist/locale/vi.min.mjs +1 -1
  238. package/dist/locale/vi.mjs +1 -1
  239. package/dist/locale/zh-cn.js +1 -1
  240. package/dist/locale/zh-cn.min.js +1 -1
  241. package/dist/locale/zh-cn.min.mjs +1 -1
  242. package/dist/locale/zh-cn.mjs +1 -1
  243. package/dist/locale/zh-tw.js +1 -1
  244. package/dist/locale/zh-tw.min.js +1 -1
  245. package/dist/locale/zh-tw.min.mjs +1 -1
  246. package/dist/locale/zh-tw.mjs +1 -1
  247. package/es/components/anchor/index.mjs +2 -2
  248. package/es/components/anchor/src/anchor.mjs +38 -193
  249. package/es/components/anchor/src/anchor.mjs.map +1 -1
  250. package/es/components/anchor/src/anchor2.mjs +193 -38
  251. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  252. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  253. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  254. package/es/components/cascader/src/cascader2.mjs +2 -2
  255. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  256. package/es/components/cascader-panel/src/config.mjs +1 -1
  257. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  258. package/es/components/cascader-panel/src/node.mjs +1 -1
  259. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  260. package/es/components/index.mjs +1 -1
  261. package/es/components/infinite-scroll/src/index.mjs +1 -1
  262. package/es/components/infinite-scroll/src/index.mjs.map +1 -1
  263. package/es/components/input/src/input.mjs +1 -1
  264. package/es/components/input/src/input.mjs.map +1 -1
  265. package/es/components/loading/src/directive.mjs +2 -1
  266. package/es/components/loading/src/directive.mjs.map +1 -1
  267. package/es/components/popper/src/content.vue.d.ts +0 -36
  268. package/es/components/popper/src/content2.mjs +2 -2
  269. package/es/components/popper/src/content2.mjs.map +1 -1
  270. package/es/components/select/src/options.mjs +1 -1
  271. package/es/components/select/src/options.mjs.map +1 -1
  272. package/es/components/select/src/select.vue.d.ts +3 -3
  273. package/es/components/select/src/useSelect.d.ts +3 -3
  274. package/es/components/select/src/useSelect.mjs +5 -11
  275. package/es/components/select/src/useSelect.mjs.map +1 -1
  276. package/es/components/select-v2/src/useSelect.mjs +2 -2
  277. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  278. package/es/components/slot/src/only-child.mjs +2 -2
  279. package/es/components/slot/src/only-child.mjs.map +1 -1
  280. package/es/components/space/src/space.mjs +1 -1
  281. package/es/components/space/src/space.mjs.map +1 -1
  282. package/es/components/switch/src/switch2.mjs +1 -1
  283. package/es/components/switch/src/switch2.mjs.map +1 -1
  284. package/es/components/tag/src/tag2.mjs +5 -1
  285. package/es/components/tag/src/tag2.mjs.map +1 -1
  286. package/es/components/tree/src/tree-node.mjs +2 -2
  287. package/es/components/tree/src/tree-node.mjs.map +1 -1
  288. package/es/components/tree-v2/src/composables/useFilter.mjs +1 -0
  289. package/es/components/tree-v2/src/composables/useFilter.mjs.map +1 -1
  290. package/es/components/upload/src/upload-content.mjs +1 -1
  291. package/es/components/upload/src/upload-content.mjs.map +1 -1
  292. package/es/components/upload/src/upload-content2.mjs +2 -2
  293. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  294. package/es/components/upload/src/upload-list.mjs +1 -1
  295. package/es/components/upload/src/upload-list.mjs.map +1 -1
  296. package/es/components/upload/src/upload.mjs +1 -1
  297. package/es/components/upload/src/upload.mjs.map +1 -1
  298. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -1
  299. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
  300. package/es/hooks/use-model-toggle/index.mjs +1 -1
  301. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  302. package/es/hooks/use-same-target/index.mjs +1 -0
  303. package/es/hooks/use-same-target/index.mjs.map +1 -1
  304. package/es/hooks/use-teleport/index.mjs +1 -1
  305. package/es/hooks/use-teleport/index.mjs.map +1 -1
  306. package/es/index.mjs +1 -1
  307. package/es/utils/functions.d.ts +1 -1
  308. package/es/utils/functions.mjs +1 -1
  309. package/es/utils/index.mjs +1 -1
  310. package/es/utils/types.d.ts +1 -1
  311. package/es/utils/types.mjs +1 -1
  312. package/es/utils/types.mjs.map +1 -1
  313. package/es/utils/vue/install.mjs +1 -0
  314. package/es/utils/vue/install.mjs.map +1 -1
  315. package/es/utils/vue/vnode.mjs +3 -1
  316. package/es/utils/vue/vnode.mjs.map +1 -1
  317. package/es/version.d.ts +1 -1
  318. package/es/version.mjs +1 -1
  319. package/es/version.mjs.map +1 -1
  320. package/lib/components/anchor/index.js +2 -2
  321. package/lib/components/anchor/src/anchor.js +38 -192
  322. package/lib/components/anchor/src/anchor.js.map +1 -1
  323. package/lib/components/anchor/src/anchor2.js +192 -38
  324. package/lib/components/anchor/src/anchor2.js.map +1 -1
  325. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  326. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  327. package/lib/components/cascader/src/cascader2.js +2 -2
  328. package/lib/components/cascader/src/cascader2.js.map +1 -1
  329. package/lib/components/cascader-panel/src/config.js +1 -1
  330. package/lib/components/cascader-panel/src/config.js.map +1 -1
  331. package/lib/components/cascader-panel/src/node.js +1 -1
  332. package/lib/components/cascader-panel/src/node.js.map +1 -1
  333. package/lib/components/index.js +1 -1
  334. package/lib/components/infinite-scroll/src/index.js +1 -1
  335. package/lib/components/infinite-scroll/src/index.js.map +1 -1
  336. package/lib/components/input/src/input.js +1 -1
  337. package/lib/components/input/src/input.js.map +1 -1
  338. package/lib/components/loading/src/directive.js +2 -1
  339. package/lib/components/loading/src/directive.js.map +1 -1
  340. package/lib/components/popper/src/content.vue.d.ts +0 -36
  341. package/lib/components/popper/src/content2.js +2 -2
  342. package/lib/components/popper/src/content2.js.map +1 -1
  343. package/lib/components/select/src/options.js +1 -1
  344. package/lib/components/select/src/options.js.map +1 -1
  345. package/lib/components/select/src/select.vue.d.ts +3 -3
  346. package/lib/components/select/src/useSelect.d.ts +3 -3
  347. package/lib/components/select/src/useSelect.js +5 -11
  348. package/lib/components/select/src/useSelect.js.map +1 -1
  349. package/lib/components/select-v2/src/useSelect.js +2 -2
  350. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  351. package/lib/components/slot/src/only-child.js +2 -2
  352. package/lib/components/slot/src/only-child.js.map +1 -1
  353. package/lib/components/space/src/space.js +1 -1
  354. package/lib/components/space/src/space.js.map +1 -1
  355. package/lib/components/switch/src/switch2.js +1 -1
  356. package/lib/components/switch/src/switch2.js.map +1 -1
  357. package/lib/components/tag/src/tag2.js +5 -1
  358. package/lib/components/tag/src/tag2.js.map +1 -1
  359. package/lib/components/tree/src/tree-node.js +2 -2
  360. package/lib/components/tree/src/tree-node.js.map +1 -1
  361. package/lib/components/tree-v2/src/composables/useFilter.js +1 -0
  362. package/lib/components/tree-v2/src/composables/useFilter.js.map +1 -1
  363. package/lib/components/upload/src/upload-content.js +1 -1
  364. package/lib/components/upload/src/upload-content.js.map +1 -1
  365. package/lib/components/upload/src/upload-content2.js +2 -2
  366. package/lib/components/upload/src/upload-content2.js.map +1 -1
  367. package/lib/components/upload/src/upload-list.js +1 -1
  368. package/lib/components/upload/src/upload-list.js.map +1 -1
  369. package/lib/components/upload/src/upload.js +1 -1
  370. package/lib/components/upload/src/upload.js.map +1 -1
  371. package/lib/components/virtual-list/src/components/dynamic-size-grid.js +1 -1
  372. package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
  373. package/lib/hooks/use-model-toggle/index.js +1 -1
  374. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  375. package/lib/hooks/use-same-target/index.js +1 -0
  376. package/lib/hooks/use-same-target/index.js.map +1 -1
  377. package/lib/hooks/use-teleport/index.js +1 -1
  378. package/lib/hooks/use-teleport/index.js.map +1 -1
  379. package/lib/index.js +1 -1
  380. package/lib/utils/functions.d.ts +1 -1
  381. package/lib/utils/functions.js +4 -0
  382. package/lib/utils/functions.js.map +1 -1
  383. package/lib/utils/index.js +8 -0
  384. package/lib/utils/index.js.map +1 -1
  385. package/lib/utils/types.d.ts +1 -1
  386. package/lib/utils/types.js +4 -0
  387. package/lib/utils/types.js.map +1 -1
  388. package/lib/utils/vue/install.js +1 -0
  389. package/lib/utils/vue/install.js.map +1 -1
  390. package/lib/utils/vue/vnode.js +3 -1
  391. package/lib/utils/vue/vnode.js.map +1 -1
  392. package/lib/version.d.ts +1 -1
  393. package/lib/version.js +1 -1
  394. package/lib/version.js.map +1 -1
  395. package/package.json +2 -2
  396. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport { isFunction } from '@vue/shared'\nimport { isNumber, isUndefined, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\n\nimport type { Alignment, GridCache, ItemSize, ListItem } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n}\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n}\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, ItemSize, number]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n // console.log(i, sizer(i))\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, number]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n // console.log(rowIndex)\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n isFunction,\n isNumber,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\n\nimport type { Alignment, GridCache, ItemSize, ListItem } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n}\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n}\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, ItemSize, number]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n // console.log(i, sizer(i))\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, number]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n // console.log(rowIndex)\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getCurrentInstance, computed, watch, onMounted } from 'vue';
2
- import { isFunction } from '@vue/shared';
3
2
  import '../../utils/index.mjs';
4
3
  import { buildProp, definePropType } from '../../utils/vue/props/runtime.mjs';
4
+ import { isFunction } from '@vue/shared';
5
5
  import { isClient } from '@vueuse/core';
6
6
  import { isBoolean } from '../../utils/types.mjs';
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, onMounted, watch } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport {\n buildProp,\n definePropType,\n isBoolean,\n isClient,\n} from '@element-plus/utils'\nimport type { ExtractPropType } from '@element-plus/utils'\nimport type { RouteLocationNormalizedLoaded } from 'vue-router'\n\nimport type { ComponentPublicInstance, ExtractPropTypes, Ref } from 'vue'\n\nconst _prop = buildProp({\n type: definePropType<boolean | null>(Boolean),\n default: null,\n} as const)\nconst _event = buildProp({\n type: definePropType<(val: boolean) => void>(Function),\n} as const)\n\nexport type UseModelTogglePropsRaw<T extends string> = {\n [K in T]: typeof _prop\n} & {\n [K in `onUpdate:${T}`]: typeof _event\n}\n\nexport type UseModelTogglePropsGeneric<T extends string> = {\n [K in T]: ExtractPropType<typeof _prop>\n} & {\n [K in `onUpdate:${T}`]: ExtractPropType<typeof _event>\n}\n\nexport const createModelToggleComposable = <T extends string>(name: T) => {\n const updateEventKey = `update:${name}` as const\n const updateEventKeyRaw = `onUpdate:${name}` as const\n const useModelToggleEmits = [updateEventKey]\n\n const useModelToggleProps = {\n [name]: _prop,\n [updateEventKeyRaw]: _event,\n } as UseModelTogglePropsRaw<T>\n\n const useModelToggle = ({\n indicator,\n toggleReason,\n shouldHideWhenRouteChanges,\n shouldProceed,\n onShow,\n onHide,\n }: ModelToggleParams) => {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const props = instance.props as UseModelTogglePropsGeneric<T> & {\n disabled: boolean\n }\n const hasUpdateHandler = computed(() =>\n isFunction(props[updateEventKeyRaw])\n )\n // when it matches the default value we say this is absent\n // though this could be mistakenly passed from the user but we need to rule out that\n // condition\n const isModelBindingAbsent = computed(() => props[name] === null)\n\n const doShow = (event?: Event) => {\n if (indicator.value === true) {\n return\n }\n\n indicator.value = true\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onShow)) {\n onShow(event)\n }\n }\n\n const doHide = (event?: Event) => {\n if (indicator.value === false) {\n return\n }\n\n indicator.value = false\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onHide)) {\n onHide(event)\n }\n }\n\n const show = (event?: Event) => {\n if (\n props.disabled === true ||\n (isFunction(shouldProceed) && !shouldProceed())\n )\n return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, true)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doShow(event)\n }\n }\n\n const hide = (event?: Event) => {\n if (props.disabled === true || !isClient) return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, false)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doHide(event)\n }\n }\n\n const onChange = (val: boolean) => {\n if (!isBoolean(val)) return\n if (props.disabled && val) {\n if (hasUpdateHandler.value) {\n emit(updateEventKey, false)\n }\n } else if (indicator.value !== val) {\n if (val) {\n doShow()\n } else {\n doHide()\n }\n }\n }\n\n const toggle = () => {\n if (indicator.value) {\n hide()\n } else {\n show()\n }\n }\n\n watch(() => props[name], onChange)\n\n if (\n shouldHideWhenRouteChanges &&\n instance.appContext.config.globalProperties.$route !== undefined\n ) {\n watch(\n () => ({\n ...(\n instance.proxy as ComponentPublicInstance<{\n $route: RouteLocationNormalizedLoaded\n }>\n ).$route,\n }),\n () => {\n if (shouldHideWhenRouteChanges.value && indicator.value) {\n hide()\n }\n }\n )\n }\n\n onMounted(() => {\n onChange(props[name])\n })\n\n return {\n hide,\n show,\n toggle,\n hasUpdateHandler,\n }\n }\n\n return {\n useModelToggle,\n useModelToggleProps,\n useModelToggleEmits,\n }\n}\n\nconst { useModelToggle, useModelToggleProps, useModelToggleEmits } =\n createModelToggleComposable('modelValue')\n\nexport { useModelToggle, useModelToggleEmits, useModelToggleProps }\n\nexport type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>\n\nexport type ModelToggleParams = {\n indicator: Ref<boolean>\n toggleReason?: Ref<Event | undefined>\n shouldHideWhenRouteChanges?: Ref<boolean>\n shouldProceed?: () => boolean\n onShow?: (event?: Event) => void\n onHide?: (event?: Event) => void\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, onMounted, watch } from 'vue'\nimport {\n buildProp,\n definePropType,\n isBoolean,\n isClient,\n isFunction,\n} from '@element-plus/utils'\nimport type { ExtractPropType } from '@element-plus/utils'\nimport type { RouteLocationNormalizedLoaded } from 'vue-router'\n\nimport type { ComponentPublicInstance, ExtractPropTypes, Ref } from 'vue'\n\nconst _prop = buildProp({\n type: definePropType<boolean | null>(Boolean),\n default: null,\n} as const)\nconst _event = buildProp({\n type: definePropType<(val: boolean) => void>(Function),\n} as const)\n\nexport type UseModelTogglePropsRaw<T extends string> = {\n [K in T]: typeof _prop\n} & {\n [K in `onUpdate:${T}`]: typeof _event\n}\n\nexport type UseModelTogglePropsGeneric<T extends string> = {\n [K in T]: ExtractPropType<typeof _prop>\n} & {\n [K in `onUpdate:${T}`]: ExtractPropType<typeof _event>\n}\n\nexport const createModelToggleComposable = <T extends string>(name: T) => {\n const updateEventKey = `update:${name}` as const\n const updateEventKeyRaw = `onUpdate:${name}` as const\n const useModelToggleEmits = [updateEventKey]\n\n const useModelToggleProps = {\n [name]: _prop,\n [updateEventKeyRaw]: _event,\n } as UseModelTogglePropsRaw<T>\n\n const useModelToggle = ({\n indicator,\n toggleReason,\n shouldHideWhenRouteChanges,\n shouldProceed,\n onShow,\n onHide,\n }: ModelToggleParams) => {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const props = instance.props as UseModelTogglePropsGeneric<T> & {\n disabled: boolean\n }\n const hasUpdateHandler = computed(() =>\n isFunction(props[updateEventKeyRaw])\n )\n // when it matches the default value we say this is absent\n // though this could be mistakenly passed from the user but we need to rule out that\n // condition\n const isModelBindingAbsent = computed(() => props[name] === null)\n\n const doShow = (event?: Event) => {\n if (indicator.value === true) {\n return\n }\n\n indicator.value = true\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onShow)) {\n onShow(event)\n }\n }\n\n const doHide = (event?: Event) => {\n if (indicator.value === false) {\n return\n }\n\n indicator.value = false\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onHide)) {\n onHide(event)\n }\n }\n\n const show = (event?: Event) => {\n if (\n props.disabled === true ||\n (isFunction(shouldProceed) && !shouldProceed())\n )\n return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, true)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doShow(event)\n }\n }\n\n const hide = (event?: Event) => {\n if (props.disabled === true || !isClient) return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, false)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doHide(event)\n }\n }\n\n const onChange = (val: boolean) => {\n if (!isBoolean(val)) return\n if (props.disabled && val) {\n if (hasUpdateHandler.value) {\n emit(updateEventKey, false)\n }\n } else if (indicator.value !== val) {\n if (val) {\n doShow()\n } else {\n doHide()\n }\n }\n }\n\n const toggle = () => {\n if (indicator.value) {\n hide()\n } else {\n show()\n }\n }\n\n watch(() => props[name], onChange)\n\n if (\n shouldHideWhenRouteChanges &&\n instance.appContext.config.globalProperties.$route !== undefined\n ) {\n watch(\n () => ({\n ...(\n instance.proxy as ComponentPublicInstance<{\n $route: RouteLocationNormalizedLoaded\n }>\n ).$route,\n }),\n () => {\n if (shouldHideWhenRouteChanges.value && indicator.value) {\n hide()\n }\n }\n )\n }\n\n onMounted(() => {\n onChange(props[name])\n })\n\n return {\n hide,\n show,\n toggle,\n hasUpdateHandler,\n }\n }\n\n return {\n useModelToggle,\n useModelToggleProps,\n useModelToggleEmits,\n }\n}\n\nconst { useModelToggle, useModelToggleProps, useModelToggleEmits } =\n createModelToggleComposable('modelValue')\n\nexport { useModelToggle, useModelToggleEmits, useModelToggleProps }\n\nexport type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>\n\nexport type ModelToggleParams = {\n indicator: Ref<boolean>\n toggleReason?: Ref<Event | undefined>\n shouldHideWhenRouteChanges?: Ref<boolean>\n shouldProceed?: () => boolean\n onShow?: (event?: Event) => void\n onHide?: (event?: Event) => void\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import '../../utils/index.mjs';
1
2
  import { NOOP } from '@vue/shared';
2
3
 
3
4
  const useSameTarget = (handleClick) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-same-target/index.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\n\nexport const useSameTarget = (handleClick?: (e: MouseEvent) => void) => {\n if (!handleClick) {\n return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP }\n }\n\n let mousedownTarget = false\n let mouseupTarget = false\n // refer to this https://javascript.info/mouse-events-basics\n // events fired in the order: mousedown -> mouseup -> click\n // we need to set the mousedown handle to false after click fired.\n const onClick = (e: MouseEvent) => {\n // if and only if\n if (mousedownTarget && mouseupTarget) {\n handleClick(e)\n }\n mousedownTarget = mouseupTarget = false\n }\n\n const onMousedown = (e: MouseEvent) => {\n // marking current mousedown target.\n mousedownTarget = e.target === e.currentTarget\n }\n const onMouseup = (e: MouseEvent) => {\n // marking current mouseup target.\n mouseupTarget = e.target === e.currentTarget\n }\n\n return { onClick, onMousedown, onMouseup }\n}\n"],"names":[],"mappings":";;AACY,MAAC,aAAa,GAAG,CAAC,WAAW,KAAK;AAC9C,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACjE,GAAG;AACH,EAAE,IAAI,eAAe,GAAG,KAAK,CAAC;AAC9B,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC;AAC5B,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK;AACzB,IAAI,IAAI,eAAe,IAAI,aAAa,EAAE;AAC1C,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,eAAe,GAAG,aAAa,GAAG,KAAK,CAAC;AAC5C,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC;AACnD,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK;AAC3B,IAAI,aAAa,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC;AACjD,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7C;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-same-target/index.ts"],"sourcesContent":["import { NOOP } from '@element-plus/utils'\n\nexport const useSameTarget = (handleClick?: (e: MouseEvent) => void) => {\n if (!handleClick) {\n return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP }\n }\n\n let mousedownTarget = false\n let mouseupTarget = false\n // refer to this https://javascript.info/mouse-events-basics\n // events fired in the order: mousedown -> mouseup -> click\n // we need to set the mousedown handle to false after click fired.\n const onClick = (e: MouseEvent) => {\n // if and only if\n if (mousedownTarget && mouseupTarget) {\n handleClick(e)\n }\n mousedownTarget = mouseupTarget = false\n }\n\n const onMousedown = (e: MouseEvent) => {\n // marking current mousedown target.\n mousedownTarget = e.target === e.currentTarget\n }\n const onMouseup = (e: MouseEvent) => {\n // marking current mouseup target.\n mouseupTarget = e.target === e.currentTarget\n }\n\n return { onClick, onMousedown, onMouseup }\n}\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,CAAC,WAAW,KAAK;AAC9C,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACjE,GAAG;AACH,EAAE,IAAI,eAAe,GAAG,KAAK,CAAC;AAC9B,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC;AAC5B,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK;AACzB,IAAI,IAAI,eAAe,IAAI,aAAa,EAAE;AAC1C,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,eAAe,GAAG,aAAa,GAAG,KAAK,CAAC;AAC5C,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC;AACnD,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK;AAC3B,IAAI,aAAa,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC;AACjD,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7C;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ref, h, Teleport, onUnmounted } from 'vue';
2
- import { NOOP } from '@vue/shared';
3
2
  import '../../utils/index.mjs';
4
3
  import { isClient } from '@vueuse/core';
4
+ import { NOOP } from '@vue/shared';
5
5
  import { createGlobalNode, removeGlobalNode } from '../../utils/vue/global-node.mjs';
6
6
 
7
7
  const useTeleport = (contentRenderer, appendToBody) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-teleport/index.ts"],"sourcesContent":["import { Teleport, h, onUnmounted, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n createGlobalNode,\n isClient,\n removeGlobalNode,\n} from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nexport const useTeleport = (\n contentRenderer: () => VNode,\n appendToBody: Ref<boolean>\n) => {\n const isTeleportVisible = ref(false)\n\n if (!isClient) {\n return {\n isTeleportVisible,\n showTeleport: NOOP,\n hideTeleport: NOOP,\n renderTeleport: NOOP,\n }\n }\n\n let $el: HTMLElement | null = null\n\n const showTeleport = () => {\n isTeleportVisible.value = true\n // this allows the delayed showing strategy since the the content itself could be enterable\n // e.g. el-popper\n if ($el !== null) return\n\n $el = createGlobalNode()\n }\n\n const hideTeleport = () => {\n isTeleportVisible.value = false\n if ($el !== null) {\n removeGlobalNode($el)\n $el = null\n }\n }\n\n const renderTeleport = () => {\n return appendToBody.value !== true\n ? contentRenderer()\n : isTeleportVisible.value\n ? [h(Teleport, { to: $el }, contentRenderer())]\n : undefined\n }\n\n onUnmounted(hideTeleport)\n\n return {\n isTeleportVisible,\n showTeleport,\n hideTeleport,\n renderTeleport,\n }\n}\n"],"names":[],"mappings":";;;;;;AAOY,MAAC,WAAW,GAAG,CAAC,eAAe,EAAE,YAAY,KAAK;AAC9D,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,iBAAiB;AACvB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC;AACjB,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;AACnC,IAAI,IAAI,GAAG,KAAK,IAAI;AACpB,MAAM,OAAO;AACb,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;AACpC,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC5B,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9I,GAAG,CAAC;AACJ,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5B,EAAE,OAAO;AACT,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-teleport/index.ts"],"sourcesContent":["import { Teleport, h, onUnmounted, ref } from 'vue'\nimport {\n NOOP,\n createGlobalNode,\n isClient,\n removeGlobalNode,\n} from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nexport const useTeleport = (\n contentRenderer: () => VNode,\n appendToBody: Ref<boolean>\n) => {\n const isTeleportVisible = ref(false)\n\n if (!isClient) {\n return {\n isTeleportVisible,\n showTeleport: NOOP,\n hideTeleport: NOOP,\n renderTeleport: NOOP,\n }\n }\n\n let $el: HTMLElement | null = null\n\n const showTeleport = () => {\n isTeleportVisible.value = true\n // this allows the delayed showing strategy since the the content itself could be enterable\n // e.g. el-popper\n if ($el !== null) return\n\n $el = createGlobalNode()\n }\n\n const hideTeleport = () => {\n isTeleportVisible.value = false\n if ($el !== null) {\n removeGlobalNode($el)\n $el = null\n }\n }\n\n const renderTeleport = () => {\n return appendToBody.value !== true\n ? contentRenderer()\n : isTeleportVisible.value\n ? [h(Teleport, { to: $el }, contentRenderer())]\n : undefined\n }\n\n onUnmounted(hideTeleport)\n\n return {\n isTeleportVisible,\n showTeleport,\n hideTeleport,\n renderTeleport,\n }\n}\n"],"names":[],"mappings":";;;;;;AAOY,MAAC,WAAW,GAAG,CAAC,eAAe,EAAE,YAAY,KAAK;AAC9D,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,iBAAiB;AACvB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC;AACjB,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;AACnC,IAAI,IAAI,GAAG,KAAK,IAAI;AACpB,MAAM,OAAO;AACb,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;AACpC,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC5B,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9I,GAAG,CAAC;AACJ,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5B,EAAE,OAAO;AACT,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,GAAG,CAAC;AACJ;;;;"}
package/es/index.mjs CHANGED
@@ -216,7 +216,7 @@ export { tourEmits, tourProps } from './components/tour/src/tour.mjs';
216
216
  export { tourStepEmits, tourStepProps } from './components/tour/src/step.mjs';
217
217
  export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies } from './components/tour/src/content.mjs';
218
218
  export { ElTour, ElTourStep } from './components/tour/index.mjs';
219
- export { anchorEmits, anchorProps } from './components/anchor/src/anchor2.mjs';
219
+ export { anchorEmits, anchorProps } from './components/anchor/src/anchor.mjs';
220
220
  export { ElAnchor, ElAnchorLink } from './components/anchor/index.mjs';
221
221
  export { segmentedEmits, segmentedProps } from './components/segmented/src/segmented.mjs';
222
222
  export { ElSegmented } from './components/segmented/index.mjs';
@@ -1 +1 @@
1
- export { NOOP } from '@vue/shared';
1
+ export { NOOP, toRawType } from '@vue/shared';
@@ -1,2 +1,2 @@
1
- export { NOOP } from '@vue/shared';
1
+ export { NOOP, toRawType } from '@vue/shared';
2
2
  //# sourceMappingURL=functions.mjs.map
@@ -29,6 +29,6 @@ export { isValidComponentSize, isValidDatePickType } from './vue/validator.mjs';
29
29
  export { PatchFlags, ensureOnlyChild, flattedChildren, getFirstValidNode, getNormalizedProps, isComment, isFragment, isTemplate, isText, isValidElementNode, renderBlock, renderIf } from './vue/vnode.mjs';
30
30
  export { castArray as ensureArray } from 'lodash-unified';
31
31
  export { isClient, isIOS } from '@vueuse/core';
32
- export { NOOP, camelize, hasOwn, hyphenate, isArray, isDate, isFunction, isObject, isPromise, isString, isSymbol, hyphenate as kebabCase } from '@vue/shared';
32
+ export { NOOP, camelize, hasOwn, hyphenate, isArray, isDate, isFunction, isObject, isPlainObject, isPromise, isString, isSymbol, hyphenate as kebabCase, toRawType } from '@vue/shared';
33
33
  export { isVNode } from 'vue';
34
34
  //# sourceMappingURL=index.mjs.map
@@ -1,4 +1,4 @@
1
- export { isArray, isFunction, isObject, isString, isDate, isPromise, isSymbol, } from '@vue/shared';
1
+ export { isArray, isFunction, isObject, isString, isDate, isPromise, isSymbol, isPlainObject, } from '@vue/shared';
2
2
  export { isVNode } from 'vue';
3
3
  export declare const isUndefined: (val: any) => val is undefined;
4
4
  export declare const isBoolean: (val: any) => val is boolean;
@@ -1,5 +1,5 @@
1
1
  import { isArray, isObject, isString } from '@vue/shared';
2
- export { isArray, isDate, isFunction, isObject, isPromise, isString, isSymbol } from '@vue/shared';
2
+ export { isArray, isDate, isFunction, isObject, isPlainObject, isPromise, isString, isSymbol } from '@vue/shared';
3
3
  import { isNil } from 'lodash-unified';
4
4
  export { isVNode } from 'vue';
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../packages/utils/types.ts"],"sourcesContent":["import { isArray, isObject, isString } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\n\nexport {\n isArray,\n isFunction,\n isObject,\n isString,\n isDate,\n isPromise,\n isSymbol,\n} from '@vue/shared'\nexport { isVNode } from 'vue'\n\nexport const isUndefined = (val: any): val is undefined => val === undefined\nexport const isBoolean = (val: any): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: any): val is number => typeof val === 'number'\n\nexport const isEmpty = (val: unknown) =>\n (!val && val !== 0) ||\n (isArray(val) && val.length === 0) ||\n (isObject(val) && !Object.keys(val).length)\n\nexport const isElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\nexport const isPropAbsent = (prop: unknown): prop is null | undefined => {\n return isNil(prop)\n}\n\nexport const isStringNumber = (val: string): boolean => {\n if (!isString(val)) {\n return false\n }\n return !Number.isNaN(Number(val))\n}\n\nexport const isWindow = (val: unknown): val is Window => {\n return val === window\n}\n"],"names":[],"mappings":";;;;;AAYY,MAAC,WAAW,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,KAAK,EAAE;AACvC,MAAC,SAAS,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,UAAU;AAC/C,MAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC7C,MAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO;AACvH,MAAC,SAAS,GAAG,CAAC,CAAC,KAAK;AAChC,EAAE,IAAI,OAAO,OAAO,KAAK,WAAW;AACpC,IAAI,OAAO,KAAK,CAAC;AACjB,EAAE,OAAO,CAAC,YAAY,OAAO,CAAC;AAC9B,EAAE;AACU,MAAC,YAAY,GAAG,CAAC,IAAI,KAAK;AACtC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,EAAE;AACU,MAAC,cAAc,GAAG,CAAC,GAAG,KAAK;AACvC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,EAAE;AACU,MAAC,QAAQ,GAAG,CAAC,GAAG,KAAK;AACjC,EAAE,OAAO,GAAG,KAAK,MAAM,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../packages/utils/types.ts"],"sourcesContent":["import { isArray, isObject, isString } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\n\nexport {\n isArray,\n isFunction,\n isObject,\n isString,\n isDate,\n isPromise,\n isSymbol,\n isPlainObject,\n} from '@vue/shared'\nexport { isVNode } from 'vue'\n\nexport const isUndefined = (val: any): val is undefined => val === undefined\nexport const isBoolean = (val: any): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: any): val is number => typeof val === 'number'\n\nexport const isEmpty = (val: unknown) =>\n (!val && val !== 0) ||\n (isArray(val) && val.length === 0) ||\n (isObject(val) && !Object.keys(val).length)\n\nexport const isElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\nexport const isPropAbsent = (prop: unknown): prop is null | undefined => {\n return isNil(prop)\n}\n\nexport const isStringNumber = (val: string): boolean => {\n if (!isString(val)) {\n return false\n }\n return !Number.isNaN(Number(val))\n}\n\nexport const isWindow = (val: unknown): val is Window => {\n return val === window\n}\n"],"names":[],"mappings":";;;;;AAaY,MAAC,WAAW,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,KAAK,EAAE;AACvC,MAAC,SAAS,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,UAAU;AAC/C,MAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC7C,MAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO;AACvH,MAAC,SAAS,GAAG,CAAC,CAAC,KAAK;AAChC,EAAE,IAAI,OAAO,OAAO,KAAK,WAAW;AACpC,IAAI,OAAO,KAAK,CAAC;AACjB,EAAE,OAAO,CAAC,YAAY,OAAO,CAAC;AAC9B,EAAE;AACU,MAAC,YAAY,GAAG,CAAC,IAAI,KAAK;AACtC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,EAAE;AACU,MAAC,cAAc,GAAG,CAAC,GAAG,KAAK;AACvC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,EAAE;AACU,MAAC,QAAQ,GAAG,CAAC,GAAG,KAAK;AACjC,EAAE,OAAO,GAAG,KAAK,MAAM,CAAC;AACxB;;;;"}
@@ -1,3 +1,4 @@
1
+ import '../functions.mjs';
1
2
  import { NOOP } from '@vue/shared';
2
3
 
3
4
  const withInstall = (main, extra) => {
@@ -1 +1 @@
1
- {"version":3,"file":"install.mjs","sources":["../../../../../packages/utils/vue/install.ts"],"sourcesContent":["import { NOOP } from '@vue/shared'\n\nimport type { App, Directive } from 'vue'\nimport type { SFCInstallWithContext, SFCWithInstall } from './typescript'\n\nexport const withInstall = <T, E extends Record<string, any>>(\n main: T,\n extra?: E\n) => {\n ;(main as SFCWithInstall<T>).install = (app): void => {\n for (const comp of [main, ...Object.values(extra ?? {})]) {\n app.component(comp.name, comp)\n }\n }\n\n if (extra) {\n for (const [key, comp] of Object.entries(extra)) {\n ;(main as any)[key] = comp\n }\n }\n return main as SFCWithInstall<T> & E\n}\n\nexport const withInstallFunction = <T>(fn: T, name: string) => {\n ;(fn as SFCWithInstall<T>).install = (app: App) => {\n ;(fn as SFCInstallWithContext<T>)._context = app._context\n app.config.globalProperties[name] = fn\n }\n\n return fn as SFCInstallWithContext<T>\n}\n\nexport const withInstallDirective = <T extends Directive>(\n directive: T,\n name: string\n) => {\n ;(directive as SFCWithInstall<T>).install = (app: App): void => {\n app.directive(name, directive)\n }\n\n return directive as SFCWithInstall<T>\n}\n\nexport const withNoopInstall = <T>(component: T) => {\n ;(component as SFCWithInstall<T>).install = NOOP\n\n return component as SFCWithInstall<T>\n}\n"],"names":[],"mappings":";;AACY,MAAC,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5C,EAAE,CAAC;AACH,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE;AAC7E,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACrD,MAAM,CAAC;AACP,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACvB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,EAAE;AACU,MAAC,mBAAmB,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK;AACjD,EAAE,CAAC;AACH,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AACxB,IAAI,CAAC;AACL,IAAI,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE;AACU,MAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK;AACzD,EAAE,CAAC;AACH,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,OAAO,SAAS,CAAC;AACnB,EAAE;AACU,MAAC,eAAe,GAAG,CAAC,SAAS,KAAK;AAC9C,EAAE,CAAC;AACH,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,EAAE,OAAO,SAAS,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"install.mjs","sources":["../../../../../packages/utils/vue/install.ts"],"sourcesContent":["import { NOOP } from '../functions'\n\nimport type { App, Directive } from 'vue'\nimport type { SFCInstallWithContext, SFCWithInstall } from './typescript'\n\nexport const withInstall = <T, E extends Record<string, any>>(\n main: T,\n extra?: E\n) => {\n ;(main as SFCWithInstall<T>).install = (app): void => {\n for (const comp of [main, ...Object.values(extra ?? {})]) {\n app.component(comp.name, comp)\n }\n }\n\n if (extra) {\n for (const [key, comp] of Object.entries(extra)) {\n ;(main as any)[key] = comp\n }\n }\n return main as SFCWithInstall<T> & E\n}\n\nexport const withInstallFunction = <T>(fn: T, name: string) => {\n ;(fn as SFCWithInstall<T>).install = (app: App) => {\n ;(fn as SFCInstallWithContext<T>)._context = app._context\n app.config.globalProperties[name] = fn\n }\n\n return fn as SFCInstallWithContext<T>\n}\n\nexport const withInstallDirective = <T extends Directive>(\n directive: T,\n name: string\n) => {\n ;(directive as SFCWithInstall<T>).install = (app: App): void => {\n app.directive(name, directive)\n }\n\n return directive as SFCWithInstall<T>\n}\n\nexport const withNoopInstall = <T>(component: T) => {\n ;(component as SFCWithInstall<T>).install = NOOP\n\n return component as SFCWithInstall<T>\n}\n"],"names":[],"mappings":";;;AACY,MAAC,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5C,EAAE,CAAC;AACH,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE;AAC7E,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACrD,MAAM,CAAC;AACP,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACvB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,EAAE;AACU,MAAC,mBAAmB,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK;AACjD,EAAE,CAAC;AACH,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AACxB,IAAI,CAAC;AACL,IAAI,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE;AACU,MAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK;AACzD,EAAE,CAAC;AACH,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK;AAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,OAAO,SAAS,CAAC;AACnB,EAAE;AACU,MAAC,eAAe,GAAG,CAAC,SAAS,KAAK;AAC9C,EAAE,CAAC;AACH,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,EAAE,OAAO,SAAS,CAAC;AACnB;;;;"}
@@ -1,7 +1,9 @@
1
1
  import { isVNode, Fragment, Text, Comment, openBlock, createBlock, createCommentVNode } from 'vue';
2
- import { hasOwn, camelize, isArray } from '@vue/shared';
2
+ import '../strings.mjs';
3
+ import '../types.mjs';
3
4
  import '../objects.mjs';
4
5
  import { debugWarn } from '../error.mjs';
6
+ import { hasOwn, camelize, isArray } from '@vue/shared';
5
7
 
6
8
  const SCOPE = "utils/vue/vnode";
7
9
  var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vnode.mjs","sources":["../../../../../packages/utils/vue/vnode.ts"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n createBlock,\n createCommentVNode,\n isVNode,\n openBlock,\n} from 'vue'\nimport { camelize, isArray } from '@vue/shared'\nimport { hasOwn } from '../objects'\nimport { debugWarn } from '../error'\nimport type {\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n VNodeNormalizedChildren,\n} from 'vue'\n\nconst SCOPE = 'utils/vue/vnode'\n\nexport enum PatchFlags {\n TEXT = 1,\n CLASS = 2,\n STYLE = 4,\n PROPS = 8,\n FULL_PROPS = 16,\n HYDRATE_EVENTS = 32,\n STABLE_FRAGMENT = 64,\n KEYED_FRAGMENT = 128,\n UNKEYED_FRAGMENT = 256,\n NEED_PATCH = 512,\n DYNAMIC_SLOTS = 1024,\n HOISTED = -1,\n BAIL = -2,\n}\n\nexport type VNodeChildAtom = Exclude<VNodeChild, Array<any>>\nexport type RawSlots = Exclude<\n VNodeNormalizedChildren,\n Array<any> | null | string\n>\n\nexport function isFragment(node: VNode): boolean\nexport function isFragment(node: unknown): node is VNode\nexport function isFragment(node: unknown): node is VNode {\n return isVNode(node) && node.type === Fragment\n}\n\nexport function isText(node: VNode): boolean\nexport function isText(node: unknown): node is VNode\nexport function isText(node: unknown): node is VNode {\n return isVNode(node) && node.type === Text\n}\n\nexport function isComment(node: VNode): boolean\nexport function isComment(node: unknown): node is VNode\nexport function isComment(node: unknown): node is VNode {\n return isVNode(node) && node.type === Comment\n}\n\nconst TEMPLATE = 'template'\nexport function isTemplate(node: VNode): boolean\nexport function isTemplate(node: unknown): node is VNode\nexport function isTemplate(node: unknown): node is VNode {\n return isVNode(node) && node.type === TEMPLATE\n}\n\n/**\n * determine if the element is a valid element type rather than fragments and comment e.g. <template> v-if\n * @param node {VNode} node to be tested\n */\nexport function isValidElementNode(node: VNode): boolean\nexport function isValidElementNode(node: unknown): node is VNode\nexport function isValidElementNode(node: unknown): node is VNode {\n return isVNode(node) && !isFragment(node) && !isComment(node)\n}\n\n/**\n * get a valid child node (not fragment nor comment)\n * @param node {VNode} node to be searched\n * @param depth {number} depth to be searched\n */\nfunction getChildren(\n node: VNodeNormalizedChildren | VNodeChild,\n depth: number\n): VNodeNormalizedChildren | VNodeChild {\n if (isComment(node)) return\n if (isFragment(node) || isTemplate(node)) {\n return depth > 0 ? getFirstValidNode(node.children, depth - 1) : undefined\n }\n return node\n}\n\nexport const getFirstValidNode = (\n nodes: VNodeNormalizedChildren,\n maxDepth = 3\n) => {\n if (Array.isArray(nodes)) {\n return getChildren(nodes[0], maxDepth)\n } else {\n return getChildren(nodes, maxDepth)\n }\n}\n\nexport function renderIf(\n condition: boolean,\n ...args: Parameters<typeof createBlock>\n) {\n return condition ? renderBlock(...args) : createCommentVNode('v-if', true)\n}\n\nexport function renderBlock(...args: Parameters<typeof createBlock>) {\n return openBlock(), createBlock(...args)\n}\n\nexport const getNormalizedProps = (node: VNode) => {\n if (!isVNode(node)) {\n debugWarn(SCOPE, '[getNormalizedProps] must be a VNode')\n return {}\n }\n\n const raw = node.props || {}\n const type = (isVNode(node.type) ? node.type.props : undefined) || {}\n const props: Record<string, any> = {}\n\n Object.keys(type).forEach((key) => {\n if (hasOwn(type[key], 'default')) {\n props[key] = type[key].default\n }\n })\n\n Object.keys(raw).forEach((key) => {\n props[camelize(key)] = raw[key]\n })\n\n return props\n}\n\nexport const ensureOnlyChild = (children: VNodeArrayChildren | undefined) => {\n if (!isArray(children) || children.length > 1) {\n throw new Error('expect to receive a single Vue element child')\n }\n return children[0]\n}\n\nexport type FlattenVNodes = Array<VNodeChildAtom | RawSlots>\n\nexport const flattedChildren = (\n children: FlattenVNodes | VNode | VNodeNormalizedChildren\n): FlattenVNodes => {\n const vNodes = isArray(children) ? children : [children]\n const result: FlattenVNodes = []\n\n vNodes.forEach((child) => {\n if (isArray(child)) {\n result.push(...flattedChildren(child))\n } else if (isVNode(child) && isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n if (isVNode(child) && child.component?.subTree) {\n result.push(...flattedChildren(child.component.subTree))\n }\n }\n })\n return result\n}\n"],"names":[],"mappings":";;;;;AAYA,MAAM,KAAK,GAAG,iBAAiB,CAAC;AACtB,IAAC,UAAU,mBAAmB,CAAC,CAAC,WAAW,KAAK;AAC1D,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;AAChD,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAClD,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAClD,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAClD,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC;AAC7D,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC;AACrE,EAAE,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,iBAAiB,CAAC;AACvE,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,GAAG,gBAAgB,CAAC;AACtE,EAAE,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,GAAG,kBAAkB,CAAC;AAC1E,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,YAAY,CAAC;AAC9D,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,eAAe,CAAC;AACrE,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACvD,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AACjD,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE;AACd,SAAS,UAAU,CAAC,IAAI,EAAE;AACjC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjD,CAAC;AACM,SAAS,MAAM,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7C,CAAC;AACM,SAAS,SAAS,CAAC,IAAI,EAAE;AAChC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAChD,CAAC;AACD,MAAM,QAAQ,GAAG,UAAU,CAAC;AACrB,SAAS,UAAU,CAAC,IAAI,EAAE;AACjC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjD,CAAC;AACM,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACzC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AACD,SAAS,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;AAClC,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;AACrB,IAAI,OAAO;AACX,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC5C,IAAI,OAAO,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC5E,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACW,MAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,KAAK;AAC1D,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5B,IAAI,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC3C,GAAG,MAAM;AACT,IAAI,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxC,GAAG;AACH,EAAE;AACK,SAAS,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE;AAC7C,EAAE,OAAO,SAAS,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AACM,SAAS,WAAW,CAAC,GAAG,IAAI,EAAE;AACrC,EAAE,OAAO,SAAS,EAAE,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC;AACW,MAAC,kBAAkB,GAAG,CAAC,IAAI,KAAK;AAC5C,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtB,IAAI,SAAS,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;AAC7D,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;AAC/B,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AACrE,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACrC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE;AACtC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AACrC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACpC,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,KAAK,CAAC;AACf,EAAE;AACU,MAAC,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC7C,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,IAAI,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,EAAE;AACU,MAAC,eAAe,GAAG,CAAC,QAAQ,KAAK;AAC7C,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3D,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC5B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC1D,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE;AACpF,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,OAAO;AACP,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"vnode.mjs","sources":["../../../../../packages/utils/vue/vnode.ts"],"sourcesContent":["import {\n Comment,\n Fragment,\n Text,\n createBlock,\n createCommentVNode,\n isVNode,\n openBlock,\n} from 'vue'\nimport { camelize } from '../strings'\nimport { isArray } from '../types'\nimport { hasOwn } from '../objects'\nimport { debugWarn } from '../error'\nimport type {\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n VNodeNormalizedChildren,\n} from 'vue'\n\nconst SCOPE = 'utils/vue/vnode'\n\nexport enum PatchFlags {\n TEXT = 1,\n CLASS = 2,\n STYLE = 4,\n PROPS = 8,\n FULL_PROPS = 16,\n HYDRATE_EVENTS = 32,\n STABLE_FRAGMENT = 64,\n KEYED_FRAGMENT = 128,\n UNKEYED_FRAGMENT = 256,\n NEED_PATCH = 512,\n DYNAMIC_SLOTS = 1024,\n HOISTED = -1,\n BAIL = -2,\n}\n\nexport type VNodeChildAtom = Exclude<VNodeChild, Array<any>>\nexport type RawSlots = Exclude<\n VNodeNormalizedChildren,\n Array<any> | null | string\n>\n\nexport function isFragment(node: VNode): boolean\nexport function isFragment(node: unknown): node is VNode\nexport function isFragment(node: unknown): node is VNode {\n return isVNode(node) && node.type === Fragment\n}\n\nexport function isText(node: VNode): boolean\nexport function isText(node: unknown): node is VNode\nexport function isText(node: unknown): node is VNode {\n return isVNode(node) && node.type === Text\n}\n\nexport function isComment(node: VNode): boolean\nexport function isComment(node: unknown): node is VNode\nexport function isComment(node: unknown): node is VNode {\n return isVNode(node) && node.type === Comment\n}\n\nconst TEMPLATE = 'template'\nexport function isTemplate(node: VNode): boolean\nexport function isTemplate(node: unknown): node is VNode\nexport function isTemplate(node: unknown): node is VNode {\n return isVNode(node) && node.type === TEMPLATE\n}\n\n/**\n * determine if the element is a valid element type rather than fragments and comment e.g. <template> v-if\n * @param node {VNode} node to be tested\n */\nexport function isValidElementNode(node: VNode): boolean\nexport function isValidElementNode(node: unknown): node is VNode\nexport function isValidElementNode(node: unknown): node is VNode {\n return isVNode(node) && !isFragment(node) && !isComment(node)\n}\n\n/**\n * get a valid child node (not fragment nor comment)\n * @param node {VNode} node to be searched\n * @param depth {number} depth to be searched\n */\nfunction getChildren(\n node: VNodeNormalizedChildren | VNodeChild,\n depth: number\n): VNodeNormalizedChildren | VNodeChild {\n if (isComment(node)) return\n if (isFragment(node) || isTemplate(node)) {\n return depth > 0 ? getFirstValidNode(node.children, depth - 1) : undefined\n }\n return node\n}\n\nexport const getFirstValidNode = (\n nodes: VNodeNormalizedChildren,\n maxDepth = 3\n) => {\n if (Array.isArray(nodes)) {\n return getChildren(nodes[0], maxDepth)\n } else {\n return getChildren(nodes, maxDepth)\n }\n}\n\nexport function renderIf(\n condition: boolean,\n ...args: Parameters<typeof createBlock>\n) {\n return condition ? renderBlock(...args) : createCommentVNode('v-if', true)\n}\n\nexport function renderBlock(...args: Parameters<typeof createBlock>) {\n return openBlock(), createBlock(...args)\n}\n\nexport const getNormalizedProps = (node: VNode) => {\n if (!isVNode(node)) {\n debugWarn(SCOPE, '[getNormalizedProps] must be a VNode')\n return {}\n }\n\n const raw = node.props || {}\n const type = (isVNode(node.type) ? node.type.props : undefined) || {}\n const props: Record<string, any> = {}\n\n Object.keys(type).forEach((key) => {\n if (hasOwn(type[key], 'default')) {\n props[key] = type[key].default\n }\n })\n\n Object.keys(raw).forEach((key) => {\n props[camelize(key)] = raw[key]\n })\n\n return props\n}\n\nexport const ensureOnlyChild = (children: VNodeArrayChildren | undefined) => {\n if (!isArray(children) || children.length > 1) {\n throw new Error('expect to receive a single Vue element child')\n }\n return children[0]\n}\n\nexport type FlattenVNodes = Array<VNodeChildAtom | RawSlots>\n\nexport const flattedChildren = (\n children: FlattenVNodes | VNode | VNodeNormalizedChildren\n): FlattenVNodes => {\n const vNodes = isArray(children) ? children : [children]\n const result: FlattenVNodes = []\n\n vNodes.forEach((child) => {\n if (isArray(child)) {\n result.push(...flattedChildren(child))\n } else if (isVNode(child) && isArray(child.children)) {\n result.push(...flattedChildren(child.children))\n } else {\n result.push(child)\n if (isVNode(child) && child.component?.subTree) {\n result.push(...flattedChildren(child.component.subTree))\n }\n }\n })\n return result\n}\n"],"names":[],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20240827";
1
+ export declare const version = "0.0.20240829";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20240827";
1
+ const version = "0.0.20240829";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20240827'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20240829'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var anchor$1 = require('./src/anchor.js');
6
+ var anchor$1 = require('./src/anchor2.js');
7
7
  var anchorLink = require('./src/anchor-link2.js');
8
- var anchor = require('./src/anchor2.js');
8
+ var anchor = require('./src/anchor.js');
9
9
  var install = require('../../utils/vue/install.js');
10
10
 
11
11
  const ElAnchor = install.withInstall(anchor$1["default"], {
@@ -2,202 +2,48 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var core = require('@vueuse/core');
7
- require('../../../hooks/index.js');
8
5
  require('../../../utils/index.js');
9
- var anchor = require('./anchor2.js');
10
- var constants = require('./constants.js');
11
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var element = require('../../../utils/dom/element.js');
14
- var scroll = require('../../../utils/dom/scroll.js');
15
- var position = require('../../../utils/dom/position.js');
16
- var throttleByRaf = require('../../../utils/throttleByRaf.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
7
+ var shared = require('@vue/shared');
17
8
  var types = require('../../../utils/types.js');
18
9
 
19
- const __default__ = vue.defineComponent({
20
- name: "ElAnchor"
21
- });
22
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
- ...__default__,
24
- props: anchor.anchorProps,
25
- emits: anchor.anchorEmits,
26
- setup(__props, { expose, emit }) {
27
- const props = __props;
28
- const currentAnchor = vue.ref("");
29
- const anchorRef = vue.ref(null);
30
- const markerRef = vue.ref(null);
31
- const containerEl = vue.ref();
32
- const links = {};
33
- let isScrolling = false;
34
- let currentScrollTop = 0;
35
- const ns = index.useNamespace("anchor");
36
- const cls = vue.computed(() => [
37
- ns.b(),
38
- props.type === "underline" ? ns.m("underline") : "",
39
- ns.m(props.direction)
40
- ]);
41
- const addLink = (state) => {
42
- links[state.href] = state.el;
43
- };
44
- const removeLink = (href) => {
45
- delete links[href];
46
- };
47
- const setCurrentAnchor = (href) => {
48
- const activeHref = currentAnchor.value;
49
- if (activeHref !== href) {
50
- currentAnchor.value = href;
51
- emit("change", href);
52
- }
53
- };
54
- let clearAnimate = null;
55
- const scrollToAnchor = (href) => {
56
- if (!containerEl.value)
57
- return;
58
- const target = element.getElement(href);
59
- if (!target)
60
- return;
61
- if (clearAnimate)
62
- clearAnimate();
63
- isScrolling = true;
64
- const scrollEle = scroll.getScrollElement(target, containerEl.value);
65
- const distance = position.getOffsetTopDistance(target, scrollEle);
66
- const max = scrollEle.scrollHeight - scrollEle.clientHeight;
67
- const to = Math.min(distance - props.offset, max);
68
- clearAnimate = scroll.animateScrollTo(containerEl.value, currentScrollTop, to, props.duration, () => {
69
- setTimeout(() => {
70
- isScrolling = false;
71
- }, 20);
72
- });
73
- };
74
- const scrollTo = (href) => {
75
- if (href) {
76
- setCurrentAnchor(href);
77
- scrollToAnchor(href);
78
- }
79
- };
80
- const handleClick = (e, href) => {
81
- emit("click", e, href);
82
- scrollTo(href);
83
- };
84
- const handleScroll = throttleByRaf.throttleByRaf(() => {
85
- if (containerEl.value) {
86
- currentScrollTop = scroll.getScrollTop(containerEl.value);
87
- }
88
- const currentHref = getCurrentHref();
89
- if (isScrolling || types.isUndefined(currentHref))
90
- return;
91
- setCurrentAnchor(currentHref);
92
- });
93
- const getCurrentHref = () => {
94
- if (!containerEl.value)
95
- return;
96
- const scrollTop = scroll.getScrollTop(containerEl.value);
97
- const anchorTopList = [];
98
- for (const href of Object.keys(links)) {
99
- const target = element.getElement(href);
100
- if (!target)
101
- continue;
102
- const scrollEle = scroll.getScrollElement(target, containerEl.value);
103
- const distance = position.getOffsetTopDistance(target, scrollEle);
104
- anchorTopList.push({
105
- top: distance - props.offset - props.bound,
106
- href
107
- });
108
- }
109
- anchorTopList.sort((prev, next) => prev.top - next.top);
110
- for (let i = 0; i < anchorTopList.length; i++) {
111
- const item = anchorTopList[i];
112
- const next = anchorTopList[i + 1];
113
- if (i === 0 && scrollTop === 0) {
114
- return "";
115
- }
116
- if (item.top <= scrollTop && (!next || next.top > scrollTop)) {
117
- return item.href;
118
- }
119
- }
120
- };
121
- const getContainer = () => {
122
- const el = element.getElement(props.container);
123
- if (!el || types.isWindow(el)) {
124
- containerEl.value = window;
125
- } else {
126
- containerEl.value = el;
127
- }
128
- };
129
- core.useEventListener(containerEl, "scroll", handleScroll);
130
- const markerStyle = vue.computed(() => {
131
- if (!anchorRef.value || !markerRef.value || !currentAnchor.value)
132
- return {};
133
- const currentLinkEl = links[currentAnchor.value];
134
- if (!currentLinkEl)
135
- return {};
136
- const anchorRect = anchorRef.value.getBoundingClientRect();
137
- const markerRect = markerRef.value.getBoundingClientRect();
138
- const linkRect = currentLinkEl.getBoundingClientRect();
139
- if (props.direction === "horizontal") {
140
- const left = linkRect.left - anchorRect.left;
141
- return {
142
- left: `${left}px`,
143
- width: `${linkRect.width}px`,
144
- opacity: 1
145
- };
146
- } else {
147
- const top = linkRect.top - anchorRect.top + (linkRect.height - markerRect.height) / 2;
148
- return {
149
- top: `${top}px`,
150
- opacity: 1
151
- };
152
- }
153
- });
154
- vue.onMounted(() => {
155
- getContainer();
156
- const hash = decodeURIComponent(window.location.hash);
157
- const target = element.getElement(hash);
158
- if (target) {
159
- scrollTo(hash);
160
- } else {
161
- handleScroll();
162
- }
163
- });
164
- vue.watch(() => props.container, () => {
165
- getContainer();
166
- });
167
- vue.provide(constants.anchorKey, {
168
- ns,
169
- direction: props.direction,
170
- currentAnchor,
171
- addLink,
172
- removeLink,
173
- handleClick
174
- });
175
- expose({
176
- scrollTo
177
- });
178
- return (_ctx, _cache) => {
179
- return vue.openBlock(), vue.createElementBlock("div", {
180
- ref_key: "anchorRef",
181
- ref: anchorRef,
182
- class: vue.normalizeClass(vue.unref(cls))
183
- }, [
184
- _ctx.marker ? (vue.openBlock(), vue.createElementBlock("div", {
185
- key: 0,
186
- ref_key: "markerRef",
187
- ref: markerRef,
188
- class: vue.normalizeClass(vue.unref(ns).e("marker")),
189
- style: vue.normalizeStyle(vue.unref(markerStyle))
190
- }, null, 6)) : vue.createCommentVNode("v-if", true),
191
- vue.createElementVNode("div", {
192
- class: vue.normalizeClass(vue.unref(ns).e("list"))
193
- }, [
194
- vue.renderSlot(_ctx.$slots, "default")
195
- ], 2)
196
- ], 2);
197
- };
10
+ const anchorProps = runtime.buildProps({
11
+ container: {
12
+ type: runtime.definePropType([
13
+ String,
14
+ Object
15
+ ])
16
+ },
17
+ offset: {
18
+ type: Number,
19
+ default: 0
20
+ },
21
+ bound: {
22
+ type: Number,
23
+ default: 15
24
+ },
25
+ duration: {
26
+ type: Number,
27
+ default: 300
28
+ },
29
+ marker: {
30
+ type: Boolean,
31
+ default: true
32
+ },
33
+ type: {
34
+ type: runtime.definePropType(String),
35
+ default: "default"
36
+ },
37
+ direction: {
38
+ type: runtime.definePropType(String),
39
+ default: "vertical"
198
40
  }
199
41
  });
200
- var Anchor = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "anchor.vue"]]);
42
+ const anchorEmits = {
43
+ change: (href) => shared.isString(href),
44
+ click: (e, href) => e instanceof MouseEvent && (shared.isString(href) || types.isUndefined(href))
45
+ };
201
46
 
202
- exports["default"] = Anchor;
47
+ exports.anchorEmits = anchorEmits;
48
+ exports.anchorProps = anchorProps;
203
49
  //# sourceMappingURL=anchor.js.map