vxe-pc-ui 4.20.33 → 4.20.35

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 (394) hide show
  1. package/dist/all.esm.js +44793 -43931
  2. package/dist/all.esm.min.js +3 -3
  3. package/dist/style.css +433 -2
  4. package/dist/style.mini.css +1 -1
  5. package/es/alert/src/alert.js +117 -114
  6. package/es/anchor/src/anchor-link.js +110 -107
  7. package/es/anchor/src/anchor.js +212 -209
  8. package/es/avatar/src/avatar.js +132 -129
  9. package/es/backtop/src/backtop.js +267 -264
  10. package/es/badge/src/badge.js +102 -99
  11. package/es/breadcrumb/src/breadcrumb-item.js +104 -101
  12. package/es/breadcrumb/src/breadcrumb.js +70 -67
  13. package/es/button/src/button-group.js +88 -85
  14. package/es/calendar/src/calendar.js +1371 -1368
  15. package/es/card/src/card.js +235 -232
  16. package/es/carousel/src/carousel-item.js +78 -75
  17. package/es/carousel/src/carousel.js +392 -389
  18. package/es/cascader/src/cascader.js +1667 -1664
  19. package/es/checkbox/src/button.js +198 -195
  20. package/es/checkbox/src/checkbox.js +181 -178
  21. package/es/checkbox/src/group.js +210 -207
  22. package/es/collapse/src/collapse-pane.js +98 -95
  23. package/es/collapse/src/collapse.js +340 -337
  24. package/es/color-picker/src/color-picker.js +1116 -1113
  25. package/es/components.d.ts +1 -0
  26. package/es/components.js +3 -0
  27. package/es/context-menu/src/context-menu.js +601 -598
  28. package/es/countdown/src/countdown.js +224 -221
  29. package/es/date-panel/src/date-panel.js +1905 -1902
  30. package/es/date-picker/src/date-picker.js +1537 -1534
  31. package/es/date-range-picker/src/date-range-picker.js +1412 -1409
  32. package/es/divider/src/divider.js +80 -77
  33. package/es/drawer/src/drawer.js +778 -775
  34. package/es/empty/src/empty.js +100 -97
  35. package/es/form/src/form-group.js +74 -71
  36. package/es/form/src/form-item.js +76 -73
  37. package/es/form/src/form.js +789 -786
  38. package/es/icon/src/icon.js +59 -56
  39. package/es/icon/style.css +1 -1
  40. package/es/icon/style.mini.css +1 -1
  41. package/es/icon-picker/src/icon-picker.js +719 -716
  42. package/es/image/src/group.js +130 -127
  43. package/es/image/src/image.js +243 -240
  44. package/es/image/src/preview.js +627 -624
  45. package/es/index.esm.js +2 -0
  46. package/es/index.js +2 -0
  47. package/es/input/src/input.js +2700 -2697
  48. package/es/layout-aside/src/layout-aside.js +138 -135
  49. package/es/layout-body/src/layout-body.js +145 -142
  50. package/es/layout-container/src/layout-container.js +71 -68
  51. package/es/layout-footer/src/layout-footer.js +60 -57
  52. package/es/layout-header/src/layout-header.js +58 -55
  53. package/es/link/src/link.js +131 -128
  54. package/es/list/src/list.js +2174 -2171
  55. package/es/loading/src/loading.js +141 -138
  56. package/es/mention/src/mention.js +49 -46
  57. package/es/menu/src/menu.js +799 -796
  58. package/es/modal/src/modal.js +1519 -1527
  59. package/es/notice-bar/src/notice-bar.js +168 -165
  60. package/es/number-input/src/number-input.js +1094 -1091
  61. package/es/pager/src/pager.js +767 -764
  62. package/es/password-input/src/password-input.js +431 -428
  63. package/es/print/src/page-break.js +63 -60
  64. package/es/print/src/print.js +303 -300
  65. package/es/pulldown/src/pulldown.js +403 -400
  66. package/es/radio/src/button.js +214 -211
  67. package/es/radio/src/group.js +195 -192
  68. package/es/radio/src/radio.js +194 -191
  69. package/es/rate/src/rate.js +164 -161
  70. package/es/result/src/result.js +116 -113
  71. package/es/row/src/col.js +133 -130
  72. package/es/row/src/row.js +111 -108
  73. package/es/scrollbar/src/scrollbar.js +518 -515
  74. package/es/segmented/src/segmented.js +240 -237
  75. package/es/select/src/optgroup.js +44 -41
  76. package/es/select/src/option.js +39 -35
  77. package/es/select/src/select.js +1914 -1891
  78. package/es/slider/src/slider.js +419 -416
  79. package/es/space/src/space.js +190 -187
  80. package/es/splitter/src/splitter-panel.js +146 -143
  81. package/es/splitter/src/splitter.js +917 -914
  82. package/es/step-item/index.d.ts +76 -0
  83. package/es/step-item/index.js +17 -0
  84. package/es/steps/index.d.ts +288 -34
  85. package/es/steps/src/step-info.d.ts +6 -0
  86. package/es/steps/src/step-info.js +20 -0
  87. package/es/steps/src/step-item.d.ts +14 -0
  88. package/es/steps/src/step-item.js +39 -0
  89. package/es/steps/src/steps.d.ts +68 -8
  90. package/es/steps/src/steps.js +299 -47
  91. package/es/steps/src/util.d.ts +7 -0
  92. package/es/steps/src/util.js +44 -0
  93. package/es/steps/style.css +297 -0
  94. package/es/steps/style.mini.css +1 -0
  95. package/es/style.css +433 -2
  96. package/es/style.mini.css +1 -1
  97. package/es/switch/src/switch.js +228 -225
  98. package/es/table-select/src/table-select.js +865 -862
  99. package/es/table-transfer/src/table-transfer.js +61 -58
  100. package/es/tabs/src/tab-pane.js +102 -99
  101. package/es/tabs/src/tabs.js +936 -933
  102. package/es/tag/src/tag.js +163 -160
  103. package/es/text/src/text.js +232 -229
  104. package/es/text-ellipsis/src/text-ellipsis.js +252 -249
  105. package/es/textarea/src/textarea.js +434 -431
  106. package/es/timeline/index.d.ts +92 -0
  107. package/es/timeline/src/timeline-info.d.ts +6 -0
  108. package/es/timeline/src/timeline-info.js +19 -0
  109. package/es/timeline/src/timeline-item.d.ts +11 -8
  110. package/es/timeline/src/timeline-item.js +33 -45
  111. package/es/timeline/src/timeline.d.ts +22 -0
  112. package/es/timeline/src/timeline.js +220 -48
  113. package/es/timeline/src/util.d.ts +7 -0
  114. package/es/timeline/src/util.js +44 -0
  115. package/es/timeline/style.css +122 -0
  116. package/es/timeline/style.mini.css +1 -0
  117. package/es/timeline-item/index.d.ts +42 -34
  118. package/es/tip/src/tip.js +117 -114
  119. package/es/tooltip/src/tooltip.js +552 -549
  120. package/es/tour/src/tour.js +49 -46
  121. package/es/transfer/src/transfer.js +95 -92
  122. package/es/tree/src/tree.js +3379 -3376
  123. package/es/tree-select/src/tree-select.js +969 -966
  124. package/es/ui/index.js +8 -2
  125. package/es/ui/src/log.js +1 -1
  126. package/es/upload/src/upload.js +1791 -1788
  127. package/es/vxe-icon/style.css +1 -1
  128. package/es/vxe-icon/style.mini.css +1 -1
  129. package/es/vxe-steps/style.css +297 -0
  130. package/es/vxe-steps/style.mini.css +1 -0
  131. package/es/vxe-timeline/style.css +122 -0
  132. package/es/vxe-timeline/style.mini.css +1 -0
  133. package/es/watermark/src/watermark.js +158 -155
  134. package/lib/alert/src/alert.js +117 -114
  135. package/lib/anchor/src/anchor-link.js +110 -107
  136. package/lib/anchor/src/anchor.js +212 -209
  137. package/lib/avatar/src/avatar.js +132 -129
  138. package/lib/backtop/src/backtop.js +267 -264
  139. package/lib/badge/src/badge.js +102 -99
  140. package/lib/breadcrumb/src/breadcrumb-item.js +104 -101
  141. package/lib/breadcrumb/src/breadcrumb.js +70 -67
  142. package/lib/button/src/button-group.js +88 -85
  143. package/lib/calendar/src/calendar.js +1371 -1368
  144. package/lib/card/src/card.js +235 -232
  145. package/lib/carousel/src/carousel-item.js +78 -75
  146. package/lib/carousel/src/carousel.js +392 -389
  147. package/lib/cascader/src/cascader.js +1665 -1662
  148. package/lib/checkbox/src/button.js +198 -195
  149. package/lib/checkbox/src/checkbox.js +181 -178
  150. package/lib/checkbox/src/group.js +210 -207
  151. package/lib/collapse/src/collapse-pane.js +98 -95
  152. package/lib/collapse/src/collapse.js +340 -337
  153. package/lib/color-picker/src/color-picker.js +1116 -1113
  154. package/lib/components.js +3 -0
  155. package/lib/context-menu/src/context-menu.js +601 -598
  156. package/lib/countdown/src/countdown.js +224 -221
  157. package/lib/date-panel/src/date-panel.js +1905 -1902
  158. package/lib/date-picker/src/date-picker.js +1537 -1534
  159. package/lib/date-range-picker/src/date-range-picker.js +1412 -1409
  160. package/lib/divider/src/divider.js +80 -77
  161. package/lib/drawer/src/drawer.js +778 -775
  162. package/lib/empty/src/empty.js +100 -97
  163. package/lib/form/src/form-group.js +74 -71
  164. package/lib/form/src/form-item.js +76 -73
  165. package/lib/form/src/form.js +789 -786
  166. package/lib/icon/src/icon.js +59 -56
  167. package/lib/icon/style/style.css +1 -1
  168. package/lib/icon/style/style.mini.css +1 -1
  169. package/lib/icon-picker/src/icon-picker.js +719 -716
  170. package/lib/image/src/group.js +130 -127
  171. package/lib/image/src/image.js +243 -240
  172. package/lib/image/src/preview.js +627 -624
  173. package/lib/index.common.js +2 -0
  174. package/lib/index.js +2 -0
  175. package/lib/index.umd.js +47724 -46862
  176. package/lib/index.umd.min.js +3 -3
  177. package/lib/input/src/input.js +2700 -2697
  178. package/lib/layout-aside/src/layout-aside.js +138 -135
  179. package/lib/layout-body/src/layout-body.js +145 -142
  180. package/lib/layout-container/src/layout-container.js +71 -68
  181. package/lib/layout-footer/src/layout-footer.js +60 -57
  182. package/lib/layout-header/src/layout-header.js +58 -55
  183. package/lib/link/src/link.js +131 -128
  184. package/lib/list/src/list.js +2173 -2170
  185. package/lib/loading/src/loading.js +141 -138
  186. package/lib/mention/src/mention.js +49 -46
  187. package/lib/menu/src/menu.js +799 -796
  188. package/lib/modal/src/modal.js +1519 -1527
  189. package/lib/notice-bar/src/notice-bar.js +168 -165
  190. package/lib/number-input/src/number-input.js +1094 -1091
  191. package/lib/pager/src/pager.js +767 -764
  192. package/lib/password-input/src/password-input.js +431 -428
  193. package/lib/print/src/page-break.js +63 -60
  194. package/lib/print/src/print.js +303 -300
  195. package/lib/pulldown/src/pulldown.js +403 -400
  196. package/lib/radio/src/button.js +214 -211
  197. package/lib/radio/src/group.js +195 -192
  198. package/lib/radio/src/radio.js +194 -191
  199. package/lib/rate/src/rate.js +164 -161
  200. package/lib/result/src/result.js +116 -113
  201. package/lib/row/src/col.js +133 -130
  202. package/lib/row/src/row.js +111 -108
  203. package/lib/scrollbar/src/scrollbar.js +518 -515
  204. package/lib/segmented/src/segmented.js +240 -237
  205. package/lib/select/src/optgroup.js +44 -41
  206. package/lib/select/src/option.js +39 -35
  207. package/lib/select/src/select.js +1915 -1892
  208. package/lib/slider/src/slider.js +419 -416
  209. package/lib/space/src/space.js +190 -187
  210. package/lib/splitter/src/splitter-panel.js +146 -143
  211. package/lib/splitter/src/splitter.js +917 -914
  212. package/lib/step-item/index.js +47 -0
  213. package/lib/steps/src/step-info.js +49 -0
  214. package/lib/steps/src/step-item.js +59 -0
  215. package/lib/steps/src/steps.js +298 -46
  216. package/lib/steps/src/util.js +74 -0
  217. package/lib/steps/style/style.css +297 -0
  218. package/lib/steps/style/style.mini.css +1 -0
  219. package/lib/style.css +433 -2
  220. package/lib/style.mini.css +1 -1
  221. package/lib/switch/src/switch.js +228 -225
  222. package/lib/table-select/src/table-select.js +865 -862
  223. package/lib/table-transfer/src/table-transfer.js +61 -58
  224. package/lib/tabs/src/tab-pane.js +102 -99
  225. package/lib/tabs/src/tabs.js +936 -933
  226. package/lib/tag/src/tag.js +163 -160
  227. package/lib/text/src/text.js +232 -229
  228. package/lib/text-ellipsis/src/text-ellipsis.js +252 -249
  229. package/lib/textarea/src/textarea.js +434 -431
  230. package/lib/timeline/src/timeline-info.js +48 -0
  231. package/lib/timeline/src/timeline-item.js +32 -54
  232. package/lib/timeline/src/timeline.js +219 -47
  233. package/lib/timeline/src/util.js +74 -0
  234. package/lib/timeline/style/style.css +122 -0
  235. package/lib/timeline/style/style.mini.css +1 -0
  236. package/lib/tip/src/tip.js +117 -114
  237. package/lib/tooltip/src/tooltip.js +552 -549
  238. package/lib/tour/src/tour.js +49 -46
  239. package/lib/transfer/src/transfer.js +95 -92
  240. package/lib/tree/src/tree.js +3379 -3376
  241. package/lib/tree-select/src/tree-select.js +969 -966
  242. package/lib/ui/index.js +8 -2
  243. package/lib/ui/src/log.js +1 -1
  244. package/lib/upload/src/upload.js +1788 -1785
  245. package/lib/vxe-icon/style/style.css +1 -1
  246. package/lib/vxe-icon/style/style.mini.css +1 -1
  247. package/lib/vxe-steps/style/style.css +297 -0
  248. package/lib/vxe-steps/style/style.mini.css +1 -0
  249. package/lib/vxe-timeline/style/style.css +122 -0
  250. package/lib/vxe-timeline/style/style.mini.css +1 -0
  251. package/lib/watermark/src/watermark.js +158 -155
  252. package/package.json +10 -3
  253. package/packages/alert/src/alert.ts +2 -2
  254. package/packages/anchor/src/anchor-link.ts +2 -2
  255. package/packages/anchor/src/anchor.ts +2 -2
  256. package/packages/avatar/src/avatar.ts +2 -2
  257. package/packages/backtop/src/backtop.ts +2 -2
  258. package/packages/badge/src/badge.ts +2 -2
  259. package/packages/breadcrumb/src/breadcrumb-item.ts +2 -2
  260. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  261. package/packages/button/src/button-group.ts +2 -2
  262. package/packages/calendar/src/calendar.ts +2 -2
  263. package/packages/card/src/card.ts +2 -2
  264. package/packages/carousel/src/carousel-item.ts +2 -2
  265. package/packages/carousel/src/carousel.ts +2 -2
  266. package/packages/cascader/src/cascader.ts +2 -2
  267. package/packages/checkbox/src/button.ts +3 -15
  268. package/packages/checkbox/src/checkbox.ts +2 -2
  269. package/packages/checkbox/src/group.ts +2 -2
  270. package/packages/collapse/src/collapse-pane.ts +2 -2
  271. package/packages/collapse/src/collapse.ts +2 -2
  272. package/packages/color-picker/src/color-picker.ts +2 -2
  273. package/packages/components.ts +3 -0
  274. package/packages/context-menu/src/context-menu.ts +3 -16
  275. package/packages/countdown/src/countdown.ts +2 -2
  276. package/packages/date-panel/src/date-panel.ts +2 -2
  277. package/packages/date-picker/src/date-picker.ts +2 -2
  278. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  279. package/packages/divider/src/divider.ts +2 -2
  280. package/packages/drawer/src/drawer.ts +2 -2
  281. package/packages/empty/src/empty.ts +2 -2
  282. package/packages/form/src/form-group.ts +2 -2
  283. package/packages/form/src/form-item.ts +2 -2
  284. package/packages/form/src/form.ts +2 -2
  285. package/packages/icon/src/icon.ts +2 -2
  286. package/packages/icon-picker/src/icon-picker.ts +2 -2
  287. package/packages/image/src/group.ts +2 -2
  288. package/packages/image/src/image.ts +2 -2
  289. package/packages/image/src/preview.ts +3 -16
  290. package/packages/index.ts +2 -2
  291. package/packages/input/src/input.ts +2 -2
  292. package/packages/layout-aside/src/layout-aside.ts +2 -2
  293. package/packages/layout-body/src/layout-body.ts +2 -2
  294. package/packages/layout-container/src/layout-container.ts +3 -14
  295. package/packages/layout-footer/src/layout-footer.ts +2 -2
  296. package/packages/layout-header/src/layout-header.ts +2 -2
  297. package/packages/link/src/link.ts +2 -2
  298. package/packages/list/src/list.ts +2 -2
  299. package/packages/loading/src/loading.ts +2 -2
  300. package/packages/mention/src/mention.ts +2 -2
  301. package/packages/menu/src/menu.ts +2 -2
  302. package/packages/modal/src/modal.ts +5 -20
  303. package/packages/notice-bar/src/notice-bar.ts +2 -2
  304. package/packages/number-input/src/number-input.ts +3 -17
  305. package/packages/pager/src/pager.ts +2 -2
  306. package/packages/password-input/src/password-input.ts +2 -2
  307. package/packages/print/src/page-break.ts +2 -2
  308. package/packages/print/src/print.ts +2 -2
  309. package/packages/pulldown/src/pulldown.ts +2 -2
  310. package/packages/radio/src/button.ts +3 -16
  311. package/packages/radio/src/group.ts +3 -17
  312. package/packages/radio/src/radio.ts +2 -2
  313. package/packages/rate/src/rate.ts +2 -2
  314. package/packages/result/src/result.ts +2 -2
  315. package/packages/row/src/col.ts +2 -2
  316. package/packages/row/src/row.ts +2 -2
  317. package/packages/scrollbar/src/scrollbar.ts +3 -4
  318. package/packages/segmented/src/segmented.ts +2 -2
  319. package/packages/select/src/optgroup.ts +2 -2
  320. package/packages/select/src/option.ts +5 -3
  321. package/packages/select/src/select.ts +29 -10
  322. package/packages/slider/src/slider.ts +3 -18
  323. package/packages/space/src/space.ts +2 -2
  324. package/packages/splitter/src/splitter-panel.ts +2 -2
  325. package/packages/splitter/src/splitter.ts +2 -2
  326. package/packages/step-item/index.ts +16 -0
  327. package/packages/steps/src/step-info.ts +18 -0
  328. package/packages/steps/src/step-item.ts +41 -0
  329. package/packages/steps/src/steps.ts +273 -13
  330. package/packages/steps/src/util.ts +44 -0
  331. package/packages/switch/src/switch.ts +2 -2
  332. package/packages/table-select/src/table-select.ts +2 -2
  333. package/packages/table-transfer/src/table-transfer.ts +3 -15
  334. package/packages/tabs/src/tab-pane.ts +2 -2
  335. package/packages/tabs/src/tabs.ts +2 -2
  336. package/packages/tag/src/tag.ts +2 -2
  337. package/packages/text/src/text.ts +2 -2
  338. package/packages/text-ellipsis/src/text-ellipsis.ts +2 -2
  339. package/packages/textarea/src/textarea.ts +2 -2
  340. package/packages/timeline/src/timeline-info.ts +17 -0
  341. package/packages/timeline/src/timeline-item.ts +25 -50
  342. package/packages/timeline/src/timeline.ts +201 -18
  343. package/packages/timeline/src/util.ts +44 -0
  344. package/packages/tip/src/tip.ts +2 -2
  345. package/packages/tooltip/src/tooltip.ts +2 -2
  346. package/packages/tour/src/tour.ts +2 -2
  347. package/packages/transfer/src/transfer.ts +2 -2
  348. package/packages/tree/src/tree.ts +2 -2
  349. package/packages/tree-select/src/tree-select.ts +2 -2
  350. package/packages/ui/index.ts +8 -1
  351. package/packages/upload/src/upload.ts +2 -2
  352. package/packages/watermark/src/watermark.ts +2 -2
  353. package/styles/all.scss +1 -0
  354. package/styles/components/step-item.scss +0 -0
  355. package/styles/components/steps.scss +354 -0
  356. package/styles/components/timeline.scss +133 -0
  357. package/styles/theme/base.scss +9 -0
  358. package/styles/theme/dark.scss +2 -1
  359. package/styles/theme/light.scss +1 -0
  360. package/styles/variable.scss +2 -1
  361. package/types/all.d.ts +3 -0
  362. package/types/components/gantt.d.ts +1 -3
  363. package/types/components/optgroup.d.ts +0 -1
  364. package/types/components/option.d.ts +0 -1
  365. package/types/components/select.d.ts +1 -13
  366. package/types/components/step-item.d.ts +72 -0
  367. package/types/components/steps.d.ts +67 -8
  368. package/types/components/table.d.ts +7 -66
  369. package/types/components/timeline-item.d.ts +21 -17
  370. package/types/components/timeline.d.ts +41 -8
  371. package/types/handles/form-design.d.ts +1 -4
  372. package/types/ui/global-config.d.ts +2 -0
  373. package/types/ui/global-icon.d.ts +7 -0
  374. /package/dist/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  375. /package/dist/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  376. /package/dist/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  377. /package/es/icon/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  378. /package/es/icon/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  379. /package/es/icon/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  380. /package/es/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  381. /package/es/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  382. /package/es/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  383. /package/es/vxe-icon/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  384. /package/es/vxe-icon/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  385. /package/es/vxe-icon/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  386. /package/lib/icon/style/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  387. /package/lib/icon/style/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  388. /package/lib/icon/style/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  389. /package/lib/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  390. /package/lib/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  391. /package/lib/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
  392. /package/lib/vxe-icon/style/{iconfont.1793089621562.ttf → iconfont.1793359478136.ttf} +0 -0
  393. /package/lib/vxe-icon/style/{iconfont.1793089621562.woff → iconfont.1793359478136.woff} +0 -0
  394. /package/lib/vxe-icon/style/{iconfont.1793089621562.woff2 → iconfont.1793359478136.woff2} +0 -0
@@ -5,232 +5,235 @@ import { VxeUI } from "@vxe-ui/core";
5
5
  import { getOffsetPos } from "../../ui/src/dom";
6
6
  import VxeAnchorLinkComponent from "./anchor-link";
7
7
  const { createEvent, renderEmptyElement } = VxeUI;
8
- var anchor_default = defineVxeComponent({
9
- name: "VxeAnchor",
10
- props: {
11
- modelValue: String,
12
- options: Array,
13
- container: [String, Object, Function],
14
- showMarker: {
15
- type: Boolean,
16
- default: true
17
- }
18
- },
19
- emits: ["update:modelValue", "change", "click"],
20
- setup(props, context) {
21
- const { slots, emit } = context;
22
- const xID = XEUtils.uniqueId();
23
- const refElem = ref();
24
- const refMarkerElem = ref();
25
- const reactData = reactive({
26
- activeHref: null,
27
- staticLinks: [],
28
- containerElem: null
29
- });
30
- const refMaps = {
31
- refElem
32
- };
33
- const computeAllHrefList = computed(() => {
34
- const list = [];
35
- XEUtils.eachTree(
36
- reactData.staticLinks,
37
- (item) => {
38
- list.push(item.href || "");
39
- },
40
- { children: "children" }
41
- );
42
- return list;
43
- });
44
- const computeMaps = {};
45
- const $xeAnchor = {
46
- xID,
47
- props,
48
- context,
49
- reactData,
50
- getRefMaps: () => refMaps,
51
- getComputeMaps: () => computeMaps
52
- };
53
- const anchorMethods = {
54
- dispatchEvent(type, params, evnt) {
55
- emit(type, createEvent(evnt, { $anchor: $xeAnchor }, params));
8
+ var anchor_default = (
9
+ /* define-vxe-component start */
10
+ defineVxeComponent({
11
+ name: "VxeAnchor",
12
+ props: {
13
+ modelValue: String,
14
+ options: Array,
15
+ container: [String, Object, Function],
16
+ showMarker: {
17
+ type: Boolean,
18
+ default: true
56
19
  }
57
- };
58
- const getContainerElem = () => {
59
- const { container } = props;
60
- if (container) {
61
- if (XEUtils.isElement(container)) {
62
- return container;
63
- }
64
- if (XEUtils.isString(container)) {
65
- return document.querySelector(container);
66
- }
67
- if (XEUtils.isFunction(container)) {
68
- return container({ $anchor: $xeAnchor });
20
+ },
21
+ emits: ["update:modelValue", "change", "click"],
22
+ setup(props, context) {
23
+ const { slots, emit } = context;
24
+ const xID = XEUtils.uniqueId();
25
+ const refElem = ref();
26
+ const refMarkerElem = ref();
27
+ const reactData = reactive({
28
+ activeHref: null,
29
+ staticLinks: [],
30
+ containerElem: null
31
+ });
32
+ const refMaps = {
33
+ refElem
34
+ };
35
+ const computeAllHrefList = computed(() => {
36
+ const list = [];
37
+ XEUtils.eachTree(
38
+ reactData.staticLinks,
39
+ (item) => {
40
+ list.push(item.href || "");
41
+ },
42
+ { children: "children" }
43
+ );
44
+ return list;
45
+ });
46
+ const computeMaps = {};
47
+ const $xeAnchor = {
48
+ xID,
49
+ props,
50
+ context,
51
+ reactData,
52
+ getRefMaps: () => refMaps,
53
+ getComputeMaps: () => computeMaps
54
+ };
55
+ const anchorMethods = {
56
+ dispatchEvent(type, params, evnt) {
57
+ emit(type, createEvent(evnt, { $anchor: $xeAnchor }, params));
69
58
  }
70
- }
71
- return null;
72
- };
73
- const emitEvent = (value) => {
74
- reactData.activeHref = value;
75
- emit("update:modelValue", value);
76
- };
77
- const handleContainerScrollEvent = () => {
78
- const allHrefList = computeAllHrefList.value;
79
- const { containerElem } = reactData;
80
- if (containerElem) {
81
- const wrapperElList = containerElem.querySelectorAll(allHrefList.map((href) => `${href}`).join(","));
82
- for (let i = 0; i < wrapperElList.length; i++) {
83
- const wrapperEl = wrapperElList[i];
84
- const wrapperRect = wrapperEl.getBoundingClientRect();
85
- if (wrapperRect.top > 0) {
86
- const href = wrapperEl.id;
87
- reactData.activeHref = `#${href}`;
88
- break;
59
+ };
60
+ const getContainerElem = () => {
61
+ const { container } = props;
62
+ if (container) {
63
+ if (XEUtils.isElement(container)) {
64
+ return container;
65
+ }
66
+ if (XEUtils.isString(container)) {
67
+ return document.querySelector(container);
68
+ }
69
+ if (XEUtils.isFunction(container)) {
70
+ return container({ $anchor: $xeAnchor });
89
71
  }
90
72
  }
91
- }
92
- };
93
- const removeContainerElemScroll = () => {
94
- const { containerElem } = reactData;
95
- if (containerElem) {
96
- containerElem.removeEventListener("scroll", handleContainerScrollEvent);
97
- }
98
- };
99
- const updateContainerElem = () => {
100
- const containerElem = getContainerElem();
101
- reactData.containerElem = containerElem;
102
- if (containerElem) {
103
- containerElem.addEventListener("scroll", handleContainerScrollEvent, {
104
- passive: false
105
- });
106
- }
107
- };
108
- const updateMarkerPos = () => {
109
- nextTick(() => {
110
- const { activeHref } = reactData;
111
- const elem = refElem.value;
112
- const markerEl = refMarkerElem.value;
113
- if (elem && markerEl) {
114
- if (activeHref) {
115
- const linkEl = elem.querySelector(`[href="${activeHref}"]`);
116
- if (linkEl) {
117
- const { top } = getOffsetPos(linkEl, elem);
118
- markerEl.style.top = `${top}px`;
73
+ return null;
74
+ };
75
+ const emitEvent = (value) => {
76
+ reactData.activeHref = value;
77
+ emit("update:modelValue", value);
78
+ };
79
+ const handleContainerScrollEvent = () => {
80
+ const allHrefList = computeAllHrefList.value;
81
+ const { containerElem } = reactData;
82
+ if (containerElem) {
83
+ const wrapperElList = containerElem.querySelectorAll(allHrefList.map((href) => `${href}`).join(","));
84
+ for (let i = 0; i < wrapperElList.length; i++) {
85
+ const wrapperEl = wrapperElList[i];
86
+ const wrapperRect = wrapperEl.getBoundingClientRect();
87
+ if (wrapperRect.top > 0) {
88
+ const href = wrapperEl.id;
89
+ reactData.activeHref = `#${href}`;
90
+ break;
119
91
  }
120
92
  }
121
93
  }
122
- });
123
- };
124
- const anchorPrivateMethods = {
125
- handleClickLink(evnt, href) {
126
- evnt.preventDefault();
127
- const targetEl = document.getElementById(`${href}`.replace("#", ""));
128
- if (targetEl) {
129
- targetEl.scrollIntoView({
130
- behavior: "smooth"
94
+ };
95
+ const removeContainerElemScroll = () => {
96
+ const { containerElem } = reactData;
97
+ if (containerElem) {
98
+ containerElem.removeEventListener("scroll", handleContainerScrollEvent);
99
+ }
100
+ };
101
+ const updateContainerElem = () => {
102
+ const containerElem = getContainerElem();
103
+ reactData.containerElem = containerElem;
104
+ if (containerElem) {
105
+ containerElem.addEventListener("scroll", handleContainerScrollEvent, {
106
+ passive: false
131
107
  });
132
108
  }
133
- emitEvent(href);
134
- anchorMethods.dispatchEvent("click", { href }, evnt);
135
- }
136
- };
137
- Object.assign($xeAnchor, anchorMethods, anchorPrivateMethods);
138
- const renderSubItems = (options) => {
139
- const itemVNs = [];
140
- if (options) {
141
- options.forEach((item) => {
142
- const subItems = item.children;
143
- if (subItems && subItems.length) {
144
- itemVNs.push(
145
- h(
146
- VxeAnchorLinkComponent,
147
- {
109
+ };
110
+ const updateMarkerPos = () => {
111
+ nextTick(() => {
112
+ const { activeHref } = reactData;
113
+ const elem = refElem.value;
114
+ const markerEl = refMarkerElem.value;
115
+ if (elem && markerEl) {
116
+ if (activeHref) {
117
+ const linkEl = elem.querySelector(`[href="${activeHref}"]`);
118
+ if (linkEl) {
119
+ const { top } = getOffsetPos(linkEl, elem);
120
+ markerEl.style.top = `${top}px`;
121
+ }
122
+ }
123
+ }
124
+ });
125
+ };
126
+ const anchorPrivateMethods = {
127
+ handleClickLink(evnt, href) {
128
+ evnt.preventDefault();
129
+ const targetEl = document.getElementById(`${href}`.replace("#", ""));
130
+ if (targetEl) {
131
+ targetEl.scrollIntoView({
132
+ behavior: "smooth"
133
+ });
134
+ }
135
+ emitEvent(href);
136
+ anchorMethods.dispatchEvent("click", { href }, evnt);
137
+ }
138
+ };
139
+ Object.assign($xeAnchor, anchorMethods, anchorPrivateMethods);
140
+ const renderSubItems = (options) => {
141
+ const itemVNs = [];
142
+ if (options) {
143
+ options.forEach((item) => {
144
+ const subItems = item.children;
145
+ if (subItems && subItems.length) {
146
+ itemVNs.push(
147
+ h(
148
+ VxeAnchorLinkComponent,
149
+ {
150
+ content: item.content,
151
+ title: item.title,
152
+ href: item.href
153
+ },
154
+ {
155
+ sub: () => renderSubItems(subItems)
156
+ }
157
+ )
158
+ );
159
+ } else {
160
+ itemVNs.push(
161
+ h(VxeAnchorLinkComponent, {
148
162
  content: item.content,
149
163
  title: item.title,
150
164
  href: item.href
151
- },
152
- {
153
- sub: () => renderSubItems(subItems)
154
- }
155
- )
156
- );
157
- } else {
158
- itemVNs.push(
159
- h(VxeAnchorLinkComponent, {
160
- content: item.content,
161
- title: item.title,
162
- href: item.href
163
- })
164
- );
165
- }
166
- });
167
- }
168
- return itemVNs;
169
- };
170
- const renderVN = () => {
171
- const { options, showMarker } = props;
172
- const defaultSlot = slots.default;
173
- return h(
174
- "div",
175
- {
176
- ref: refElem,
177
- class: [
178
- "vxe-anchor",
179
- {
180
- "is--marker": showMarker
165
+ })
166
+ );
181
167
  }
168
+ });
169
+ }
170
+ return itemVNs;
171
+ };
172
+ const renderVN = () => {
173
+ const { options, showMarker } = props;
174
+ const defaultSlot = slots.default;
175
+ return h(
176
+ "div",
177
+ {
178
+ ref: refElem,
179
+ class: [
180
+ "vxe-anchor",
181
+ {
182
+ "is--marker": showMarker
183
+ }
184
+ ]
185
+ },
186
+ [
187
+ h(
188
+ "div",
189
+ {
190
+ class: "vxe-anchor--list"
191
+ },
192
+ defaultSlot ? defaultSlot({}) : renderSubItems(options)
193
+ ),
194
+ showMarker ? h("div", {
195
+ ref: refMarkerElem,
196
+ class: "vxe-anchor--marker"
197
+ }) : renderEmptyElement($xeAnchor)
182
198
  ]
183
- },
184
- [
185
- h(
186
- "div",
187
- {
188
- class: "vxe-anchor--list"
189
- },
190
- defaultSlot ? defaultSlot({}) : renderSubItems(options)
191
- ),
192
- showMarker ? h("div", {
193
- ref: refMarkerElem,
194
- class: "vxe-anchor--marker"
195
- }) : renderEmptyElement($xeAnchor)
196
- ]
199
+ );
200
+ };
201
+ watch(
202
+ () => props.modelValue,
203
+ (val) => {
204
+ reactData.activeHref = val;
205
+ }
197
206
  );
198
- };
199
- watch(
200
- () => props.modelValue,
201
- (val) => {
202
- reactData.activeHref = val;
203
- }
204
- );
205
- watch(
206
- () => reactData.activeHref,
207
- () => {
208
- updateMarkerPos();
209
- }
210
- );
211
- watch(
212
- () => props.container,
213
- () => {
207
+ watch(
208
+ () => reactData.activeHref,
209
+ () => {
210
+ updateMarkerPos();
211
+ }
212
+ );
213
+ watch(
214
+ () => props.container,
215
+ () => {
216
+ removeContainerElemScroll();
217
+ updateContainerElem();
218
+ }
219
+ );
220
+ onMounted(() => {
221
+ nextTick(() => {
222
+ updateContainerElem();
223
+ });
224
+ });
225
+ onBeforeUnmount(() => {
214
226
  removeContainerElemScroll();
215
- updateContainerElem();
216
- }
217
- );
218
- onMounted(() => {
219
- nextTick(() => {
220
- updateContainerElem();
221
227
  });
222
- });
223
- onBeforeUnmount(() => {
224
- removeContainerElemScroll();
225
- });
226
- provide("$xeAnchor", $xeAnchor);
227
- $xeAnchor.renderVN = renderVN;
228
- return $xeAnchor;
229
- },
230
- render() {
231
- return this.renderVN();
232
- }
233
- });
228
+ provide("$xeAnchor", $xeAnchor);
229
+ $xeAnchor.renderVN = renderVN;
230
+ return $xeAnchor;
231
+ },
232
+ render() {
233
+ return this.renderVN();
234
+ }
235
+ })
236
+ );
234
237
  export {
235
238
  anchor_default as default
236
239
  };