element-plus 2.2.26 → 2.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1226 -907
- package/dist/index.full.min.js +17 -17
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +22 -22
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1219 -908
- 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 +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +168 -0
- package/dist/locale/ckb.min.js +2 -0
- package/dist/locale/ckb.min.js.map +1 -0
- package/dist/locale/ckb.min.mjs +2 -0
- package/dist/locale/ckb.min.mjs.map +1 -0
- package/dist/locale/ckb.mjs +160 -0
- 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 +6 -1
- package/es/component.mjs.map +1 -1
- package/es/components/autocomplete/index.mjs +2 -2
- package/es/components/autocomplete/src/autocomplete.mjs +71 -353
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs +353 -71
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/breadcrumb/index.d.ts +1 -0
- package/es/components/breadcrumb/index.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item.d.ts +0 -2
- package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb.d.ts +0 -2
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/instances.d.ts +4 -0
- package/es/components/breadcrumb/src/instances.mjs +2 -0
- package/es/components/breadcrumb/src/instances.mjs.map +1 -0
- package/es/components/card/index.d.ts +1 -0
- package/es/components/card/index.mjs.map +1 -1
- package/es/components/card/src/card.d.ts +0 -2
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/instance.d.ts +2 -0
- package/es/components/card/src/instance.mjs +2 -0
- package/es/components/card/src/instance.mjs.map +1 -0
- package/es/components/cascader/index.d.ts +12039 -2895
- package/es/components/cascader/index.mjs +3 -1
- package/es/components/cascader/index.mjs.map +1 -1
- package/es/components/cascader/src/cascader.d.ts +64 -0
- package/es/components/cascader/src/cascader.mjs +69 -0
- package/es/components/cascader/src/cascader.mjs.map +1 -0
- package/{lib/components/cascader/src/index.vue.d.ts → es/components/cascader/src/cascader.vue.d.ts} +5121 -550
- package/es/components/cascader/src/cascader2.mjs +611 -0
- package/es/components/cascader/src/cascader2.mjs.map +1 -0
- package/es/components/cascader/src/instances.d.ts +2 -0
- package/es/components/cascader/src/instances.mjs +2 -0
- package/es/components/cascader/src/instances.mjs.map +1 -0
- package/es/components/cascader-panel/index.d.ts +28 -32
- package/es/components/cascader-panel/src/config.d.ts +7 -9
- package/es/components/cascader-panel/src/config.mjs +9 -5
- package/es/components/cascader-panel/src/config.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/index.vue.d.ts +14 -16
- package/es/components/cascader-panel/src/menu.mjs +1 -1
- package/es/components/cascader-panel/src/node.mjs +116 -209
- package/es/components/cascader-panel/src/node.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs +209 -116
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +1 -1
- package/es/components/checkbox/index.d.ts +24 -20
- package/es/components/checkbox/src/checkbox-button.mjs +10 -7
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
- package/es/components/checkbox/src/checkbox-group.d.ts +3 -2
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
- package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.d.ts +42 -0
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.vue.d.ts +2 -0
- package/es/components/checkbox/src/checkbox2.mjs +21 -15
- package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +1 -0
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +1 -0
- package/es/components/color-picker/src/color-picker2.mjs +8 -5
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/countdown/index.d.ts +134 -0
- package/es/components/countdown/index.mjs +9 -0
- package/es/components/countdown/index.mjs.map +1 -0
- package/es/components/countdown/src/countdown.d.ts +23 -0
- package/es/components/countdown/src/countdown.mjs +29 -0
- package/es/components/countdown/src/countdown.mjs.map +1 -0
- package/es/components/countdown/src/countdown.vue.d.ts +133 -0
- package/es/components/countdown/src/countdown2.mjs +80 -0
- package/es/components/countdown/src/countdown2.mjs.map +1 -0
- package/es/components/countdown/src/utils.d.ts +3 -0
- package/es/components/countdown/src/utils.mjs +32 -0
- package/es/components/countdown/src/utils.mjs.map +1 -0
- package/es/components/countdown/style/css.d.ts +2 -0
- package/es/components/countdown/style/css.mjs +3 -0
- package/es/components/countdown/style/css.mjs.map +1 -0
- package/es/components/countdown/style/index.d.ts +2 -0
- package/es/components/countdown/style/index.mjs +3 -0
- package/es/components/countdown/style/index.mjs.map +1 -0
- package/es/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +3 -3
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +4 -4
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +7 -7
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
- package/es/components/date-picker/src/panel-utils.d.ts +19 -19
- package/es/components/focus-trap/src/focus-trap.mjs +1 -1
- package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
- package/es/components/focus-trap/src/utils.mjs +0 -4
- package/es/components/focus-trap/src/utils.mjs.map +1 -1
- package/es/components/image/index.d.ts +8 -0
- package/es/components/image/src/image.d.ts +1 -0
- package/es/components/image/src/image.mjs +4 -0
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +8 -0
- package/es/components/image/src/image2.mjs +2 -1
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/index.d.ts +4 -0
- package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/es/components/image-viewer/src/image-viewer.mjs +4 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
- package/es/components/image-viewer/src/image-viewer2.mjs +3 -3
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.d.ts +2 -0
- package/es/components/index.mjs +7 -2
- package/es/components/index.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +4 -4
- package/es/components/input-number/src/input-number.d.ts +1 -1
- package/es/components/input-number/src/input-number.mjs +1 -1
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue.d.ts +4 -4
- package/es/components/input-number/src/input-number2.mjs +1 -1
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +21 -50
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link2.mjs +50 -21
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +1 -1
- package/es/components/notification/src/notify.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +1 -1
- package/es/components/pagination/src/pagination.mjs +8 -7
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/select/index.d.ts +1 -1
- package/es/components/select/src/select.vue.d.ts +1 -1
- package/es/components/select-v2/index.d.ts +2 -2
- package/es/components/select-v2/src/select.vue.d.ts +1 -1
- package/es/components/slider/index.d.ts +4 -4
- package/es/components/slider/src/slider.vue.d.ts +4 -4
- package/es/components/statistic/index.d.ts +76 -0
- package/es/components/statistic/index.mjs +9 -0
- package/es/components/statistic/index.mjs.map +1 -0
- package/es/components/statistic/src/statistic.d.ts +21 -0
- package/es/components/statistic/src/statistic.mjs +31 -0
- package/es/components/statistic/src/statistic.mjs.map +1 -0
- package/es/components/statistic/src/statistic.vue.d.ts +75 -0
- package/es/components/statistic/src/statistic2.mjs +76 -0
- package/es/components/statistic/src/statistic2.mjs.map +1 -0
- package/es/components/statistic/style/css.d.ts +2 -0
- package/es/components/statistic/style/css.mjs +3 -0
- package/es/components/statistic/style/css.mjs.map +1 -0
- package/es/components/statistic/style/index.d.ts +2 -0
- package/es/components/statistic/style/index.mjs +3 -0
- package/es/components/statistic/style/index.mjs.map +1 -0
- package/es/components/steps/index.d.ts +16 -16
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/item.vue.d.ts +4 -4
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/steps/src/steps.vue.d.ts +8 -8
- package/es/components/table/index.d.ts +6 -12
- package/es/components/table/src/table/defaults.d.ts +3 -0
- package/es/components/table/src/table/defaults.mjs +1 -0
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table-body/defaults.d.ts +6 -1
- package/es/components/table/src/table-body/defaults.mjs +3 -0
- package/es/components/table/src/table-body/defaults.mjs.map +1 -1
- package/es/components/table/src/table-body/events-helper.d.ts +2 -1
- package/es/components/table/src/table-body/events-helper.mjs +5 -5
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/index.d.ts +6 -0
- package/es/components/table/src/table-body/render-helper.mjs +6 -2
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/defaults.d.ts +3 -4
- package/es/components/table/src/table-column/defaults.mjs +1 -2
- package/es/components/table/src/table-column/defaults.mjs.map +1 -1
- package/es/components/table/src/table-column/index.d.ts +2 -6
- package/es/components/table/src/table-column/index.mjs +1 -1
- package/es/components/table/src/table-column/index.mjs.map +1 -1
- package/es/components/table/src/table.mjs +2 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +2 -0
- package/es/components/table/src/util.d.ts +3 -2
- package/es/components/table/src/util.mjs +58 -34
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs +3 -8
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +2 -2
- package/es/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/es/components/time-select/index.d.ts +6 -6
- package/es/components/time-select/src/time-select.vue.d.ts +3 -3
- package/es/components/transfer/index.d.ts +115 -110
- package/es/components/transfer/src/transfer-panel.d.ts +0 -1
- package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -22
- package/es/components/transfer/src/transfer-panel2.mjs +3 -6
- package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue.d.ts +115 -110
- package/es/components/tree-select/src/cache-options.mjs +9 -2
- package/es/components/tree-select/src/cache-options.mjs.map +1 -1
- package/es/components/tree-v2/index.d.ts +13 -10
- package/es/components/tree-v2/src/tree-node.vue.d.ts +13 -10
- package/es/components/tree-v2/src/tree.vue.d.ts +13 -10
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-popper/index.d.ts +20 -0
- package/es/hooks/use-popper/index.mjs +95 -0
- package/es/hooks/use-popper/index.mjs.map +1 -0
- package/es/index.mjs +8 -2
- package/es/index.mjs.map +1 -1
- package/es/locale/lang/ckb.d.ts +157 -0
- package/es/locale/lang/ckb.mjs +159 -0
- package/es/locale/lang/ckb.mjs.map +1 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/component.js +39 -34
- package/lib/component.js.map +1 -1
- package/lib/components/autocomplete/index.js +2 -2
- package/lib/components/autocomplete/src/autocomplete.js +71 -352
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js +352 -71
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/breadcrumb/index.d.ts +1 -0
- package/lib/components/breadcrumb/index.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item.d.ts +0 -2
- package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb.d.ts +0 -2
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/instances.d.ts +4 -0
- package/lib/components/breadcrumb/src/instances.js +3 -0
- package/lib/components/breadcrumb/src/instances.js.map +1 -0
- package/lib/components/card/index.d.ts +1 -0
- package/lib/components/card/index.js.map +1 -1
- package/lib/components/card/src/card.d.ts +0 -2
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/instance.d.ts +2 -0
- package/lib/components/card/src/instance.js +3 -0
- package/lib/components/card/src/instance.js.map +1 -0
- package/lib/components/cascader/index.d.ts +12039 -2895
- package/lib/components/cascader/index.js +8 -4
- package/lib/components/cascader/index.js.map +1 -1
- package/lib/components/cascader/src/cascader.d.ts +64 -0
- package/lib/components/cascader/src/cascader.js +74 -0
- package/lib/components/cascader/src/cascader.js.map +1 -0
- package/{es/components/cascader/src/index.vue.d.ts → lib/components/cascader/src/cascader.vue.d.ts} +5121 -550
- package/lib/components/cascader/src/cascader2.js +615 -0
- package/lib/components/cascader/src/cascader2.js.map +1 -0
- package/lib/components/cascader/src/instances.d.ts +2 -0
- package/lib/components/cascader/src/instances.js +3 -0
- package/lib/components/cascader/src/instances.js.map +1 -0
- package/lib/components/cascader-panel/index.d.ts +28 -32
- package/lib/components/cascader-panel/src/config.d.ts +7 -9
- package/lib/components/cascader-panel/src/config.js +9 -5
- package/lib/components/cascader-panel/src/config.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/index.vue.d.ts +14 -16
- package/lib/components/cascader-panel/src/menu.js +1 -1
- package/lib/components/cascader-panel/src/node.js +116 -209
- package/lib/components/cascader-panel/src/node.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js +209 -116
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +1 -1
- package/lib/components/checkbox/index.d.ts +24 -20
- package/lib/components/checkbox/src/checkbox-button.js +10 -7
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
- package/lib/components/checkbox/src/checkbox-group.d.ts +3 -2
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
- package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.d.ts +42 -0
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -0
- package/lib/components/checkbox/src/checkbox2.js +20 -14
- package/lib/components/checkbox/src/checkbox2.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +1 -0
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +1 -0
- package/lib/components/color-picker/src/color-picker2.js +8 -5
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/countdown/index.d.ts +134 -0
- package/lib/components/countdown/index.js +16 -0
- package/lib/components/countdown/index.js.map +1 -0
- package/lib/components/countdown/src/countdown.d.ts +23 -0
- package/lib/components/countdown/src/countdown.js +34 -0
- package/lib/components/countdown/src/countdown.js.map +1 -0
- package/lib/components/countdown/src/countdown.vue.d.ts +133 -0
- package/lib/components/countdown/src/countdown2.js +84 -0
- package/lib/components/countdown/src/countdown2.js.map +1 -0
- package/lib/components/countdown/src/utils.d.ts +3 -0
- package/lib/components/countdown/src/utils.js +37 -0
- package/lib/components/countdown/src/utils.js.map +1 -0
- package/lib/components/countdown/style/css.d.ts +2 -0
- package/lib/components/countdown/style/css.js +6 -0
- package/lib/components/countdown/style/css.js.map +1 -0
- package/lib/components/countdown/style/index.d.ts +2 -0
- package/lib/components/countdown/style/index.js +6 -0
- package/lib/components/countdown/style/index.js.map +1 -0
- package/lib/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -2
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +4 -4
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +7 -7
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
- package/lib/components/date-picker/src/panel-utils.d.ts +19 -19
- package/lib/components/focus-trap/src/focus-trap.js +1 -1
- package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
- package/lib/components/focus-trap/src/utils.js +0 -4
- package/lib/components/focus-trap/src/utils.js.map +1 -1
- package/lib/components/image/index.d.ts +8 -0
- package/lib/components/image/src/image.d.ts +1 -0
- package/lib/components/image/src/image.js +4 -0
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +8 -0
- package/lib/components/image/src/image2.js +2 -1
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/index.d.ts +4 -0
- package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/lib/components/image-viewer/src/image-viewer.js +4 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
- package/lib/components/image-viewer/src/image-viewer2.js +3 -3
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +136 -124
- package/lib/components/index.js.map +1 -1
- package/lib/components/input-number/index.d.ts +4 -4
- package/lib/components/input-number/src/input-number.d.ts +1 -1
- package/lib/components/input-number/src/input-number.js +1 -1
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue.d.ts +4 -4
- package/lib/components/input-number/src/input-number2.js +1 -1
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +22 -50
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link2.js +50 -22
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/notification/src/notify.js +1 -1
- package/lib/components/notification/src/notify.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -1
- package/lib/components/pagination/src/pagination.js +8 -7
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/select/index.d.ts +1 -1
- package/lib/components/select/src/select.vue.d.ts +1 -1
- package/lib/components/select-v2/index.d.ts +2 -2
- package/lib/components/select-v2/src/select.vue.d.ts +1 -1
- package/lib/components/slider/index.d.ts +4 -4
- package/lib/components/slider/src/slider.vue.d.ts +4 -4
- package/lib/components/statistic/index.d.ts +76 -0
- package/lib/components/statistic/index.js +15 -0
- package/lib/components/statistic/index.js.map +1 -0
- package/lib/components/statistic/src/statistic.d.ts +21 -0
- package/lib/components/statistic/src/statistic.js +35 -0
- package/lib/components/statistic/src/statistic.js.map +1 -0
- package/lib/components/statistic/src/statistic.vue.d.ts +75 -0
- package/lib/components/statistic/src/statistic2.js +80 -0
- package/lib/components/statistic/src/statistic2.js.map +1 -0
- package/lib/components/statistic/style/css.d.ts +2 -0
- package/lib/components/statistic/style/css.js +6 -0
- package/lib/components/statistic/style/css.js.map +1 -0
- package/lib/components/statistic/style/index.d.ts +2 -0
- package/lib/components/statistic/style/index.js +6 -0
- package/lib/components/statistic/style/index.js.map +1 -0
- package/lib/components/steps/index.d.ts +16 -16
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/item.vue.d.ts +4 -4
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/steps/src/steps.vue.d.ts +8 -8
- package/lib/components/table/index.d.ts +6 -12
- package/lib/components/table/src/table/defaults.d.ts +3 -0
- package/lib/components/table/src/table/defaults.js +1 -0
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table-body/defaults.d.ts +6 -1
- package/lib/components/table/src/table-body/defaults.js +3 -0
- package/lib/components/table/src/table-body/defaults.js.map +1 -1
- package/lib/components/table/src/table-body/events-helper.d.ts +2 -1
- package/lib/components/table/src/table-body/events-helper.js +5 -5
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-body/index.d.ts +6 -0
- package/lib/components/table/src/table-body/render-helper.js +6 -2
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-column/defaults.d.ts +3 -4
- package/lib/components/table/src/table-column/defaults.js +1 -2
- package/lib/components/table/src/table-column/defaults.js.map +1 -1
- package/lib/components/table/src/table-column/index.d.ts +2 -6
- package/lib/components/table/src/table-column/index.js +1 -1
- package/lib/components/table/src/table-column/index.js.map +1 -1
- package/lib/components/table/src/table.js +2 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +2 -0
- package/lib/components/table/src/util.d.ts +3 -2
- package/lib/components/table/src/util.js +59 -35
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js +3 -8
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +2 -2
- package/lib/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/lib/components/time-select/index.d.ts +6 -6
- package/lib/components/time-select/src/time-select.vue.d.ts +3 -3
- package/lib/components/transfer/index.d.ts +115 -110
- package/lib/components/transfer/src/transfer-panel.d.ts +0 -1
- package/lib/components/transfer/src/transfer-panel.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -22
- package/lib/components/transfer/src/transfer-panel2.js +3 -6
- package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue.d.ts +115 -110
- package/lib/components/tree-select/src/cache-options.js +8 -1
- package/lib/components/tree-select/src/cache-options.js.map +1 -1
- package/lib/components/tree-v2/index.d.ts +13 -10
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +13 -10
- package/lib/components/tree-v2/src/tree.vue.d.ts +13 -10
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +47 -45
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-popper/index.d.ts +20 -0
- package/lib/hooks/use-popper/index.js +99 -0
- package/lib/hooks/use-popper/index.js.map +1 -0
- package/lib/index.js +227 -213
- package/lib/index.js.map +1 -1
- package/lib/locale/lang/ckb.d.ts +157 -0
- package/lib/locale/lang/ckb.js +163 -0
- package/lib/locale/lang/ckb.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-cascader.css +1 -1
- package/theme-chalk/el-color-picker.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-statistic.css +1 -0
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/cascader.scss +0 -4
- package/theme-chalk/src/color-picker.scss +16 -2
- package/theme-chalk/src/common/var.scss +14 -1
- package/theme-chalk/src/date-picker/picker.scss +0 -4
- package/theme-chalk/src/index.scss +1 -0
- package/theme-chalk/src/menu.scss +6 -35
- package/theme-chalk/src/select.scss +0 -4
- package/theme-chalk/src/statistic.scss +35 -0
- package/web-types.json +1 -1
- package/es/components/cascader/src/index.mjs +0 -708
- package/es/components/cascader/src/index.mjs.map +0 -1
- package/lib/components/cascader/src/index.js +0 -712
- package/lib/components/cascader/src/index.js.map +0 -1
|
@@ -88,7 +88,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
88
88
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
89
89
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
90
90
|
format: (template?: string | undefined) => string;
|
|
91
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
91
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
92
92
|
valueOf: () => number;
|
|
93
93
|
unix: () => number;
|
|
94
94
|
daysInMonth: () => number;
|
|
@@ -159,7 +159,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
159
159
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
160
160
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
161
161
|
format: (template?: string | undefined) => string;
|
|
162
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
162
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
163
163
|
valueOf: () => number;
|
|
164
164
|
unix: () => number;
|
|
165
165
|
daysInMonth: () => number;
|
|
@@ -233,7 +233,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
233
233
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
234
234
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
235
235
|
format: (template?: string | undefined) => string;
|
|
236
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
236
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
237
237
|
valueOf: () => number;
|
|
238
238
|
unix: () => number;
|
|
239
239
|
daysInMonth: () => number;
|
|
@@ -1115,7 +1115,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
1115
1115
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
1116
1116
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
1117
1117
|
format: (template?: string | undefined) => string;
|
|
1118
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
1118
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
1119
1119
|
valueOf: () => number;
|
|
1120
1120
|
unix: () => number;
|
|
1121
1121
|
daysInMonth: () => number;
|
|
@@ -1185,7 +1185,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
1185
1185
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
1186
1186
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
1187
1187
|
format: (template?: string | undefined) => string;
|
|
1188
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
1188
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
1189
1189
|
valueOf: () => number;
|
|
1190
1190
|
unix: () => number;
|
|
1191
1191
|
daysInMonth: () => number;
|
|
@@ -7662,7 +7662,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
7662
7662
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7663
7663
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7664
7664
|
format: (template?: string | undefined) => string;
|
|
7665
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
7665
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
7666
7666
|
valueOf: () => number;
|
|
7667
7667
|
unix: () => number;
|
|
7668
7668
|
daysInMonth: () => number;
|
|
@@ -7798,7 +7798,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
7798
7798
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7799
7799
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7800
7800
|
format: (template?: string | undefined) => string;
|
|
7801
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
7801
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
7802
7802
|
valueOf: () => number;
|
|
7803
7803
|
unix: () => number;
|
|
7804
7804
|
daysInMonth: () => number;
|
|
@@ -7901,7 +7901,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
7901
7901
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7902
7902
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
7903
7903
|
format: (template?: string | undefined) => string;
|
|
7904
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
7904
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
7905
7905
|
valueOf: () => number;
|
|
7906
7906
|
unix: () => number;
|
|
7907
7907
|
daysInMonth: () => number;
|
|
@@ -8037,7 +8037,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
8037
8037
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8038
8038
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8039
8039
|
format: (template?: string | undefined) => string;
|
|
8040
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
8040
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
8041
8041
|
valueOf: () => number;
|
|
8042
8042
|
unix: () => number;
|
|
8043
8043
|
daysInMonth: () => number;
|
|
@@ -8241,7 +8241,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
8241
8241
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8242
8242
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8243
8243
|
format: (template?: string | undefined) => string;
|
|
8244
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
8244
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
8245
8245
|
valueOf: () => number;
|
|
8246
8246
|
unix: () => number;
|
|
8247
8247
|
daysInMonth: () => number;
|
|
@@ -8312,7 +8312,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
8312
8312
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8313
8313
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8314
8314
|
format: (template?: string | undefined) => string;
|
|
8315
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
8315
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
8316
8316
|
valueOf: () => number;
|
|
8317
8317
|
unix: () => number;
|
|
8318
8318
|
daysInMonth: () => number;
|
|
@@ -8386,7 +8386,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
8386
8386
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8387
8387
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8388
8388
|
format: (template?: string | undefined) => string;
|
|
8389
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
8389
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
8390
8390
|
valueOf: () => number;
|
|
8391
8391
|
unix: () => number;
|
|
8392
8392
|
daysInMonth: () => number;
|
|
@@ -8887,7 +8887,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
8887
8887
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8888
8888
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
8889
8889
|
format: (template?: string | undefined) => string;
|
|
8890
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
8890
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
8891
8891
|
valueOf: () => number;
|
|
8892
8892
|
unix: () => number;
|
|
8893
8893
|
daysInMonth: () => number;
|
|
@@ -9728,7 +9728,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
9728
9728
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
9729
9729
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
9730
9730
|
format: (template?: string | undefined) => string;
|
|
9731
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
9731
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
9732
9732
|
valueOf: () => number;
|
|
9733
9733
|
unix: () => number;
|
|
9734
9734
|
daysInMonth: () => number;
|
|
@@ -9798,7 +9798,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
9798
9798
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
9799
9799
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
9800
9800
|
format: (template?: string | undefined) => string;
|
|
9801
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
9801
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
9802
9802
|
valueOf: () => number;
|
|
9803
9803
|
unix: () => number;
|
|
9804
9804
|
daysInMonth: () => number;
|
|
@@ -16275,7 +16275,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
16275
16275
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16276
16276
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16277
16277
|
format: (template?: string | undefined) => string;
|
|
16278
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
16278
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
16279
16279
|
valueOf: () => number;
|
|
16280
16280
|
unix: () => number;
|
|
16281
16281
|
daysInMonth: () => number;
|
|
@@ -16411,7 +16411,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
16411
16411
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16412
16412
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16413
16413
|
format: (template?: string | undefined) => string;
|
|
16414
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
16414
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
16415
16415
|
valueOf: () => number;
|
|
16416
16416
|
unix: () => number;
|
|
16417
16417
|
daysInMonth: () => number;
|
|
@@ -16514,7 +16514,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
16514
16514
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16515
16515
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16516
16516
|
format: (template?: string | undefined) => string;
|
|
16517
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
16517
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
16518
16518
|
valueOf: () => number;
|
|
16519
16519
|
unix: () => number;
|
|
16520
16520
|
daysInMonth: () => number;
|
|
@@ -16650,7 +16650,7 @@ export declare const getPanel: (type: IDatePickerType) => import("vue").DefineCo
|
|
|
16650
16650
|
startOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16651
16651
|
endOf: (unit: import("dayjs").OpUnitType) => import("dayjs").Dayjs;
|
|
16652
16652
|
format: (template?: string | undefined) => string;
|
|
16653
|
-
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "
|
|
16653
|
+
diff: (date?: string | number | Date | import("dayjs").Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
16654
16654
|
valueOf: () => number;
|
|
16655
16655
|
unix: () => number;
|
|
16656
16656
|
daysInMonth: () => number;
|
|
@@ -218,7 +218,7 @@ const _sfc_main = defineComponent({
|
|
|
218
218
|
trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);
|
|
219
219
|
trapContainer.dispatchEvent(releasedEvent);
|
|
220
220
|
if (!releasedEvent.defaultPrevented && (focusReason.value == "keyboard" || !isFocusCausedByUserEvent())) {
|
|
221
|
-
tryFocus(lastFocusBeforeTrapped != null ? lastFocusBeforeTrapped : document.body
|
|
221
|
+
tryFocus(lastFocusBeforeTrapped != null ? lastFocusBeforeTrapped : document.body);
|
|
222
222
|
}
|
|
223
223
|
trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus);
|
|
224
224
|
focusableStack.remove(focusLayer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-trap.mjs","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n createFocusOutPreventedEvent,\n focusFirstDescendant,\n focusableStack,\n getEdges,\n isFocusCausedByUserEvent,\n obtainAllFocusableElements,\n tryFocus,\n useFocusReason,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n const { focusReason } = useFocusReason()\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n if (!isTabbable) {\n if (currentFocusingEl === container) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n }\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n }\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: FocusEvent) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const relatedTarget = e.relatedTarget as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n\n if (!props.trapped) {\n const isPrevFocusedInTrap =\n relatedTarget && trapContainer.contains(relatedTarget)\n if (!isPrevFocusedInTrap) {\n lastFocusBeforeTrapped = relatedTarget\n }\n }\n\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n // And only reclaim focus if it should currently be trapping\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = trapContainer.contains(\n document.activeElement\n )\n ? lastFocusBeforeTrapped\n : document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n ...FOCUS_AFTER_TRAPPED_OPTS,\n detail: {\n focusReason: focusReason.value,\n },\n })\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n\n if (\n !releasedEvent.defaultPrevented &&\n (focusReason.value == 'keyboard' || !isFocusCausedByUserEvent())\n ) {\n tryFocus(lastFocusBeforeTrapped ?? document.body, true)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus-trap.mjs","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.vue"],"sourcesContent":["<template>\n <slot :handle-keydown=\"onKeydown\" />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useEscapeKeydown } from '@element-plus/hooks'\nimport { isString } from '@element-plus/utils'\nimport {\n createFocusOutPreventedEvent,\n focusFirstDescendant,\n focusableStack,\n getEdges,\n isFocusCausedByUserEvent,\n obtainAllFocusableElements,\n tryFocus,\n useFocusReason,\n} from './utils'\nimport {\n FOCUS_AFTER_RELEASED,\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS,\n FOCUS_TRAP_INJECTION_KEY,\n ON_RELEASE_FOCUS_EVT,\n ON_TRAP_FOCUS_EVT,\n} from './tokens'\n\nimport type { PropType } from 'vue'\nimport type { FocusLayer } from './utils'\n\nexport default defineComponent({\n name: 'ElFocusTrap',\n inheritAttrs: false,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object as PropType<HTMLElement>,\n focusStartEl: {\n type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n default: 'first',\n },\n },\n emits: [\n ON_TRAP_FOCUS_EVT,\n ON_RELEASE_FOCUS_EVT,\n 'focusin',\n 'focusout',\n 'focusout-prevented',\n 'release-requested',\n ],\n setup(props, { emit }) {\n const forwardRef = ref<HTMLElement | undefined>()\n let lastFocusBeforeTrapped: HTMLElement | null\n let lastFocusAfterTrapped: HTMLElement | null\n\n const { focusReason } = useFocusReason()\n\n useEscapeKeydown((event) => {\n if (props.trapped && !focusLayer.paused) {\n emit('release-requested', event)\n }\n })\n\n const focusLayer: FocusLayer = {\n paused: false,\n pause() {\n this.paused = true\n },\n resume() {\n this.paused = false\n },\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (!props.loop && !props.trapped) return\n if (focusLayer.paused) return\n\n const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e\n const { loop } = props\n const isTabbing =\n key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey\n\n const currentFocusingEl = document.activeElement\n if (isTabbing && currentFocusingEl) {\n const container = currentTarget as HTMLElement\n const [first, last] = getEdges(container)\n const isTabbable = first && last\n if (!isTabbable) {\n if (currentFocusingEl === container) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n }\n }\n } else {\n if (!shiftKey && currentFocusingEl === last) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(first, true)\n }\n } else if (\n shiftKey &&\n [first, container].includes(currentFocusingEl as HTMLElement)\n ) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n e.preventDefault()\n if (loop) tryFocus(last, true)\n }\n }\n }\n }\n }\n\n provide(FOCUS_TRAP_INJECTION_KEY, {\n focusTrapRef: forwardRef,\n onKeydown,\n })\n\n watch(\n () => props.focusTrapEl,\n (focusTrapEl) => {\n if (focusTrapEl) {\n forwardRef.value = focusTrapEl\n }\n },\n { immediate: true }\n )\n\n watch([forwardRef], ([forwardRef], [oldForwardRef]) => {\n if (forwardRef) {\n forwardRef.addEventListener('keydown', onKeydown)\n forwardRef.addEventListener('focusin', onFocusIn)\n forwardRef.addEventListener('focusout', onFocusOut)\n }\n if (oldForwardRef) {\n oldForwardRef.removeEventListener('keydown', onKeydown)\n oldForwardRef.removeEventListener('focusin', onFocusIn)\n oldForwardRef.removeEventListener('focusout', onFocusOut)\n }\n })\n\n const trapOnFocus = (e: Event) => {\n emit(ON_TRAP_FOCUS_EVT, e)\n }\n const releaseOnFocus = (e: Event) => emit(ON_RELEASE_FOCUS_EVT, e)\n\n const onFocusIn = (e: FocusEvent) => {\n const trapContainer = unref(forwardRef)\n if (!trapContainer) return\n\n const target = e.target as HTMLElement | null\n const relatedTarget = e.relatedTarget as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n\n if (!props.trapped) {\n const isPrevFocusedInTrap =\n relatedTarget && trapContainer.contains(relatedTarget)\n if (!isPrevFocusedInTrap) {\n lastFocusBeforeTrapped = relatedTarget\n }\n }\n\n if (isFocusedInTrap) emit('focusin', e)\n\n if (focusLayer.paused) return\n\n if (props.trapped) {\n if (isFocusedInTrap) {\n lastFocusAfterTrapped = target\n } else {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }\n\n const onFocusOut = (e: Event) => {\n const trapContainer = unref(forwardRef)\n if (focusLayer.paused || !trapContainer) return\n\n if (props.trapped) {\n const relatedTarget = (e as FocusEvent)\n .relatedTarget as HTMLElement | null\n if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {\n // Give embedded focus layer time to pause this layer before reclaiming focus\n // And only reclaim focus if it should currently be trapping\n setTimeout(() => {\n if (!focusLayer.paused && props.trapped) {\n const focusoutPreventedEvent = createFocusOutPreventedEvent({\n focusReason: focusReason.value,\n })\n emit('focusout-prevented', focusoutPreventedEvent)\n if (!focusoutPreventedEvent.defaultPrevented) {\n tryFocus(lastFocusAfterTrapped, true)\n }\n }\n }, 0)\n }\n } else {\n const target = e.target as HTMLElement | null\n const isFocusedInTrap = target && trapContainer.contains(target)\n if (!isFocusedInTrap) emit('focusout', e)\n }\n }\n\n async function startTrap() {\n // Wait for forwardRef to resolve\n await nextTick()\n const trapContainer = unref(forwardRef)\n if (trapContainer) {\n focusableStack.push(focusLayer)\n const prevFocusedElement = trapContainer.contains(\n document.activeElement\n )\n ? lastFocusBeforeTrapped\n : document.activeElement\n lastFocusBeforeTrapped = prevFocusedElement as HTMLElement | null\n const isPrevFocusContained = trapContainer.contains(prevFocusedElement)\n if (!isPrevFocusContained) {\n const focusEvent = new Event(\n FOCUS_AFTER_TRAPPED,\n FOCUS_AFTER_TRAPPED_OPTS\n )\n trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n trapContainer.dispatchEvent(focusEvent)\n if (!focusEvent.defaultPrevented) {\n nextTick(() => {\n let focusStartEl = props.focusStartEl\n if (!isString(focusStartEl)) {\n tryFocus(focusStartEl)\n if (document.activeElement !== focusStartEl) {\n focusStartEl = 'first'\n }\n }\n if (focusStartEl === 'first') {\n focusFirstDescendant(\n obtainAllFocusableElements(trapContainer),\n true\n )\n }\n if (\n document.activeElement === prevFocusedElement ||\n focusStartEl === 'container'\n ) {\n tryFocus(trapContainer)\n }\n })\n }\n }\n }\n }\n\n function stopTrap() {\n const trapContainer = unref(forwardRef)\n\n if (trapContainer) {\n trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus)\n\n const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {\n ...FOCUS_AFTER_TRAPPED_OPTS,\n detail: {\n focusReason: focusReason.value,\n },\n })\n trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus)\n trapContainer.dispatchEvent(releasedEvent)\n\n if (\n !releasedEvent.defaultPrevented &&\n (focusReason.value == 'keyboard' || !isFocusCausedByUserEvent())\n ) {\n tryFocus(lastFocusBeforeTrapped ?? document.body)\n }\n\n trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, trapOnFocus)\n focusableStack.remove(focusLayer)\n }\n }\n\n onMounted(() => {\n if (props.trapped) {\n startTrap()\n }\n\n watch(\n () => props.trapped,\n (trapped) => {\n if (trapped) {\n startTrap()\n } else {\n stopTrap()\n }\n }\n )\n })\n\n onBeforeUnmount(() => {\n if (props.trapped) {\n stopTrap()\n }\n })\n\n return {\n onKeydown,\n }\n },\n})\n</script>\n"],"names":["_renderSlot"],"mappings":"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"}
|
|
@@ -54,10 +54,6 @@ const tryFocus = (element, shouldSelect) => {
|
|
|
54
54
|
element.focus({ preventScroll: true });
|
|
55
55
|
lastAutomatedFocusTimestamp.value = window.performance.now();
|
|
56
56
|
if (element !== prevFocusedElement && isSelectable(element) && shouldSelect) {
|
|
57
|
-
if (element.tagName === "INPUT") {
|
|
58
|
-
element.setSelectionRange(element.value.length, element.value.length);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
57
|
element.select();
|
|
62
58
|
}
|
|
63
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/focus-trap/src/utils.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, ref } from 'vue'\nimport { FOCUSOUT_PREVENTED, FOCUSOUT_PREVENTED_OPTS } from './tokens'\n\nconst focusReason = ref<'pointer' | 'keyboard'>()\nconst lastUserFocusTimestamp = ref<number>(0)\nconst lastAutomatedFocusTimestamp = ref<number>(0)\nlet focusReasonUserCount = 0\n\nexport type FocusLayer = {\n paused: boolean\n pause: () => void\n resume: () => void\n}\n\nexport type FocusStack = FocusLayer[]\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n const nodes: HTMLElement[] = []\n const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (\n node: Element & {\n disabled: boolean\n hidden: boolean\n type: string\n tabIndex: number\n }\n ) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden'\n if (node.disabled || node.hidden || isHiddenInput)\n return NodeFilter.FILTER_SKIP\n return node.tabIndex >= 0 || node === document.activeElement\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP\n },\n })\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement)\n\n return nodes\n}\n\nexport const getVisibleElement = (\n elements: HTMLElement[],\n container: HTMLElement\n) => {\n for (const element of elements) {\n if (!isHidden(element, container)) return element\n }\n}\n\nexport const isHidden = (element: HTMLElement, container: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return false\n if (getComputedStyle(element).visibility === 'hidden') return true\n\n while (element) {\n if (container && element === container) return false\n if (getComputedStyle(element).display === 'none') return true\n element = element.parentElement as HTMLElement\n }\n\n return false\n}\n\nexport const getEdges = (container: HTMLElement) => {\n const focusable = obtainAllFocusableElements(container)\n const first = getVisibleElement(focusable, container)\n const last = getVisibleElement(focusable.reverse(), container)\n return [first, last]\n}\n\nconst isSelectable = (\n element: any\n): element is HTMLInputElement & { select: () => void } => {\n return element instanceof HTMLInputElement && 'select' in element\n}\n\nexport const tryFocus = (\n element?: HTMLElement | { focus: () => void } | null,\n shouldSelect?: boolean\n) => {\n if (element && element.focus) {\n const prevFocusedElement = document.activeElement\n element.focus({ preventScroll: true })\n lastAutomatedFocusTimestamp.value = window.performance.now()\n if (\n element !== prevFocusedElement &&\n isSelectable(element) &&\n shouldSelect\n ) {\n if (element.tagName === 'INPUT') {\n element.setSelectionRange(element.value.length, element.value.length)\n return\n }\n element.select()\n }\n }\n}\n\nfunction removeFromStack<T>(list: T[], item: T) {\n const copy = [...list]\n\n const idx = list.indexOf(item)\n\n if (idx !== -1) {\n copy.splice(idx, 1)\n }\n return copy\n}\n\nconst createFocusableStack = () => {\n let stack = [] as FocusStack\n\n const push = (layer: FocusLayer) => {\n const currentLayer = stack[0]\n\n if (currentLayer && layer !== currentLayer) {\n currentLayer.pause()\n }\n\n stack = removeFromStack(stack, layer)\n stack.unshift(layer)\n }\n\n const remove = (layer: FocusLayer) => {\n stack = removeFromStack(stack, layer)\n stack[0]?.resume?.()\n }\n\n return {\n push,\n remove,\n }\n}\n\nexport const focusFirstDescendant = (\n elements: HTMLElement[],\n shouldSelect = false\n) => {\n const prevFocusedElement = document.activeElement\n for (const element of elements) {\n tryFocus(element, shouldSelect)\n if (document.activeElement !== prevFocusedElement) return\n }\n}\n\nexport const focusableStack = createFocusableStack()\n\nexport const isFocusCausedByUserEvent = (): boolean => {\n return lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value\n}\n\nconst notifyFocusReasonPointer = () => {\n focusReason.value = 'pointer'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nconst notifyFocusReasonKeydown = () => {\n focusReason.value = 'keyboard'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nexport const useFocusReason = (): {\n focusReason: typeof focusReason\n lastUserFocusTimestamp: typeof lastUserFocusTimestamp\n lastAutomatedFocusTimestamp: typeof lastAutomatedFocusTimestamp\n} => {\n onMounted(() => {\n if (focusReasonUserCount === 0) {\n document.addEventListener('mousedown', notifyFocusReasonPointer)\n document.addEventListener('touchstart', notifyFocusReasonPointer)\n document.addEventListener('keydown', notifyFocusReasonKeydown)\n }\n focusReasonUserCount++\n })\n\n onBeforeUnmount(() => {\n focusReasonUserCount--\n if (focusReasonUserCount <= 0) {\n document.removeEventListener('mousedown', notifyFocusReasonPointer)\n document.removeEventListener('touchstart', notifyFocusReasonPointer)\n document.removeEventListener('keydown', notifyFocusReasonKeydown)\n }\n })\n\n return {\n focusReason,\n lastUserFocusTimestamp,\n lastAutomatedFocusTimestamp,\n }\n}\n\nexport const createFocusOutPreventedEvent = (\n detail: CustomEventInit['detail']\n) => {\n return new CustomEvent(FOCUSOUT_PREVENTED, {\n ...FOCUSOUT_PREVENTED_OPTS,\n detail,\n })\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/focus-trap/src/utils.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, ref } from 'vue'\nimport { FOCUSOUT_PREVENTED, FOCUSOUT_PREVENTED_OPTS } from './tokens'\n\nconst focusReason = ref<'pointer' | 'keyboard'>()\nconst lastUserFocusTimestamp = ref<number>(0)\nconst lastAutomatedFocusTimestamp = ref<number>(0)\nlet focusReasonUserCount = 0\n\nexport type FocusLayer = {\n paused: boolean\n pause: () => void\n resume: () => void\n}\n\nexport type FocusStack = FocusLayer[]\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n const nodes: HTMLElement[] = []\n const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (\n node: Element & {\n disabled: boolean\n hidden: boolean\n type: string\n tabIndex: number\n }\n ) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden'\n if (node.disabled || node.hidden || isHiddenInput)\n return NodeFilter.FILTER_SKIP\n return node.tabIndex >= 0 || node === document.activeElement\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP\n },\n })\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement)\n\n return nodes\n}\n\nexport const getVisibleElement = (\n elements: HTMLElement[],\n container: HTMLElement\n) => {\n for (const element of elements) {\n if (!isHidden(element, container)) return element\n }\n}\n\nexport const isHidden = (element: HTMLElement, container: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return false\n if (getComputedStyle(element).visibility === 'hidden') return true\n\n while (element) {\n if (container && element === container) return false\n if (getComputedStyle(element).display === 'none') return true\n element = element.parentElement as HTMLElement\n }\n\n return false\n}\n\nexport const getEdges = (container: HTMLElement) => {\n const focusable = obtainAllFocusableElements(container)\n const first = getVisibleElement(focusable, container)\n const last = getVisibleElement(focusable.reverse(), container)\n return [first, last]\n}\n\nconst isSelectable = (\n element: any\n): element is HTMLInputElement & { select: () => void } => {\n return element instanceof HTMLInputElement && 'select' in element\n}\n\nexport const tryFocus = (\n element?: HTMLElement | { focus: () => void } | null,\n shouldSelect?: boolean\n) => {\n if (element && element.focus) {\n const prevFocusedElement = document.activeElement\n element.focus({ preventScroll: true })\n lastAutomatedFocusTimestamp.value = window.performance.now()\n if (\n element !== prevFocusedElement &&\n isSelectable(element) &&\n shouldSelect\n ) {\n element.select()\n }\n }\n}\n\nfunction removeFromStack<T>(list: T[], item: T) {\n const copy = [...list]\n\n const idx = list.indexOf(item)\n\n if (idx !== -1) {\n copy.splice(idx, 1)\n }\n return copy\n}\n\nconst createFocusableStack = () => {\n let stack = [] as FocusStack\n\n const push = (layer: FocusLayer) => {\n const currentLayer = stack[0]\n\n if (currentLayer && layer !== currentLayer) {\n currentLayer.pause()\n }\n\n stack = removeFromStack(stack, layer)\n stack.unshift(layer)\n }\n\n const remove = (layer: FocusLayer) => {\n stack = removeFromStack(stack, layer)\n stack[0]?.resume?.()\n }\n\n return {\n push,\n remove,\n }\n}\n\nexport const focusFirstDescendant = (\n elements: HTMLElement[],\n shouldSelect = false\n) => {\n const prevFocusedElement = document.activeElement\n for (const element of elements) {\n tryFocus(element, shouldSelect)\n if (document.activeElement !== prevFocusedElement) return\n }\n}\n\nexport const focusableStack = createFocusableStack()\n\nexport const isFocusCausedByUserEvent = (): boolean => {\n return lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value\n}\n\nconst notifyFocusReasonPointer = () => {\n focusReason.value = 'pointer'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nconst notifyFocusReasonKeydown = () => {\n focusReason.value = 'keyboard'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nexport const useFocusReason = (): {\n focusReason: typeof focusReason\n lastUserFocusTimestamp: typeof lastUserFocusTimestamp\n lastAutomatedFocusTimestamp: typeof lastAutomatedFocusTimestamp\n} => {\n onMounted(() => {\n if (focusReasonUserCount === 0) {\n document.addEventListener('mousedown', notifyFocusReasonPointer)\n document.addEventListener('touchstart', notifyFocusReasonPointer)\n document.addEventListener('keydown', notifyFocusReasonKeydown)\n }\n focusReasonUserCount++\n })\n\n onBeforeUnmount(() => {\n focusReasonUserCount--\n if (focusReasonUserCount <= 0) {\n document.removeEventListener('mousedown', notifyFocusReasonPointer)\n document.removeEventListener('touchstart', notifyFocusReasonPointer)\n document.removeEventListener('keydown', notifyFocusReasonKeydown)\n }\n })\n\n return {\n focusReason,\n lastUserFocusTimestamp,\n lastAutomatedFocusTimestamp,\n }\n}\n\nexport const createFocusOutPreventedEvent = (\n detail: CustomEventInit['detail']\n) => {\n return new CustomEvent(FOCUSOUT_PREVENTED, {\n ...FOCUSOUT_PREVENTED_OPTS,\n detail,\n })\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
26
26
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
27
27
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
28
28
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
29
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
29
30
|
}, {
|
|
30
31
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
31
32
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
@@ -55,6 +56,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
55
56
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
56
57
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
57
58
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
59
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
58
60
|
}>> & {
|
|
59
61
|
onClose?: (() => any) | undefined;
|
|
60
62
|
onShow?: (() => any) | undefined;
|
|
@@ -125,6 +127,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
125
127
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
126
128
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
127
129
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
130
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
128
131
|
}, {
|
|
129
132
|
modes: Record<"CONTAIN" | "ORIGINAL", import("..").ImageViewerMode>;
|
|
130
133
|
mousewheelEventName: string;
|
|
@@ -141,6 +144,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
141
144
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
142
145
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
143
146
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
147
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
144
148
|
}>> & {
|
|
145
149
|
onClose?: (() => any) | undefined;
|
|
146
150
|
onSwitch?: ((index: number) => any) | undefined;
|
|
@@ -283,6 +287,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
283
287
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
284
288
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
285
289
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
290
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
286
291
|
}>> & {
|
|
287
292
|
onClose?: (() => any) | undefined;
|
|
288
293
|
onSwitch?: ((index: number) => any) | undefined;
|
|
@@ -292,6 +297,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
292
297
|
readonly initialIndex: number;
|
|
293
298
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
294
299
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
300
|
+
readonly zoomRate: number;
|
|
295
301
|
readonly urlList: string[];
|
|
296
302
|
}>> & Record<string, any>;
|
|
297
303
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -328,6 +334,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
328
334
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
329
335
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
330
336
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
337
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
331
338
|
}>> & {
|
|
332
339
|
onClose?: (() => any) | undefined;
|
|
333
340
|
onShow?: (() => any) | undefined;
|
|
@@ -344,6 +351,7 @@ export declare const ElImage: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
344
351
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
345
352
|
readonly previewSrcList: string[];
|
|
346
353
|
readonly previewTeleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
354
|
+
readonly zoomRate: number;
|
|
347
355
|
}>> & Record<string, any>;
|
|
348
356
|
export default ElImage;
|
|
349
357
|
export * from './src/image';
|
|
@@ -27,6 +27,7 @@ export declare const imageProps: {
|
|
|
27
27
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
28
28
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
29
29
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
30
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
30
31
|
};
|
|
31
32
|
export declare type ImageProps = ExtractPropTypes<typeof imageProps>;
|
|
32
33
|
export declare const imageEmits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.mjs","sources":["../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageProps = buildProps({\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n src: {\n type: String,\n default: '',\n },\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n loading: {\n type: String,\n values: ['eager', 'lazy'],\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n previewTeleported: {\n type: Boolean,\n default: false,\n },\n zIndex: {\n type: Number,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n load: (evt: Event) => evt instanceof Event,\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n show: () => true,\n}\nexport type ImageEmits = typeof imageEmits\n"],"names":[],"mappings":";;;;;AAMY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;AAClE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACrC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACtC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB;;;;"}
|
|
1
|
+
{"version":3,"file":"image.mjs","sources":["../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageProps = buildProps({\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n src: {\n type: String,\n default: '',\n },\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n loading: {\n type: String,\n values: ['eager', 'lazy'],\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n previewTeleported: {\n type: Boolean,\n default: false,\n },\n zIndex: {\n type: Number,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n} as const)\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n load: (evt: Event) => evt instanceof Event,\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n show: () => true,\n}\nexport type ImageEmits = typeof imageEmits\n"],"names":[],"mappings":";;;;;AAMY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;AAClE,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACrC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK;AACtC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB;;;;"}
|
|
@@ -27,6 +27,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
27
27
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
28
28
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
29
29
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
30
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
30
31
|
}, {
|
|
31
32
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
32
33
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
@@ -56,6 +57,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
56
57
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
57
58
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
58
59
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
60
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
59
61
|
}>> & {
|
|
60
62
|
onClose?: (() => any) | undefined;
|
|
61
63
|
onShow?: (() => any) | undefined;
|
|
@@ -126,6 +128,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
126
128
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
127
129
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
128
130
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
131
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
129
132
|
}, {
|
|
130
133
|
modes: Record<"CONTAIN" | "ORIGINAL", import("element-plus/es/components/image-viewer").ImageViewerMode>;
|
|
131
134
|
mousewheelEventName: string;
|
|
@@ -142,6 +145,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
142
145
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
143
146
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
144
147
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
148
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
145
149
|
}>> & {
|
|
146
150
|
onClose?: (() => any) | undefined;
|
|
147
151
|
onSwitch?: ((index: number) => any) | undefined;
|
|
@@ -284,6 +288,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
284
288
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
285
289
|
readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
286
290
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
291
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
287
292
|
}>> & {
|
|
288
293
|
onClose?: (() => any) | undefined;
|
|
289
294
|
onSwitch?: ((index: number) => any) | undefined;
|
|
@@ -293,6 +298,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
293
298
|
readonly initialIndex: number;
|
|
294
299
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
295
300
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
301
|
+
readonly zoomRate: number;
|
|
296
302
|
readonly urlList: string[];
|
|
297
303
|
}>> & Record<string, any>;
|
|
298
304
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -329,6 +335,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
329
335
|
readonly initialIndex: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
330
336
|
readonly infinite: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
331
337
|
readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
338
|
+
readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
|
|
332
339
|
}>> & {
|
|
333
340
|
onClose?: (() => any) | undefined;
|
|
334
341
|
onShow?: (() => any) | undefined;
|
|
@@ -345,5 +352,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
345
352
|
readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
346
353
|
readonly previewSrcList: string[];
|
|
347
354
|
readonly previewTeleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
355
|
+
readonly zoomRate: number;
|
|
348
356
|
}>;
|
|
349
357
|
export default _default;
|
|
@@ -200,6 +200,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
200
200
|
"z-index": _ctx.zIndex,
|
|
201
201
|
"initial-index": unref(imageIndex),
|
|
202
202
|
infinite: _ctx.infinite,
|
|
203
|
+
"zoom-rate": _ctx.zoomRate,
|
|
203
204
|
"url-list": _ctx.previewSrcList,
|
|
204
205
|
"hide-on-click-modal": _ctx.hideOnClickModal,
|
|
205
206
|
teleported: _ctx.previewTeleported,
|
|
@@ -213,7 +214,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
213
214
|
])) : createCommentVNode("v-if", true)
|
|
214
215
|
]),
|
|
215
216
|
_: 3
|
|
216
|
-
}, 8, ["z-index", "initial-index", "infinite", "url-list", "hide-on-click-modal", "teleported", "close-on-press-escape"])) : createCommentVNode("v-if", true)
|
|
217
|
+
}, 8, ["z-index", "initial-index", "infinite", "zoom-rate", "url-list", "hide-on-click-modal", "teleported", "close-on-press-escape"])) : createCommentVNode("v-if", true)
|
|
217
218
|
], 64)) : createCommentVNode("v-if", true)
|
|
218
219
|
], 6);
|
|
219
220
|
};
|