@element-plus/nightly 0.0.20251105 → 0.0.20251107
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/dist/index.full.js +69 -8
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +16 -16
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +69 -8
- 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/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +108 -41
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +41 -108
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/anchor/index.mjs +1 -1
- package/es/components/anchor/src/anchor-link.mjs +81 -5
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs +5 -81
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs +1 -0
- 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 +31 -65
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs +65 -31
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +2 -2
- 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/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel.mjs +212 -61
- package/es/components/carousel/src/carousel.mjs.map +1 -1
- package/es/components/carousel/src/carousel2.mjs +61 -212
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/checkbox/index.mjs +2 -2
- package/es/components/checkbox/src/checkbox-button.mjs +1 -1
- package/es/components/checkbox/src/checkbox-group2.mjs +1 -1
- package/es/components/checkbox/src/checkbox.mjs +108 -59
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox2.mjs +59 -108
- package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/components/collapse/index.mjs +4 -4
- package/es/components/collapse/src/collapse-item.mjs +96 -18
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +18 -96
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/collapse/src/collapse.mjs +23 -28
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs +28 -23
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/countdown/index.mjs +2 -2
- package/es/components/countdown/src/countdown.mjs +79 -21
- package/es/components/countdown/src/countdown.mjs.map +1 -1
- package/es/components/countdown/src/countdown2.mjs +21 -79
- package/es/components/countdown/src/countdown2.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +1 -1
- package/es/components/descriptions/src/descriptions-row.mjs +6 -63
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row2.mjs +63 -6
- package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/divider/index.mjs +2 -2
- package/es/components/divider/src/divider.mjs +16 -34
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/divider/src/divider2.mjs +34 -16
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/dropdown/index.mjs +2 -2
- package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
- package/es/components/dropdown/src/dropdown-item.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +257 -111
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +111 -257
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/src/form.mjs +54 -161
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form2.mjs +161 -54
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +8 -35
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs +35 -8
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/index.mjs +24 -24
- package/es/components/input/src/input2.mjs +2 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +1 -2
- package/es/components/menu/src/menu.mjs.map +1 -1
- 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 +58 -7
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper2.mjs +7 -58
- package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/popover/index.mjs +2 -2
- package/es/components/popover/src/popover.mjs +66 -112
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover2.mjs +112 -66
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +207 -53
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +53 -207
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/result/index.mjs +2 -2
- package/es/components/result/src/result.mjs +30 -62
- package/es/components/result/src/result.mjs.map +1 -1
- package/es/components/result/src/result2.mjs +62 -30
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/segmented/index.mjs +2 -2
- package/es/components/segmented/src/segmented.mjs +42 -170
- package/es/components/segmented/src/segmented.mjs.map +1 -1
- package/es/components/segmented/src/segmented2.mjs +170 -42
- package/es/components/segmented/src/segmented2.mjs.map +1 -1
- package/es/components/select/index.mjs +2 -2
- package/es/components/select/src/select.mjs +149 -522
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +522 -149
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +2 -1
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/skeleton/index.mjs +2 -2
- package/es/components/skeleton/src/skeleton.mjs +18 -48
- package/es/components/skeleton/src/skeleton.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs +48 -18
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/slider/index.mjs +2 -2
- package/es/components/slider/src/button.mjs +91 -19
- package/es/components/slider/src/button.mjs.map +1 -1
- package/es/components/slider/src/button2.mjs +19 -91
- package/es/components/slider/src/button2.mjs.map +1 -1
- package/es/components/slider/src/slider.mjs +237 -88
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +88 -237
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/steps/index.mjs +2 -2
- package/es/components/steps/src/item.mjs +198 -19
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item2.mjs +19 -198
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/tabs/index.mjs +1 -1
- package/es/components/tabs/src/tab-bar.mjs +11 -87
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs +87 -11
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.mjs +1 -1
- package/es/components/teleport/index.mjs +2 -2
- package/es/components/teleport/src/teleport.mjs +18 -8
- package/es/components/teleport/src/teleport.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs +8 -18
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/text/index.mjs +2 -2
- package/es/components/text/src/text.mjs +67 -21
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text2.mjs +21 -67
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/tooltip/src/content.mjs +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 +2 -2
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -11
- package/es/components/virtual-list/src/builders/build-grid.mjs +7 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/hooks/use-grid-touch.d.ts +8 -0
- package/es/components/virtual-list/src/hooks/use-grid-touch.mjs +53 -0
- package/es/components/virtual-list/src/hooks/use-grid-touch.mjs.map +1 -0
- package/es/components/virtual-list/src/types.d.ts +15 -0
- package/es/components/watermark/src/useClips.mjs +8 -1
- package/es/components/watermark/src/useClips.mjs.map +1 -1
- package/es/index.mjs +24 -24
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +107 -42
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +42 -107
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/anchor/index.js +1 -1
- package/lib/components/anchor/src/anchor-link.js +81 -5
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js +5 -81
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js +1 -0
- 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 +32 -65
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js +65 -32
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +2 -2
- 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/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel.js +212 -62
- package/lib/components/carousel/src/carousel.js.map +1 -1
- package/lib/components/carousel/src/carousel2.js +62 -212
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/checkbox/index.js +2 -2
- package/lib/components/checkbox/src/checkbox-button.js +1 -1
- package/lib/components/checkbox/src/checkbox-group2.js +1 -1
- package/lib/components/checkbox/src/checkbox.js +108 -60
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/checkbox/src/checkbox2.js +60 -108
- package/lib/components/checkbox/src/checkbox2.js.map +1 -1
- package/lib/components/collapse/index.js +4 -4
- package/lib/components/collapse/src/collapse-item.js +96 -18
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +18 -96
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/collapse/src/collapse.js +25 -28
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js +28 -25
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/countdown/index.js +2 -2
- package/lib/components/countdown/src/countdown.js +79 -22
- package/lib/components/countdown/src/countdown.js.map +1 -1
- package/lib/components/countdown/src/countdown2.js +22 -79
- package/lib/components/countdown/src/countdown2.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +1 -1
- package/lib/components/descriptions/src/descriptions-row.js +6 -63
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row2.js +63 -6
- package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/divider/index.js +2 -2
- package/lib/components/divider/src/divider.js +16 -34
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/divider/src/divider2.js +34 -16
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/dropdown/index.js +2 -2
- package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
- package/lib/components/dropdown/src/dropdown-item.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +257 -116
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +116 -257
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/src/form.js +55 -160
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form2.js +160 -55
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +8 -35
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon2.js +35 -8
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/index.js +24 -24
- package/lib/components/input/src/input2.js +2 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/menu/src/menu.js +1 -2
- package/lib/components/menu/src/menu.js.map +1 -1
- 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 +58 -7
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/jumper2.js +7 -58
- package/lib/components/pagination/src/components/jumper2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/popover/index.js +2 -2
- package/lib/components/popover/src/popover.js +67 -112
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover2.js +112 -67
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +207 -53
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress2.js +53 -207
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/result/index.js +2 -2
- package/lib/components/result/src/result.js +32 -62
- package/lib/components/result/src/result.js.map +1 -1
- package/lib/components/result/src/result2.js +62 -32
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/segmented/index.js +2 -2
- package/lib/components/segmented/src/segmented.js +44 -170
- package/lib/components/segmented/src/segmented.js.map +1 -1
- package/lib/components/segmented/src/segmented2.js +170 -44
- package/lib/components/segmented/src/segmented2.js.map +1 -1
- package/lib/components/select/index.js +2 -2
- package/lib/components/select/src/select.js +149 -521
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select2.js +521 -149
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select/src/useSelect.js +2 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/skeleton/index.js +2 -2
- package/lib/components/skeleton/src/skeleton.js +18 -48
- package/lib/components/skeleton/src/skeleton.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js +48 -18
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/slider/index.js +2 -2
- package/lib/components/slider/src/button.js +91 -20
- package/lib/components/slider/src/button.js.map +1 -1
- package/lib/components/slider/src/button2.js +20 -91
- package/lib/components/slider/src/button2.js.map +1 -1
- package/lib/components/slider/src/slider.js +237 -89
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider2.js +89 -237
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/steps/index.js +2 -2
- package/lib/components/steps/src/item.js +198 -19
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item2.js +19 -198
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/tabs/index.js +1 -1
- package/lib/components/tabs/src/tab-bar.js +11 -87
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js +87 -11
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.js +1 -1
- package/lib/components/teleport/index.js +2 -2
- package/lib/components/teleport/src/teleport.js +18 -8
- package/lib/components/teleport/src/teleport.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js +8 -18
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/text/index.js +2 -2
- package/lib/components/text/src/text.js +67 -21
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text2.js +21 -67
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/tooltip/src/content.js +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 +2 -2
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -11
- package/lib/components/virtual-list/src/builders/build-grid.js +7 -1
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/hooks/use-grid-touch.d.ts +8 -0
- package/lib/components/virtual-list/src/hooks/use-grid-touch.js +57 -0
- package/lib/components/virtual-list/src/hooks/use-grid-touch.js.map +1 -0
- package/lib/components/virtual-list/src/types.d.ts +15 -0
- package/lib/components/watermark/src/useClips.js +8 -1
- package/lib/components/watermark/src/useClips.js.map +1 -1
- package/lib/index.js +24 -24
- 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/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { scrollbarEmits } from '@element-plus/components/scrollbar'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '@element-plus/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { defaultProps } from '@element-plus/components/select-v2/src/useProps'\n\nimport type { EmitFn } from '@element-plus/utils'\nimport type {\n CSSProperties,\n ExtractPropTypes,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type Select from './select.vue'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\nimport type { OptionValue } from './type'\nimport type { Props } from '@element-plus/components/select-v2/src/useProps'\n\nexport const selectProps = buildProps({\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<OptionValue | OptionValue[] | null>([\n Array,\n String,\n Number,\n Boolean,\n Object,\n ]),\n default: undefined,\n },\n /**\n * @description the autocomplete attribute of select input\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description whether Select is disabled\n */\n disabled: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description custom style for Select's dropdown\n */\n popperStyle: {\n type: definePropType<string | CSSProperties>([String, Object]),\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}) as Partial<Options>,\n },\n /**\n * @description whether options are loaded from server\n */\n remote: Boolean,\n /**\n * @description debounce delay during remote search, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n */\n noDataText: String,\n /**\n * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n */\n remoteMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description custom filter method, the first parameter is the current input value. To use this, `filterable` must be true\n */\n filterMethod: {\n type: definePropType<(query: string) => void>(Function),\n },\n /**\n * @description whether multiple-select is activated\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description placeholder, default is 'Select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description select first matching option on enter key. Use with `filterable` or `remote`\n */\n defaultFirstOption: Boolean,\n /**\n * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether select dropdown is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description custom suffix icon component\n */\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n /**\n * @description tag type\n */\n\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description which element the selection dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n options: {\n type: definePropType<Record<string, any>[]>(Array),\n },\n props: {\n type: definePropType<SelectOptionProps>(Object),\n default: () => defaultProps,\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n})\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const selectEmits = {\n [UPDATE_MODEL_EVENT]: (val: SelectProps['modelValue']) => true,\n [CHANGE_EVENT]: (val: SelectProps['modelValue']) => true,\n 'popup-scroll': scrollbarEmits.scroll,\n 'remove-tag': (val: unknown) => true,\n 'visible-change': (visible: boolean) => true,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\nexport type SelectPropsPublic = __ExtractPublicPropTypes<typeof selectProps>\nexport type SelectEmits = EmitFn<typeof selectEmits>\nexport type SelectInstance = InstanceType<typeof Select> & unknown\nexport type SelectOptionProps = Props\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.selected\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown=\"handleKeydown\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"getOption(modelValue!).index\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot>\n <template v-for=\"(option, index) in options\" :key=\"index\">\n <el-option-group\n v-if=\"getOptions(option)?.length\"\n :label=\"getLabel(option)\"\n :disabled=\"getDisabled(option)\"\n >\n <el-option\n v-for=\"item in getOptions(option)\"\n :key=\"getValue(item)\"\n v-bind=\"getOptionProps(item)\"\n />\n </el-option-group>\n <el-option v-else v-bind=\"getOptionProps(option)\" />\n </template>\n </slot>\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { flattedChildren, isArray, isObject } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport { useProps } from '@element-plus/components/select-v2/src/useProps'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { selectProps } from './select'\nimport ElOptionGroup from './option-group.vue'\n\nimport type { VNode } from 'vue'\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElOptionGroup,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n 'popup-scroll',\n ],\n\n setup(props, { emit, slots }) {\n const instance = getCurrentInstance()!\n const originalWarnHandler = instance.appContext.config.warnHandler\n instance.appContext.config.warnHandler = (...args) => {\n // Overrides warnings about slots not being executable outside of a render function.\n // We call slot below just to simulate data when persist is false, this warning message should be ignored\n if (\n !args[0] ||\n args[0].includes(\n 'Slot \"default\" invoked outside of the render function'\n )\n ) {\n return\n }\n // eslint-disable-next-line no-console\n console.warn(...args)\n }\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const { getLabel, getValue, getOptions, getDisabled } = useProps(props)\n\n const getOptionProps = (option: Record<string, any>) => ({\n label: getLabel(option),\n value: getValue(option),\n disabled: getDisabled(option),\n })\n\n const flatTreeSelectData = (data: any[]) => {\n return data.reduce((acc, item) => {\n acc.push(item)\n if (item.children && item.children.length > 0) {\n acc.push(...flatTreeSelectData(item.children))\n }\n return acc\n }, [])\n }\n\n const manuallyRenderSlots = (vnodes: VNode[] | undefined) => {\n // After option rendering is completed, the useSelect internal state can collect the value of each option.\n // If the persistent value is false, option will not be rendered by default, so in this case,\n // manually render and load option data here.\n const children = flattedChildren(vnodes || []) as VNode[]\n children.forEach((item) => {\n if (\n isObject(item) &&\n // @ts-expect-error\n (item.type.name === 'ElOption' || item.type.name === 'ElTree')\n ) {\n // @ts-expect-error\n const _name = item.type.name\n if (_name === 'ElTree') {\n // tree-select component is a special case.\n // So we need to handle it separately.\n const treeData = item.props?.data || []\n const flatData = flatTreeSelectData(treeData)\n flatData.forEach((treeItem: any) => {\n treeItem.currentLabel =\n treeItem.label ||\n (isObject(treeItem.value) ? '' : treeItem.value)\n API.onOptionCreate(treeItem)\n })\n } else if (_name === 'ElOption') {\n const obj = { ...item.props } as any\n obj.currentLabel =\n obj.label || (isObject(obj.value) ? '' : obj.value)\n API.onOptionCreate(obj)\n }\n }\n })\n }\n watch(\n () => [slots.default?.(), modelValue.value],\n () => {\n if (props.persistent || API.states.options.size > 0) {\n // If persistent is true, we don't need to manually render slots.\n return\n }\n manuallyRenderSlots(slots.default?.())\n },\n {\n immediate: true,\n }\n )\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) satisfies SelectContext\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n onBeforeUnmount(() => {\n // https://github.com/element-plus/element-plus/issues/21279\n instance.appContext.config.warnHandler = originalWarnHandler\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n getLabel,\n getValue,\n getOptions,\n getDisabled,\n getOptionProps,\n }\n },\n})\n</script>\n"],"names":["ElOption","ElOptionGroup","_resolveComponent","_createVNode","_withCtx","_createElementVNode","_withModifiers","_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createCommentVNode","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString","_createBlock","_vModelText","_resolveDynamicComponent","_withDirectives","_mergeProps","_normalizeProps","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmWA,MAAM,cAAiB,GAAA,UAAA,CAAA;AACvB,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,aAAe,EAAA,cAAA;AAAA,EACf,UAAY,EAAA;AAAA,IACV,YAAA;AAAA,cACAA,MAAA;AAAA,IACA,SAAA;AAAA,mBACAC,WAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,GACF;AAAA,EACA,UAAA,EAAY,EAAE,YAAa,EAAA;AAAA,EAC3B,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACL,kBAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF;AAAA,EAEA,KAAM,CAAA,KAAA,EAAO,EAAE,IAAA,EAAM,OAAS,EAAA;AAC5B,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAM,MAAA,mBAAA,GAAsB,QAAS,CAAA,UAAA,CAAW,MAAO,CAAA,WAAA,CAAA;AACvD,IAAA,QAAA,CAAS,UAAW,CAAA,MAAA,CAAO,WAAc,GAAA,CAAA,GAAI,IAAS,KAAA;AAGpD,MAAA,IACE,CAAC,IAAK,CAAA,CAAC,CACP,IAAA,IAAA,CAAK,CAAC,CAAE,CAAA,QAAA,CAAA,uDAAA,CAAA,EAAA;AAAA,QACN,OAAA;AAAA,OAEF;AACA,MAAA,OAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAQ,MAAA,aAAY,QAAA,CAAA,MAAA;AAAA,MACtB,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,GAAA,KAAA,CAAA;AACA,MAAM,MAAA,QAAA,GAAa,WAAe,EAAA,GAAA,KAAA,CAAA,CAAA;AAChC,MAAA,IAAA,OAAQ,CAAA,aAA2B,CAAA,EAAA;AACnC,QAAM,OAAA,QAAW,GAAW,aAAK,GAAA,QAAA,CAAA;AAGjC,OAAI;AACF,MAAA,OAAA,mBAAkC,GAAA,aAAA,CAAA;AAAA,KACpC,CAAA,CAAA;AAEA,IAAA,MAAA,iBAA6B,CAAA;AAAA,MAC9B,GAAA,MAAA,CAAA,KAAA,CAAA;AAED,MAAA;AAAwB,KACtB,CAAA,CAAA;AAAe,IACf,MAAA,GAAA,GAAA,SAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA;AAAA,IACF,MAAC,EAAA,aAAA,EAAA,UAAA,EAAA,GAAA,iBAAA,EAAA,CAAA;AAED,IAAM,MAAA,EAAA,QAAgB,EAAA,QAAA,EAAA,UAAY,EAAA,WAAA,EAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAClC,IAAA,MAAM,cAAE,GAAe,CAAW,MAAA,MAAA;AAClC,MAAA,OAAkB,QAAA,CAAA,MAAA,CAAA;AAElB,MAAM,KAAA,EAAA,QAAA,CAAA,MAAkB,CAAiC;AAAA,MACvD,qBAAsB,CAAA,MAAA,CAAA;AAAA,KACtB,CAAA,CAAA;AAAsB,IACtB,MAAA,kBAAsB,GAAM,CAAA,IAAA,KAAA;AAAA,MAC9B,OAAA,IAAA,CAAA,MAAA,CAAA,CAAA,GAAA,EAAA,IAAA,KAAA;AAEA,QAAM,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACJ,QAAA,IAAA,IAAY,CAAA,QAAO,IAAC,IAAc,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AAChC,UAAA,QAAa,CAAA,GAAA,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACb,SAAA;AACE,QAAA,OAAS,GAAA,CAAA;AAAoC,OAC/C,EAAA,EAAA,CAAA,CAAA;AACA,KAAO,CAAA;AAAA,IACT,MAAI,mBAAC,GAAA,CAAA,MAAA,KAAA;AAAA,MACP,MAAA,QAAA,GAAA,eAAA,CAAA,MAAA,IAAA,EAAA,CAAA,CAAA;AAEA,MAAM,QAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAuB;AAI3B,QAAA,IAAM,EAAW,CAAA;AACjB,QAAS,IAAA,QAAA,CAAA,IAAkB,CAAA,KAAA,IAAA,CAAA,IAAA,CAAA,IAAA,KAAA,UAAA,IAAA,IAAA,CAAA,IAAA,CAAA,IAAA,KAAA,QAAA,CAAA,EAAA;AACzB,UAAA,WACW,GAAI,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAA,cAEP,KAAK,KAAA;AAGX,YAAM,MAAA,WAAa,CAAK,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAA,EAAA,CAAA;AACxB,YAAA,cAAwB,GAAA,kBAAA,CAAA,QAAA,CAAA,CAAA;AAGtB,YAAA,QAAiB,CAAA,OAAA,CAAA,CAAA,QAAY,KAAA;AAC7B,cAAM,QAAA,CAAA,6BAAsC,KAAA,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAC5C,cAAS,GAAA,CAAA,cAA2B,CAAA,QAAA,CAAA,CAAA;AAClC,aAAS,CAAA,CAAA;AAGT,WAAA,MAAA,wBAA2B,EAAA;AAAA,YAC7B,MAAC,GAAA,GAAA,EAAA,GAAA,IAAA,CAAA,KAAA,EAAA,CAAA;AAAA,YACH,GAAA,CAAA,eAAqB,GAAY,CAAA,KAAA,KAAA,QAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,GAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AAC/B,YAAA,GAAA,CAAA,cAAiB,CAAA,GAAK,CAAM,CAAA;AAC5B,WAAI;AAEJ,SAAA;AAAsB,OACxB,CAAA,CAAA;AAAA,KACF,CAAA;AAAA,IAAA,KACD,CAAA,MAAA;AAAA,MACH,IAAA,EAAA,CAAA;AACA,MAAA,OAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,EAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,QACS;AAAmC,MAC1C,IAAM,EAAA,CAAA;AACJ,MAAA,IAAA,gBAAwB,IAAA,GAAA,CAAA,MAAW,CAAA,OAAA,CAAA,UAAkB;AAEnD,QAAA,OAAA;AAAA,OACF;AACA,MAAoB,mBAAA,CAAA,CAAA,EAAA,GAAA,aAAiB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KACvC,EAAA;AAAA,MACA,SAAA,EAAA,IAAA;AAAA,KAAA,CAAA,CAAA;AACa,IACb,OAAA,CAAA,SAAA,EAAA,QAAA,CAAA;AAAA,MACF,KAAA,EAAA,MAAA;AAEA,MAAA,MAAA,EAAA,GAAA,CAAA,MAAA;AAAA,MACE,SAAA,EAAA,GAAA,CAAA,SAAA;AAAA,MACA,YAAS,EAAA,GAAA,CAAA,YAAA;AAAA,MAAA,WACA,EAAA,GAAA,CAAA,WAAA;AAAA,MAAA,kBACK,EAAA,GAAA,CAAA,kBAAA;AAAA,MAAA,cACG,EAAA,GAAA,CAAA,cAAA;AAAA,MAAA,iBACG,GAAA,CAAA,eAAA;AAAA,KAAA,CAAA,CAAA,CAClB;AAAiB,IAAA,8BACO,CAAA,MAAA;AAAA,MAAA,mBACJ,EAAA;AAAA,QACpB,iBAAiB,CAAI,aAAA,CAAA;AAAA,OACtB;AAAA,MACH,OAAA,GAAA,CAAA,MAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,YAAA,CAAA,CAAA;AAEA,KAAM,CAAA,CAAA;AACJ,IAAI,eAAiB,CAAA,MAAA;AACnB,MAAA,QAAA,CAAO,UAAW,CAAA,MAAA,CAAA,WAAA,GAAA,mBAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AACA,IAAA,OAAA;AAA8D,MAC/D,GAAA,GAAA;AAED,MAAA,UAAA;AAEE,MAAS,aAAA;AAAgC,MAC1C,aAAA;AAED,MAAO,UAAA;AAAA,MACL,QAAG;AAAA,MACH,QAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,KACA,CAAA;AAAA,GACA;AAAA,CACA,CAAA,CAAA;AACA,SACA,WAAA,CAAA,IAAA,EAAA,MAAA,EAAA;AAAA,EACF,MAAA,iBAAA,GAAAC,gBAAA,CAAA,QAAA,CAAA,CAAA;AAAA,EACF,MAAA,qBAAA,GAAAA,gBAAA,CAAA,YAAA,CAAA,CAAA;AACF,EAAC,MAAA,kBAAA,GAAAA,gBAAA,CAAA,SAAA,CAAA,CAAA;;;;;;;;;;;;;AAzMO,IA/TJC,WAAI,CAAA,qBAAA,EAAA;AAAA,WAEE,YAAG;AAAmC,MAC3C,OAAA,EAAA,IAAA,CAAA,mBAAA;AAA2C,MAC3C,SAAA,EAAA,IAAY,CAAA,SAAA;AAAoB,MAAA,UAAA,EAAA,IAAA,CAAA,UAAA;MA0TpB,cAAA,EAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,QAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAAA,MAvTX,cAAI,EAAA,IAAA,CAAA,WAAA;AAAA,MACH,gBAAS,EAAA,IAAA,CAAA,aAAA;AAAA,MACT,qBAAW,EAAA,IAAA,CAAA,kBAAA;AAAA,MACX,MAAY,EAAA,IAAA,CAAA,MAAA;AAAA,MACZ,IAAY,EAAA,EAAA;AAAoC,MAChD,OAAc,EAAA,OAAA;AAAA,MACd,UAAgB,EAAA,CAAA,EAAA,IAAA,CAAA,QAAA,CAAA,SAAA,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,MAChB,yBAAqB,EAAA,KAAA;AAAA,MACrB,kBAAQ,EAAA,KAAA;AAAA,MACT,UAAA,EAAA,IAAA,CAAA,UAAA;AAAA,MACA,WAAQ,EAAA,IAAA,CAAA,QAAA;AAAA,MACP,YAAU,EAAA,IAAc,CAAA,SAAA;AAAe,MACvC,MAAyB,EAAA,IAAA,CAAA,MAAA;AAAA,MACzB,YAAkB,EAAA,IAAA,CAAA,eAAA;AAAA,MAClB,MAAY,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,MAAA,CAAA,YAAA,GAAA,KAAA;AAAA,KAAA,EACD;AAAA,MACX,OAAY,EAAAC,OAAA,CAAA,MAAA;AAAA,QACJ,IAAA,EAAA,CAAA;AAAA,QACK,OAAA;AAAA,UACbC,kBAAM,CAAA,KAAA,EAAA;AAAmB,YAAA,GAAA,EAAA,YAAA;AAEf,YAAA,qBA2NH,CAAA;AAAA,cAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA,CAAA;AAAA,cAzNA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,SAAA,EAAA,IAAA,CAAA,SAAA,CAAA;AAAA,cACE,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,IAAA,CAAA,MAAA,CAAA,aAAA,CAAA;AAAA,2BAA0B,CAAA,EAAA,CAAA,YAAA,EAAA,IAAA,CAAA,UAAA,CAAA;AAAA,cAAyB,IAAA,CAAA,QAAW,CAAA,EAAA,CAAA,UAAqB,EAAA,IAAA,CAAA,cAAA,CAAA;AAAA,aAAwB,CAAA;AAAmC,YAAe,OAAA,EAAAC,aAAW,CAAA,IAAA,CAAA,UAAyB,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WAAe,EAAA;AAAsC,YAAA,IAAA,CAAA,MAAA,CAAA,MAAA,IAAAC,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAO3P,cAAA,GAAA,EAAK;AAAoB,cAAA,GAAA,EAAA,WAAA;AAGlB,cAAA,KAAA,EAAAC,cADR,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,aAMM,EAAA;AAAA,cAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,aAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;8BAJA,CAAA,KAAA,EAAA;AAAA,cACH,GAAA,EAAA,cAAO;AAAU,cAAA,KAAA,EAAAF,cAAA,CAAA;;gBAEI,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,CAAA,QAAA,IAAA,CAAA,IAAA,CAAA,MAAA,CAAA,MAAA,IAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,CAAA;AAAA,eAAA,CAAA;;;;AAExB,gBAAA,IAAA,EAAA,IAAA,CAAA,MAAA,CAAA,QAAA;AAAA,gBA0KM,SAAA,EAAA,IAAA,CAAA,SAAA;AAAA,gBAAA,cAAA,EAAA,IAAA,CAAA,cAAA;AAAA,eAzKA,EAAA,MAAA;AAAA,iBACEF,SAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,CAAAI,QAAA,EAAA,IAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,WAAA,EAAA,CAAA,IAAA,KAAA;AAAA,kCAA4B,EAAA,EAAAL,kBAAA,CAAA,KAAA,EAAA;AAAA,oBAAsC,GAAA,EAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA;AAAA,oBAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAA4C,mBAAA,EAAA;AAAgD,oBAAAN,WAAA,CAAA,iBAAA,EAAA;;;;AAS5J,sBAAA,MAAA,EADR,IA+FO,CAAA,SAAA;AAAA,sBAAA,qBAAA,EAAA,EAAA;AA5FJ,sBAAM,KAAO,EAAAW,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA;AAAA,sBACD,OAAA,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,SAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,qBACK,EAAA;AAAA,sBA0Fb,OAAA,EAAAV,OAAA,CAAA,MAAA;AAAA,wBAxFLC,kBAAA,CAAA,MAAA,EAAA;AAAA,0BAyBM,KAAA,EAAAI,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,0BAxBWC,UAAA,CAAA,IAAA,CAAA,MAAR,EAAI,OAAA,EAAA;AADb,4BAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,4BAyBM,KAAA,EAAA,IAAA,CAAA,YAAA;AAAA,4BAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,2BAvBH,EAAK;AAAgB,4BACrBK,eAAO,CAAAC,eAAS,CAAC,IAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAAA,2BAAA,CAAA;;wBAElB;AAmBS,sBAAA,CAAA,EAAA,CAlBN;AAAmC,qBAAA,EAAA,IAC7B,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,mBAAA,EAAA,CAAA,CAAA,CAAA;AACA,iBAAA,CAAA,EAAA,GAAA,CAAA;AACE,gBACT,IAAA,CAAA,YAAA,IAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,GAAA,IAAA,CAAA,eAAA,IAAAT,SAAA,EAAA,EAAAU,WAAA,CAAA,qBAAA,EAAA;AAAA,kBACC,GAAA,EAAA,CAAA;AAAe,kBAAA,GAAA,EAAA,eACV;AAAwB,kBAAA,QAAA,EAAA,IAAA,CAAA,mBAAA,IAAA,CAAA,IAAA,CAAA,mBAAA;kDAWvB,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAAA,kBATP,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,kBASO,SAAA,EAAA,QAAA;AAAA,kBAAA,cAAA,EAAA,IAAA,CAAA,WAAA;AAAA,kBATA,cAAA,EAAA,IAAA,CAAK,WAAE;AAAU,kBAAA,UAAA,EAAA,IAAA,CAAA,UAAA;;kCAQf,CAAA,MAAA;AAAA,oBAAAZ,wBALQ,EAAA;AAAA,sBAAA,GAAA,EAAA,iBACA;AAAA,sBAAA,KAAA,EAAAI,cACA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,qBAAA,EAAA;AAGR,sBAAAN,WAAA,CAAA,iBAAA,EAAA;AADF,wBAAA,QAAA,EAAA,KAAA;AAAiB,wBAAA,IAAA,EAAA,IAAA,CAAA,eAAA;AAAA,wBAAA,IAAA,EAAA,IAAA,CAAA,OAAA;AAAA,wBAAA,MAAA,EAAA,IAAA,CAAA,SAAA;AAAA,wBAAA,qBAAA,EAAA,EAAA;;;;;;;;;;;;;;;;;AAOpB,uBAAAI,SAAA,CAAA,IAAuB,CAAA,EAAAC,kBAAkB,CAAAI,QAAA,EAAA,IAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,eA2DpC,EAAA,CAAA,IAAA,KAAA;AAAA,wBAAA,OAAAN,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;0BA1DP,GAAA,EAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA;AAAA,0BACH,mCAAkC,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,yBACb,EAAA;AAAA,0BACbL,WAAA,CAAA,iBAAA,EAAA;AAAA,4BACC,KAAA,EAAA,YAAA;AAAA,4BACK,QAAA,EAAA,CAAA,IAAA,CAAA,cAAA,IAAA,CAAA,IAAA,CAAA,UAAA;AAAA,4BACA,IAAA,EAAA,IAAA,CAAA,eAAA;AAAA,4BACF,IAAA,EAAA,IAAA,CAAA,OAAA;AAAA,4BAAA,MAAA,EAAA,IAAA,CAAA,SAAA;AAEF,iDAiBH,EAAA,EAAA;AAAA,4BAhBN,OAAA,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,SAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,2BAgBM,EAAA;AAAA,4BAAA,OAAA,EAAAC,OAAA,CAAA,MAAA;AAAA,8BAfAC,kBAAA,CAAA,MAAA,EAAA;AAAA,gCACI,KAAA,EAAAI,cAAA,CAAA,IAAA,CAAA,QAAU,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,+BAAA,EAAA;;kCAaT,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,kCAVI,KAAA,EAAA,IAAA,CAAA,YAAA;AAAA,kCACJ,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,iCACA,EAAA,MAAA;AAAA,kCACEM,eAAA,CAAAC,eAAA,CAAA,IAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iCACT,CAAA;AAAA,+BACC,EAAK;AAAkB,6BAAA,CAAA;;AAIjB,2BAFP,EAAA,IAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,CAAA;AAAA,yBAEO,EAAA,CAAA,CAAA,CAAA;AAAA,uBAAA,CAAA,EAAA,GAAA,CAAA;AAAA,qBAFA,EAAA,CAAA,CAAA;AAAiB,mBAAA,CAAA;AAAe,kBAAA,CAAA,EAAA,CAAA;AACQ,iBAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,CAAA,CAAA,IAAAL,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,eAAA,CAAA,GAAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,cAAAN,kBAAA,CAAA,KAAA,EAAA;AAAA,gBAAA,KAAA,EAAAI,cAAA,CAAA;;;;;;;;;AAK1C,kBAAA,qBA4BH,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,MAAA,CAAA,UAAA,GAAA,MAAA;AAAA,kBA3BN,IAAA,EAAA,MAAA;AAAA,kBA2BM,IAAA,EAAA,IAAA,CAAA,IAAA;AAAA,kBAAA,KAAA,EAAAA,cAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,OAAA,CAAA,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,kBAAA,QA3BG,EAAA,IAAA,CAAA,cAAA;AAAA,kBAAc,YAAA,EAAO,IAAA,CAAA,YAAA;AAAU,kBAAA,KAAA,EAAAK,cAAA,CAAA,IAAA,CAAA,UAAA,CAAA;;AACtC,kBAAA,IAAA,EAAA,UAAA;AAAA,kBAyBM,QAAA,EAAA,CAAA,IAAA,CAAA,UAAA;AAAA,kBAAA,UAAA,EAAA,OAAA;AAAA,kBAxBW,uBAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,WAAJ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,KAAA,EAAA;AADb,kBAAA,eAAA,EAAA,IAAA,CAAA,SAAA;AAAA,kBAyBM,eAAA,EAAA,IAAA,CAAA,mBAAA;AAAA,kBAAA,YAAA,EAAA,IAAA,CAAA,SAAA;AAAA,kBAvBH,mBAAK;AAAgB,kBACrB,eAAA,EAAA,SAAO;AAAU,kBAAA,SAAA,EAAA,IAAA,CAAA,aAAA;;qCAqBT,EAAA,IAAA,CAAA,uBAAA;AAAA,kBAAA,gBAlBP,EAAM,IAAA,CAAA,oBAAA;AAAA,kBAAA,OAAA,EAAA,IAAA,CAAA,OACG;AAA2B,kBAAA,OAAA,EAAAR,aAC7B,CAAA,IAAA,CAAA,UAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,IACN,EAAM,qBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,SAAA,CAAA,CAAA,EAAA;AAAA,kBAAA,CAAAY,UAAA,EAAA,IACE,CAAA,MAAA,CAAA,UAAA,CAAA;AAAA,iBACT,CAAA;AAAA,gBAAA,IAAA,CAAA,UAAA,IACMX,SAAA,EAAA,EAAAC,kBAAY,CAAA,MAAA,EAAA;AAAY,kBAAA,GAAA,EAAA,CAAA;;AAWvB,kBATP,aAAA,EAAA,MAAA;AAAA,kBASO,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,kBAAA,WAAA,EAAAO,eAAA,CAAA,IAAA,CAAA,MAAA,CAAA,UAAA,CAAA;AAAA,iBATA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,IAAOL,kBAAA,CAAA,MAAA,EAAS,IAAC,CAAA;AAAA,eAAA,EAAA,CAAA,CAAA;;;AAQf,gBAAA,KAAA,EAAAF,cAAA,CAAA;AALQ,kBAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eACL,CAAK;AAAA,kBAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACA,kBAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,aAGR,EAAA,CAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,QAAA,IAAA,CAAA,IAAA,CAAA,MAAA,CAAA,UAAA,CAAA;AAAA,iBAAA,CAAA;AADF,eAAA,EAAA;AAAiB,gBAAA,IAAA,CAAA,aAAA,GAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,kBAAA,GAAA,EAAA,CAAA;AAAA,kBAAA,KAAA,EAAA,IAAA,CAAA,SAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA,KAAA;AAAA,kBAAA,KAAA,EAAA,IAAA,CAAA,kBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AASpC,iBAAA,CAAA;AAAA,gBAyCM,OAAA,EAAA,IAAA,CAAA,gBAAA;AAAA,eAAA,EAAA;AAAA,gBAAA,OAxCE,EAAAN,OAAA,CAAA,MAAA;AAAA,mBAAAG,wBAA8B,CAAAY,uBAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;AAA6C,gBAAmC,CAAA,EAAA,CAAA;AAAiC,eAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA,IAAAR,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;;qCAgCnJ,CAAA;AAAA,kBAAA,IAzBK,CAAA,OAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAAA,kBAAA,IACD,CAAA,OAAA,CAAA,CAAA,CAAA,cAAA,CAAA;AAAA,kBAAA,IAAA,CAAA,OAAA,CAAA,EAAA,CAAA,SAAA,EAAA,IAAA,CAAA,kBACsB,YAAA,CAAA;AAAA,iBAAA,CAAA;AACrB,eAAA,EAAA;AACE,gBAAA,gBACE,CAAA,MAAA;AAA2C,mBAAAJ,SACzC,EAAA,EAAAU,WAAA,CAAAE,uBAAA,CAAA,IAAA,CAAA,YAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;AACI,gBACd,CAAA,EAAA,CAAA;AAAiB,eAAA,EAAA,CAAA,EACjB,CAAU,OAAA,CAAA,CAAA,IAAAR,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,aAAA,EAAA,CAAA,CAAA;AACN,WAAA,EAAA,EAAA,EAAA,CAAA;AACO,SAAA,CAAA;AACD,OACV,CAAA;AAAsC,MAAA,OAAA,EAAAP,OACvB,CAAA,MAAA;AAAA,QAAAD,WACf,CAAe,yBAAA,EAAA,EAAA,GAAA,EAAA,SAAA,EAAA,EAAA;AAAA,UAAA,OAAA,EAAAC,OACH,CAAA,MAAA;AAAA,YAAA,IAAA,CAAA,MACK,CAAA,MAAA,IAAAG,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAClB;AAAc,cAAA,KAAA,EACJC,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;AAAA,cAAA,OACS,EAAAH,aAAA,CAAA,MAAA;AAAA,eAAA,EAAA,CAAA,MACC,CAAA,CAAA;AAAA,aAAA,EAAA;AACH,cAAAI,UACT,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,aACP,EAAA,EAAA,EAAA,CAAA,SAAK,wBAAiB,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,YAAAU,cAAA,CAAAjB,WAAA,CAAA,uBAAA,EAAA;AAtBd,cAAA,EAAA,EAAA,IAAA,CAAA,SAAA;AAAiB,cAAA,GAAA,EAAA,cAAA;AAyBpB,cAAA,GAAA,EAAA,IAAA;AAKN,cAAA,YAAA,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA;0BAJI,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA;AAAA,cAAA,KAAA,EACQM,cAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,cACX,IAAA,EAAA,SAAO;AAAU,cAClB,YAAA,EAAA,IAAA,CAAA,SAAA;AAAyB,cAAA,kBAAA,EAAA,UAAA;;;;;kBAG7B,GAAA,EAAA,CAAA;AAAA,kBAqBM,KAAA,EAAA,IAAA,CAAA,MAAA,CAAA,UAAA;AAAA,kBAAA,OAAA,EAAA,IAAA;AAAA,iBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,IAAAE,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;2BAnBE,CAAA,qBAAA,EAAA,IAAA,EAAA;AAAA,kBAAA,gBAA8B,CAAA,MAAA;AAAA,oBAAmCD,eAAU,CAAA,MAAA,EAAA,SAAA,EAAA,EAAA,EAAA,MAAA;AAAA,uBAA0CH,SAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,CAAAI,QAAA,EAAA,IAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,OAAA,EAAA,CAAA,MAAA,EAAA,KAAA,KAAA;AAAA,wBAAA,IAAA,EAAA,CAAA;wBAA0E,OAAAN,SAAA,EAAA,EAAAC,kBAAoB,CAAAI,QAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA;AAAA,0BAAA,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,UAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAAL,SAAA,EAAA,EAAAU,WAAA,CAAA,0BAAA,EAAA;;;;AAUjN,2BAAA,EAAA;AAOD,4BAAA,OAAA,EAAAb,OAAA,CAAA,MAAA;+BALGG,SAAA,CAAU,yBAAa,CAAAK,QAAA,EAAA,IAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,IAAA,KAAA;AAAA,gCACvB,OAAAN,SAAA,EAAA,EAAAU,WAAA,CAAA,oBAAA,EAAAI,UAAA,CAAA;AAAA,kCACA,GAAA,EAAA,IAAA,CAAA,QAAA,CAAA,IAAA,CAAA;AAAA,iCAGH,EAAA,IAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,+BADL,CAAA,EAAA,GAAA,CAAA;AAAA,6BAAqC,CAAA;AAAA,4BAAA,CAAA,EAAA,CAAA;AAAA,2BAAA,EAAA,IAAA,EAAA,CAAA,OAAV,EAAA,UAAA,CAAA,CAAA,KAAAd,SAAA,EAAA,EAAAU,WAAA,CAAA,oBAAA,EAAAK,cAAA,CAAAD,UAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA,IAAA,CAAA,cAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,yBAAA,EAAA,EAAA,CAAA,CAAA;AAAA,uBAAA,CAAA,EAAA,GAAA,CAAA;AAAA,qBAAA,CAAA;AAAA,mBAE7B,CAAA;AAAA,kBAA4C,CAAA,EAAA,CAAA;AAAA,iBAAA,CAAA;AAAA,eAAA,CAAA;AAAV,cAAA,CAAA,EAAA,CAAA;AAAA,aAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,CAAA,CAAA,EAAA;AAAA,cAAA,CAAAE,KAAA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA,CAAA,IAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA;AAAA,aAAA,CAAA;;;;;;;;AAGtC,cAAA,KAAA,EAAAd,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA;AAAA,aA4BM,EAAA;AAAA,cAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA,EAAA,EAAA,MAAA;AAAA,gBA5BGL,kBAAA,CAAA,MAAA,EAAA,IAAA,EAAAW,eAAA,CAAA,IAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAA,eAAa,CAAA;AAAiB,aAAA,EAAA,CAAA,CAAA,IAAAL,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;cAE7B,GAAa,EAAA,CAAA;AAIX,cAAA,KAAA,EAAAF,cAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;AAHP,cAAA,OAAA,EAAKH,oBAAY;AAA2C,eAAA,EAAA,CAAA,MAAA,CAAA,CAAA;;AAE5B,cAAjCI,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA;AAA6B,aAAA,EAAA,EAAA,EAAA,CAAA,SAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;;;AAGvB,OAAA,CAAA;AASE,MAAA,CAAA,EAAA,CAAA;oBARF,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,CAAA,CAAA;AAAA,GAAA,EAAA,EAAA,EAAA,CAAA;AAA8B,IAAA,CAAA,8BAAqC,CAAA,kBAAA,EAAA,IAAA,CAAA,SAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAoC,CAAA;AAKrG,aAAA,gBAAA,WAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,QAAA,EAAA,YAAA,CAAA,CAAA,CAAA;;;;"}
|
|
@@ -333,7 +333,7 @@ const useSelect = (props, emit) => {
|
|
|
333
333
|
};
|
|
334
334
|
const getLastNotDisabledIndex = (value) => findLastIndex(value, (it) => {
|
|
335
335
|
const option = states.cachedOptions.get(it);
|
|
336
|
-
return option
|
|
336
|
+
return !(option == null ? void 0 : option.disabled) && !(option == null ? void 0 : option.states.groupDisabled);
|
|
337
337
|
});
|
|
338
338
|
const deletePrevTag = (e) => {
|
|
339
339
|
const code = getEventCode(e);
|
|
@@ -589,6 +589,7 @@ const useSelect = (props, emit) => {
|
|
|
589
589
|
navigateOptions("next");
|
|
590
590
|
break;
|
|
591
591
|
case EVENT_CODE.enter:
|
|
592
|
+
case EVENT_CODE.numpadEnter:
|
|
592
593
|
selectOption();
|
|
593
594
|
break;
|
|
594
595
|
case EVENT_CODE.esc:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = computed(() => props.disabled || !!form?.disabled)\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading || !isRemoteSearchEmpty.value) &&\n (!debouncing.value || !isEmpty(states.previousQuery))\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n }\n emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n })\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n states.hoveringIndex = optionsArray.value.findIndex((item) =>\n states.selected.some(\n (selected) => getValueKey(selected) === getValueKey(item)\n )\n )\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return option && !option.disabled && !option.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[0] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const toggleMenu = () => {\n if (selectDisabled.value) return\n\n // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n selectOption()\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n }\n )\n\n onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"names":["ensureArray"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSelect.mjs","sources":["../../../../../../packages/components/select/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = computed(() => props.disabled || !!form?.disabled)\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading || !isRemoteSearchEmpty.value) &&\n (!debouncing.value || !isEmpty(states.previousQuery))\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n }\n emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n })\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n states.hoveringIndex = optionsArray.value.findIndex((item) =>\n states.selected.some(\n (selected) => getValueKey(selected) === getValueKey(item)\n )\n )\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return !option?.disabled && !option?.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[0] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const toggleMenu = () => {\n if (selectDisabled.value) return\n\n // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n selectOption()\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n }\n )\n\n onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"names":["ensureArray"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Skeleton from './src/
|
|
1
|
+
import Skeleton from './src/skeleton2.mjs';
|
|
2
2
|
import SkeletonItem from './src/skeleton-item2.mjs';
|
|
3
|
-
export { skeletonProps } from './src/
|
|
3
|
+
export { skeletonProps } from './src/skeleton.mjs';
|
|
4
4
|
export { skeletonItemProps } from './src/skeleton-item.mjs';
|
|
5
5
|
import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
|
|
6
6
|
|
|
@@ -1,53 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { skeletonProps } from './skeleton2.mjs';
|
|
3
|
-
import SkeletonItem from './skeleton-item2.mjs';
|
|
4
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
5
|
-
import { useThrottleRender } from '../../../hooks/use-throttle-render/index.mjs';
|
|
6
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
1
|
+
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
7
2
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class: [unref(ns).b(), unref(ns).is("animated", _ctx.animated)]
|
|
25
|
-
}, _ctx.$attrs), [
|
|
26
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.count, (i) => {
|
|
27
|
-
return openBlock(), createElementBlock(Fragment, { key: i }, [
|
|
28
|
-
unref(uiLoading) ? renderSlot(_ctx.$slots, "template", { key: i }, () => [
|
|
29
|
-
createVNode(SkeletonItem, {
|
|
30
|
-
class: normalizeClass(unref(ns).is("first")),
|
|
31
|
-
variant: "p"
|
|
32
|
-
}, null, 8, ["class"]),
|
|
33
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (item) => {
|
|
34
|
-
return openBlock(), createBlock(SkeletonItem, {
|
|
35
|
-
key: item,
|
|
36
|
-
class: normalizeClass([
|
|
37
|
-
unref(ns).e("paragraph"),
|
|
38
|
-
unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
|
|
39
|
-
]),
|
|
40
|
-
variant: "p"
|
|
41
|
-
}, null, 8, ["class"]);
|
|
42
|
-
}), 128))
|
|
43
|
-
]) : createCommentVNode("v-if", true)
|
|
44
|
-
], 64);
|
|
45
|
-
}), 128))
|
|
46
|
-
], 16)) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)));
|
|
47
|
-
};
|
|
3
|
+
const skeletonProps = buildProps({
|
|
4
|
+
animated: Boolean,
|
|
5
|
+
count: {
|
|
6
|
+
type: Number,
|
|
7
|
+
default: 1
|
|
8
|
+
},
|
|
9
|
+
rows: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 3
|
|
12
|
+
},
|
|
13
|
+
loading: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: true
|
|
16
|
+
},
|
|
17
|
+
throttle: {
|
|
18
|
+
type: definePropType([Number, Object])
|
|
48
19
|
}
|
|
49
20
|
});
|
|
50
|
-
var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "skeleton.vue"]]);
|
|
51
21
|
|
|
52
|
-
export {
|
|
22
|
+
export { skeletonProps };
|
|
53
23
|
//# sourceMappingURL=skeleton.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.
|
|
1
|
+
{"version":3,"file":"skeleton.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { ThrottleType } from '@element-plus/hooks'\n\nexport const skeletonProps = buildProps({\n /**\n * @description whether showing the animation\n */\n animated: Boolean,\n /**\n * @description how many fake items to render to the DOM\n */\n count: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether showing the real DOM\n */\n rows: {\n type: Number,\n default: 3,\n },\n /**\n * @description numbers of the row, only useful when no template slot were given\n */\n loading: {\n type: Boolean,\n default: true,\n },\n /**\n * @description rendering delay in milliseconds\n */\n throttle: {\n type: definePropType<ThrottleType>([Number, Object]),\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\nexport type SkeletonPropsPublic = __ExtractPublicPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC;;;;"}
|
|
@@ -1,23 +1,53 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineComponent, toRef, unref, openBlock, createElementBlock, mergeProps, Fragment, renderList, renderSlot, createVNode, normalizeClass, createBlock, createCommentVNode, normalizeProps } from 'vue';
|
|
2
|
+
import { skeletonProps } from './skeleton.mjs';
|
|
3
|
+
import SkeletonItem from './skeleton-item2.mjs';
|
|
4
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
5
|
+
import { useThrottleRender } from '../../../hooks/use-throttle-render/index.mjs';
|
|
6
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
2
7
|
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
const __default__ = defineComponent({
|
|
9
|
+
name: "ElSkeleton"
|
|
10
|
+
});
|
|
11
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
|
+
...__default__,
|
|
13
|
+
props: skeletonProps,
|
|
14
|
+
setup(__props, { expose }) {
|
|
15
|
+
const props = __props;
|
|
16
|
+
const ns = useNamespace("skeleton");
|
|
17
|
+
const uiLoading = useThrottleRender(toRef(props, "loading"), props.throttle);
|
|
18
|
+
expose({
|
|
19
|
+
uiLoading
|
|
20
|
+
});
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return unref(uiLoading) ? (openBlock(), createElementBlock("div", mergeProps({
|
|
23
|
+
key: 0,
|
|
24
|
+
class: [unref(ns).b(), unref(ns).is("animated", _ctx.animated)]
|
|
25
|
+
}, _ctx.$attrs), [
|
|
26
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.count, (i) => {
|
|
27
|
+
return openBlock(), createElementBlock(Fragment, { key: i }, [
|
|
28
|
+
unref(uiLoading) ? renderSlot(_ctx.$slots, "template", { key: i }, () => [
|
|
29
|
+
createVNode(SkeletonItem, {
|
|
30
|
+
class: normalizeClass(unref(ns).is("first")),
|
|
31
|
+
variant: "p"
|
|
32
|
+
}, null, 8, ["class"]),
|
|
33
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (item) => {
|
|
34
|
+
return openBlock(), createBlock(SkeletonItem, {
|
|
35
|
+
key: item,
|
|
36
|
+
class: normalizeClass([
|
|
37
|
+
unref(ns).e("paragraph"),
|
|
38
|
+
unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
|
|
39
|
+
]),
|
|
40
|
+
variant: "p"
|
|
41
|
+
}, null, 8, ["class"]);
|
|
42
|
+
}), 128))
|
|
43
|
+
]) : createCommentVNode("v-if", true)
|
|
44
|
+
], 64);
|
|
45
|
+
}), 128))
|
|
46
|
+
], 16)) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)));
|
|
47
|
+
};
|
|
19
48
|
}
|
|
20
49
|
});
|
|
50
|
+
var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "skeleton.vue"]]);
|
|
21
51
|
|
|
22
|
-
export {
|
|
52
|
+
export { Skeleton as default };
|
|
23
53
|
//# sourceMappingURL=skeleton2.mjs.map
|