@element-plus/nightly 0.0.20260115 → 0.0.20260117

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 (347) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +122 -78
  3. package/dist/index.full.min.js +17 -17
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +24 -24
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +123 -79
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +33 -2
  277. package/es/components/affix/src/affix.mjs.map +1 -1
  278. package/es/components/affix/src/affix.vue.d.ts +36 -22
  279. package/es/components/affix/src/affix.vue2.mjs +10 -3
  280. package/es/components/affix/src/affix.vue2.mjs.map +1 -1
  281. package/es/components/anchor/src/anchor-link.d.ts +17 -2
  282. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  283. package/es/components/anchor/src/anchor-link.vue.d.ts +24 -7
  284. package/es/components/anchor/src/anchor-link.vue2.mjs +6 -4
  285. package/es/components/anchor/src/anchor-link.vue2.mjs.map +1 -1
  286. package/es/components/anchor/src/anchor.d.ts +41 -2
  287. package/es/components/anchor/src/anchor.mjs.map +1 -1
  288. package/es/components/anchor/src/anchor.vue.d.ts +36 -34
  289. package/es/components/anchor/src/anchor.vue2.mjs +12 -3
  290. package/es/components/anchor/src/anchor.vue2.mjs.map +1 -1
  291. package/es/components/autocomplete/src/autocomplete.vue.d.ts +1 -1
  292. package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs +1 -1
  293. package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs.map +1 -1
  294. package/es/components/icon/src/icon.d.ts +17 -2
  295. package/es/components/icon/src/icon.mjs.map +1 -1
  296. package/es/components/icon/src/icon.vue.d.ts +24 -27
  297. package/es/components/icon/src/icon.vue2.mjs +4 -2
  298. package/es/components/icon/src/icon.vue2.mjs.map +1 -1
  299. package/es/components/input/src/input.d.ts +145 -8
  300. package/es/components/input/src/input.mjs.map +1 -1
  301. package/es/components/input/src/input.vue.d.ts +55 -210
  302. package/es/components/input/src/input.vue2.mjs +74 -41
  303. package/es/components/input/src/input.vue2.mjs.map +1 -1
  304. package/es/components/input-number/src/input-number.vue.d.ts +1 -1
  305. package/es/components/mention/src/mention.vue.d.ts +1 -1
  306. package/es/components/rate/src/rate.vue2.mjs +3 -3
  307. package/es/components/rate/src/rate.vue2.mjs.map +1 -1
  308. package/es/version.d.ts +1 -1
  309. package/es/version.mjs +1 -1
  310. package/es/version.mjs.map +1 -1
  311. package/lib/components/affix/src/affix.d.ts +33 -2
  312. package/lib/components/affix/src/affix.js.map +1 -1
  313. package/lib/components/affix/src/affix.vue.d.ts +36 -22
  314. package/lib/components/affix/src/affix.vue2.js +9 -2
  315. package/lib/components/affix/src/affix.vue2.js.map +1 -1
  316. package/lib/components/anchor/src/anchor-link.d.ts +17 -2
  317. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  318. package/lib/components/anchor/src/anchor-link.vue.d.ts +24 -7
  319. package/lib/components/anchor/src/anchor-link.vue2.js +6 -4
  320. package/lib/components/anchor/src/anchor-link.vue2.js.map +1 -1
  321. package/lib/components/anchor/src/anchor.d.ts +41 -2
  322. package/lib/components/anchor/src/anchor.js.map +1 -1
  323. package/lib/components/anchor/src/anchor.vue.d.ts +36 -34
  324. package/lib/components/anchor/src/anchor.vue2.js +11 -2
  325. package/lib/components/anchor/src/anchor.vue2.js.map +1 -1
  326. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +1 -1
  327. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js +1 -1
  328. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js.map +1 -1
  329. package/lib/components/icon/src/icon.d.ts +17 -2
  330. package/lib/components/icon/src/icon.js.map +1 -1
  331. package/lib/components/icon/src/icon.vue.d.ts +24 -27
  332. package/lib/components/icon/src/icon.vue2.js +4 -2
  333. package/lib/components/icon/src/icon.vue2.js.map +1 -1
  334. package/lib/components/input/src/input.d.ts +145 -8
  335. package/lib/components/input/src/input.js.map +1 -1
  336. package/lib/components/input/src/input.vue.d.ts +55 -210
  337. package/lib/components/input/src/input.vue2.js +71 -38
  338. package/lib/components/input/src/input.vue2.js.map +1 -1
  339. package/lib/components/input-number/src/input-number.vue.d.ts +1 -1
  340. package/lib/components/mention/src/mention.vue.d.ts +1 -1
  341. package/lib/components/rate/src/rate.vue2.js +3 -3
  342. package/lib/components/rate/src/rate.vue2.js.map +1 -1
  343. package/lib/version.d.ts +1 -1
  344. package/lib/version.js +1 -1
  345. package/lib/version.js.map +1 -1
  346. package/package.json +2 -2
  347. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"affix.js","sources":["../../../../../../packages/components/affix/src/affix.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { teleportProps } from '@element-plus/components/teleport'\n\nimport type {\n CSSProperties,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type Affix from './affix.vue'\n\nexport const affixProps = buildProps({\n /**\n * @description affix element zIndex value\n * */\n zIndex: {\n type: definePropType<CSSProperties['z-index']>([Number, String]),\n default: 100,\n },\n /**\n * @description target container. (CSS selector)\n */\n target: {\n type: String,\n default: '',\n },\n /**\n * @description offset distance\n * */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description position of affix\n * */\n position: {\n type: String,\n values: ['top', 'bottom'],\n default: 'top',\n },\n /**\n * @description whether affix element is teleported, if `true` it will be teleported to where `append-to` sets\n * */\n teleported: Boolean,\n /**\n * @description which element the affix element appends to\n * */\n appendTo: {\n type: teleportProps.to.type,\n default: 'body',\n },\n} as const)\nexport type AffixProps = ExtractPropTypes<typeof affixProps>\nexport type AffixPropsPublic = ExtractPublicPropTypes<typeof affixProps>\n\nexport const affixEmits = {\n scroll: ({ scrollTop, fixed }: { scrollTop: number; fixed: boolean }) =>\n isNumber(scrollTop) && isBoolean(fixed),\n [CHANGE_EVENT]: (fixed: boolean) => isBoolean(fixed),\n}\nexport type AffixEmits = typeof affixEmits\n\nexport type AffixInstance = InstanceType<typeof Affix> & unknown\n"],"names":["buildProps","definePropType","teleportProps","isNumber","isBoolean","CHANGE_EVENT"],"mappings":";;;;;;;AAgBO,MAAM,aAAaA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAInC,MAAA,EAAQ;AAAA,IACN,IAAA,EAAMC,sBAAA,CAAyC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IAC/D,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,CAAC,KAAA,EAAO,QAAQ,CAAA;AAAA,IACxB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY,OAAA;AAAA;AAAA;AAAA;AAAA,EAIZ,QAAA,EAAU;AAAA,IACR,IAAA,EAAMC,uBAAc,EAAA,CAAG,IAAA;AAAA,IACvB,OAAA,EAAS;AAAA;AAEb,CAAU;AAIH,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,EAAE,SAAA,EAAW,KAAA,OACpBC,cAAA,CAAS,SAAS,CAAA,IAAKC,eAAA,CAAU,KAAK,CAAA;AAAA,EACxC,CAACC,kBAAY,GAAG,CAAC,KAAA,KAAmBD,gBAAU,KAAK;AACrD;;;;;"}
1
+ {"version":3,"file":"affix.js","sources":["../../../../../../packages/components/affix/src/affix.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { teleportProps } from '@element-plus/components/teleport'\n\nimport type { CSSProperties, ExtractPublicPropTypes } from 'vue'\nimport type Affix from './affix.vue'\n\nexport interface AffixProps {\n /**\n * @description affix element zIndex value\n * */\n zIndex?: CSSProperties['z-index']\n /**\n * @description target container. (CSS selector)\n */\n target?: string\n /**\n * @description offset distance\n * */\n offset?: number\n /**\n * @description position of affix\n * */\n position?: 'top' | 'bottom'\n /**\n * @description whether affix element is teleported, if `true` it will be teleported to where `append-to` sets\n * */\n teleported?: boolean\n /**\n * @description which element the affix element appends to\n * */\n appendTo?: string | HTMLElement\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AffixProps` instead.\n */\nexport const affixProps = buildProps({\n /**\n * @description affix element zIndex value\n * */\n zIndex: {\n type: definePropType<CSSProperties['z-index']>([Number, String]),\n default: 100,\n },\n /**\n * @description target container. (CSS selector)\n */\n target: {\n type: String,\n default: '',\n },\n /**\n * @description offset distance\n * */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description position of affix\n * */\n position: {\n type: String,\n values: ['top', 'bottom'],\n default: 'top',\n },\n /**\n * @description whether affix element is teleported, if `true` it will be teleported to where `append-to` sets\n * */\n teleported: Boolean,\n /**\n * @description which element the affix element appends to\n * */\n appendTo: {\n type: teleportProps.to.type,\n default: 'body',\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `AffixProps` instead.\n */\nexport type AffixPropsPublic = ExtractPublicPropTypes<typeof affixProps>\n\nexport const affixEmits = {\n scroll: ({ scrollTop, fixed }: { scrollTop: number; fixed: boolean }) =>\n isNumber(scrollTop) && isBoolean(fixed),\n [CHANGE_EVENT]: (fixed: boolean) => isBoolean(fixed),\n}\nexport type AffixEmits = typeof affixEmits\n\nexport type AffixInstance = InstanceType<typeof Affix> & unknown\n"],"names":["buildProps","definePropType","teleportProps","isNumber","isBoolean","CHANGE_EVENT"],"mappings":";;;;;;;AA0CO,MAAM,aAAaA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAInC,MAAA,EAAQ;AAAA,IACN,IAAA,EAAMC,sBAAA,CAAyC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IAC/D,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,CAAC,KAAA,EAAO,QAAQ,CAAA;AAAA,IACxB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY,OAAA;AAAA;AAAA;AAAA;AAAA,EAIZ,QAAA,EAAU;AAAA,IACR,IAAA,EAAMC,uBAAc,EAAA,CAAG,IAAA;AAAA,IACvB,OAAA,EAAS;AAAA;AAEb,CAAU;AAOH,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,EAAE,SAAA,EAAW,KAAA,OACpBC,cAAA,CAAS,SAAS,CAAA,IAAKC,eAAA,CAAU,KAAK,CAAA;AAAA,EACxC,CAACC,kBAAY,GAAG,CAAC,KAAA,KAAmBD,gBAAU,KAAK;AACrD;;;;;"}
@@ -1,15 +1,15 @@
1
+ import type { AffixProps } from './affix';
1
2
  declare var __VLS_6: {};
2
3
  type __VLS_Slots = {} & {
3
4
  default?: (props: typeof __VLS_6) => any;
4
5
  };
5
- declare const __VLS_base: import("vue").DefineComponent<{
6
- readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined) | ((new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined))[], unknown, unknown, 100, boolean>;
7
- readonly target: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
8
- readonly offset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
9
- readonly position: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom", unknown, "top", boolean>;
10
- readonly teleported: BooleanConstructor;
11
- readonly appendTo: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
12
- }, {
6
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AffixProps>, {
7
+ zIndex: number;
8
+ target: string;
9
+ offset: number;
10
+ position: string;
11
+ appendTo: string;
12
+ }>, {
13
13
  /** @description update affix status */
14
14
  update: () => void;
15
15
  /** @description update rootRect info */
@@ -20,32 +20,46 @@ declare const __VLS_base: import("vue").DefineComponent<{
20
20
  scrollTop: number;
21
21
  fixed: boolean;
22
22
  }) => void;
23
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
- readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined) | ((new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined))[], unknown, unknown, 100, boolean>;
25
- readonly target: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
26
- readonly offset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
27
- readonly position: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom", unknown, "top", boolean>;
28
- readonly teleported: BooleanConstructor;
29
- readonly appendTo: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
30
- }>> & {
23
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AffixProps>, {
24
+ zIndex: number;
25
+ target: string;
26
+ offset: number;
27
+ position: string;
28
+ appendTo: string;
29
+ }>>> & {
31
30
  onChange?: ((fixed: boolean) => any) | undefined;
32
31
  onScroll?: ((args_0: {
33
32
  scrollTop: number;
34
33
  fixed: boolean;
35
34
  }) => any) | undefined;
36
35
  }, {
37
- readonly position: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom", unknown>;
38
- readonly zIndex: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined) | ((new (...args: any[]) => string | number) | (() => import("csstype").Property.ZIndex | undefined))[], unknown, unknown>;
39
- readonly offset: number;
40
- readonly target: string;
41
- readonly appendTo: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown>;
42
- readonly teleported: boolean;
36
+ position: "top" | "bottom";
37
+ zIndex: import("csstype").Property.ZIndex;
38
+ offset: number;
39
+ target: string;
40
+ appendTo: string | HTMLElement;
43
41
  }, {}>;
44
42
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
43
  declare const _default: typeof __VLS_export;
46
44
  export default _default;
45
+ type __VLS_TypePropsToOption<T> = {
46
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
47
+ type: import('vue').PropType<Required<T>[K]>;
48
+ } : {
49
+ type: import('vue').PropType<T[K]>;
50
+ required: true;
51
+ };
52
+ };
53
+ type __VLS_WithDefaultsLocal<P, D> = {
54
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
55
+ default: D[K];
56
+ }> : P[K];
57
+ };
47
58
  type __VLS_WithSlots<T, S> = T & {
48
59
  new (): {
49
60
  $slots: S;
50
61
  };
51
62
  };
63
+ type __VLS_PrettifyLocal<T> = {
64
+ [K in keyof T as K]: T[K];
65
+ } & {};
@@ -18,7 +18,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
18
  name: COMPONENT_NAME
19
19
  },
20
20
  __name: "affix",
21
- props: affix.affixProps,
21
+ props: {
22
+ zIndex: { type: null, required: false, default: 100 },
23
+ target: { type: String, required: false, default: "" },
24
+ offset: { type: Number, required: false, default: 0 },
25
+ position: { type: String, required: false, default: "top" },
26
+ teleported: { type: Boolean, required: false },
27
+ appendTo: { type: null, required: false, default: "body" }
28
+ },
22
29
  emits: affix.affixEmits,
23
30
  setup(__props, { expose: __expose, emit: __emit }) {
24
31
  const props = __props;
@@ -134,7 +141,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
134
141
  [
135
142
  vue.createVNode(vue.unref(index$1.ElTeleport), {
136
143
  disabled: teleportDisabled.value,
137
- to: _ctx.appendTo
144
+ to: __props.appendTo
138
145
  }, {
139
146
  default: vue.withCtx(() => [
140
147
  vue.createElementVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits, affixProps } from './affix'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(affixProps)\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","appendTo","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -1,7 +1,22 @@
1
- import type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue';
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
+ export interface AnchorLinkProps {
3
+ /**
4
+ * @description the text content of the anchor link
5
+ */
6
+ title?: string;
7
+ /**
8
+ * @description The address of the anchor link
9
+ */
10
+ href?: string;
11
+ }
12
+ /**
13
+ * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.
14
+ */
2
15
  export declare const anchorLinkProps: {
3
16
  title: StringConstructor;
4
17
  href: StringConstructor;
5
18
  };
6
- export type AnchorLinkProps = ExtractPropTypes<typeof anchorLinkProps>;
19
+ /**
20
+ * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.
21
+ */
7
22
  export type AnchorLinkPropsPublic = ExtractPublicPropTypes<typeof anchorLinkProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\n\nexport const anchorLinkProps = buildProps({\n /**\n * @description the text content of the anchor link\n */\n title: String,\n /**\n * @description The address of the anchor link\n */\n href: String,\n})\n\nexport type AnchorLinkProps = ExtractPropTypes<typeof anchorLinkProps>\nexport type AnchorLinkPropsPublic = ExtractPublicPropTypes<\n typeof anchorLinkProps\n>\n"],"names":["buildProps"],"mappings":";;;;AAIO,MAAM,kBAAkBA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIxC,KAAA,EAAO,MAAA;AAAA;AAAA;AAAA;AAAA,EAIP,IAAA,EAAM;AACR,CAAC;;;;"}
1
+ {"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes } from 'vue'\n\nexport interface AnchorLinkProps {\n /**\n * @description the text content of the anchor link\n */\n title?: string\n /**\n * @description The address of the anchor link\n */\n href?: string\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.\n */\nexport const anchorLinkProps = buildProps({\n /**\n * @description the text content of the anchor link\n */\n title: String,\n /**\n * @description The address of the anchor link\n */\n href: String,\n})\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.\n */\nexport type AnchorLinkPropsPublic = ExtractPublicPropTypes<\n typeof anchorLinkProps\n>\n"],"names":["buildProps"],"mappings":";;;;AAkBO,MAAM,kBAAkBA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIxC,KAAA,EAAO,MAAA;AAAA;AAAA;AAAA;AAAA,EAIP,IAAA,EAAM;AACR,CAAC;;;;"}
@@ -1,21 +1,38 @@
1
+ import type { AnchorLinkProps } from './anchor-link';
1
2
  declare var __VLS_1: {}, __VLS_3: {};
2
3
  type __VLS_Slots = {} & {
3
4
  default?: (props: typeof __VLS_1) => any;
4
5
  } & {
5
6
  'sub-link'?: (props: typeof __VLS_3) => any;
6
7
  };
7
- declare const __VLS_base: import("vue").DefineComponent<{
8
- title: StringConstructor;
9
- href: StringConstructor;
10
- }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
- title: StringConstructor;
12
- href: StringConstructor;
13
- }>>, {}, {}>;
8
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorLinkProps>, {
9
+ href: undefined;
10
+ }>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorLinkProps>, {
11
+ href: undefined;
12
+ }>>>, {
13
+ href: string;
14
+ }, {}>;
14
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
16
  declare const _default: typeof __VLS_export;
16
17
  export default _default;
18
+ type __VLS_TypePropsToOption<T> = {
19
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
20
+ type: import('vue').PropType<Required<T>[K]>;
21
+ } : {
22
+ type: import('vue').PropType<T[K]>;
23
+ required: true;
24
+ };
25
+ };
26
+ type __VLS_WithDefaultsLocal<P, D> = {
27
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
28
+ default: D[K];
29
+ }> : P[K];
30
+ };
17
31
  type __VLS_WithSlots<T, S> = T & {
18
32
  new (): {
19
33
  $slots: S;
20
34
  };
21
35
  };
36
+ type __VLS_PrettifyLocal<T> = {
37
+ [K in keyof T as K]: T[K];
38
+ } & {};
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var anchorLink = require('./anchor-link.js');
7
6
  var constants = require('./constants.js');
8
7
 
9
8
  const _hoisted_1 = ["href"];
@@ -12,7 +11,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
11
  name: "ElAnchorLink"
13
12
  },
14
13
  __name: "anchor-link",
15
- props: anchorLink.anchorLinkProps,
14
+ props: {
15
+ title: { type: String, required: false },
16
+ href: { type: String, required: false, default: void 0 }
17
+ },
16
18
  setup(__props) {
17
19
  const props = __props;
18
20
  const linkRef = vue.ref(null);
@@ -71,12 +73,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
73
  ref_key: "linkRef",
72
74
  ref: linkRef,
73
75
  class: vue.normalizeClass(cls.value),
74
- href: _ctx.href,
76
+ href: __props.href,
75
77
  onClick: handleClick
76
78
  }, [
77
79
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
78
80
  vue.createTextVNode(
79
- vue.toDisplayString(_ctx.title),
81
+ vue.toDisplayString(__props.title),
80
82
  1
81
83
  /* TEXT */
82
84
  )
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-link.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('item')\">\n <a ref=\"linkRef\" :class=\"cls\" :href=\"href\" @click=\"handleClick\">\n <slot>{{ title }}</slot>\n </a>\n <div\n v-if=\"$slots['sub-link'] && direction === 'vertical'\"\n :class=\"ns.e('list')\"\n >\n <slot name=\"sub-link\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { anchorLinkProps } from './anchor-link'\nimport { anchorKey } from './constants'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = defineProps(anchorLinkProps)\n\nconst linkRef = ref<HTMLElement | null>(null)\n\nconst {\n ns,\n direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick: contextHandleClick,\n} = inject(anchorKey)!\n\nconst cls = computed(() => [\n ns.e('link'),\n ns.is('active', currentAnchor.value === props.href),\n])\n\nconst handleClick = (e: MouseEvent) => {\n contextHandleClick(e, props.href)\n}\n\nwatch(\n () => props.href,\n (val, oldVal) => {\n nextTick(() => {\n if (oldVal) removeLink(oldVal)\n if (val) {\n addLink({\n href: val,\n el: linkRef.value!,\n })\n }\n })\n }\n)\n\nonMounted(() => {\n const { href } = props\n if (href) {\n addLink({\n href,\n el: linkRef.value!,\n })\n }\n})\n\nonBeforeUnmount(() => {\n const { href } = props\n if (href) {\n removeLink(href)\n }\n})\n</script>\n"],"names":["ref","inject","anchorKey","computed","watch","nextTick","onMounted","onBeforeUnmount","_createElementBlock","_normalizeClass","_unref","_createElementVNode","href","_renderSlot","title","$slots"],"mappings":";;;;;;;;;;;;;;;;AA+BA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAE5C,IAAA,MAAM;AAAA,MACJ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAa;AAAA,KACf,GAAIC,WAAOC,mBAAS,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,aAAS,MAAM;AAAA,MACzB,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,GAAG,EAAA,CAAG,QAAA,EAAU,aAAA,CAAc,KAAA,KAAU,MAAM,IAAI;AAAA,KACnD,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,MAAA,kBAAA,CAAmB,CAAA,EAAG,MAAM,IAAI,CAAA;AAAA,IAClC,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,CAAC,KAAK,MAAA,KAAW;AACf,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAA,aAAmB,MAAM,CAAA;AAC7B,UAAA,IAAI,GAAA,EAAK;AACP,YAAA,OAAA,CAAQ;AAAA,cACN,IAAA,EAAM,GAAA;AAAA,cACN,IAAI,OAAA,CAAQ;AAAA,aACb,CAAA;AAAA,UACH;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,KACF;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,OAAA,CAAQ;AAAA,UACN,IAAA;AAAA,UACA,IAAI,OAAA,CAAQ;AAAA,SACb,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAAA,IACF,CAAC,CAAA;;8BAlFCC,sBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UAVA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;UACfC,uBAEI,GAAA,EAAA;AAAA,qBAFG,SAAA;AAAA,YAAJ,GAAA,EAAI,OAAA;AAAA,YAAW,KAAA,qBAAO,GAAA,CAAA,KAAG,CAAA;AAAA,YAAG,MAAMC,IAAAA,CAAAA,IAAAA;AAAAA,YAAO,OAAA,EAAO;AAAA;YACjDC,eAAwB,IAAA,wBAAxB,MAAwB;AAAA;oCAAfC,KAAAA,KAAK,CAAA;AAAA,gBAAA;AAAA;AAAA;AAAA;;UAGRC,IAAAA,CAAAA,sBAAsBL,UAAA,SAAA,CAAA,KAAS,UAAA,qBADvCF,sBAAA;AAAA,YAKM,KAAA;AAAA,YAAA;AAAA;cAHH,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;cAEZG,cAAA,CAAwB,IAAA,CAAA,MAAA,EAAA,UAAA;AAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"anchor-link.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('item')\">\n <a ref=\"linkRef\" :class=\"cls\" :href=\"href\" @click=\"handleClick\">\n <slot>{{ title }}</slot>\n </a>\n <div\n v-if=\"$slots['sub-link'] && direction === 'vertical'\"\n :class=\"ns.e('list')\"\n >\n <slot name=\"sub-link\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { anchorKey } from './constants'\n\nimport type { AnchorLinkProps } from './anchor-link'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = withDefaults(defineProps<AnchorLinkProps>(), {\n href: undefined,\n})\n\nconst linkRef = ref<HTMLElement | null>(null)\n\nconst {\n ns,\n direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick: contextHandleClick,\n} = inject(anchorKey)!\n\nconst cls = computed(() => [\n ns.e('link'),\n ns.is('active', currentAnchor.value === props.href),\n])\n\nconst handleClick = (e: MouseEvent) => {\n contextHandleClick(e, props.href)\n}\n\nwatch(\n () => props.href,\n (val, oldVal) => {\n nextTick(() => {\n if (oldVal) removeLink(oldVal)\n if (val) {\n addLink({\n href: val,\n el: linkRef.value!,\n })\n }\n })\n }\n)\n\nonMounted(() => {\n const { href } = props\n if (href) {\n addLink({\n href,\n el: linkRef.value!,\n })\n }\n})\n\nonBeforeUnmount(() => {\n const { href } = props\n if (href) {\n removeLink(href)\n }\n})\n</script>\n"],"names":["ref","inject","anchorKey","computed","watch","nextTick","onMounted","onBeforeUnmount","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","$slots"],"mappings":";;;;;;;;;;;;;;;;;;AAgCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAE5C,IAAA,MAAM;AAAA,MACJ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAa;AAAA,KACf,GAAIC,WAAOC,mBAAS,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,aAAS,MAAM;AAAA,MACzB,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,GAAG,EAAA,CAAG,QAAA,EAAU,aAAA,CAAc,KAAA,KAAU,MAAM,IAAI;AAAA,KACnD,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,MAAA,kBAAA,CAAmB,CAAA,EAAG,MAAM,IAAI,CAAA;AAAA,IAClC,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,CAAC,KAAK,MAAA,KAAW;AACf,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAA,aAAmB,MAAM,CAAA;AAC7B,UAAA,IAAI,GAAA,EAAK;AACP,YAAA,OAAA,CAAQ;AAAA,cACN,IAAA,EAAM,GAAA;AAAA,cACN,IAAI,OAAA,CAAQ;AAAA,aACb,CAAA;AAAA,UACH;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,KACF;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,OAAA,CAAQ;AAAA,UACN,IAAA;AAAA,UACA,IAAI,OAAA,CAAQ;AAAA,SACb,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAAA,IACF,CAAC,CAAA;;8BArFCC,sBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UAVA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;UACfC,uBAEI,GAAA,EAAA;AAAA,qBAFG,SAAA;AAAA,YAAJ,GAAA,EAAI,OAAA;AAAA,YAAW,KAAA,qBAAO,GAAA,CAAA,KAAG,CAAA;AAAA,YAAG,MAAM,OAAA,CAAA,IAAA;AAAA,YAAO,OAAA,EAAO;AAAA;YACjDC,eAAwB,IAAA,wBAAxB,MAAwB;AAAA;oCAAf,QAAA,KAAK,CAAA;AAAA,gBAAA;AAAA;AAAA;AAAA;;UAGRC,IAAAA,CAAAA,sBAAsBH,UAAA,SAAA,CAAA,KAAS,UAAA,qBADvCF,sBAAA;AAAA,YAKM,KAAA;AAAA,YAAA;AAAA;cAHH,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;cAEZE,cAAA,CAAwB,IAAA,CAAA,MAAA,EAAA,UAAA;AAAA;;;;;;;;;;;;;;"}
@@ -1,5 +1,42 @@
1
- import type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue';
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
2
  import type Anchor from './anchor.vue';
3
+ export interface AnchorProps {
4
+ /**
5
+ * @description scroll container
6
+ */
7
+ container?: string | HTMLElement | Window | null;
8
+ /**
9
+ * @description Set the offset of the anchor scroll
10
+ */
11
+ offset?: number;
12
+ /**
13
+ * @description The offset of the element starting to trigger the anchor
14
+ */
15
+ bound?: number;
16
+ /**
17
+ * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds
18
+ */
19
+ duration?: number;
20
+ /**
21
+ * @description Whether to show the marker
22
+ */
23
+ marker?: boolean;
24
+ /**
25
+ * @description Set Anchor type
26
+ */
27
+ type?: 'default' | 'underline';
28
+ /**
29
+ * @description Set Anchor direction
30
+ */
31
+ direction?: 'vertical' | 'horizontal';
32
+ /**
33
+ * @description Scroll whether link is selected at the top
34
+ */
35
+ selectScrollTop?: boolean;
36
+ }
37
+ /**
38
+ * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.
39
+ */
3
40
  export declare const anchorProps: {
4
41
  container: {
5
42
  readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null) | ((new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null))[], unknown, unknown>>;
@@ -15,7 +52,9 @@ export declare const anchorProps: {
15
52
  direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
16
53
  selectScrollTop: BooleanConstructor;
17
54
  };
18
- export type AnchorProps = ExtractPropTypes<typeof anchorProps>;
55
+ /**
56
+ * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.
57
+ */
19
58
  export type AnchorPropsPublic = ExtractPublicPropTypes<typeof anchorProps>;
20
59
  export type AnchorInstance = InstanceType<typeof Anchor> & unknown;
21
60
  export declare const anchorEmits: {
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.js","sources":["../../../../../../packages/components/anchor/src/anchor.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isString,\n isUndefined,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type Anchor from './anchor.vue'\n\nexport const anchorProps = buildProps({\n /**\n * @description scroll container\n */\n container: {\n type: definePropType<string | HTMLElement | Window | null>([\n String,\n Object,\n ]),\n },\n /**\n * @description Set the offset of the anchor scroll\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description The offset of the element starting to trigger the anchor\n */\n bound: {\n type: Number,\n default: 15,\n },\n /**\n * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds\n */\n duration: {\n type: Number,\n default: 300,\n },\n /**\n * @description Whether to show the marker\n */\n marker: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Set Anchor type\n */\n type: {\n type: definePropType<'default' | 'underline'>(String),\n default: 'default',\n },\n /**\n * @description Set Anchor direction\n */\n direction: {\n type: definePropType<'vertical' | 'horizontal'>(String),\n default: 'vertical',\n },\n /**\n * @description Scroll whether link is selected at the top\n */\n selectScrollTop: Boolean,\n})\n\nexport type AnchorProps = ExtractPropTypes<typeof anchorProps>\nexport type AnchorPropsPublic = ExtractPublicPropTypes<typeof anchorProps>\nexport type AnchorInstance = InstanceType<typeof Anchor> & unknown\n\nexport const anchorEmits = {\n change: (href: string) => isString(href),\n click: (e: MouseEvent, href?: string) =>\n e instanceof MouseEvent && (isString(href) || isUndefined(href)),\n}\nexport type AnchorEmits = typeof anchorEmits\n"],"names":["buildProps","definePropType","isString","isUndefined"],"mappings":";;;;;;AAUO,MAAM,cAAcA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIpC,SAAA,EAAW;AAAA,IACT,MAAMC,sBAAA,CAAqD;AAAA,MACzD,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAMA,uBAAwC,MAAM,CAAA;AAAA,IACpD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,SAAA,EAAW;AAAA,IACT,IAAA,EAAMA,uBAA0C,MAAM,CAAA;AAAA,IACtD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,eAAA,EAAiB;AACnB,CAAC;AAMM,MAAM,WAAA,GAAc;AAAA,EACzB,MAAA,EAAQ,CAAC,IAAA,KAAiBC,eAAA,CAAS,IAAI,CAAA;AAAA,EACvC,KAAA,EAAO,CAAC,CAAA,EAAe,IAAA,KACrB,CAAA,YAAa,eAAeA,eAAA,CAAS,IAAI,CAAA,IAAKC,iBAAA,CAAY,IAAI,CAAA;AAClE;;;;;"}
1
+ {"version":3,"file":"anchor.js","sources":["../../../../../../packages/components/anchor/src/anchor.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isString,\n isUndefined,\n} from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Anchor from './anchor.vue'\n\nexport interface AnchorProps {\n /**\n * @description scroll container\n */\n container?: string | HTMLElement | Window | null\n /**\n * @description Set the offset of the anchor scroll\n */\n offset?: number\n /**\n * @description The offset of the element starting to trigger the anchor\n */\n bound?: number\n /**\n * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds\n */\n duration?: number\n /**\n * @description Whether to show the marker\n */\n marker?: boolean\n /**\n * @description Set Anchor type\n */\n type?: 'default' | 'underline'\n /**\n * @description Set Anchor direction\n */\n direction?: 'vertical' | 'horizontal'\n /**\n * @description Scroll whether link is selected at the top\n */\n selectScrollTop?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.\n */\nexport const anchorProps = buildProps({\n /**\n * @description scroll container\n */\n container: {\n type: definePropType<string | HTMLElement | Window | null>([\n String,\n Object,\n ]),\n },\n /**\n * @description Set the offset of the anchor scroll\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description The offset of the element starting to trigger the anchor\n */\n bound: {\n type: Number,\n default: 15,\n },\n /**\n * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds\n */\n duration: {\n type: Number,\n default: 300,\n },\n /**\n * @description Whether to show the marker\n */\n marker: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Set Anchor type\n */\n type: {\n type: definePropType<'default' | 'underline'>(String),\n default: 'default',\n },\n /**\n * @description Set Anchor direction\n */\n direction: {\n type: definePropType<'vertical' | 'horizontal'>(String),\n default: 'vertical',\n },\n /**\n * @description Scroll whether link is selected at the top\n */\n selectScrollTop: Boolean,\n})\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.\n */\nexport type AnchorPropsPublic = ExtractPublicPropTypes<typeof anchorProps>\nexport type AnchorInstance = InstanceType<typeof Anchor> & unknown\n\nexport const anchorEmits = {\n change: (href: string) => isString(href),\n click: (e: MouseEvent, href?: string) =>\n e instanceof MouseEvent && (isString(href) || isUndefined(href)),\n}\nexport type AnchorEmits = typeof anchorEmits\n"],"names":["buildProps","definePropType","isString","isUndefined"],"mappings":";;;;;;AAgDO,MAAM,cAAcA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIpC,SAAA,EAAW;AAAA,IACT,MAAMC,sBAAA,CAAqD;AAAA,MACzD,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAMA,uBAAwC,MAAM,CAAA;AAAA,IACpD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,SAAA,EAAW;AAAA,IACT,IAAA,EAAMA,uBAA0C,MAAM,CAAA;AAAA,IACtD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,eAAA,EAAiB;AACnB,CAAC;AAQM,MAAM,WAAA,GAAc;AAAA,EACzB,MAAA,EAAQ,CAAC,IAAA,KAAiBC,eAAA,CAAS,IAAI,CAAA;AAAA,EACvC,KAAA,EAAO,CAAC,CAAA,EAAe,IAAA,KACrB,CAAA,YAAa,eAAeA,eAAA,CAAS,IAAI,CAAA,IAAKC,iBAAA,CAAY,IAAI,CAAA;AAClE;;;;;"}
@@ -1,57 +1,59 @@
1
+ import type { AnchorProps } from './anchor';
1
2
  declare var __VLS_1: {};
2
3
  type __VLS_Slots = {} & {
3
4
  default?: (props: typeof __VLS_1) => any;
4
5
  };
5
- declare const __VLS_base: import("vue").DefineComponent<{
6
- container: {
7
- readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null) | ((new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null))[], unknown, unknown>>;
8
- readonly required: false;
9
- readonly validator: ((val: unknown) => boolean) | undefined;
10
- __epPropKey: true;
11
- };
12
- offset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
13
- bound: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
14
- duration: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
15
- marker: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
16
- type: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | ((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline"))[], unknown, unknown, string, boolean>;
17
- direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
18
- selectScrollTop: BooleanConstructor;
19
- }, {
6
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorProps>, {
7
+ offset: number;
8
+ bound: number;
9
+ duration: number;
10
+ marker: boolean;
11
+ type: string;
12
+ direction: string;
13
+ }>, {
20
14
  scrollTo: (href?: string) => void;
21
15
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
16
  click: (e: MouseEvent, href?: string | undefined) => void;
23
17
  change: (href: string) => void;
24
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
25
- container: {
26
- readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null) | ((new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null))[], unknown, unknown>>;
27
- readonly required: false;
28
- readonly validator: ((val: unknown) => boolean) | undefined;
29
- __epPropKey: true;
30
- };
31
- offset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
32
- bound: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
33
- duration: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
34
- marker: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
35
- type: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | ((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline"))[], unknown, unknown, string, boolean>;
36
- direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
37
- selectScrollTop: BooleanConstructor;
38
- }>> & {
18
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorProps>, {
19
+ offset: number;
20
+ bound: number;
21
+ duration: number;
22
+ marker: boolean;
23
+ type: string;
24
+ direction: string;
25
+ }>>> & {
39
26
  onClick?: ((e: MouseEvent, href?: string | undefined) => any) | undefined;
40
27
  onChange?: ((href: string) => any) | undefined;
41
28
  }, {
42
- marker: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
43
- direction: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown>;
29
+ marker: boolean;
30
+ direction: "vertical" | "horizontal";
44
31
  offset: number;
45
- type: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | ((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline"))[], unknown, unknown>;
32
+ type: "default" | "underline";
46
33
  duration: number;
47
34
  bound: number;
48
- selectScrollTop: boolean;
49
35
  }, {}>;
50
36
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
51
37
  declare const _default: typeof __VLS_export;
52
38
  export default _default;
39
+ type __VLS_TypePropsToOption<T> = {
40
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
41
+ type: import('vue').PropType<Required<T>[K]>;
42
+ } : {
43
+ type: import('vue').PropType<T[K]>;
44
+ required: true;
45
+ };
46
+ };
47
+ type __VLS_WithDefaultsLocal<P, D> = {
48
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
49
+ default: D[K];
50
+ }> : P[K];
51
+ };
53
52
  type __VLS_WithSlots<T, S> = T & {
54
53
  new (): {
55
54
  $slots: S;
56
55
  };
57
56
  };
57
+ type __VLS_PrettifyLocal<T> = {
58
+ [K in keyof T as K]: T[K];
59
+ } & {};
@@ -19,7 +19,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
19
  name: "ElAnchor"
20
20
  },
21
21
  __name: "anchor",
22
- props: anchor.anchorProps,
22
+ props: {
23
+ container: { type: null, required: false },
24
+ offset: { type: Number, required: false, default: 0 },
25
+ bound: { type: Number, required: false, default: 15 },
26
+ duration: { type: Number, required: false, default: 300 },
27
+ marker: { type: Boolean, required: false, default: true },
28
+ type: { type: String, required: false, default: "default" },
29
+ direction: { type: String, required: false, default: "vertical" },
30
+ selectScrollTop: { type: Boolean, required: false }
31
+ },
23
32
  emits: anchor.anchorEmits,
24
33
  setup(__props, { expose: __expose, emit: __emit }) {
25
34
  const props = __props;
@@ -205,7 +214,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
205
214
  class: vue.normalizeClass(cls.value)
206
215
  },
207
216
  [
208
- _ctx.marker ? (vue.openBlock(), vue.createElementBlock(
217
+ __props.marker ? (vue.openBlock(), vue.createElementBlock(
209
218
  "div",
210
219
  {
211
220
  key: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits, anchorProps } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = defineProps(anchorProps)\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","marker","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorProps } from './anchor'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = withDefaults(defineProps<AnchorProps>(), {\n offset: 0,\n bound: 15,\n duration: 300,\n marker: true,\n type: 'default',\n direction: 'vertical',\n})\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -511,6 +511,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
511
511
  readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
512
512
  readonly placement: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end", unknown>;
513
513
  readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
514
+ readonly inputmode: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
514
515
  readonly modelModifiers: import("@element-plus/nightly/es/components/input").InputModelModifiers;
515
516
  readonly autosize: import("@element-plus/nightly/es/components/input").InputAutoSize;
516
517
  readonly autocomplete: AutoFill;
@@ -519,7 +520,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
519
520
  readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
520
521
  readonly inputStyle: StyleValue;
521
522
  readonly rows: number;
522
- readonly inputmode: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
523
523
  readonly readonly: boolean;
524
524
  readonly clearable: boolean;
525
525
  readonly showPassword: boolean;