@element-plus/nightly 0.0.20250805 → 0.0.20250807
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.
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +49 -17
- package/dist/index.full.min.js +14 -14
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +15 -15
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +49 -17
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/anchor/index.mjs +2 -2
- package/es/components/anchor/src/anchor.mjs +207 -40
- package/es/components/anchor/src/anchor.mjs.map +1 -1
- package/es/components/anchor/src/anchor2.mjs +40 -207
- package/es/components/anchor/src/anchor2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +2 -0
- package/es/components/autocomplete/src/autocomplete2.mjs +18 -2
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/index.mjs +2 -2
- package/es/components/avatar/src/avatar.mjs +65 -31
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs +31 -65
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +4 -4
- package/es/components/breadcrumb/src/breadcrumb-item.mjs +8 -56
- package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +56 -8
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.mjs +37 -10
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs +10 -37
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +87 -62
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +62 -87
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel-item.mjs +69 -7
- package/es/components/carousel/src/carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item2.mjs +7 -69
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/cascader/src/cascader.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/menu.mjs +1 -1
- package/es/components/cascader-panel/src/node.mjs +181 -115
- package/es/components/cascader-panel/src/node.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs +115 -181
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +1 -1
- package/es/components/collapse/index.mjs +2 -2
- package/es/components/collapse/src/collapse.mjs +28 -23
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs +23 -28
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.mjs +29 -88
- package/es/components/dialog/src/dialog-content.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content2.mjs +88 -29
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog2.mjs +1 -1
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +178 -26
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +26 -178
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.mjs +1 -1
- package/es/components/image-viewer/index.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer.mjs +447 -46
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +46 -447
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +22 -22
- package/es/components/input-tag/index.mjs +2 -2
- package/es/components/input-tag/src/input-tag.mjs +70 -215
- package/es/components/input-tag/src/input-tag.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag2.mjs +215 -70
- package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown.mjs +166 -15
- package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown2.mjs +15 -166
- package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs +1 -1
- package/es/components/message-box/src/index.mjs +4 -8
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/notification/index.mjs +1 -1
- package/es/components/notification/src/notification.mjs +140 -73
- package/es/components/notification/src/notification.mjs.map +1 -1
- package/es/components/notification/src/notification2.mjs +73 -140
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +2 -2
- package/es/components/page-header/index.mjs +2 -2
- package/es/components/page-header/src/page-header.mjs +16 -97
- package/es/components/page-header/src/page-header.mjs.map +1 -1
- package/es/components/page-header/src/page-header2.mjs +97 -16
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.mjs +7 -58
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper2.mjs +58 -7
- package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popper/index.mjs +6 -6
- package/es/components/popper/src/content.mjs +130 -88
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +88 -130
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/popper/src/popper.mjs +32 -22
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs +22 -32
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +31 -127
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +127 -31
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-button.mjs +5 -65
- package/es/components/radio/src/radio-button.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +65 -5
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/result/index.mjs +2 -2
- package/es/components/result/src/result.mjs +62 -30
- package/es/components/result/src/result.mjs.map +1 -1
- package/es/components/result/src/result2.mjs +30 -62
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/scrollbar/src/bar.mjs +64 -10
- package/es/components/scrollbar/src/bar.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +10 -64
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
- package/es/components/select/index.mjs +1 -1
- package/es/components/select/src/option.mjs +13 -89
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/option2.mjs +89 -13
- package/es/components/select/src/option2.mjs.map +1 -1
- package/es/components/select/src/select.mjs +1 -1
- package/es/components/select/src/select2.mjs +1 -1
- package/es/components/select/src/useOption.mjs +1 -1
- package/es/components/select-v2/src/defaults.mjs +1 -1
- package/es/components/table/src/table-column/render-helper.mjs +3 -2
- package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
- package/es/components/tag/index.mjs +2 -2
- package/es/components/tag/src/tag.mjs +99 -27
- package/es/components/tag/src/tag.mjs.map +1 -1
- package/es/components/tag/src/tag2.mjs +27 -99
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/tooltip/src/content.mjs +1 -1
- package/es/components/tooltip/src/content2.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/components/tooltip/src/trigger.mjs +1 -1
- package/es/components/tooltip/src/trigger2.mjs +1 -1
- package/es/components/tooltip-v2/index.mjs +4 -4
- package/es/components/tooltip-v2/src/content.mjs +48 -110
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +110 -48
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +78 -20
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +20 -78
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger.mjs +89 -12
- package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
- package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
- package/es/components/tour/index.mjs +1 -1
- package/es/components/tour/src/content.mjs +43 -67
- package/es/components/tour/src/content.mjs.map +1 -1
- package/es/components/tour/src/content2.mjs +67 -43
- package/es/components/tour/src/content2.mjs.map +1 -1
- package/es/components/tour/src/step.mjs +1 -1
- package/es/components/tour/src/tour.mjs +1 -1
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/watermark/index.mjs +2 -2
- package/es/components/watermark/src/useClips.d.ts +1 -1
- package/es/components/watermark/src/useClips.mjs +10 -2
- package/es/components/watermark/src/useClips.mjs.map +1 -1
- package/es/components/watermark/src/watermark.mjs +27 -220
- package/es/components/watermark/src/watermark.mjs.map +1 -1
- package/es/components/watermark/src/watermark2.mjs +221 -27
- package/es/components/watermark/src/watermark2.mjs.map +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.mjs +22 -22
- package/es/utils/index.mjs +1 -1
- package/es/utils/vue/index.mjs +1 -1
- package/es/utils/vue/vnode.d.ts +1 -0
- package/es/utils/vue/vnode.mjs +12 -1
- package/es/utils/vue/vnode.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/index.js +2 -2
- package/lib/components/anchor/src/anchor.js +206 -40
- package/lib/components/anchor/src/anchor.js.map +1 -1
- package/lib/components/anchor/src/anchor2.js +40 -206
- package/lib/components/anchor/src/anchor2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +2 -0
- package/lib/components/autocomplete/src/autocomplete2.js +17 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/index.js +2 -2
- package/lib/components/avatar/src/avatar.js +65 -32
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js +32 -65
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +4 -4
- package/lib/components/breadcrumb/src/breadcrumb-item.js +8 -56
- package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +56 -8
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.js +37 -10
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js +10 -37
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +87 -65
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +65 -87
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel-item.js +69 -7
- package/lib/components/carousel/src/carousel-item.js.map +1 -1
- package/lib/components/carousel/src/carousel-item2.js +7 -69
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/cascader/src/cascader.js +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/menu.js +1 -1
- package/lib/components/cascader-panel/src/node.js +181 -115
- package/lib/components/cascader-panel/src/node.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js +115 -181
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +1 -1
- package/lib/components/collapse/index.js +2 -2
- package/lib/components/collapse/src/collapse.js +28 -25
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js +25 -28
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.js +29 -87
- package/lib/components/dialog/src/dialog-content.js.map +1 -1
- package/lib/components/dialog/src/dialog-content2.js +87 -29
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog2.js +1 -1
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +178 -27
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +27 -178
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.js +1 -1
- package/lib/components/image-viewer/index.js +2 -2
- package/lib/components/image-viewer/src/image-viewer.js +447 -47
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js +47 -447
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +22 -22
- package/lib/components/input-tag/index.js +2 -2
- package/lib/components/input-tag/src/input-tag.js +70 -214
- package/lib/components/input-tag/src/input-tag.js.map +1 -1
- package/lib/components/input-tag/src/input-tag2.js +214 -70
- package/lib/components/input-tag/src/input-tag2.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown.js +166 -16
- package/lib/components/mention/src/mention-dropdown.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown2.js +16 -166
- package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
- package/lib/components/mention/src/mention2.js +1 -1
- package/lib/components/message-box/src/index.js +3 -7
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/notification/index.js +1 -1
- package/lib/components/notification/src/notification.js +139 -74
- package/lib/components/notification/src/notification.js.map +1 -1
- package/lib/components/notification/src/notification2.js +74 -139
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/notification/src/notify.js +2 -2
- package/lib/components/page-header/index.js +2 -2
- package/lib/components/page-header/src/page-header.js +17 -97
- package/lib/components/page-header/src/page-header.js.map +1 -1
- package/lib/components/page-header/src/page-header2.js +97 -17
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.js +7 -58
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/jumper2.js +58 -7
- package/lib/components/pagination/src/components/jumper2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/popper/index.js +6 -6
- package/lib/components/popper/src/content.js +130 -93
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content2.js +93 -130
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/popper/src/popper.js +32 -25
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper2.js +25 -32
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +32 -127
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +127 -32
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-button.js +5 -65
- package/lib/components/radio/src/radio-button.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +65 -5
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/result/index.js +2 -2
- package/lib/components/result/src/result.js +62 -32
- package/lib/components/result/src/result.js.map +1 -1
- package/lib/components/result/src/result2.js +32 -62
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/scrollbar/src/bar.js +64 -10
- package/lib/components/scrollbar/src/bar.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +10 -64
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +1 -1
- package/lib/components/select/index.js +1 -1
- package/lib/components/select/src/option.js +14 -89
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/option2.js +89 -14
- package/lib/components/select/src/option2.js.map +1 -1
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select2.js +1 -1
- package/lib/components/select/src/useOption.js +1 -1
- package/lib/components/select-v2/src/defaults.js +1 -1
- package/lib/components/table/src/table-column/render-helper.js +2 -1
- package/lib/components/table/src/table-column/render-helper.js.map +1 -1
- package/lib/components/tag/index.js +2 -2
- package/lib/components/tag/src/tag.js +99 -28
- package/lib/components/tag/src/tag.js.map +1 -1
- package/lib/components/tag/src/tag2.js +28 -99
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/tooltip/src/content.js +1 -1
- package/lib/components/tooltip/src/content2.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/components/tooltip/src/trigger.js +1 -1
- package/lib/components/tooltip/src/trigger2.js +1 -1
- package/lib/components/tooltip-v2/index.js +4 -4
- package/lib/components/tooltip-v2/src/content.js +48 -110
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +110 -48
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +78 -20
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +20 -78
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger.js +89 -12
- package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger2.js +12 -89
- package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
- package/lib/components/tour/index.js +1 -1
- package/lib/components/tour/src/content.js +46 -67
- package/lib/components/tour/src/content.js.map +1 -1
- package/lib/components/tour/src/content2.js +67 -46
- package/lib/components/tour/src/content2.js.map +1 -1
- package/lib/components/tour/src/step.js +1 -1
- package/lib/components/tour/src/tour.js +1 -1
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/watermark/index.js +2 -2
- package/lib/components/watermark/src/useClips.d.ts +1 -1
- package/lib/components/watermark/src/useClips.js +10 -2
- package/lib/components/watermark/src/useClips.js.map +1 -1
- package/lib/components/watermark/src/watermark.js +27 -220
- package/lib/components/watermark/src/watermark.js.map +1 -1
- package/lib/components/watermark/src/watermark2.js +221 -27
- package/lib/components/watermark/src/watermark2.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +22 -22
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/vue/index.js +1 -0
- package/lib/utils/vue/index.js.map +1 -1
- package/lib/utils/vue/vnode.d.ts +1 -0
- package/lib/utils/vue/vnode.js +12 -0
- package/lib/utils/vue/vnode.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-autocomplete.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/autocomplete.scss +10 -0
- package/web-types.json +1 -1
@@ -2,214 +2,48 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var
|
6
|
-
var
|
7
|
-
var anchor = require('./anchor.js');
|
8
|
-
var constants = require('./constants.js');
|
9
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
10
|
-
var element = require('../../../utils/dom/element.js');
|
11
|
-
var throttleByRaf = require('../../../utils/throttleByRaf.js');
|
12
|
-
var scroll = require('../../../utils/dom/scroll.js');
|
13
|
-
var position = require('../../../utils/dom/position.js');
|
14
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
5
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
6
|
+
var shared = require('@vue/shared');
|
15
7
|
var types = require('../../../utils/types.js');
|
16
|
-
var event = require('../../../constants/event.js');
|
17
8
|
|
18
|
-
const
|
19
|
-
|
9
|
+
const anchorProps = runtime.buildProps({
|
10
|
+
container: {
|
11
|
+
type: runtime.definePropType([
|
12
|
+
String,
|
13
|
+
Object
|
14
|
+
])
|
15
|
+
},
|
16
|
+
offset: {
|
17
|
+
type: Number,
|
18
|
+
default: 0
|
19
|
+
},
|
20
|
+
bound: {
|
21
|
+
type: Number,
|
22
|
+
default: 15
|
23
|
+
},
|
24
|
+
duration: {
|
25
|
+
type: Number,
|
26
|
+
default: 300
|
27
|
+
},
|
28
|
+
marker: {
|
29
|
+
type: Boolean,
|
30
|
+
default: true
|
31
|
+
},
|
32
|
+
type: {
|
33
|
+
type: runtime.definePropType(String),
|
34
|
+
default: "default"
|
35
|
+
},
|
36
|
+
direction: {
|
37
|
+
type: runtime.definePropType(String),
|
38
|
+
default: "vertical"
|
39
|
+
},
|
40
|
+
selectScrollTop: Boolean
|
20
41
|
});
|
21
|
-
const
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
setup(__props, { expose, emit }) {
|
26
|
-
const props = __props;
|
27
|
-
const slots = vue.useSlots();
|
28
|
-
const currentAnchor = vue.ref("");
|
29
|
-
const markerStyle = vue.ref({});
|
30
|
-
const anchorRef = vue.ref(null);
|
31
|
-
const markerRef = vue.ref(null);
|
32
|
-
const containerEl = vue.ref();
|
33
|
-
const links = {};
|
34
|
-
let isScrolling = false;
|
35
|
-
let currentScrollTop = 0;
|
36
|
-
const ns = index.useNamespace("anchor");
|
37
|
-
const cls = vue.computed(() => [
|
38
|
-
ns.b(),
|
39
|
-
props.type === "underline" ? ns.m("underline") : "",
|
40
|
-
ns.m(props.direction)
|
41
|
-
]);
|
42
|
-
const addLink = (state) => {
|
43
|
-
links[state.href] = state.el;
|
44
|
-
};
|
45
|
-
const removeLink = (href) => {
|
46
|
-
delete links[href];
|
47
|
-
};
|
48
|
-
const setCurrentAnchor = (href) => {
|
49
|
-
const activeHref = currentAnchor.value;
|
50
|
-
if (activeHref !== href) {
|
51
|
-
currentAnchor.value = href;
|
52
|
-
emit(event.CHANGE_EVENT, href);
|
53
|
-
}
|
54
|
-
};
|
55
|
-
let clearAnimate = null;
|
56
|
-
const scrollToAnchor = (href) => {
|
57
|
-
if (!containerEl.value)
|
58
|
-
return;
|
59
|
-
const target = element.getElement(href);
|
60
|
-
if (!target)
|
61
|
-
return;
|
62
|
-
if (clearAnimate)
|
63
|
-
clearAnimate();
|
64
|
-
isScrolling = true;
|
65
|
-
const scrollEle = scroll.getScrollElement(target, containerEl.value);
|
66
|
-
const distance = position.getOffsetTopDistance(target, scrollEle);
|
67
|
-
const max = scrollEle.scrollHeight - scrollEle.clientHeight;
|
68
|
-
const to = Math.min(distance - props.offset, max);
|
69
|
-
clearAnimate = scroll.animateScrollTo(containerEl.value, currentScrollTop, to, props.duration, () => {
|
70
|
-
setTimeout(() => {
|
71
|
-
isScrolling = false;
|
72
|
-
}, 20);
|
73
|
-
});
|
74
|
-
};
|
75
|
-
const scrollTo = (href) => {
|
76
|
-
if (href) {
|
77
|
-
setCurrentAnchor(href);
|
78
|
-
scrollToAnchor(href);
|
79
|
-
}
|
80
|
-
};
|
81
|
-
const handleClick = (e, href) => {
|
82
|
-
emit("click", e, href);
|
83
|
-
scrollTo(href);
|
84
|
-
};
|
85
|
-
const handleScroll = throttleByRaf.throttleByRaf(() => {
|
86
|
-
if (containerEl.value) {
|
87
|
-
currentScrollTop = scroll.getScrollTop(containerEl.value);
|
88
|
-
}
|
89
|
-
const currentHref = getCurrentHref();
|
90
|
-
if (isScrolling || types.isUndefined(currentHref))
|
91
|
-
return;
|
92
|
-
setCurrentAnchor(currentHref);
|
93
|
-
});
|
94
|
-
const getCurrentHref = () => {
|
95
|
-
if (!containerEl.value)
|
96
|
-
return;
|
97
|
-
const scrollTop = scroll.getScrollTop(containerEl.value);
|
98
|
-
const anchorTopList = [];
|
99
|
-
for (const href of Object.keys(links)) {
|
100
|
-
const target = element.getElement(href);
|
101
|
-
if (!target)
|
102
|
-
continue;
|
103
|
-
const scrollEle = scroll.getScrollElement(target, containerEl.value);
|
104
|
-
const distance = position.getOffsetTopDistance(target, scrollEle);
|
105
|
-
anchorTopList.push({
|
106
|
-
top: distance - props.offset - props.bound,
|
107
|
-
href
|
108
|
-
});
|
109
|
-
}
|
110
|
-
anchorTopList.sort((prev, next) => prev.top - next.top);
|
111
|
-
for (let i = 0; i < anchorTopList.length; i++) {
|
112
|
-
const item = anchorTopList[i];
|
113
|
-
const next = anchorTopList[i + 1];
|
114
|
-
if (i === 0 && scrollTop === 0) {
|
115
|
-
return props.selectScrollTop ? item.href : "";
|
116
|
-
}
|
117
|
-
if (item.top <= scrollTop && (!next || next.top > scrollTop)) {
|
118
|
-
return item.href;
|
119
|
-
}
|
120
|
-
}
|
121
|
-
};
|
122
|
-
const getContainer = () => {
|
123
|
-
const el = element.getElement(props.container);
|
124
|
-
if (!el || types.isWindow(el)) {
|
125
|
-
containerEl.value = window;
|
126
|
-
} else {
|
127
|
-
containerEl.value = el;
|
128
|
-
}
|
129
|
-
};
|
130
|
-
core.useEventListener(containerEl, "scroll", handleScroll);
|
131
|
-
const updateMarkerStyle = () => {
|
132
|
-
vue.nextTick(() => {
|
133
|
-
if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {
|
134
|
-
markerStyle.value = {};
|
135
|
-
return;
|
136
|
-
}
|
137
|
-
const currentLinkEl = links[currentAnchor.value];
|
138
|
-
if (!currentLinkEl) {
|
139
|
-
markerStyle.value = {};
|
140
|
-
return;
|
141
|
-
}
|
142
|
-
const anchorRect = anchorRef.value.getBoundingClientRect();
|
143
|
-
const markerRect = markerRef.value.getBoundingClientRect();
|
144
|
-
const linkRect = currentLinkEl.getBoundingClientRect();
|
145
|
-
if (props.direction === "horizontal") {
|
146
|
-
const left = linkRect.left - anchorRect.left;
|
147
|
-
markerStyle.value = {
|
148
|
-
left: `${left}px`,
|
149
|
-
width: `${linkRect.width}px`,
|
150
|
-
opacity: 1
|
151
|
-
};
|
152
|
-
} else {
|
153
|
-
const top = linkRect.top - anchorRect.top + (linkRect.height - markerRect.height) / 2;
|
154
|
-
markerStyle.value = {
|
155
|
-
top: `${top}px`,
|
156
|
-
opacity: 1
|
157
|
-
};
|
158
|
-
}
|
159
|
-
});
|
160
|
-
};
|
161
|
-
vue.watch(currentAnchor, updateMarkerStyle);
|
162
|
-
vue.watch(() => {
|
163
|
-
var _a;
|
164
|
-
return (_a = slots.default) == null ? void 0 : _a.call(slots);
|
165
|
-
}, updateMarkerStyle);
|
166
|
-
vue.onMounted(() => {
|
167
|
-
getContainer();
|
168
|
-
const hash = decodeURIComponent(window.location.hash);
|
169
|
-
const target = element.getElement(hash);
|
170
|
-
if (target) {
|
171
|
-
scrollTo(hash);
|
172
|
-
} else {
|
173
|
-
handleScroll();
|
174
|
-
}
|
175
|
-
});
|
176
|
-
vue.watch(() => props.container, () => {
|
177
|
-
getContainer();
|
178
|
-
});
|
179
|
-
vue.provide(constants.anchorKey, {
|
180
|
-
ns,
|
181
|
-
direction: props.direction,
|
182
|
-
currentAnchor,
|
183
|
-
addLink,
|
184
|
-
removeLink,
|
185
|
-
handleClick
|
186
|
-
});
|
187
|
-
expose({
|
188
|
-
scrollTo
|
189
|
-
});
|
190
|
-
return (_ctx, _cache) => {
|
191
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
192
|
-
ref_key: "anchorRef",
|
193
|
-
ref: anchorRef,
|
194
|
-
class: vue.normalizeClass(vue.unref(cls))
|
195
|
-
}, [
|
196
|
-
_ctx.marker ? (vue.openBlock(), vue.createElementBlock("div", {
|
197
|
-
key: 0,
|
198
|
-
ref_key: "markerRef",
|
199
|
-
ref: markerRef,
|
200
|
-
class: vue.normalizeClass(vue.unref(ns).e("marker")),
|
201
|
-
style: vue.normalizeStyle(markerStyle.value)
|
202
|
-
}, null, 6)) : vue.createCommentVNode("v-if", true),
|
203
|
-
vue.createElementVNode("div", {
|
204
|
-
class: vue.normalizeClass(vue.unref(ns).e("list"))
|
205
|
-
}, [
|
206
|
-
vue.renderSlot(_ctx.$slots, "default")
|
207
|
-
], 2)
|
208
|
-
], 2);
|
209
|
-
};
|
210
|
-
}
|
211
|
-
});
|
212
|
-
var Anchor = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "anchor.vue"]]);
|
42
|
+
const anchorEmits = {
|
43
|
+
change: (href) => shared.isString(href),
|
44
|
+
click: (e, href) => e instanceof MouseEvent && (shared.isString(href) || types.isUndefined(href))
|
45
|
+
};
|
213
46
|
|
214
|
-
exports
|
47
|
+
exports.anchorEmits = anchorEmits;
|
48
|
+
exports.anchorProps = anchorProps;
|
215
49
|
//# sourceMappingURL=anchor2.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"anchor2.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\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n if (clearAnimate) clearAnimate()\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 }, 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"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"anchor2.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":";;;;;;;;AAMY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,sBAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,eAAe,EAAE,OAAO;AAC1B,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,MAAM,EAAE,CAAC,IAAI,KAAKC,eAAQ,CAAC,IAAI,CAAC;AAClC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,YAAY,UAAU,KAAKA,eAAQ,CAAC,IAAI,CAAC,IAAIC,iBAAW,CAAC,IAAI,CAAC,CAAC;AACtF;;;;;"}
|
@@ -7,10 +7,12 @@ declare function __VLS_template(): {
|
|
7
7
|
append?(_: {}): any;
|
8
8
|
prefix?(_: {}): any;
|
9
9
|
suffix?(_: {}): any;
|
10
|
+
header?(_: {}): any;
|
10
11
|
loading?(_: {}): any;
|
11
12
|
default?(_: {
|
12
13
|
item: Record<string, any>;
|
13
14
|
}): any;
|
15
|
+
footer?(_: {}): any;
|
14
16
|
};
|
15
17
|
declare const __VLS_component: import("vue").DefineComponent<{
|
16
18
|
readonly valueKey: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "value", boolean>;
|
@@ -266,6 +266,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
266
266
|
}),
|
267
267
|
role: "region"
|
268
268
|
}, [
|
269
|
+
_ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
|
270
|
+
key: 0,
|
271
|
+
class: vue.normalizeClass(vue.unref(ns).be("suggestion", "header")),
|
272
|
+
onClick: vue.withModifiers(() => {
|
273
|
+
}, ["stop"])
|
274
|
+
}, [
|
275
|
+
vue.renderSlot(_ctx.$slots, "header")
|
276
|
+
], 10, ["onClick"])) : vue.createCommentVNode("v-if", true),
|
269
277
|
vue.createVNode(vue.unref(index$3.ElScrollbar), {
|
270
278
|
id: vue.unref(listboxId),
|
271
279
|
tag: "ul",
|
@@ -301,7 +309,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
301
309
|
}), 128))
|
302
310
|
]),
|
303
311
|
_: 3
|
304
|
-
}, 8, ["id", "wrap-class", "view-class"])
|
312
|
+
}, 8, ["id", "wrap-class", "view-class"]),
|
313
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
|
314
|
+
key: 1,
|
315
|
+
class: vue.normalizeClass(vue.unref(ns).be("suggestion", "footer")),
|
316
|
+
onClick: vue.withModifiers(() => {
|
317
|
+
}, ["stop"])
|
318
|
+
}, [
|
319
|
+
vue.renderSlot(_ctx.$slots, "footer")
|
320
|
+
], 10, ["onClick"])) : vue.createCommentVNode("v-if", true)
|
305
321
|
], 6)
|
306
322
|
]),
|
307
323
|
default: vue.withCtx(() => [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce, pick } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputProps } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\n\nimport type { AutocompleteData } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nconst stopHandle = onClickOutside(listboxRef, () => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n suggestionVisible.value && close()\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["computed","pick","inputProps","useRawAttrs","useFormDisabled","useNamespace","ref","useId","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onBeforeUnmount","onMounted","_openBlock","_createBlock","_unref","ElTooltip"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"autocomplete2.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce, pick } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputProps } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\n\nimport type { AutocompleteData } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nconst stopHandle = onClickOutside(listboxRef, () => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n suggestionVisible.value && close()\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["computed","pick","inputProps","useRawAttrs","useFormDisabled","useNamespace","ref","useId","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onBeforeUnmount","onMounted","_openBlock","_createBlock","_unref","ElTooltip"],"mappings":"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"}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var avatar$1 = require('./src/
|
6
|
-
var avatar = require('./src/
|
5
|
+
var avatar$1 = require('./src/avatar.js');
|
6
|
+
var avatar = require('./src/avatar2.js');
|
7
7
|
var install = require('../../utils/vue/install.js');
|
8
8
|
|
9
9
|
const ElAvatar = install.withInstall(avatar$1["default"]);
|
@@ -2,41 +2,74 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var
|
6
|
-
var
|
5
|
+
var vue = require('vue');
|
6
|
+
var index$1 = require('../../icon/index.js');
|
7
|
+
var avatar = require('./avatar2.js');
|
8
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
9
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
10
|
+
var shared = require('@vue/shared');
|
7
11
|
var types = require('../../../utils/types.js');
|
8
|
-
var
|
12
|
+
var style = require('../../../utils/dom/style.js');
|
9
13
|
|
10
|
-
const
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
14
|
+
const __default__ = vue.defineComponent({
|
15
|
+
name: "ElAvatar"
|
16
|
+
});
|
17
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
18
|
+
...__default__,
|
19
|
+
props: avatar.avatarProps,
|
20
|
+
emits: avatar.avatarEmits,
|
21
|
+
setup(__props, { emit }) {
|
22
|
+
const props = __props;
|
23
|
+
const ns = index.useNamespace("avatar");
|
24
|
+
const hasLoadError = vue.ref(false);
|
25
|
+
const avatarClass = vue.computed(() => {
|
26
|
+
const { size, icon, shape } = props;
|
27
|
+
const classList = [ns.b()];
|
28
|
+
if (shared.isString(size))
|
29
|
+
classList.push(ns.m(size));
|
30
|
+
if (icon)
|
31
|
+
classList.push(ns.m("icon"));
|
32
|
+
if (shape)
|
33
|
+
classList.push(ns.m(shape));
|
34
|
+
return classList;
|
35
|
+
});
|
36
|
+
const sizeStyle = vue.computed(() => {
|
37
|
+
const { size } = props;
|
38
|
+
return types.isNumber(size) ? ns.cssVarBlock({
|
39
|
+
size: style.addUnit(size) || ""
|
40
|
+
}) : void 0;
|
41
|
+
});
|
42
|
+
const fitStyle = vue.computed(() => ({
|
43
|
+
objectFit: props.fit
|
44
|
+
}));
|
45
|
+
vue.watch(() => props.src, () => hasLoadError.value = false);
|
46
|
+
function handleError(e) {
|
47
|
+
hasLoadError.value = true;
|
48
|
+
emit("error", e);
|
49
|
+
}
|
50
|
+
return (_ctx, _cache) => {
|
51
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
52
|
+
class: vue.normalizeClass(vue.unref(avatarClass)),
|
53
|
+
style: vue.normalizeStyle(vue.unref(sizeStyle))
|
54
|
+
}, [
|
55
|
+
(_ctx.src || _ctx.srcSet) && !hasLoadError.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
56
|
+
key: 0,
|
57
|
+
src: _ctx.src,
|
58
|
+
alt: _ctx.alt,
|
59
|
+
srcset: _ctx.srcSet,
|
60
|
+
style: vue.normalizeStyle(vue.unref(fitStyle)),
|
61
|
+
onError: handleError
|
62
|
+
}, null, 44, ["src", "alt", "srcset"])) : _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 1 }, {
|
63
|
+
default: vue.withCtx(() => [
|
64
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
|
65
|
+
]),
|
66
|
+
_: 1
|
67
|
+
})) : vue.renderSlot(_ctx.$slots, "default", { key: 2 })
|
68
|
+
], 6);
|
69
|
+
};
|
34
70
|
}
|
35
71
|
});
|
36
|
-
|
37
|
-
error: (evt) => evt instanceof Event
|
38
|
-
};
|
72
|
+
var Avatar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "avatar.vue"]]);
|
39
73
|
|
40
|
-
exports
|
41
|
-
exports.avatarProps = avatarProps;
|
74
|
+
exports["default"] = Avatar;
|
42
75
|
//# sourceMappingURL=avatar.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"avatar.js","sources":["../../../../../../packages/components/avatar/src/avatar.
|
1
|
+
{"version":3,"file":"avatar.js","sources":["../../../../../../packages/components/avatar/src/avatar.vue"],"sourcesContent":["<template>\n <span :class=\"avatarClass\" :style=\"sizeStyle\">\n <img\n v-if=\"(src || srcSet) && !hasLoadError\"\n :src=\"src\"\n :alt=\"alt\"\n :srcset=\"srcSet\"\n :style=\"fitStyle\"\n @error=\"handleError\"\n />\n <el-icon v-else-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n <slot v-else />\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addUnit, isNumber, isString } from '@element-plus/utils'\nimport { avatarEmits, avatarProps } from './avatar'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElAvatar',\n})\n\nconst props = defineProps(avatarProps)\nconst emit = defineEmits(avatarEmits)\n\nconst ns = useNamespace('avatar')\n\nconst hasLoadError = ref(false)\n\nconst avatarClass = computed(() => {\n const { size, icon, shape } = props\n const classList = [ns.b()]\n if (isString(size)) classList.push(ns.m(size))\n if (icon) classList.push(ns.m('icon'))\n if (shape) classList.push(ns.m(shape))\n return classList\n})\n\nconst sizeStyle = computed(() => {\n const { size } = props\n return isNumber(size)\n ? (ns.cssVarBlock({\n size: addUnit(size) || '',\n }) as CSSProperties)\n : undefined\n})\n\nconst fitStyle = computed<CSSProperties>(() => ({\n objectFit: props.fit,\n}))\n\n// need reset hasLoadError to false if src changed\nwatch(\n () => props.src,\n () => (hasLoadError.value = false)\n)\n\nfunction handleError(e: Event) {\n hasLoadError.value = true\n emit('error', e)\n}\n</script>\n"],"names":["useNamespace","ref","computed","isString","isNumber","addUnit","watch"],"mappings":";;;;;;;;;;;;;uCA0Bc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAKA,mBAAa,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,YAAA,GAAeC,QAAI,KAAK,CAAA,CAAA;AAE9B,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,MAAM,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAU,GAAA,KAAA,CAAA;AAC9B,MAAA,MAAM,SAAY,GAAA,CAAC,EAAG,CAAA,CAAA,EAAG,CAAA,CAAA;AACzB,MAAI,IAAAC,eAAA,CAAS,IAAI,CAAG;AACpB,QAAA,SAAoB,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA;AAC5B,MAAA,IAAI;AACJ,QAAO,SAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,MACR,IAAA,KAAA;AAED,QAAM,SAAA,CAAA,IAAY,WAAe,CAAA,CAAA,CAAA;AAC/B,MAAM,OAAA,SAAW,CAAA;AACjB,KAAA,CAAA,CAAA;AACoB,IACd,MAAA,SAAc,GAAAD,YAAS,CAAA,MAAA;AAAA,MACzB,MACA,EAAA,IAAA,EAAA,GAAA,KAAA,CAAA;AAAA,MACL,OAAAE,cAAA,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAED,QAAM,IAAA,EAAAC,aAAW,UAA+B,EAAA;AAAA,iBACnC,CAAM;AAAA,KACjB,CAAA,CAAA;AAGF,IAAA,MAAA,QAAA,GAAAH,YAAA,CAAA,OAAA;AAAA,MACE,SAAY,EAAA,KAAA,CAAA,GAAA;AAAA,KACZ,CAAA,CAAA,CAAA;AAA4B,IAC9BI,SAAA,CAAA,MAAA,KAAA,CAAA,GAAA,EAAA,MAAA,YAAA,CAAA,KAAA,GAAA,KAAA,CAAA,CAAA;AAEA,IAAA,SAAS,YAAY,CAAU,EAAA;AAC7B,MAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AACrB,MAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAAA,KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|