@element-plus/nightly 0.0.20220328 → 0.0.20220331
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/README.md +5 -0
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1934 -1265
- package/dist/index.full.min.js +12 -12
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +12 -12
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1933 -1265
- 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.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 +136 -0
- package/dist/locale/az.min.js +2 -0
- package/dist/locale/az.min.js.map +1 -0
- package/dist/locale/az.min.mjs +2 -0
- package/dist/locale/az.min.mjs.map +1 -0
- package/dist/locale/az.mjs +128 -0
- 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/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/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/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/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/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/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/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-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/component.mjs +2 -0
- package/es/component.mjs.map +1 -1
- package/es/components/autocomplete/index.d.ts +8 -3
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +8 -3
- package/es/components/autocomplete/src/autocomplete2.mjs +7 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/index.d.ts +4 -4
- package/es/components/avatar/src/avatar.d.ts +1 -1
- package/es/components/avatar/src/avatar.mjs +4 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar.vue.d.ts +4 -4
- package/es/components/cascader/index.d.ts +20 -4
- package/es/components/cascader/src/index.vue.d.ts +10 -2
- package/es/components/config-provider/index.d.ts +3 -3
- package/es/components/config-provider/src/config-provider.d.ts +4 -4
- package/es/components/config-provider/src/config-provider.mjs +4 -1
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/image/index.d.ts +181 -10
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/index.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +181 -10
- package/es/components/image/src/image2.mjs +55 -74
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/index.d.ts +98 -22
- package/es/components/image-viewer/index.mjs +2 -2
- package/es/components/image-viewer/index.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
- package/es/components/image-viewer/src/image-viewer2.mjs +166 -202
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +1 -1
- package/es/components/input/src/input2.mjs +3 -2
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +2 -2
- package/es/components/message/src/message-method.mjs +1 -1
- package/es/components/message/src/message-method.mjs.map +1 -1
- package/es/components/scrollbar/index.d.ts +4 -0
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/es/components/scrollbar/src/scrollbar2.mjs +9 -0
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +1 -1
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/table/index.d.ts +1 -4
- package/es/components/table/src/composables/use-scrollbar.d.ts +1 -4
- package/es/components/table/src/composables/use-scrollbar.mjs +5 -3
- package/es/components/table/src/composables/use-scrollbar.mjs.map +1 -1
- package/es/components/table/src/config.d.ts +1 -1
- package/es/components/table/src/config.mjs +11 -3
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +4 -3
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs +1 -0
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/render-helper.mjs +11 -1
- package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +1 -4
- package/es/components/tabs/index.d.ts +74 -18
- package/es/components/tabs/index.mjs +4 -4
- package/es/components/tabs/index.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.d.ts +4 -2
- package/es/components/tabs/src/tab-bar.mjs +2 -2
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue.d.ts +38 -2
- package/es/components/tabs/src/tab-bar2.mjs +30 -26
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +12 -100
- package/es/components/tabs/src/tab-nav.mjs +65 -81
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.d.ts +2 -0
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +29 -0
- package/es/components/tabs/src/tab-pane2.mjs +28 -28
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +24 -24
- package/es/components/tabs/src/tabs.mjs +52 -40
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/tag/index.d.ts +8 -4
- package/es/components/tag/src/tag.d.ts +2 -1
- package/es/components/tag/src/tag.mjs +6 -2
- package/es/components/tag/src/tag.mjs.map +1 -1
- package/es/components/tag/src/tag.vue.d.ts +8 -4
- package/es/components/tag/src/tag2.mjs +3 -2
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/time-select/index.d.ts +10 -10
- package/es/components/time-select/src/time-select.mjs +4 -2
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +5 -5
- package/es/components/tooltip-v2/index.d.ts +578 -0
- package/es/components/tooltip-v2/index.mjs +11 -0
- package/es/components/tooltip-v2/index.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow.d.ts +7 -3
- package/es/components/tooltip-v2/src/arrow.mjs +11 -3
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
- package/es/components/tooltip-v2/src/arrow2.mjs +23 -10
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/common.d.ts +19 -0
- package/es/components/tooltip-v2/src/common.mjs +21 -1
- package/es/components/tooltip-v2/src/common.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.d.ts +7 -4
- package/es/components/tooltip-v2/src/content.mjs +12 -3
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.vue.d.ts +42 -13
- package/es/components/tooltip-v2/src/content2.mjs +61 -28
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.vue.d.ts +14 -0
- package/es/components/tooltip-v2/src/root2.mjs +7 -2
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.d.ts +27 -19
- package/es/components/tooltip-v2/src/tooltip.mjs +16 -3
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
- package/es/components/tooltip-v2/src/tooltip2.mjs +38 -12
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
- package/es/components/tooltip-v2/src/trigger2.mjs +10 -7
- package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs +2 -1
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden.mjs +4 -2
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/defaults.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +3 -3
- package/es/hooks/use-floating/index.mjs +7 -6
- package/es/hooks/use-floating/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.mjs +2 -2
- package/es/locale/index.d.ts +1 -0
- package/es/locale/index.mjs +1 -0
- package/es/locale/index.mjs.map +1 -1
- package/es/locale/lang/az.d.ts +125 -0
- package/es/locale/lang/az.mjs +127 -0
- package/es/locale/lang/az.mjs.map +1 -0
- package/es/locales.mjs +1 -0
- package/es/locales.mjs.map +1 -1
- package/es/make-installer.d.ts +1 -1
- package/es/tokens/index.mjs +1 -1
- package/es/tokens/tooltip-v2.d.ts +6 -0
- package/es/tokens/tooltip-v2.mjs +2 -1
- package/es/tokens/tooltip-v2.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/component.js +10 -8
- package/lib/component.js.map +1 -1
- package/lib/components/autocomplete/index.d.ts +8 -3
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +8 -3
- package/lib/components/autocomplete/src/autocomplete2.js +7 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/index.d.ts +4 -4
- package/lib/components/avatar/src/avatar.d.ts +1 -1
- package/lib/components/avatar/src/avatar.js +4 -2
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar.vue.d.ts +4 -4
- package/lib/components/cascader/index.d.ts +20 -4
- package/lib/components/cascader/src/index.vue.d.ts +10 -2
- package/lib/components/config-provider/index.d.ts +3 -3
- package/lib/components/config-provider/src/config-provider.d.ts +4 -4
- package/lib/components/config-provider/src/config-provider.js +4 -1
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/image/index.d.ts +181 -10
- package/lib/components/image/src/image.vue.d.ts +181 -10
- package/lib/components/image/src/image2.js +63 -82
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/index.d.ts +98 -22
- package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
- package/lib/components/image-viewer/src/image-viewer2.js +178 -214
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/index.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +1 -1
- package/lib/components/input/src/input2.js +2 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
- package/lib/components/message/src/message-method.js +1 -1
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/scrollbar/index.d.ts +4 -0
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/lib/components/scrollbar/src/scrollbar2.js +9 -0
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +1 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/table/index.d.ts +1 -4
- package/lib/components/table/src/composables/use-scrollbar.d.ts +1 -4
- package/lib/components/table/src/composables/use-scrollbar.js +5 -3
- package/lib/components/table/src/composables/use-scrollbar.js.map +1 -1
- package/lib/components/table/src/config.d.ts +1 -1
- package/lib/components/table/src/config.js +11 -3
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +4 -3
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js +1 -0
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-column/render-helper.js +11 -1
- package/lib/components/table/src/table-column/render-helper.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +1 -4
- package/lib/components/tabs/index.d.ts +74 -18
- package/lib/components/tabs/index.js +1 -1
- package/lib/components/tabs/index.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.d.ts +4 -2
- package/lib/components/tabs/src/tab-bar.js +2 -2
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue.d.ts +38 -2
- package/lib/components/tabs/src/tab-bar2.js +28 -24
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +12 -100
- package/lib/components/tabs/src/tab-nav.js +67 -83
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.d.ts +2 -0
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +29 -0
- package/lib/components/tabs/src/tab-pane2.js +31 -31
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +24 -24
- package/lib/components/tabs/src/tabs.js +51 -39
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/tag/index.d.ts +8 -4
- package/lib/components/tag/src/tag.d.ts +2 -1
- package/lib/components/tag/src/tag.js +6 -2
- package/lib/components/tag/src/tag.js.map +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +8 -4
- package/lib/components/tag/src/tag2.js +3 -2
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/time-select/index.d.ts +10 -10
- package/lib/components/time-select/src/time-select.js +4 -2
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
- package/lib/components/tooltip-v2/index.d.ts +578 -0
- package/lib/components/tooltip-v2/index.js +21 -0
- package/lib/components/tooltip-v2/index.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow.d.ts +7 -3
- package/lib/components/tooltip-v2/src/arrow.js +11 -2
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
- package/lib/components/tooltip-v2/src/arrow2.js +21 -8
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/common.d.ts +19 -0
- package/lib/components/tooltip-v2/src/common.js +24 -0
- package/lib/components/tooltip-v2/src/common.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.d.ts +7 -4
- package/lib/components/tooltip-v2/src/content.js +12 -3
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.vue.d.ts +42 -13
- package/lib/components/tooltip-v2/src/content2.js +58 -25
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.vue.d.ts +14 -0
- package/lib/components/tooltip-v2/src/root2.js +9 -4
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.d.ts +27 -19
- package/lib/components/tooltip-v2/src/tooltip.js +16 -3
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
- package/lib/components/tooltip-v2/src/tooltip2.js +37 -11
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
- package/lib/components/tooltip-v2/src/trigger2.js +9 -6
- package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js +2 -1
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden.js +3 -1
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/defaults.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +3 -3
- package/lib/hooks/use-floating/index.js +6 -5
- package/lib/hooks/use-floating/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/locale/index.d.ts +1 -0
- package/lib/locale/index.js +2 -0
- package/lib/locale/index.js.map +1 -1
- package/lib/locale/lang/az.d.ts +125 -0
- package/lib/locale/lang/az.js +131 -0
- package/lib/locale/lang/az.js.map +1 -0
- package/lib/locales.js +2 -0
- package/lib/locales.js.map +1 -1
- package/lib/make-installer.d.ts +1 -1
- package/lib/tokens/index.js +1 -0
- package/lib/tokens/index.js.map +1 -1
- package/lib/tokens/tooltip-v2.d.ts +6 -0
- package/lib/tokens/tooltip-v2.js +2 -0
- package/lib/tokens/tooltip-v2.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 +6 -6
- package/tags.json +1 -1
- package/theme-chalk/el-avatar.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-tag.css +1 -1
- package/theme-chalk/el-tooltip-v2.css +1 -0
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/avatar.scss +10 -2
- package/theme-chalk/src/common/var.scss +1 -0
- package/theme-chalk/src/index.scss +1 -0
- package/theme-chalk/src/input.scss +0 -2
- package/theme-chalk/src/tag.scss +3 -0
- package/theme-chalk/src/tooltip-v2.scss +91 -0
- package/theme-chalk/src/var.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon><close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><arrow-left /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\n <el-icon><arrow-right /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <zoom-out />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <zoom-in />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <refresh-left />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <refresh-right />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n effectScope,\n markRaw,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { isNumber, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport ElIcon from '@element-plus/components/icon'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isFirefox } from '@element-plus/utils'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport default defineComponent({\n name: 'ElImageViewer',\n components: {\n ElIcon,\n Close,\n ArrowLeft,\n ArrowRight,\n ZoomOut,\n ZoomIn,\n RefreshLeft,\n RefreshRight,\n },\n props: imageViewerProps,\n emits: imageViewerEmits,\n\n setup(props, { emit }) {\n const { t } = useLocale()\n const ns = useNamespace('image-viewer')\n const { nextZIndex } = useZIndex()\n const wrapper = ref<HTMLDivElement>()\n const imgRefs = ref<any[]>([])\n\n const scopeEventListener = effectScope()\n\n const loading = ref(true)\n const index = ref(props.initialIndex)\n const mode = ref(Mode.CONTAIN)\n const transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n })\n\n const isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n })\n\n const isFirst = computed(() => {\n return index.value === 0\n })\n\n const isLast = computed(() => {\n return index.value === props.urlList.length - 1\n })\n\n const currentImg = computed(() => {\n return props.urlList[index.value]\n })\n\n const imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n })\n\n const computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n })\n\n function hide() {\n unregisterEventListener()\n emit('close')\n }\n\n function registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n }\n\n function unregisterEventListener() {\n scopeEventListener.stop()\n }\n\n function handleImgLoad() {\n loading.value = false\n }\n\n function handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n }\n\n function handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(\n document,\n 'mousemove',\n dragHandler\n )\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n }\n\n function reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n }\n\n function toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n }\n\n function prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n }\n\n function next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n }\n\n function handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 1.4,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < 7) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n }\n\n watch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n })\n\n watch(index, (val) => {\n reset()\n emit('switch', val)\n })\n\n onMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n })\n\n return {\n index,\n wrapper,\n imgRefs,\n isSingle,\n isFirst,\n isLast,\n currentImg,\n imgStyle,\n mode,\n computedZIndex,\n handleActions,\n prev,\n next,\n hide,\n toggleMode,\n handleImgLoad,\n handleImgError,\n handleMouseDown,\n ns,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Teleport","_createVNode","_Transition","_withCtx","_createElementVNode","_normalizeClass","_normalizeStyle","_withModifiers","_createCommentVNode","_createElementBlock","_Fragment","_resolveDynamicComponent","_renderList","_withDirectives","_vShow","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon><Close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><ArrowLeft /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\n <el-icon><ArrowRight /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <ZoomOut />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <ZoomIn />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <RefreshLeft />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <RefreshRight />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </div>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n effectScope,\n markRaw,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { isNumber, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isFirefox } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type { ImageViewerAction } from './image-viewer'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\n\ndefineOptions({\n name: 'ElImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\nconst emit = defineEmits(imageViewerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<any[]>([])\n\nconst scopeEventListener = effectScope()\n\nconst loading = ref(true)\nconst index = ref(props.initialIndex)\nconst mode = ref(Mode.CONTAIN)\nconst transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\n\nconst isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n})\n\nconst isFirst = computed(() => {\n return index.value === 0\n})\n\nconst isLast = computed(() => {\n return index.value === props.urlList.length - 1\n})\n\nconst currentImg = computed(() => {\n return props.urlList[index.value]\n})\n\nconst imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === Mode.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n})\n\nconst computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n})\n\nfunction hide() {\n unregisterEventListener()\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, mousewheelHandler)\n })\n}\n\nfunction unregisterEventListener() {\n scopeEventListener.stop()\n}\n\nfunction handleImgLoad() {\n loading.value = false\n}\n\nfunction handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n}\n\nfunction handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(document, 'mousemove', dragHandler)\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value) return\n\n const modeNames = Object.keys(Mode)\n const modeValues = Object.values(Mode)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = Mode[modeNames[nextIndex]]\n reset()\n}\n\nfunction prev() {\n if (isFirst.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value - 1 + len) % len\n}\n\nfunction next() {\n if (isLast.value && !props.infinite) return\n const len = props.urlList.length\n index.value = (index.value + 1) % len\n}\n\nfunction handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 1.4,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < 7) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n break\n }\n transform.value.enableTransition = enableTransition\n}\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n})\n\nwatch(index, (val) => {\n reset()\n emit('switch', val)\n})\n\nonMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n})\n</script>\n"],"names":[],"mappings":"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"}
|
package/es/components/index.mjs
CHANGED
|
@@ -139,7 +139,7 @@ export { spaceProps } from './space/src/space.mjs';
|
|
|
139
139
|
export { useSpace } from './space/src/use-space.mjs';
|
|
140
140
|
export { switchEmits, switchProps } from './switch/src/switch.mjs';
|
|
141
141
|
export { tabsEmits, tabsProps } from './tabs/src/tabs.mjs';
|
|
142
|
-
export {
|
|
142
|
+
export { tabBarProps } from './tabs/src/tab-bar.mjs';
|
|
143
143
|
export { tabNavProps } from './tabs/src/tab-nav.mjs';
|
|
144
144
|
export { tabPaneProps } from './tabs/src/tab-pane.mjs';
|
|
145
145
|
export { tagEmits, tagProps } from './tag/src/tag.mjs';
|
|
@@ -109,6 +109,7 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
109
109
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
110
110
|
validateState: import("vue").ComputedRef<string>;
|
|
111
111
|
validateIcon: import("vue").ComputedRef<any>;
|
|
112
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
112
113
|
containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
113
114
|
textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
114
115
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -170,7 +171,6 @@ export declare const ElInput: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
170
171
|
color: string;
|
|
171
172
|
}>> & Record<string, any>;
|
|
172
173
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
173
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
174
174
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
175
175
|
"update:modelValue": (value: string) => boolean;
|
|
176
176
|
input: (value: string) => boolean;
|
|
@@ -110,6 +110,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
110
110
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
111
111
|
validateState: import("vue").ComputedRef<string>;
|
|
112
112
|
validateIcon: import("vue").ComputedRef<any>;
|
|
113
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
113
114
|
containerStyle: import("vue").ComputedRef<StyleValue>;
|
|
114
115
|
textareaStyle: import("vue").ComputedRef<StyleValue>;
|
|
115
116
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -171,7 +172,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
171
172
|
color: string;
|
|
172
173
|
}>> & Record<string, any>;
|
|
173
174
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
174
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
175
175
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
176
176
|
"update:modelValue": (value: string) => boolean;
|
|
177
177
|
input: (value: string) => boolean;
|
|
@@ -2,7 +2,7 @@ import { defineComponent, getCurrentInstance, useAttrs, useSlots, shallowRef, re
|
|
|
2
2
|
import { isClient } from '@vueuse/core';
|
|
3
3
|
import { isNil } from 'lodash-unified';
|
|
4
4
|
import { ElIcon } from '../../icon/index.mjs';
|
|
5
|
-
import {
|
|
5
|
+
import { View, Hide, CircleClose } from '@element-plus/icons-vue';
|
|
6
6
|
import '../../../utils/index.mjs';
|
|
7
7
|
import '../../../hooks/index.mjs';
|
|
8
8
|
import '../../../constants/index.mjs';
|
|
@@ -57,6 +57,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
57
57
|
});
|
|
58
58
|
const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || "");
|
|
59
59
|
const validateIcon = computed(() => ValidateComponentsMap[validateState.value]);
|
|
60
|
+
const passwordIcon = computed(() => passwordVisible.value ? View : Hide);
|
|
60
61
|
const containerStyle = computed(() => [
|
|
61
62
|
rawAttrs.style,
|
|
62
63
|
props.inputStyle
|
|
@@ -338,7 +339,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
338
339
|
onClick: handlePasswordVisible
|
|
339
340
|
}, {
|
|
340
341
|
default: withCtx(() => [
|
|
341
|
-
|
|
342
|
+
(openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon))))
|
|
342
343
|
]),
|
|
343
344
|
_: 1
|
|
344
345
|
}, 8, ["class"])) : createCommentVNode("v-if", true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <icon-view />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize),\n nsInput.is('disabled', inputDisabled),\n nsInput.is('exceed', inputExceed),\n {\n [nsInput.b('group')]: $slots.prepend || $slots.append,\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n [nsInput.m('prefix')]: $slots.prefix || prefixIcon,\n [nsInput.m('suffix')]:\n $slots.suffix || suffixIcon || clearable || showPassword,\n [nsInput.m('suffix--password-clear')]: showClear && showPwdVisible,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n :class=\"nsTextarea.e('inner')\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} from '@element-plus/icons-vue'\nimport {\n ValidateComponentsMap,\n debugWarn,\n isKorean,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { calcTextareaHeight } from './utils'\nimport { inputEmits, inputProps } from './input'\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\ndefineOptions({\n name: 'ElInput',\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst instance = getCurrentInstance()!\nconst rawAttrs = useRawAttrs()\nconst slots = useSlots()\n\nconst attrs = useAttrs()\nconst { form, formItem } = useFormItem()\nconst inputSize = useSize()\nconst inputDisabled = useDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst focused = ref(false)\nconst hovering = ref(false)\nconst isComposing = ref(false)\nconst passwordVisible = ref(false)\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => ValidateComponentsMap[validateState.value])\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n props.inputStyle,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => Array.from(nativeInputValue.value).length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n}\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n}\n\nconst calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList = Array.from(\n (el as Element).querySelectorAll<HTMLSpanElement>(`.${nsInput.e(place)}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.${nsInput.be('group', pendant)}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n}\n\nconst updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n}\n\nconst handleInput = async (event: Event) => {\n const { value } = event.target as TargetElement\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) return\n\n emit(UPDATE_MODEL_EVENT, value)\n emit('input', value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n setNativeInputValue()\n}\n\nconst handleChange = (event: Event) => {\n emit('change', (event.target as TargetElement).value)\n}\n\nconst handleCompositionStart = (event: CompositionEvent) => {\n emit('compositionstart', event)\n isComposing.value = true\n}\n\nconst handleCompositionUpdate = (event: CompositionEvent) => {\n emit('compositionupdate', event)\n const text = (event.target as HTMLInputElement)?.value\n const lastCharacter = text[text.length - 1] || ''\n isComposing.value = !isKorean(lastCharacter)\n}\n\nconst handleCompositionEnd = (event: CompositionEvent) => {\n emit('compositionend', event)\n if (isComposing.value) {\n isComposing.value = false\n handleInput(event)\n }\n}\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n focus()\n}\n\nconst focus = async () => {\n // see: https://github.com/ElemeFE/element/issues/18573\n await nextTick()\n _ref.value?.focus()\n}\n\nconst blur = () => _ref.value?.blur()\n\nconst handleFocus = (event: FocusEvent) => {\n focused.value = true\n emit('focus', event)\n}\n\nconst handleBlur = (event: FocusEvent) => {\n focused.value = false\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit('change', '')\n emit('clear')\n emit('input', '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n }\n)\n\nonMounted(async () => {\n setNativeInputValue()\n updateIconOffset()\n await nextTick()\n resizeTextarea()\n})\n\nonUpdated(async () => {\n await nextTick()\n updateIconOffset()\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide"],"mappings":"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"}
|
|
@@ -124,6 +124,7 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
124
124
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
125
125
|
validateState: import("vue").ComputedRef<string>;
|
|
126
126
|
validateIcon: import("vue").ComputedRef<any>;
|
|
127
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
127
128
|
containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
128
129
|
textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
129
130
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -185,7 +186,6 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
185
186
|
color: string;
|
|
186
187
|
}>> & Record<string, any>;
|
|
187
188
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
188
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
189
189
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
190
190
|
"update:modelValue": (value: string) => boolean;
|
|
191
191
|
input: (value: string) => boolean;
|
|
@@ -363,6 +363,7 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
363
363
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
364
364
|
validateState: import("vue").ComputedRef<string>;
|
|
365
365
|
validateIcon: import("vue").ComputedRef<any>;
|
|
366
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
366
367
|
containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
367
368
|
textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
368
369
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -424,7 +425,6 @@ export declare const ElInputNumber: import("element-plus/es/utils").SFCWithInsta
|
|
|
424
425
|
color: string;
|
|
425
426
|
}>> & Record<string, any>;
|
|
426
427
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
427
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
428
428
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
429
429
|
"update:modelValue": (value: string) => boolean;
|
|
430
430
|
input: (value: string) => boolean;
|
|
@@ -125,6 +125,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
125
125
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
126
126
|
validateState: import("vue").ComputedRef<string>;
|
|
127
127
|
validateIcon: import("vue").ComputedRef<any>;
|
|
128
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
128
129
|
containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
129
130
|
textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
130
131
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -186,7 +187,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
186
187
|
color: string;
|
|
187
188
|
}>> & Record<string, any>;
|
|
188
189
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
189
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
190
190
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
191
191
|
"update:modelValue": (value: string) => boolean;
|
|
192
192
|
input: (value: string) => boolean;
|
|
@@ -364,6 +364,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
364
364
|
needStatusIcon: import("vue").ComputedRef<boolean>;
|
|
365
365
|
validateState: import("vue").ComputedRef<string>;
|
|
366
366
|
validateIcon: import("vue").ComputedRef<any>;
|
|
367
|
+
passwordIcon: import("vue").ComputedRef<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
367
368
|
containerStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
368
369
|
textareaStyle: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
369
370
|
nativeInputValue: import("vue").ComputedRef<string>;
|
|
@@ -425,7 +426,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
425
426
|
color: string;
|
|
426
427
|
}>> & Record<string, any>;
|
|
427
428
|
CircleClose: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
428
|
-
IconView: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
429
429
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
430
430
|
"update:modelValue": (value: string) => boolean;
|
|
431
431
|
input: (value: string) => boolean;
|
|
@@ -25,7 +25,7 @@ const message = function(options = {}, context) {
|
|
|
25
25
|
});
|
|
26
26
|
if (tempVm) {
|
|
27
27
|
tempVm.vm.component.props.repeatNum += 1;
|
|
28
|
-
tempVm.vm.component.props.type = options == null ? void 0 : options.type;
|
|
28
|
+
tempVm.vm.component.props.type = (options == null ? void 0 : options.type) || "info";
|
|
29
29
|
return {
|
|
30
30
|
close: () => vm.component.proxy.visible = false
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-method.mjs","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isObject,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageTypes } from './message'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type { Message, MessageFn, MessageProps, MessageQueue } from './message'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } =\n function (options = {}, context?: AppContext | null) {\n if (!isClient) return { close: () => undefined }\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n if (\n !isVNode(options) &&\n isObject(options) &&\n options.grouping &&\n !isVNode(options.message) &&\n instances.length\n ) {\n const tempVm: any = instances.find(\n (item) =>\n `${item.vm.props?.message ?? ''}` ===\n `${(options as any).message ?? ''}`\n )\n if (tempVm) {\n tempVm.vm.component!.props.repeatNum += 1\n tempVm.vm.component!.props.type = options?.type\n return {\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{\n visible: boolean\n }>\n ).visible = false),\n }\n }\n }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n let verticalOffset = options.offset || 20\n instances.forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<MessageProps> = {\n zIndex: nextZIndex(),\n ...options,\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n container.className = `container_${id}`\n\n const messageContent = props.message\n const vm = createVNode(\n MessageConstructor,\n props,\n isFunction(messageContent)\n ? { default: messageContent }\n : isVNode(messageContent)\n ? { default: () => messageContent }\n : null\n )\n\n vm.appContext = context || message._context\n\n // clean message element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n }\n\n render(vm, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n instances.push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n }\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext?: AppContext | null) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return message(\n {\n ...options,\n type,\n },\n appContext\n )\n }\n})\n\nexport function close(id: string, userOnClose?: (vm: VNode) => void): void {\n const idx = instances.findIndex(({ vm }) => id === vm.component!.props.id)\n if (idx === -1) return\n\n const { vm } = instances[idx]\n if (!vm) return\n userOnClose?.(vm)\n\n const removedHeight = vm.el!.offsetHeight\n instances.splice(idx, 1)\n\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n Number.parseInt(instances[i].vm.el!.style['top'], 10) - removedHeight - 16\n\n instances[i].vm.component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i].vm.component\n ;(instance?.proxy as any)?.close()\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-method.mjs","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isObject,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageTypes } from './message'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type { Message, MessageFn, MessageProps, MessageQueue } from './message'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } =\n function (options = {}, context?: AppContext | null) {\n if (!isClient) return { close: () => undefined }\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n if (\n !isVNode(options) &&\n isObject(options) &&\n options.grouping &&\n !isVNode(options.message) &&\n instances.length\n ) {\n const tempVm: any = instances.find(\n (item) =>\n `${item.vm.props?.message ?? ''}` ===\n `${(options as any).message ?? ''}`\n )\n if (tempVm) {\n tempVm.vm.component!.props.repeatNum += 1\n tempVm.vm.component!.props.type = options?.type || 'info'\n return {\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{\n visible: boolean\n }>\n ).visible = false),\n }\n }\n }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n let verticalOffset = options.offset || 20\n instances.forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<MessageProps> = {\n zIndex: nextZIndex(),\n ...options,\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n container.className = `container_${id}`\n\n const messageContent = props.message\n const vm = createVNode(\n MessageConstructor,\n props,\n isFunction(messageContent)\n ? { default: messageContent }\n : isVNode(messageContent)\n ? { default: () => messageContent }\n : null\n )\n\n vm.appContext = context || message._context\n\n // clean message element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n }\n\n render(vm, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n instances.push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n }\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext?: AppContext | null) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return message(\n {\n ...options,\n type,\n },\n appContext\n )\n }\n})\n\nexport function close(id: string, userOnClose?: (vm: VNode) => void): void {\n const idx = instances.findIndex(({ vm }) => id === vm.component!.props.id)\n if (idx === -1) return\n\n const { vm } = instances[idx]\n if (!vm) return\n userOnClose?.(vm)\n\n const removedHeight = vm.el!.offsetHeight\n instances.splice(idx, 1)\n\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n Number.parseInt(instances[i].vm.el!.style['top'], 10) - removedHeight - 16\n\n instances[i].vm.component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i].vm.component\n ;(instance?.proxy as any)?.close()\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,10 @@ export declare const ElScrollbar: import("element-plus/es/utils").SFCWithInstall
|
|
|
38
38
|
style: import("vue").ComputedRef<import("vue").StyleValue>;
|
|
39
39
|
update: () => void;
|
|
40
40
|
handleScroll: () => void;
|
|
41
|
+
scrollTo: {
|
|
42
|
+
(xCord: number, yCord?: number | undefined): void;
|
|
43
|
+
(options: ScrollToOptions): void;
|
|
44
|
+
};
|
|
41
45
|
setScrollTop: (value: number) => void;
|
|
42
46
|
setScrollLeft: (value: number) => void;
|
|
43
47
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -39,6 +39,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
39
39
|
style: import("vue").ComputedRef<StyleValue>;
|
|
40
40
|
update: () => void;
|
|
41
41
|
handleScroll: () => void;
|
|
42
|
+
scrollTo: {
|
|
43
|
+
(xCord: number, yCord?: number | undefined): void;
|
|
44
|
+
(options: ScrollToOptions): void;
|
|
45
|
+
};
|
|
42
46
|
setScrollTop: (value: number) => void;
|
|
43
47
|
setScrollLeft: (value: number) => void;
|
|
44
48
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -8,6 +8,7 @@ import { scrollbarProps, scrollbarEmits } from './scrollbar.mjs';
|
|
|
8
8
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
9
9
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
10
10
|
import { addUnit } from '../../../utils/vue/style.mjs';
|
|
11
|
+
import { isObject } from '@vue/shared';
|
|
11
12
|
import { debugWarn } from '../../../utils/error.mjs';
|
|
12
13
|
import { scrollbarContextKey } from '../../../tokens/scrollbar.mjs';
|
|
13
14
|
|
|
@@ -52,6 +53,13 @@ const _sfc_main = defineComponent({
|
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
};
|
|
56
|
+
function scrollTo(arg1, arg2) {
|
|
57
|
+
if (isObject(arg1)) {
|
|
58
|
+
wrap$.value.scrollTo(arg1);
|
|
59
|
+
} else if (isNumber(arg1) && isNumber(arg2)) {
|
|
60
|
+
wrap$.value.scrollTo(arg1, arg2);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
55
63
|
const setScrollTop = (value) => {
|
|
56
64
|
if (!isNumber(value)) {
|
|
57
65
|
debugWarn(SCOPE, "value must be a number");
|
|
@@ -123,6 +131,7 @@ const _sfc_main = defineComponent({
|
|
|
123
131
|
style,
|
|
124
132
|
update,
|
|
125
133
|
handleScroll,
|
|
134
|
+
scrollTo,
|
|
126
135
|
setScrollTop,
|
|
127
136
|
setScrollLeft
|
|
128
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport Bar from './bar.vue'\n\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\nexport default defineComponent({\n name: 'ElScrollbar',\n components: {\n Bar,\n },\n props: scrollbarProps,\n emits: scrollbarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('scrollbar')\n\n let stopResizeObserver: (() => void) | undefined = undefined\n let stopResizeListener: (() => void) | undefined = undefined\n\n const scrollbar$ = ref<HTMLDivElement>()\n const wrap$ = ref<HTMLDivElement>()\n const resize$ = ref<HTMLElement>()\n\n const sizeWidth = ref('0')\n const sizeHeight = ref('0')\n const barRef = ref()\n const moveX = ref(0)\n const moveY = ref(0)\n const ratioY = ref(1)\n const ratioX = ref(1)\n const SCOPE = 'ElScrollbar'\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n })\n\n const handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n }\n\n const setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n }\n\n const setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n }\n\n const update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n }\n\n watch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n )\n\n watch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n )\n\n provide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n )\n\n onMounted(() => {\n if (!props.native) nextTick(() => update())\n })\n\n return {\n ns,\n scrollbar$,\n wrap$,\n resize$,\n barRef,\n moveX,\n moveY,\n ratioX,\n ratioY,\n sizeWidth,\n sizeHeight,\n style,\n update,\n handleScroll,\n setScrollTop,\n setScrollLeft,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_resolveDynamicComponent","_withCtx","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scrollbar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber, isObject } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport Bar from './bar.vue'\n\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\nexport default defineComponent({\n name: 'ElScrollbar',\n components: {\n Bar,\n },\n props: scrollbarProps,\n emits: scrollbarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('scrollbar')\n\n let stopResizeObserver: (() => void) | undefined = undefined\n let stopResizeListener: (() => void) | undefined = undefined\n\n const scrollbar$ = ref<HTMLDivElement>()\n const wrap$ = ref<HTMLDivElement>()\n const resize$ = ref<HTMLElement>()\n\n const sizeWidth = ref('0')\n const sizeHeight = ref('0')\n const barRef = ref()\n const moveX = ref(0)\n const moveY = ref(0)\n const ratioY = ref(1)\n const ratioX = ref(1)\n const SCOPE = 'ElScrollbar'\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n })\n\n const handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n }\n\n function scrollTo(xCord: number, yCord?: number): void\n function scrollTo(options: ScrollToOptions): void\n function scrollTo(arg1: unknown, arg2?: number) {\n if (isObject(arg1)) {\n wrap$.value!.scrollTo(arg1)\n } else if (isNumber(arg1) && isNumber(arg2)) {\n wrap$.value!.scrollTo(arg1, arg2)\n }\n }\n\n const setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n }\n\n const setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n }\n\n const update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n }\n\n watch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n )\n\n watch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n )\n\n provide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n )\n\n onMounted(() => {\n if (!props.native) nextTick(() => update())\n })\n\n return {\n ns,\n scrollbar$,\n wrap$,\n resize$,\n barRef,\n moveX,\n moveY,\n ratioX,\n ratioY,\n sizeWidth,\n sizeHeight,\n style,\n update,\n handleScroll,\n scrollTo,\n setScrollTop,\n setScrollLeft,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_resolveDynamicComponent","_withCtx","_renderSlot"],"mappings":"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"}
|
|
@@ -527,7 +527,7 @@ const useSelect = (props, emit) => {
|
|
|
527
527
|
if (hasModelValue.value) {
|
|
528
528
|
states.previousValue = props.modelValue;
|
|
529
529
|
const options = filteredOptions.value;
|
|
530
|
-
const selectedItemIndex = options.findIndex((option) => getValueKey(option) === props.modelValue);
|
|
530
|
+
const selectedItemIndex = options.findIndex((option) => getValueKey(option) === getValueKey(props.modelValue));
|
|
531
531
|
if (~selectedItemIndex) {
|
|
532
532
|
states.selectedLabel = options[selectedItemIndex].label;
|
|
533
533
|
updateHoveringIndex(selectedItemIndex);
|