@element-plus/nightly 0.0.20251207 → 0.0.20251209
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.css +1 -1
- package/dist/index.full.js +434 -561
- package/dist/index.full.min.js +15 -15
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +15 -15
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +504 -631
- 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 +96 -40
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +40 -96
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.mjs +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +68 -88
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +88 -68
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/cascader/src/cascader.mjs +1 -1
- package/es/components/checkbox/index.mjs +2 -2
- package/es/components/checkbox/src/checkbox-group.mjs +94 -50
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group2.mjs +50 -94
- package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.mjs +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +3 -3
- package/es/components/date-picker/src/date-picker.mjs +1 -0
- package/es/components/date-picker/src/date-picker.mjs.map +1 -1
- package/es/components/date-picker/src/props.d.ts +1 -1
- package/es/components/dialog/index.mjs +2 -2
- package/es/components/dialog/src/dialog.mjs +74 -174
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog2.mjs +174 -74
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/drawer/src/drawer.mjs +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 +258 -112
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +112 -258
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/focus-trap/src/utils.mjs +1 -1
- package/es/components/focus-trap/src/utils.mjs.map +1 -1
- package/es/components/index.mjs +11 -11
- package/es/components/input-tag/index.mjs +2 -2
- package/es/components/input-tag/src/input-tag.mjs +83 -283
- package/es/components/input-tag/src/input-tag.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag2.mjs +283 -83
- package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
- package/es/components/mention/src/mention.mjs +1 -1
- package/es/components/notification/index.mjs +1 -1
- package/es/components/notification/src/notification.mjs +147 -73
- package/es/components/notification/src/notification.mjs.map +1 -1
- package/es/components/notification/src/notification2.mjs +73 -147
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +2 -2
- package/es/components/pagination/src/components/sizes.mjs +26 -72
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes2.mjs +72 -26
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs +2 -2
- package/es/components/popover/src/popover.mjs +2 -2
- package/es/components/select/src/option2.mjs +4 -2
- package/es/components/select/src/option2.mjs.map +1 -1
- package/es/components/select/src/select.mjs +1 -1
- package/es/components/select-v2/src/defaults.mjs +1 -1
- package/es/components/select-v2/src/option-item.mjs +4 -2
- package/es/components/select-v2/src/option-item.mjs.map +1 -1
- package/es/components/table/src/filter-panel.mjs +1 -1
- package/es/components/tabs/index.mjs +1 -1
- package/es/components/tabs/src/tab-bar.mjs +11 -92
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs +92 -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/text/index.mjs +2 -2
- package/es/components/text/src/text.mjs +21 -67
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text2.mjs +67 -21
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +3 -3
- package/es/components/time-picker/src/common/props.d.ts +1 -1
- package/es/components/time-picker/src/common/props.mjs +5 -2
- package/es/components/time-picker/src/common/props.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker.d.ts +3 -3
- package/es/components/tooltip/index.mjs +1 -1
- package/es/components/tooltip/src/content.mjs +29 -203
- package/es/components/tooltip/src/content.mjs.map +1 -1
- package/es/components/tooltip/src/content2.mjs +203 -29
- package/es/components/tooltip/src/content2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +1 -1
- package/es/components/upload/index.mjs +2 -2
- package/es/components/upload/src/upload-content.mjs +1 -1
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-list.mjs +1 -1
- package/es/components/upload/src/upload.mjs +100 -125
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +125 -100
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/components/upload/src/use-handlers.mjs +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.mjs +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.mjs.map +1 -1
- package/es/components/virtual-list/src/components/fixed-size-grid.mjs +1 -1
- package/es/components/virtual-list/src/components/fixed-size-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.mjs +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.mjs.map +1 -1
- package/es/directives/trap-focus/index.mjs +1 -1
- package/es/directives/trap-focus/index.mjs.map +1 -1
- package/es/hooks/use-focus-controller/index.mjs +1 -1
- package/es/hooks/use-focus-controller/index.mjs.map +1 -1
- package/es/hooks/use-popper-container/index.mjs +1 -1
- package/es/hooks/use-popper-container/index.mjs.map +1 -1
- package/es/index.mjs +11 -11
- package/es/utils/dom/aria.mjs +1 -1
- package/es/utils/dom/aria.mjs.map +1 -1
- package/es/utils/error.mjs +1 -1
- package/es/utils/error.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +95 -41
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +41 -95
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.js +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +71 -88
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +88 -71
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/cascader/src/cascader.js +1 -1
- package/lib/components/checkbox/index.js +2 -2
- package/lib/components/checkbox/src/checkbox-group.js +93 -51
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group2.js +51 -93
- package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.js +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +3 -3
- package/lib/components/date-picker/src/date-picker.js +1 -0
- package/lib/components/date-picker/src/date-picker.js.map +1 -1
- package/lib/components/date-picker/src/props.d.ts +1 -1
- package/lib/components/dialog/index.js +2 -2
- package/lib/components/dialog/src/dialog.js +76 -174
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog2.js +174 -76
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/drawer/src/drawer.js +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 +258 -117
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +117 -258
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/focus-trap/src/utils.js +1 -1
- package/lib/components/focus-trap/src/utils.js.map +1 -1
- package/lib/components/index.js +11 -11
- package/lib/components/input-tag/index.js +2 -2
- package/lib/components/input-tag/src/input-tag.js +82 -281
- package/lib/components/input-tag/src/input-tag.js.map +1 -1
- package/lib/components/input-tag/src/input-tag2.js +281 -82
- package/lib/components/input-tag/src/input-tag2.js.map +1 -1
- package/lib/components/mention/src/mention.js +1 -1
- package/lib/components/notification/index.js +1 -1
- package/lib/components/notification/src/notification.js +146 -74
- package/lib/components/notification/src/notification.js.map +1 -1
- package/lib/components/notification/src/notification2.js +74 -146
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/notification/src/notify.js +2 -2
- package/lib/components/pagination/src/components/sizes.js +26 -72
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes2.js +72 -26
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/popconfirm/src/popconfirm.js +2 -2
- package/lib/components/popover/src/popover.js +2 -2
- package/lib/components/select/src/option2.js +4 -2
- package/lib/components/select/src/option2.js.map +1 -1
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select-v2/src/defaults.js +1 -1
- package/lib/components/select-v2/src/option-item.js +4 -2
- package/lib/components/select-v2/src/option-item.js.map +1 -1
- package/lib/components/table/src/filter-panel.js +1 -1
- package/lib/components/tabs/index.js +1 -1
- package/lib/components/tabs/src/tab-bar.js +11 -92
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js +92 -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/text/index.js +2 -2
- package/lib/components/text/src/text.js +21 -67
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text2.js +67 -21
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +3 -3
- package/lib/components/time-picker/src/common/props.d.ts +1 -1
- package/lib/components/time-picker/src/common/props.js +5 -2
- package/lib/components/time-picker/src/common/props.js.map +1 -1
- package/lib/components/time-picker/src/time-picker.d.ts +3 -3
- package/lib/components/tooltip/index.js +1 -1
- package/lib/components/tooltip/src/content.js +29 -203
- package/lib/components/tooltip/src/content.js.map +1 -1
- package/lib/components/tooltip/src/content2.js +203 -29
- package/lib/components/tooltip/src/content2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/components/tooltip/src/tooltip2.js +1 -1
- package/lib/components/upload/index.js +2 -2
- package/lib/components/upload/src/upload-content.js +1 -1
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-list.js +1 -1
- package/lib/components/upload/src/upload.js +103 -125
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload2.js +125 -103
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/components/upload/src/use-handlers.js +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.js +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.js.map +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-grid.js +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-grid.js.map +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.js +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.js.map +1 -1
- package/lib/directives/trap-focus/index.js +1 -1
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-focus-controller/index.js +1 -1
- package/lib/hooks/use-focus-controller/index.js.map +1 -1
- package/lib/hooks/use-popper-container/index.js +1 -1
- package/lib/hooks/use-popper-container/index.js.map +1 -1
- package/lib/index.js +11 -11
- package/lib/utils/dom/aria.js +1 -1
- package/lib/utils/dom/aria.js.map +1 -1
- package/lib/utils/error.js +1 -1
- package/lib/utils/error.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/menu.scss +6 -0
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["import {\n isFunction,\n isNumber,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\nimport type { Alignment, GridCache, ItemSize } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n} as const\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n} as const\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]] as ItemSize,\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy!, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV !== 'production'\n ) {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["import {\n isFunction,\n isNumber,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\nimport type { Alignment, GridCache, ItemSize } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n} as const\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n} as const\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]] as ItemSize,\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy!, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -142,7 +142,7 @@ const DynamicSizeList = createList({
|
|
|
142
142
|
},
|
|
143
143
|
clearCache: false,
|
|
144
144
|
validateProps: ({ itemSize }) => {
|
|
145
|
-
if (
|
|
145
|
+
if (process.env.NODE_ENV !== "production") {
|
|
146
146
|
if (typeof itemSize !== "function") {
|
|
147
147
|
throwError(SCOPE, `
|
|
148
148
|
itemSize is required as function, but the given value was ${typeof itemSize}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-size-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-list.ts"],"sourcesContent":["import { throwError } from '@element-plus/utils'\nimport createList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\nimport type { ItemSize, ListCache, ListItem } from '../types'\n\ntype Props = VirtualizedListProps\n\nconst SCOPE = 'ElDynamicSizeList'\nconst getItemFromCache = (\n props: Props,\n index: number,\n listCache: ListCache\n): ListItem => {\n const { itemSize } = props\n const { items, lastVisitedIndex } = listCache\n\n if (index > lastVisitedIndex) {\n let offset = 0\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisitedIndex + 1; i <= index; i++) {\n const size = (itemSize as ItemSize)(i)\n\n items[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n listCache.lastVisitedIndex = index\n }\n\n return items[index]\n}\n\nconst findItem = (props: Props, listCache: ListCache, offset: number) => {\n const { items, lastVisitedIndex } = listCache\n\n const lastVisitedOffset =\n lastVisitedIndex > 0 ? items[lastVisitedIndex].offset : 0\n\n if (lastVisitedOffset >= offset) {\n return bs(props, listCache, 0, lastVisitedIndex, offset)\n }\n return es(props, listCache, Math.max(0, lastVisitedIndex), offset)\n}\n\n// bs stands for binary search which has approximately time complexity of O(Log n)\n// space complexity of O(1)\n// in this case we use it for search the offset of each item, since\n// the cached items' offset is monotonically increasing\nconst bs = (\n props: Props,\n listCache: ListCache,\n low: number,\n high: number,\n offset: number\n) => {\n while (low <= high) {\n const mid = low + Math.floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, listCache).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else if (currentOffset > offset) {\n high = mid - 1\n }\n }\n\n return Math.max(0, low - 1)\n}\n\n// es stands for exponential search which has time complexity of O(Log n) and\n// space complexity of O(1) in the case of finding the boundary element.\n// the exponential indicator in this case is 2.\n// for more detail about exponential search click this link\n// https://www.freecodecamp.org/news/search-algorithms-exponential-search-explained/\n\nconst es = (\n props: Props,\n listCache: ListCache,\n index: number,\n offset: number\n) => {\n const { total } = props\n let exponent = 1\n\n while (\n index < total &&\n getItemFromCache(props, index, listCache).offset < offset\n ) {\n index += exponent\n exponent *= 2\n }\n\n return bs(\n props,\n listCache,\n Math.floor(index / 2),\n Math.min(index, total - 1),\n offset\n )\n}\n\nconst getEstimatedTotalSize = (\n { total }: Props,\n { items, estimatedItemSize, lastVisitedIndex }: ListCache\n) => {\n let totalSizeOfMeasuredItems = 0\n\n if (lastVisitedIndex >= total) {\n lastVisitedIndex = total - 1\n }\n\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n totalSizeOfMeasuredItems = item.offset + item.size\n }\n\n const numUnmeasuredItems = total - lastVisitedIndex - 1\n const totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems\n}\n\nconst DynamicSizeList = createList({\n name: 'ElDynamicSizeList',\n getItemOffset: (props, index, listCache) =>\n getItemFromCache(props, index, listCache).offset,\n\n getItemSize: (_, index, { items }) => items[index].size,\n\n getEstimatedTotalSize,\n\n getOffset: (props, index, alignment, scrollOffset, listCache) => {\n const { height, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, index, listCache)\n\n const estimatedTotalSize = getEstimatedTotalSize(props, listCache)\n\n const maxOffset = Math.max(\n 0,\n Math.min(estimatedTotalSize - size, item.offset)\n )\n const minOffset = Math.max(0, item.offset - size + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: (props, offset, listCache) =>\n findItem(props, listCache, offset),\n\n getStopIndexForStartIndex: (props, startIndex, scrollOffset, listCache) => {\n const { height, total, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, startIndex, listCache)\n const maxOffset = scrollOffset + size\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n\n while (stopIndex < total - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, listCache).size\n }\n\n return stopIndex\n },\n\n initCache({ estimatedItemSize = DEFAULT_DYNAMIC_LIST_ITEM_SIZE }, instance) {\n const cache = {\n items: {},\n estimatedItemSize,\n lastVisitedIndex: -1,\n } as ListCache\n\n cache.clearCacheAfterIndex = (index: number, forceUpdate = true) => {\n cache.lastVisitedIndex = Math.min(cache.lastVisitedIndex, index - 1)\n instance.exposed?.getItemStyleCache(-1)\n\n if (forceUpdate) {\n instance.proxy?.$forceUpdate()\n }\n }\n\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ itemSize }) => {\n if (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV !== 'production'\n ) {\n if (typeof itemSize !== 'function') {\n throwError(\n SCOPE,\n `\n itemSize is required as function, but the given value was ${typeof itemSize}\n `\n )\n }\n }\n },\n})\n\nexport type DynamicSizeListInstance = InstanceType<typeof DynamicSizeList> &\n unknown\nexport default DynamicSizeList\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic-size-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-list.ts"],"sourcesContent":["import { throwError } from '@element-plus/utils'\nimport createList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\nimport type { ItemSize, ListCache, ListItem } from '../types'\n\ntype Props = VirtualizedListProps\n\nconst SCOPE = 'ElDynamicSizeList'\nconst getItemFromCache = (\n props: Props,\n index: number,\n listCache: ListCache\n): ListItem => {\n const { itemSize } = props\n const { items, lastVisitedIndex } = listCache\n\n if (index > lastVisitedIndex) {\n let offset = 0\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisitedIndex + 1; i <= index; i++) {\n const size = (itemSize as ItemSize)(i)\n\n items[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n listCache.lastVisitedIndex = index\n }\n\n return items[index]\n}\n\nconst findItem = (props: Props, listCache: ListCache, offset: number) => {\n const { items, lastVisitedIndex } = listCache\n\n const lastVisitedOffset =\n lastVisitedIndex > 0 ? items[lastVisitedIndex].offset : 0\n\n if (lastVisitedOffset >= offset) {\n return bs(props, listCache, 0, lastVisitedIndex, offset)\n }\n return es(props, listCache, Math.max(0, lastVisitedIndex), offset)\n}\n\n// bs stands for binary search which has approximately time complexity of O(Log n)\n// space complexity of O(1)\n// in this case we use it for search the offset of each item, since\n// the cached items' offset is monotonically increasing\nconst bs = (\n props: Props,\n listCache: ListCache,\n low: number,\n high: number,\n offset: number\n) => {\n while (low <= high) {\n const mid = low + Math.floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, listCache).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else if (currentOffset > offset) {\n high = mid - 1\n }\n }\n\n return Math.max(0, low - 1)\n}\n\n// es stands for exponential search which has time complexity of O(Log n) and\n// space complexity of O(1) in the case of finding the boundary element.\n// the exponential indicator in this case is 2.\n// for more detail about exponential search click this link\n// https://www.freecodecamp.org/news/search-algorithms-exponential-search-explained/\n\nconst es = (\n props: Props,\n listCache: ListCache,\n index: number,\n offset: number\n) => {\n const { total } = props\n let exponent = 1\n\n while (\n index < total &&\n getItemFromCache(props, index, listCache).offset < offset\n ) {\n index += exponent\n exponent *= 2\n }\n\n return bs(\n props,\n listCache,\n Math.floor(index / 2),\n Math.min(index, total - 1),\n offset\n )\n}\n\nconst getEstimatedTotalSize = (\n { total }: Props,\n { items, estimatedItemSize, lastVisitedIndex }: ListCache\n) => {\n let totalSizeOfMeasuredItems = 0\n\n if (lastVisitedIndex >= total) {\n lastVisitedIndex = total - 1\n }\n\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n totalSizeOfMeasuredItems = item.offset + item.size\n }\n\n const numUnmeasuredItems = total - lastVisitedIndex - 1\n const totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems\n}\n\nconst DynamicSizeList = createList({\n name: 'ElDynamicSizeList',\n getItemOffset: (props, index, listCache) =>\n getItemFromCache(props, index, listCache).offset,\n\n getItemSize: (_, index, { items }) => items[index].size,\n\n getEstimatedTotalSize,\n\n getOffset: (props, index, alignment, scrollOffset, listCache) => {\n const { height, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, index, listCache)\n\n const estimatedTotalSize = getEstimatedTotalSize(props, listCache)\n\n const maxOffset = Math.max(\n 0,\n Math.min(estimatedTotalSize - size, item.offset)\n )\n const minOffset = Math.max(0, item.offset - size + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: (props, offset, listCache) =>\n findItem(props, listCache, offset),\n\n getStopIndexForStartIndex: (props, startIndex, scrollOffset, listCache) => {\n const { height, total, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, startIndex, listCache)\n const maxOffset = scrollOffset + size\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n\n while (stopIndex < total - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, listCache).size\n }\n\n return stopIndex\n },\n\n initCache({ estimatedItemSize = DEFAULT_DYNAMIC_LIST_ITEM_SIZE }, instance) {\n const cache = {\n items: {},\n estimatedItemSize,\n lastVisitedIndex: -1,\n } as ListCache\n\n cache.clearCacheAfterIndex = (index: number, forceUpdate = true) => {\n cache.lastVisitedIndex = Math.min(cache.lastVisitedIndex, index - 1)\n instance.exposed?.getItemStyleCache(-1)\n\n if (forceUpdate) {\n instance.proxy?.$forceUpdate()\n }\n }\n\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ itemSize }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'function') {\n throwError(\n SCOPE,\n `\n itemSize is required as function, but the given value was ${typeof itemSize}\n `\n )\n }\n }\n },\n})\n\nexport type DynamicSizeListInstance = InstanceType<typeof DynamicSizeList> &\n unknown\nexport default DynamicSizeList\n"],"names":[],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ const FixedSizeGrid = createGrid({
|
|
|
111
111
|
initCache: () => void 0,
|
|
112
112
|
clearCache: true,
|
|
113
113
|
validateProps: ({ columnWidth, rowHeight }) => {
|
|
114
|
-
if (
|
|
114
|
+
if (process.env.NODE_ENV !== "production") {
|
|
115
115
|
if (!isNumber(columnWidth)) {
|
|
116
116
|
throwError(SCOPE, `
|
|
117
117
|
"columnWidth" must be passed as number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-grid.ts"],"sourcesContent":["import { isNumber, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nconst SCOPE = 'ElFixedSizeGrid'\n\nconst FixedSizeGrid = createGrid({\n name: 'ElFixedSizeGrid',\n getColumnPosition: ({ columnWidth }, index) => [\n columnWidth as number,\n index * (columnWidth as number),\n ],\n\n getRowPosition: ({ rowHeight }, index) => [\n rowHeight as number,\n index * (rowHeight as number),\n ],\n\n getEstimatedTotalHeight: ({ totalRow, rowHeight }) =>\n (rowHeight as number) * totalRow,\n\n getEstimatedTotalWidth: ({ totalColumn, columnWidth }) =>\n (columnWidth as number) * totalColumn,\n\n getColumnOffset: (\n { totalColumn, columnWidth, width },\n columnIndex,\n alignment,\n scrollLeft,\n _,\n scrollBarWidth\n ) => {\n width = Number(width)\n const lastColumnOffset = Math.max(\n 0,\n totalColumn * (columnWidth as number) - width\n )\n const maxOffset = Math.min(\n lastColumnOffset,\n columnIndex * (columnWidth as number)\n )\n const minOffset = Math.max(\n 0,\n columnIndex * (columnWidth as number) -\n width +\n scrollBarWidth +\n (columnWidth as number)\n )\n\n if (alignment === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(width / 2)) {\n return 0\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollLeft < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getRowOffset: (\n { rowHeight, height, totalRow },\n rowIndex,\n align,\n scrollTop,\n _,\n scrollBarWidth\n ): number => {\n height = Number(height)\n const lastRowOffset = Math.max(0, totalRow * (rowHeight as number) - height)\n const maxOffset = Math.min(lastRowOffset, rowIndex * (rowHeight as number))\n const minOffset = Math.max(\n 0,\n rowIndex * (rowHeight as number) -\n height +\n scrollBarWidth +\n (rowHeight as number)\n )\n\n if (align === SMART_ALIGNMENT) {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = AUTO_ALIGNMENT\n } else {\n align = CENTERED_ALIGNMENT\n }\n }\n\n switch (align) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(height / 2)) {\n return 0\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollTop < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getColumnStartIndexForOffset: ({ columnWidth, totalColumn }, scrollLeft) =>\n Math.max(\n 0,\n Math.min(\n totalColumn - 1,\n Math.floor(scrollLeft / (columnWidth as number))\n )\n ),\n\n getColumnStopIndexForStartIndex: (\n { columnWidth, totalColumn, width },\n startIndex: number,\n scrollLeft: number\n ): number => {\n const left = startIndex * (columnWidth as number)\n const visibleColumnsCount = Math.ceil(\n ((width as number) + scrollLeft - left) / (columnWidth as number)\n )\n return Math.max(\n 0,\n Math.min(totalColumn - 1, startIndex + visibleColumnsCount - 1)\n )\n },\n\n getRowStartIndexForOffset: (\n { rowHeight, totalRow },\n scrollTop: number\n ): number =>\n Math.max(\n 0,\n Math.min(totalRow - 1, Math.floor(scrollTop / (rowHeight as number)))\n ),\n\n getRowStopIndexForStartIndex: (\n { rowHeight, totalRow, height },\n startIndex: number,\n scrollTop: number\n ): number => {\n const top = startIndex * (rowHeight as number)\n const numVisibleRows = Math.ceil(\n ((height as number) + scrollTop - top) / (rowHeight as number)\n )\n return Math.max(\n 0,\n Math.min(\n totalRow - 1,\n startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n )\n )\n },\n /**\n * Fixed size grid does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache: () => undefined as any,\n\n clearCache: true,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV !== 'production'\n ) {\n if (!isNumber(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isNumber(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default FixedSizeGrid\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fixed-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-grid.ts"],"sourcesContent":["import { isNumber, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nconst SCOPE = 'ElFixedSizeGrid'\n\nconst FixedSizeGrid = createGrid({\n name: 'ElFixedSizeGrid',\n getColumnPosition: ({ columnWidth }, index) => [\n columnWidth as number,\n index * (columnWidth as number),\n ],\n\n getRowPosition: ({ rowHeight }, index) => [\n rowHeight as number,\n index * (rowHeight as number),\n ],\n\n getEstimatedTotalHeight: ({ totalRow, rowHeight }) =>\n (rowHeight as number) * totalRow,\n\n getEstimatedTotalWidth: ({ totalColumn, columnWidth }) =>\n (columnWidth as number) * totalColumn,\n\n getColumnOffset: (\n { totalColumn, columnWidth, width },\n columnIndex,\n alignment,\n scrollLeft,\n _,\n scrollBarWidth\n ) => {\n width = Number(width)\n const lastColumnOffset = Math.max(\n 0,\n totalColumn * (columnWidth as number) - width\n )\n const maxOffset = Math.min(\n lastColumnOffset,\n columnIndex * (columnWidth as number)\n )\n const minOffset = Math.max(\n 0,\n columnIndex * (columnWidth as number) -\n width +\n scrollBarWidth +\n (columnWidth as number)\n )\n\n if (alignment === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(width / 2)) {\n return 0\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollLeft < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getRowOffset: (\n { rowHeight, height, totalRow },\n rowIndex,\n align,\n scrollTop,\n _,\n scrollBarWidth\n ): number => {\n height = Number(height)\n const lastRowOffset = Math.max(0, totalRow * (rowHeight as number) - height)\n const maxOffset = Math.min(lastRowOffset, rowIndex * (rowHeight as number))\n const minOffset = Math.max(\n 0,\n rowIndex * (rowHeight as number) -\n height +\n scrollBarWidth +\n (rowHeight as number)\n )\n\n if (align === SMART_ALIGNMENT) {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = AUTO_ALIGNMENT\n } else {\n align = CENTERED_ALIGNMENT\n }\n }\n\n switch (align) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(height / 2)) {\n return 0\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollTop < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getColumnStartIndexForOffset: ({ columnWidth, totalColumn }, scrollLeft) =>\n Math.max(\n 0,\n Math.min(\n totalColumn - 1,\n Math.floor(scrollLeft / (columnWidth as number))\n )\n ),\n\n getColumnStopIndexForStartIndex: (\n { columnWidth, totalColumn, width },\n startIndex: number,\n scrollLeft: number\n ): number => {\n const left = startIndex * (columnWidth as number)\n const visibleColumnsCount = Math.ceil(\n ((width as number) + scrollLeft - left) / (columnWidth as number)\n )\n return Math.max(\n 0,\n Math.min(totalColumn - 1, startIndex + visibleColumnsCount - 1)\n )\n },\n\n getRowStartIndexForOffset: (\n { rowHeight, totalRow },\n scrollTop: number\n ): number =>\n Math.max(\n 0,\n Math.min(totalRow - 1, Math.floor(scrollTop / (rowHeight as number)))\n ),\n\n getRowStopIndexForStartIndex: (\n { rowHeight, totalRow, height },\n startIndex: number,\n scrollTop: number\n ): number => {\n const top = startIndex * (rowHeight as number)\n const numVisibleRows = Math.ceil(\n ((height as number) + scrollTop - top) / (rowHeight as number)\n )\n return Math.max(\n 0,\n Math.min(\n totalRow - 1,\n startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n )\n )\n },\n /**\n * Fixed size grid does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache: () => undefined as any,\n\n clearCache: true,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isNumber(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isNumber(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default FixedSizeGrid\n"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ const FixedSizeList = createList({
|
|
|
11
11
|
getEstimatedTotalSize: ({ total, itemSize }) => itemSize * total,
|
|
12
12
|
getOffset: ({ height, total, itemSize, layout, width }, index, alignment, scrollOffset) => {
|
|
13
13
|
const size = isHorizontal(layout) ? width : height;
|
|
14
|
-
if (
|
|
14
|
+
if (process.env.NODE_ENV !== "production" && isString(size)) {
|
|
15
15
|
throwError("[ElVirtualList]", `
|
|
16
16
|
You should set
|
|
17
17
|
width/height
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed-size-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-list.ts"],"sourcesContent":["import { isString, throwError } from '@element-plus/utils'\nimport buildList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\n\ntype Props = VirtualizedListProps\n\nconst FixedSizeList = buildList({\n name: 'ElFixedSizeList',\n getItemOffset: ({ itemSize }, index) => index * (itemSize as number),\n\n getItemSize: ({ itemSize }) => itemSize as number,\n\n getEstimatedTotalSize: ({ total, itemSize }) => (itemSize as number) * total,\n\n getOffset: (\n { height, total, itemSize, layout, width },\n index,\n alignment,\n scrollOffset\n ) => {\n const size = (isHorizontal(layout) ? width : height) as number\n if (
|
|
1
|
+
{"version":3,"file":"fixed-size-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/fixed-size-list.ts"],"sourcesContent":["import { isString, throwError } from '@element-plus/utils'\nimport buildList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\n\ntype Props = VirtualizedListProps\n\nconst FixedSizeList = buildList({\n name: 'ElFixedSizeList',\n getItemOffset: ({ itemSize }, index) => index * (itemSize as number),\n\n getItemSize: ({ itemSize }) => itemSize as number,\n\n getEstimatedTotalSize: ({ total, itemSize }) => (itemSize as number) * total,\n\n getOffset: (\n { height, total, itemSize, layout, width },\n index,\n alignment,\n scrollOffset\n ) => {\n const size = (isHorizontal(layout) ? width : height) as number\n if (process.env.NODE_ENV !== 'production' && isString(size)) {\n throwError(\n '[ElVirtualList]',\n `\n You should set\n width/height\n to number when your layout is\n horizontal/vertical\n `\n )\n }\n const lastItemOffset = Math.max(0, total * (itemSize as number) - size)\n const maxOffset = Math.min(lastItemOffset, index * (itemSize as number))\n const minOffset = Math.max(0, (index + 1) * (itemSize as number) - size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(size / 2)) {\n return 0 // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset // near the end\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: ({ total, itemSize }, offset) =>\n Math.max(0, Math.min(total - 1, Math.floor(offset / (itemSize as number)))),\n\n getStopIndexForStartIndex: (\n { height, total, itemSize, layout, width }: Props,\n startIndex: number,\n scrollOffset: number\n ) => {\n const offset = startIndex * (itemSize as number)\n const size = isHorizontal(layout) ? width : height\n const numVisibleItems = Math.ceil(\n ((size as number) + scrollOffset - offset) / (itemSize as number)\n )\n return Math.max(\n 0,\n Math.min(\n total - 1,\n // because startIndex is inclusive, so in order to prevent array outbound indexing\n // we need to - 1 to prevent outbound behavior\n startIndex + numVisibleItems - 1\n )\n )\n },\n\n /**\n * Fixed size list does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache() {\n return undefined as any\n },\n\n clearCache: true,\n\n validateProps() {},\n})\n\nexport type FixedSizeListInstance = InstanceType<typeof FixedSizeList> & unknown\nexport default FixedSizeList\n"],"names":["buildList"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ const FOCUS_HANDLER = (e) => {
|
|
|
31
31
|
e.preventDefault();
|
|
32
32
|
focusableElement[0].focus();
|
|
33
33
|
}
|
|
34
|
-
if (
|
|
34
|
+
if (process.env.NODE_ENV === "test") {
|
|
35
35
|
const index = focusableElement.indexOf(e.target);
|
|
36
36
|
if (index !== -1) {
|
|
37
37
|
(_a = focusableElement[goingBackward ? index - 1 : index + 1]) == null ? void 0 : _a.focus();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/trap-focus/index.ts"],"sourcesContent":["import { nextTick } from 'vue'\nimport { getEventCode, obtainAllFocusableElements } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nimport type { ObjectDirective } from 'vue'\n\nexport const FOCUSABLE_CHILDREN = '_trap-focus-children'\nexport const TRAP_FOCUS_HANDLER = '_trap-focus-handler'\n\nexport interface TrapFocusElement extends HTMLElement {\n [FOCUSABLE_CHILDREN]: HTMLElement[]\n [TRAP_FOCUS_HANDLER]: (e: KeyboardEvent) => void\n}\n\nconst FOCUS_STACK: TrapFocusElement[] = []\n\nconst FOCUS_HANDLER = (e: KeyboardEvent) => {\n // Getting the top layer.\n if (FOCUS_STACK.length === 0) return\n const code = getEventCode(e)\n const focusableElement =\n FOCUS_STACK[FOCUS_STACK.length - 1][FOCUSABLE_CHILDREN]\n if (focusableElement.length > 0 && code === EVENT_CODE.tab) {\n if (focusableElement.length === 1) {\n e.preventDefault()\n if (document.activeElement !== focusableElement[0]) {\n focusableElement[0].focus()\n }\n return\n }\n const goingBackward = e.shiftKey\n const isFirst = e.target === focusableElement[0]\n const isLast = e.target === focusableElement[focusableElement.length - 1]\n if (isFirst && goingBackward) {\n e.preventDefault()\n focusableElement[focusableElement.length - 1].focus()\n }\n if (isLast && !goingBackward) {\n e.preventDefault()\n focusableElement[0].focus()\n }\n\n // the is critical since jsdom did not implement user actions, you can only mock it\n // DELETE ME: when testing env switches to puppeteer\n if (
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/trap-focus/index.ts"],"sourcesContent":["import { nextTick } from 'vue'\nimport { getEventCode, obtainAllFocusableElements } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nimport type { ObjectDirective } from 'vue'\n\nexport const FOCUSABLE_CHILDREN = '_trap-focus-children'\nexport const TRAP_FOCUS_HANDLER = '_trap-focus-handler'\n\nexport interface TrapFocusElement extends HTMLElement {\n [FOCUSABLE_CHILDREN]: HTMLElement[]\n [TRAP_FOCUS_HANDLER]: (e: KeyboardEvent) => void\n}\n\nconst FOCUS_STACK: TrapFocusElement[] = []\n\nconst FOCUS_HANDLER = (e: KeyboardEvent) => {\n // Getting the top layer.\n if (FOCUS_STACK.length === 0) return\n const code = getEventCode(e)\n const focusableElement =\n FOCUS_STACK[FOCUS_STACK.length - 1][FOCUSABLE_CHILDREN]\n if (focusableElement.length > 0 && code === EVENT_CODE.tab) {\n if (focusableElement.length === 1) {\n e.preventDefault()\n if (document.activeElement !== focusableElement[0]) {\n focusableElement[0].focus()\n }\n return\n }\n const goingBackward = e.shiftKey\n const isFirst = e.target === focusableElement[0]\n const isLast = e.target === focusableElement[focusableElement.length - 1]\n if (isFirst && goingBackward) {\n e.preventDefault()\n focusableElement[focusableElement.length - 1].focus()\n }\n if (isLast && !goingBackward) {\n e.preventDefault()\n focusableElement[0].focus()\n }\n\n // the is critical since jsdom did not implement user actions, you can only mock it\n // DELETE ME: when testing env switches to puppeteer\n if (process.env.NODE_ENV === 'test') {\n const index = focusableElement.indexOf(e.target as HTMLElement)\n if (index !== -1) {\n focusableElement[goingBackward ? index - 1 : index + 1]?.focus()\n }\n }\n }\n}\n\nconst TrapFocus: ObjectDirective = {\n beforeMount(el: TrapFocusElement) {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el)\n FOCUS_STACK.push(el)\n if (FOCUS_STACK.length <= 1) {\n document.addEventListener('keydown', FOCUS_HANDLER)\n }\n },\n updated(el: TrapFocusElement) {\n nextTick(() => {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el)\n })\n },\n unmounted() {\n FOCUS_STACK.shift()\n if (FOCUS_STACK.length === 0) {\n document.removeEventListener('keydown', FOCUS_HANDLER)\n }\n },\n}\n\nexport default TrapFocus\n"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ function useFocusController(target, {
|
|
|
50
50
|
useEventListener(wrapperRef, "focus", handleFocus, true);
|
|
51
51
|
useEventListener(wrapperRef, "blur", handleBlur, true);
|
|
52
52
|
useEventListener(wrapperRef, "click", handleClick, true);
|
|
53
|
-
if (
|
|
53
|
+
if (process.env.NODE_ENV === "test") {
|
|
54
54
|
onMounted(() => {
|
|
55
55
|
const targetEl = isElement(target.value) ? target.value : document.querySelector("input,textarea");
|
|
56
56
|
if (targetEl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import {\n getCurrentInstance,\n onMounted,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isElement, isFocusable, isFunction } from '@element-plus/utils'\n\nimport type { ShallowRef } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\ninterface UseFocusControllerOptions {\n disabled?: MaybeRef<boolean>\n /**\n * return true to cancel focus\n * @param event FocusEvent\n */\n beforeFocus?: (event: FocusEvent) => boolean | undefined\n afterFocus?: () => void\n /**\n * return true to cancel blur\n * @param event FocusEvent\n */\n beforeBlur?: (event: FocusEvent) => boolean | undefined\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends { focus: () => void }>(\n target: ShallowRef<T | undefined>,\n {\n disabled,\n beforeFocus,\n afterFocus,\n beforeBlur,\n afterBlur,\n }: UseFocusControllerOptions = {}\n) {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const wrapperRef = shallowRef<HTMLElement>()\n const isFocused = ref(false)\n\n const handleFocus = (event: FocusEvent) => {\n const cancelFocus = isFunction(beforeFocus) ? beforeFocus(event) : false\n if (unref(disabled) || isFocused.value || cancelFocus) return\n\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false\n if (\n unref(disabled) ||\n (event.relatedTarget &&\n wrapperRef.value?.contains(event.relatedTarget as Node)) ||\n cancelBlur\n )\n return\n\n isFocused.value = false\n emit('blur', event)\n afterBlur?.()\n }\n\n const handleClick = (event: Event) => {\n if (\n unref(disabled) ||\n isFocusable(event.target as HTMLElement) ||\n (wrapperRef.value?.contains(document.activeElement) &&\n wrapperRef.value !== document.activeElement)\n )\n return\n\n target.value?.focus()\n }\n\n watch([wrapperRef, () => unref(disabled)], ([el, disabled]) => {\n if (!el) return\n if (disabled) {\n el.removeAttribute('tabindex')\n } else {\n el.setAttribute('tabindex', '-1')\n }\n })\n\n useEventListener(wrapperRef, 'focus', handleFocus, true)\n useEventListener(wrapperRef, 'blur', handleBlur, true)\n useEventListener(wrapperRef, 'click', handleClick, true)\n\n // only for test\n if (
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import {\n getCurrentInstance,\n onMounted,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isElement, isFocusable, isFunction } from '@element-plus/utils'\n\nimport type { ShallowRef } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\ninterface UseFocusControllerOptions {\n disabled?: MaybeRef<boolean>\n /**\n * return true to cancel focus\n * @param event FocusEvent\n */\n beforeFocus?: (event: FocusEvent) => boolean | undefined\n afterFocus?: () => void\n /**\n * return true to cancel blur\n * @param event FocusEvent\n */\n beforeBlur?: (event: FocusEvent) => boolean | undefined\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends { focus: () => void }>(\n target: ShallowRef<T | undefined>,\n {\n disabled,\n beforeFocus,\n afterFocus,\n beforeBlur,\n afterBlur,\n }: UseFocusControllerOptions = {}\n) {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const wrapperRef = shallowRef<HTMLElement>()\n const isFocused = ref(false)\n\n const handleFocus = (event: FocusEvent) => {\n const cancelFocus = isFunction(beforeFocus) ? beforeFocus(event) : false\n if (unref(disabled) || isFocused.value || cancelFocus) return\n\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false\n if (\n unref(disabled) ||\n (event.relatedTarget &&\n wrapperRef.value?.contains(event.relatedTarget as Node)) ||\n cancelBlur\n )\n return\n\n isFocused.value = false\n emit('blur', event)\n afterBlur?.()\n }\n\n const handleClick = (event: Event) => {\n if (\n unref(disabled) ||\n isFocusable(event.target as HTMLElement) ||\n (wrapperRef.value?.contains(document.activeElement) &&\n wrapperRef.value !== document.activeElement)\n )\n return\n\n target.value?.focus()\n }\n\n watch([wrapperRef, () => unref(disabled)], ([el, disabled]) => {\n if (!el) return\n if (disabled) {\n el.removeAttribute('tabindex')\n } else {\n el.setAttribute('tabindex', '-1')\n }\n })\n\n useEventListener(wrapperRef, 'focus', handleFocus, true)\n useEventListener(wrapperRef, 'blur', handleBlur, true)\n useEventListener(wrapperRef, 'click', handleClick, true)\n\n // only for test\n if (process.env.NODE_ENV === 'test') {\n onMounted(() => {\n const targetEl = isElement(target.value)\n ? target.value\n : document.querySelector('input,textarea')\n\n if (targetEl) {\n useEventListener(targetEl, 'focus', handleFocus, true)\n useEventListener(targetEl, 'blur', handleBlur, true)\n }\n })\n }\n\n return {\n isFocused,\n /** Avoid using wrapperRef and handleFocus/handleBlur together */\n wrapperRef,\n handleFocus,\n handleBlur,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ const usePopperContainer = () => {
|
|
|
26
26
|
onBeforeMount(() => {
|
|
27
27
|
if (!isClient)
|
|
28
28
|
return;
|
|
29
|
-
if (
|
|
29
|
+
if (process.env.NODE_ENV === "test" || !document.body.querySelector(selector.value)) {
|
|
30
30
|
createContainer(id.value);
|
|
31
31
|
}
|
|
32
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nexport const usePopperContainerId = () => {\n const namespace = useGetDerivedNamespace()\n const idInjection = useIdInjection()\n\n const id = computed(() => {\n return `${namespace.value}-popper-container-${idInjection.prefix}`\n })\n const selector = computed(() => `#${id.value}`)\n\n return {\n id,\n selector,\n }\n}\n\nconst createContainer = (id: string) => {\n const container = document.createElement('div')\n container.id = id\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\n const { id, selector } = usePopperContainerId()\n onBeforeMount(() => {\n if (!isClient) return\n\n // This is for bypassing the error that when under testing env, we often encounter\n // document.body.innerHTML = '' situation\n // for this we need to disable the caching since it's not really needed\n if (\n
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nexport const usePopperContainerId = () => {\n const namespace = useGetDerivedNamespace()\n const idInjection = useIdInjection()\n\n const id = computed(() => {\n return `${namespace.value}-popper-container-${idInjection.prefix}`\n })\n const selector = computed(() => `#${id.value}`)\n\n return {\n id,\n selector,\n }\n}\n\nconst createContainer = (id: string) => {\n const container = document.createElement('div')\n container.id = id\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\n const { id, selector } = usePopperContainerId()\n onBeforeMount(() => {\n if (!isClient) return\n\n // This is for bypassing the error that when under testing env, we often encounter\n // document.body.innerHTML = '' situation\n // for this we need to disable the caching since it's not really needed\n if (\n process.env.NODE_ENV === 'test' ||\n !document.body.querySelector(selector.value)\n ) {\n createContainer(id.value)\n }\n })\n\n return {\n id,\n selector,\n }\n}\n"],"names":[],"mappings":";;;;;AAIY,MAAC,oBAAoB,GAAG,MAAM;AAC1C,EAAE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;AAC7C,EAAE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACvC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM;AAC5B,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE;AACF,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK;AAChC,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;AACpB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvC,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACU,MAAC,kBAAkB,GAAG,MAAM;AACxC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAClD,EAAE,aAAa,CAAC,MAAM;AACtB,IAAI,IAAI,CAAC,QAAQ;AACjB,MAAM,OAAO;AACb,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACzF,MAAM,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
|
package/es/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ export { makeInstaller } from './make-installer.mjs';
|
|
|
4
4
|
export { default as dayjs } from 'dayjs';
|
|
5
5
|
export { affixEmits, affixProps } from './components/affix/src/affix.mjs';
|
|
6
6
|
export { ElAffix } from './components/affix/index.mjs';
|
|
7
|
-
export { alertEffects, alertEmits, alertProps } from './components/alert/src/
|
|
7
|
+
export { alertEffects, alertEmits, alertProps } from './components/alert/src/alert2.mjs';
|
|
8
8
|
export { ElAlert } from './components/alert/index.mjs';
|
|
9
9
|
export { autocompleteEmits, autocompleteProps } from './components/autocomplete/src/autocomplete.mjs';
|
|
10
10
|
export { ElAutocomplete } from './components/autocomplete/index.mjs';
|
|
@@ -18,7 +18,7 @@ export { breadcrumbProps } from './components/breadcrumb/src/breadcrumb.mjs';
|
|
|
18
18
|
export { breadcrumbItemProps } from './components/breadcrumb/src/breadcrumb-item.mjs';
|
|
19
19
|
export { breadcrumbKey } from './components/breadcrumb/src/constants.mjs';
|
|
20
20
|
export { ElBreadcrumb, ElBreadcrumbItem } from './components/breadcrumb/index.mjs';
|
|
21
|
-
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './components/button/src/
|
|
21
|
+
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './components/button/src/button.mjs';
|
|
22
22
|
export { buttonGroupContextKey } from './components/button/src/constants.mjs';
|
|
23
23
|
export { ElButton, ElButtonGroup } from './components/button/index.mjs';
|
|
24
24
|
export { calendarEmits, calendarProps } from './components/calendar/src/calendar.mjs';
|
|
@@ -36,7 +36,7 @@ export { CommonProps, DefaultProps, cascaderPanelEmits, cascaderPanelProps, useC
|
|
|
36
36
|
export { ElCascaderPanel } from './components/cascader-panel/index.mjs';
|
|
37
37
|
export { checkTagEmits, checkTagProps } from './components/check-tag/src/check-tag.mjs';
|
|
38
38
|
export { ElCheckTag } from './components/check-tag/index.mjs';
|
|
39
|
-
export { checkboxDefaultProps, checkboxGroupEmits, checkboxGroupProps } from './components/checkbox/src/checkbox-
|
|
39
|
+
export { checkboxDefaultProps, checkboxGroupEmits, checkboxGroupProps } from './components/checkbox/src/checkbox-group2.mjs';
|
|
40
40
|
export { checkboxEmits, checkboxProps } from './components/checkbox/src/checkbox.mjs';
|
|
41
41
|
export { checkboxGroupContextKey } from './components/checkbox/src/constants.mjs';
|
|
42
42
|
export { ElCheckbox, ElCheckboxButton, ElCheckboxGroup } from './components/checkbox/index.mjs';
|
|
@@ -68,14 +68,14 @@ export { descriptionProps } from './components/descriptions/src/description.mjs'
|
|
|
68
68
|
export { descriptionItemProps } from './components/descriptions/src/description-item.mjs';
|
|
69
69
|
export { ElDescriptions, ElDescriptionsItem } from './components/descriptions/index.mjs';
|
|
70
70
|
export { useDialog } from './components/dialog/src/use-dialog.mjs';
|
|
71
|
-
export { dialogContextKey, dialogEmits, dialogProps } from './components/dialog/src/
|
|
71
|
+
export { dialogContextKey, dialogEmits, dialogProps } from './components/dialog/src/dialog.mjs';
|
|
72
72
|
export { DEFAULT_DIALOG_TRANSITION, dialogInjectionKey } from './components/dialog/src/constants.mjs';
|
|
73
73
|
export { ElDialog } from './components/dialog/index.mjs';
|
|
74
74
|
export { dividerProps } from './components/divider/src/divider.mjs';
|
|
75
75
|
export { ElDivider } from './components/divider/index.mjs';
|
|
76
76
|
export { drawerEmits, drawerProps } from './components/drawer/src/drawer.mjs';
|
|
77
77
|
export { ElDrawer } from './components/drawer/index.mjs';
|
|
78
|
-
export { FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './components/dropdown/src/
|
|
78
|
+
export { FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './components/dropdown/src/dropdown2.mjs';
|
|
79
79
|
export { DROPDOWN_INJECTION_KEY, DROPDOWN_INSTANCE_INJECTION_KEY } from './components/dropdown/src/tokens.mjs';
|
|
80
80
|
export { ElDropdown, ElDropdownItem, ElDropdownMenu } from './components/dropdown/index.mjs';
|
|
81
81
|
export { emptyProps } from './components/empty/src/empty.mjs';
|
|
@@ -96,7 +96,7 @@ export { inputEmits, inputProps } from './components/input/src/input.mjs';
|
|
|
96
96
|
export { ElInput } from './components/input/index.mjs';
|
|
97
97
|
export { inputNumberEmits, inputNumberProps } from './components/input-number/src/input-number.mjs';
|
|
98
98
|
export { ElInputNumber } from './components/input-number/index.mjs';
|
|
99
|
-
export { inputTagEmits, inputTagProps } from './components/input-tag/src/input-
|
|
99
|
+
export { inputTagEmits, inputTagProps } from './components/input-tag/src/input-tag.mjs';
|
|
100
100
|
export { ElInputTag } from './components/input-tag/index.mjs';
|
|
101
101
|
export { linkEmits, linkProps } from './components/link/src/link.mjs';
|
|
102
102
|
export { ElLink } from './components/link/index.mjs';
|
|
@@ -175,14 +175,14 @@ export { tableV2Props } from './components/table-v2/src/table.mjs';
|
|
|
175
175
|
export { tableV2RowProps } from './components/table-v2/src/row.mjs';
|
|
176
176
|
export { ElAutoResizer, ElTableV2 } from './components/table-v2/index.mjs';
|
|
177
177
|
export { tabsEmits, tabsProps } from './components/tabs/src/tabs.mjs';
|
|
178
|
-
export { tabBarProps } from './components/tabs/src/tab-
|
|
178
|
+
export { tabBarProps } from './components/tabs/src/tab-bar.mjs';
|
|
179
179
|
export { tabNavEmits, tabNavProps } from './components/tabs/src/tab-nav.mjs';
|
|
180
180
|
export { tabPaneProps } from './components/tabs/src/tab-pane.mjs';
|
|
181
181
|
export { tabsRootContextKey } from './components/tabs/src/constants.mjs';
|
|
182
182
|
export { ElTabPane, ElTabs } from './components/tabs/index.mjs';
|
|
183
183
|
export { tagEmits, tagProps } from './components/tag/src/tag.mjs';
|
|
184
184
|
export { ElTag } from './components/tag/index.mjs';
|
|
185
|
-
export { textProps } from './components/text/src/
|
|
185
|
+
export { textProps } from './components/text/src/text.mjs';
|
|
186
186
|
export { ElText } from './components/text/index.mjs';
|
|
187
187
|
export { buildTimeList, dateEquals, dayOrDaysToDate, extractDateFormat, extractTimeFormat, formatter, makeList, parseDate, rangeArr, valueEquals } from './components/time-picker/src/utils.mjs';
|
|
188
188
|
export { DEFAULT_FORMATS_DATE, DEFAULT_FORMATS_DATEPICKER, DEFAULT_FORMATS_TIME, PICKER_BASE_INJECTION_KEY, PICKER_POPPER_OPTIONS_INJECTION_KEY, ROOT_COMMON_PICKER_INJECTION_KEY, timeUnits } from './components/time-picker/src/constants.mjs';
|
|
@@ -197,7 +197,7 @@ export { TIMELINE_INJECTION_KEY } from './components/timeline/src/tokens.mjs';
|
|
|
197
197
|
export { ElTimeline, ElTimelineItem } from './components/timeline/index.mjs';
|
|
198
198
|
export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './components/tooltip/src/tooltip.mjs';
|
|
199
199
|
export { useTooltipTriggerProps } from './components/tooltip/src/trigger.mjs';
|
|
200
|
-
export { useTooltipContentProps } from './components/tooltip/src/
|
|
200
|
+
export { useTooltipContentProps } from './components/tooltip/src/content.mjs';
|
|
201
201
|
export { TOOLTIP_INJECTION_KEY } from './components/tooltip/src/constants.mjs';
|
|
202
202
|
export { ElTooltip } from './components/tooltip/index.mjs';
|
|
203
203
|
export { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, transferCheckedChangeFn, transferEmits, transferProps } from './components/transfer/src/transfer.mjs';
|
|
@@ -207,7 +207,7 @@ export { treeEmits } from './components/tree/src/tree.mjs';
|
|
|
207
207
|
export { ElTree } from './components/tree/index.mjs';
|
|
208
208
|
export { ElTreeSelect } from './components/tree-select/index.mjs';
|
|
209
209
|
export { ElTreeV2 } from './components/tree-v2/index.mjs';
|
|
210
|
-
export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './components/upload/src/
|
|
210
|
+
export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './components/upload/src/upload.mjs';
|
|
211
211
|
export { uploadContentProps } from './components/upload/src/upload-content.mjs';
|
|
212
212
|
export { uploadListEmits, uploadListProps } from './components/upload/src/upload-list.mjs';
|
|
213
213
|
export { uploadDraggerEmits, uploadDraggerProps } from './components/upload/src/upload-dragger.mjs';
|
|
@@ -240,7 +240,7 @@ export { default as ElLoadingService } from './components/loading/src/service.mj
|
|
|
240
240
|
export { MESSAGE_DEFAULT_PLACEMENT, messageDefaults, messageEmits, messagePlacement, messageProps, messageTypes } from './components/message/src/message.mjs';
|
|
241
241
|
export { ElMessage } from './components/message/index.mjs';
|
|
242
242
|
export { ElMessageBox } from './components/message-box/index.mjs';
|
|
243
|
-
export { notificationEmits, notificationProps, notificationTypes } from './components/notification/src/
|
|
243
|
+
export { notificationEmits, notificationProps, notificationTypes } from './components/notification/src/notification2.mjs';
|
|
244
244
|
export { ElNotification } from './components/notification/index.mjs';
|
|
245
245
|
export { popoverEmits, popoverProps } from './components/popover/src/popover.mjs';
|
|
246
246
|
export { ElPopover, ElPopoverDirective } from './components/popover/index.mjs';
|
package/es/utils/dom/aria.mjs
CHANGED
|
@@ -5,7 +5,7 @@ const isHTMLElement = (e) => {
|
|
|
5
5
|
return e instanceof Element;
|
|
6
6
|
};
|
|
7
7
|
const isVisible = (element) => {
|
|
8
|
-
if (
|
|
8
|
+
if (process.env.NODE_ENV === "test")
|
|
9
9
|
return true;
|
|
10
10
|
const computed = getComputedStyle(element);
|
|
11
11
|
return computed.position === "fixed" ? false : element.offsetParent !== null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aria.mjs","sources":["../../../../../packages/utils/dom/aria.ts"],"sourcesContent":["const FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\n\nconst isHTMLElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\n/**\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\n */\nexport const isVisible = (element: HTMLElement) => {\n if (
|
|
1
|
+
{"version":3,"file":"aria.mjs","sources":["../../../../../packages/utils/dom/aria.ts"],"sourcesContent":["const FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\n\nconst isHTMLElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\n/**\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\n */\nexport const isVisible = (element: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return true\n const computed = getComputedStyle(element)\n // element.offsetParent won't work on fix positioned\n // WARNING: potential issue here, going to need some expert advices on this issue\n return computed.position === 'fixed' ? false : element.offsetParent !== null\n}\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n return Array.from(\n element.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENT_SELECTORS)\n ).filter((item: HTMLElement) => isFocusable(item) && isVisible(item))\n}\n\n/**\n * @desc Determine if target element is focusable\n * @param element {HTMLElement}\n * @returns {Boolean} true if it is focusable\n */\nexport const isFocusable = (element: HTMLElement): boolean => {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n if (\n element.tabIndex < 0 ||\n element.hasAttribute('disabled') ||\n element.getAttribute('aria-disabled') === 'true'\n ) {\n return false\n }\n\n switch (element.nodeName) {\n case 'A': {\n // casting current element to Specific HTMLElement in order to be more type precise\n return (\n !!(element as HTMLAnchorElement).href &&\n (element as HTMLAnchorElement).rel !== 'ignore'\n )\n }\n case 'INPUT': {\n return !(\n (element as HTMLInputElement).type === 'hidden' ||\n (element as HTMLInputElement).type === 'file'\n )\n }\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\n/**\n * Trigger an event\n * mouseenter, mouseleave, mouseover, keyup, change, click, etc.\n * @param {HTMLElement} elm\n * @param {String} name\n * @param {*} opts\n */\nexport const triggerEvent = function (\n elm: HTMLElement,\n name: string,\n ...opts: Array<boolean>\n): HTMLElement {\n let eventName: string\n\n if (name.includes('mouse') || name.includes('click')) {\n eventName = 'MouseEvents'\n } else if (name.includes('key')) {\n eventName = 'KeyboardEvent'\n } else {\n eventName = 'HTMLEvents'\n }\n const evt = document.createEvent(eventName)\n\n evt.initEvent(name, ...opts)\n elm.dispatchEvent(evt)\n return elm\n}\n\nexport const isLeaf = (el: HTMLElement) => !el.getAttribute('aria-owns')\n\nexport const getSibling = (\n el: HTMLElement,\n distance: number,\n elClass: string\n) => {\n const { parentNode } = el\n if (!parentNode) return null\n const siblings = parentNode.querySelectorAll(elClass)\n const index = Array.prototype.indexOf.call(siblings, el)\n return siblings[index + distance] || null\n}\n\nexport const focusElement = (\n el?: HTMLElement | { focus: () => void } | null,\n options?: FocusOptions\n) => {\n if (!el || !el.focus) return\n let cleanup: boolean = false\n\n if (isHTMLElement(el) && !isFocusable(el) && !el.getAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1')\n cleanup = true\n }\n\n el.focus(options)\n\n if (isHTMLElement(el) && cleanup) {\n el.removeAttribute('tabindex')\n }\n}\n\nexport const focusNode = (el: HTMLElement) => {\n if (!el) return\n focusElement(el)\n !isLeaf(el) && el.click()\n}\n"],"names":[],"mappings":"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"}
|
package/es/utils/error.mjs
CHANGED
|
@@ -10,7 +10,7 @@ function throwError(scope, m) {
|
|
|
10
10
|
throw new ElementPlusError(`[${scope}] ${m}`);
|
|
11
11
|
}
|
|
12
12
|
function debugWarn(scope, message) {
|
|
13
|
-
if (
|
|
13
|
+
if (process.env.NODE_ENV !== "production") {
|
|
14
14
|
const error = isString(scope) ? new ElementPlusError(`[${scope}] ${message}`) : scope;
|
|
15
15
|
console.warn(error);
|
|
16
16
|
}
|
package/es/utils/error.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.mjs","sources":["../../../../packages/utils/error.ts"],"sourcesContent":["import { isString } from './types'\n\nclass ElementPlusError extends Error {\n constructor(m: string) {\n super(m)\n this.name = 'ElementPlusError'\n }\n}\n\nexport function throwError(scope: string, m: string): never {\n throw new ElementPlusError(`[${scope}] ${m}`)\n}\n\nexport function debugWarn(err: Error): void\nexport function debugWarn(scope: string, message: string): void\nexport function debugWarn(scope: string | Error, message?: string): void {\n if (
|
|
1
|
+
{"version":3,"file":"error.mjs","sources":["../../../../packages/utils/error.ts"],"sourcesContent":["import { isString } from './types'\n\nclass ElementPlusError extends Error {\n constructor(m: string) {\n super(m)\n this.name = 'ElementPlusError'\n }\n}\n\nexport function throwError(scope: string, m: string): never {\n throw new ElementPlusError(`[${scope}] ${m}`)\n}\n\nexport function debugWarn(err: Error): void\nexport function debugWarn(scope: string, message: string): void\nexport function debugWarn(scope: string | Error, message?: string): void {\n if (process.env.NODE_ENV !== 'production') {\n const error: Error = isString(scope)\n ? new ElementPlusError(`[${scope}] ${message}`)\n : scope\n // eslint-disable-next-line no-console\n console.warn(error)\n }\n}\n"],"names":[],"mappings":";;AACA,MAAM,gBAAgB,SAAS,KAAK,CAAC;AACrC,EAAE,WAAW,CAAC,CAAC,EAAE;AACjB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACb,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;AACnC,GAAG;AACH,CAAC;AACM,SAAS,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE;AACrC,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AACM,SAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC7C,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC1F,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,GAAG;AACH;;;;"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20251209";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20251209'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
|