@element-plus/nightly 0.0.20251118 → 0.0.20251119
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +13 -7
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +13 -7
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +129 -24
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix2.mjs +24 -129
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +96 -40
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +40 -96
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/anchor/index.mjs +2 -2
- package/es/components/anchor/src/anchor.mjs +207 -40
- package/es/components/anchor/src/anchor.mjs.map +1 -1
- package/es/components/anchor/src/anchor2.mjs +40 -207
- package/es/components/anchor/src/anchor2.mjs.map +1 -1
- package/es/components/avatar/index.mjs +2 -2
- package/es/components/avatar/src/avatar.mjs +65 -31
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs +31 -65
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/backtop/index.mjs +2 -2
- package/es/components/backtop/src/backtop.mjs +53 -21
- package/es/components/backtop/src/backtop.mjs.map +1 -1
- package/es/components/backtop/src/backtop2.mjs +21 -53
- package/es/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/date-table.mjs +89 -31
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +31 -89
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/src/use-date-table.mjs +1 -1
- package/es/components/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel-item.mjs +7 -69
- package/es/components/carousel/src/carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item2.mjs +69 -7
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/check-tag/index.mjs +2 -2
- package/es/components/check-tag/src/check-tag.mjs +37 -14
- package/es/components/check-tag/src/check-tag.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs +14 -37
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.mjs +2 -2
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/src/form.mjs +54 -161
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form2.mjs +161 -54
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/index.mjs +21 -21
- package/es/components/input/src/input2.mjs +2 -2
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown.mjs +166 -15
- package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown2.mjs +15 -166
- package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs +1 -1
- package/es/components/menu/index.mjs +4 -4
- package/es/components/menu/src/menu-item-group.mjs +4 -33
- package/es/components/menu/src/menu-item-group.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs +33 -4
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/menu/src/menu-item.mjs +15 -101
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +101 -15
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.mjs +7 -58
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper2.mjs +58 -7
- package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
- package/es/components/pagination/src/components/next.mjs +18 -35
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/next2.mjs +35 -18
- package/es/components/pagination/src/components/next2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +3 -1
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popover/src/popover.mjs +1 -1
- package/es/components/popper/index.mjs +4 -4
- package/es/components/popper/src/popper.mjs +22 -32
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper2.mjs +32 -22
- package/es/components/popper/src/popper2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +31 -133
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +133 -31
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-group.mjs +86 -51
- package/es/components/radio/src/radio-group.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs +51 -86
- package/es/components/radio/src/radio-group2.mjs.map +1 -1
- package/es/components/slider/index.mjs +2 -2
- package/es/components/slider/src/slider.mjs +88 -237
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +237 -88
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/steps/index.mjs +4 -4
- package/es/components/steps/src/item.mjs +198 -19
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item2.mjs +19 -198
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/steps/src/steps.mjs +35 -41
- package/es/components/steps/src/steps.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +41 -35
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/tabs/index.mjs +2 -2
- package/es/components/tabs/src/tab-pane.mjs +16 -85
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane2.mjs +85 -16
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/time-select/index.mjs +2 -2
- package/es/components/time-select/src/time-select.mjs +64 -134
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select2.mjs +134 -64
- package/es/components/time-select/src/time-select2.mjs.map +1 -1
- package/es/components/tooltip/index.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +2 -2
- package/es/components/tooltip/src/tooltip2.mjs +1 -1
- package/es/components/tooltip/src/trigger.mjs +81 -16
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/src/trigger2.mjs +16 -81
- package/es/components/tooltip/src/trigger2.mjs.map +1 -1
- package/es/components/tour/src/mask.mjs +18 -76
- package/es/components/tour/src/mask.mjs.map +1 -1
- package/es/components/tour/src/mask2.mjs +76 -18
- package/es/components/tour/src/mask2.mjs.map +1 -1
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/tree-v2/src/composables/useTree.d.ts +2 -0
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-list.mjs +25 -175
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs +175 -25
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +1 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs +3 -1
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/builders/build-list.d.ts +2 -0
- package/es/components/virtual-list/src/builders/build-list.mjs +3 -1
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -0
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -0
- package/es/index.mjs +21 -21
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +129 -25
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix2.js +25 -129
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +95 -41
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +41 -95
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/anchor/index.js +2 -2
- package/lib/components/anchor/src/anchor.js +206 -40
- package/lib/components/anchor/src/anchor.js.map +1 -1
- package/lib/components/anchor/src/anchor2.js +40 -206
- package/lib/components/anchor/src/anchor2.js.map +1 -1
- package/lib/components/avatar/index.js +2 -2
- package/lib/components/avatar/src/avatar.js +65 -32
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js +32 -65
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/backtop/index.js +2 -2
- package/lib/components/backtop/src/backtop.js +53 -22
- package/lib/components/backtop/src/backtop.js.map +1 -1
- package/lib/components/backtop/src/backtop2.js +22 -53
- package/lib/components/backtop/src/backtop2.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/date-table.js +89 -35
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +35 -89
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/src/use-date-table.js +1 -1
- package/lib/components/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel-item.js +7 -69
- package/lib/components/carousel/src/carousel-item.js.map +1 -1
- package/lib/components/carousel/src/carousel-item2.js +69 -7
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/check-tag/index.js +2 -2
- package/lib/components/check-tag/src/check-tag.js +37 -15
- package/lib/components/check-tag/src/check-tag.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js +15 -37
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.js +2 -2
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/src/form.js +55 -160
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form2.js +160 -55
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/index.js +21 -21
- package/lib/components/input/src/input2.js +2 -2
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown.js +166 -16
- package/lib/components/mention/src/mention-dropdown.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown2.js +16 -166
- package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
- package/lib/components/mention/src/mention2.js +1 -1
- package/lib/components/menu/index.js +4 -4
- package/lib/components/menu/src/menu-item-group.js +4 -33
- package/lib/components/menu/src/menu-item-group.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js +33 -4
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/menu/src/menu-item.js +16 -101
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +101 -16
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.js +7 -58
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/jumper2.js +58 -7
- package/lib/components/pagination/src/components/jumper2.js.map +1 -1
- package/lib/components/pagination/src/components/next.js +18 -35
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/next2.js +35 -18
- package/lib/components/pagination/src/components/next2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js +3 -1
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popover/src/popover.js +1 -1
- package/lib/components/popper/index.js +4 -4
- package/lib/components/popper/src/popper.js +25 -32
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper2.js +32 -25
- package/lib/components/popper/src/popper2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +32 -133
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +133 -32
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-group.js +86 -53
- package/lib/components/radio/src/radio-group.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js +53 -86
- package/lib/components/radio/src/radio-group2.js.map +1 -1
- package/lib/components/slider/index.js +2 -2
- package/lib/components/slider/src/slider.js +89 -237
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider2.js +237 -89
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/steps/index.js +4 -4
- package/lib/components/steps/src/item.js +198 -19
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item2.js +19 -198
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/steps/src/steps.js +36 -41
- package/lib/components/steps/src/steps.js.map +1 -1
- package/lib/components/steps/src/steps2.js +41 -36
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/tabs/index.js +2 -2
- package/lib/components/tabs/src/tab-pane.js +16 -85
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane2.js +85 -16
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/time-select/index.js +2 -2
- package/lib/components/time-select/src/time-select.js +64 -139
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select2.js +139 -64
- package/lib/components/time-select/src/time-select2.js.map +1 -1
- package/lib/components/tooltip/index.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +2 -2
- package/lib/components/tooltip/src/tooltip2.js +1 -1
- package/lib/components/tooltip/src/trigger.js +81 -16
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/src/trigger2.js +16 -81
- package/lib/components/tooltip/src/trigger2.js.map +1 -1
- package/lib/components/tour/src/mask.js +18 -76
- package/lib/components/tour/src/mask.js.map +1 -1
- package/lib/components/tour/src/mask2.js +76 -18
- package/lib/components/tour/src/mask2.js.map +1 -1
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/tree-v2/src/composables/useTree.d.ts +2 -0
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-list.js +26 -175
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js +175 -26
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload2.js +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.js +3 -1
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -0
- package/lib/components/virtual-list/src/builders/build-list.js +3 -1
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -0
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -0
- package/lib/index.js +21 -21
- 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-rate.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/cascader.scss +3 -0
- package/theme-chalk/src/rate.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1,60 +1,167 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { defineComponent, ref, reactive, computed, watch, provide, toRefs, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
|
|
2
|
+
import { formContextKey } from './constants.mjs';
|
|
3
|
+
import { formProps, formEmits } from './form.mjs';
|
|
4
|
+
import { useFormLabelWidth, filterFields } from './utils.mjs';
|
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
6
|
+
import { useFormSize } from './hooks/use-form-common-props.mjs';
|
|
7
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
8
|
+
import { debugWarn } from '../../../utils/error.mjs';
|
|
9
|
+
import { isFunction } from '@vue/shared';
|
|
5
10
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
values: componentSizes
|
|
10
|
-
},
|
|
11
|
-
disabled: Boolean
|
|
11
|
+
const COMPONENT_NAME = "ElForm";
|
|
12
|
+
const __default__ = defineComponent({
|
|
13
|
+
name: COMPONENT_NAME
|
|
12
14
|
});
|
|
13
|
-
const
|
|
14
|
-
...
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
15
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
16
|
+
...__default__,
|
|
17
|
+
props: formProps,
|
|
18
|
+
emits: formEmits,
|
|
19
|
+
setup(__props, { expose, emit }) {
|
|
20
|
+
const props = __props;
|
|
21
|
+
const formRef = ref();
|
|
22
|
+
const fields = reactive([]);
|
|
23
|
+
const formSize = useFormSize();
|
|
24
|
+
const ns = useNamespace("form");
|
|
25
|
+
const formClasses = computed(() => {
|
|
26
|
+
const { labelPosition, inline } = props;
|
|
27
|
+
return [
|
|
28
|
+
ns.b(),
|
|
29
|
+
ns.m(formSize.value || "default"),
|
|
30
|
+
{
|
|
31
|
+
[ns.m(`label-${labelPosition}`)]: labelPosition,
|
|
32
|
+
[ns.m("inline")]: inline
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
});
|
|
36
|
+
const getField = (prop) => {
|
|
37
|
+
return filterFields(fields, [prop])[0];
|
|
38
|
+
};
|
|
39
|
+
const addField = (field) => {
|
|
40
|
+
fields.push(field);
|
|
41
|
+
};
|
|
42
|
+
const removeField = (field) => {
|
|
43
|
+
if (field.prop) {
|
|
44
|
+
fields.splice(fields.indexOf(field), 1);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const resetFields = (properties = []) => {
|
|
48
|
+
if (!props.model) {
|
|
49
|
+
debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
filterFields(fields, properties).forEach((field) => field.resetField());
|
|
53
|
+
};
|
|
54
|
+
const clearValidate = (props2 = []) => {
|
|
55
|
+
filterFields(fields, props2).forEach((field) => field.clearValidate());
|
|
56
|
+
};
|
|
57
|
+
const isValidatable = computed(() => {
|
|
58
|
+
const hasModel = !!props.model;
|
|
59
|
+
if (!hasModel) {
|
|
60
|
+
debugWarn(COMPONENT_NAME, "model is required for validate to work.");
|
|
61
|
+
}
|
|
62
|
+
return hasModel;
|
|
63
|
+
});
|
|
64
|
+
const obtainValidateFields = (props2) => {
|
|
65
|
+
if (fields.length === 0)
|
|
66
|
+
return [];
|
|
67
|
+
const filteredFields = filterFields(fields, props2);
|
|
68
|
+
if (!filteredFields.length) {
|
|
69
|
+
debugWarn(COMPONENT_NAME, "please pass correct props!");
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
return filteredFields;
|
|
73
|
+
};
|
|
74
|
+
const validate = async (callback) => validateField(void 0, callback);
|
|
75
|
+
const doValidateField = async (props2 = []) => {
|
|
76
|
+
if (!isValidatable.value)
|
|
77
|
+
return false;
|
|
78
|
+
const fields2 = obtainValidateFields(props2);
|
|
79
|
+
if (fields2.length === 0)
|
|
80
|
+
return true;
|
|
81
|
+
let validationErrors = {};
|
|
82
|
+
for (const field of fields2) {
|
|
83
|
+
try {
|
|
84
|
+
await field.validate("");
|
|
85
|
+
if (field.validateState === "error" && !field.error)
|
|
86
|
+
field.resetField();
|
|
87
|
+
} catch (fields3) {
|
|
88
|
+
validationErrors = {
|
|
89
|
+
...validationErrors,
|
|
90
|
+
...fields3
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (Object.keys(validationErrors).length === 0)
|
|
95
|
+
return true;
|
|
96
|
+
return Promise.reject(validationErrors);
|
|
97
|
+
};
|
|
98
|
+
const validateField = async (modelProps = [], callback) => {
|
|
99
|
+
let result = false;
|
|
100
|
+
const shouldThrow = !isFunction(callback);
|
|
101
|
+
try {
|
|
102
|
+
result = await doValidateField(modelProps);
|
|
103
|
+
if (result === true) {
|
|
104
|
+
await (callback == null ? void 0 : callback(result));
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
} catch (e) {
|
|
108
|
+
if (e instanceof Error)
|
|
109
|
+
throw e;
|
|
110
|
+
const invalidFields = e;
|
|
111
|
+
if (props.scrollToError) {
|
|
112
|
+
if (formRef.value) {
|
|
113
|
+
const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`);
|
|
114
|
+
formItem == null ? void 0 : formItem.scrollIntoView(props.scrollIntoViewOptions);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
!result && await (callback == null ? void 0 : callback(false, invalidFields));
|
|
118
|
+
return shouldThrow && Promise.reject(invalidFields);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const scrollToField = (prop) => {
|
|
122
|
+
var _a;
|
|
123
|
+
const field = getField(prop);
|
|
124
|
+
if (field) {
|
|
125
|
+
(_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
watch(() => props.rules, () => {
|
|
129
|
+
if (props.validateOnRuleChange) {
|
|
130
|
+
validate().catch((err) => debugWarn(err));
|
|
131
|
+
}
|
|
132
|
+
}, { deep: true, flush: "post" });
|
|
133
|
+
provide(formContextKey, reactive({
|
|
134
|
+
...toRefs(props),
|
|
135
|
+
emit,
|
|
136
|
+
resetFields,
|
|
137
|
+
clearValidate,
|
|
138
|
+
validateField,
|
|
139
|
+
getField,
|
|
140
|
+
addField,
|
|
141
|
+
removeField,
|
|
142
|
+
...useFormLabelWidth()
|
|
143
|
+
}));
|
|
144
|
+
expose({
|
|
145
|
+
validate,
|
|
146
|
+
validateField,
|
|
147
|
+
resetFields,
|
|
148
|
+
clearValidate,
|
|
149
|
+
scrollToField,
|
|
150
|
+
getField,
|
|
151
|
+
fields
|
|
152
|
+
});
|
|
153
|
+
return (_ctx, _cache) => {
|
|
154
|
+
return openBlock(), createElementBlock("form", {
|
|
155
|
+
ref_key: "formRef",
|
|
156
|
+
ref: formRef,
|
|
157
|
+
class: normalizeClass(unref(formClasses))
|
|
158
|
+
}, [
|
|
159
|
+
renderSlot(_ctx.$slots, "default")
|
|
160
|
+
], 2);
|
|
161
|
+
};
|
|
53
162
|
}
|
|
54
163
|
});
|
|
55
|
-
|
|
56
|
-
validate: (prop, isValid, message) => (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)
|
|
57
|
-
};
|
|
164
|
+
var Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form.vue"]]);
|
|
58
165
|
|
|
59
|
-
export {
|
|
166
|
+
export { Form as default };
|
|
60
167
|
//# sourceMappingURL=form2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form2.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: definePropType<ScrollIntoViewOptions | boolean>([Object, Boolean]),\n default: true,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormPropsPublic = __ExtractPublicPropTypes<typeof formProps>\n\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\nexport type FormMetaPropsPublic = __ExtractPublicPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;;;AAQY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG,UAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;AACpH;;;;"}
|
|
1
|
+
{"version":3,"file":"form2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return filterFields(fields, [prop])[0]\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error' && !field.error) field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n let result = false\n const shouldThrow = !isFunction(callback)\n try {\n result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`)\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["props","fields","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot"],"mappings":"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"}
|
package/es/components/index.mjs
CHANGED
|
@@ -87,11 +87,11 @@ export { default as FixedSizeGrid } from './virtual-list/src/components/fixed-si
|
|
|
87
87
|
export { default as DynamicSizeGrid } from './virtual-list/src/components/dynamic-size-grid.mjs';
|
|
88
88
|
export { default as ElLoadingDirective, default as vLoading } from './loading/src/directive.mjs';
|
|
89
89
|
export { default as ElLoadingService } from './loading/src/service.mjs';
|
|
90
|
-
export { affixEmits, affixProps } from './affix/src/
|
|
91
|
-
export { alertEffects, alertEmits, alertProps } from './alert/src/
|
|
90
|
+
export { affixEmits, affixProps } from './affix/src/affix2.mjs';
|
|
91
|
+
export { alertEffects, alertEmits, alertProps } from './alert/src/alert2.mjs';
|
|
92
92
|
export { autocompleteEmits, autocompleteProps } from './autocomplete/src/autocomplete.mjs';
|
|
93
|
-
export { avatarEmits, avatarProps } from './avatar/src/
|
|
94
|
-
export { backtopEmits, backtopProps } from './backtop/src/
|
|
93
|
+
export { avatarEmits, avatarProps } from './avatar/src/avatar2.mjs';
|
|
94
|
+
export { backtopEmits, backtopProps } from './backtop/src/backtop2.mjs';
|
|
95
95
|
export { badgeProps } from './badge/src/badge.mjs';
|
|
96
96
|
export { breadcrumbProps } from './breadcrumb/src/breadcrumb.mjs';
|
|
97
97
|
export { breadcrumbItemProps } from './breadcrumb/src/breadcrumb-item.mjs';
|
|
@@ -101,12 +101,12 @@ export { buttonGroupContextKey } from './button/src/constants.mjs';
|
|
|
101
101
|
export { calendarEmits, calendarProps } from './calendar/src/calendar.mjs';
|
|
102
102
|
export { cardContextKey, cardProps } from './card/src/card.mjs';
|
|
103
103
|
export { carouselEmits, carouselProps } from './carousel/src/carousel.mjs';
|
|
104
|
-
export { carouselItemProps } from './carousel/src/carousel-
|
|
104
|
+
export { carouselItemProps } from './carousel/src/carousel-item.mjs';
|
|
105
105
|
export { CAROUSEL_ITEM_NAME, carouselContextKey } from './carousel/src/constants.mjs';
|
|
106
106
|
export { cascaderEmits, cascaderProps } from './cascader/src/cascader.mjs';
|
|
107
107
|
export { CASCADER_PANEL_INJECTION_KEY } from './cascader-panel/src/types.mjs';
|
|
108
108
|
export { CommonProps, DefaultProps, cascaderPanelEmits, cascaderPanelProps, useCascaderConfig } from './cascader-panel/src/config.mjs';
|
|
109
|
-
export { checkTagEmits, checkTagProps } from './check-tag/src/check-
|
|
109
|
+
export { checkTagEmits, checkTagProps } from './check-tag/src/check-tag2.mjs';
|
|
110
110
|
export { checkboxDefaultProps, checkboxGroupEmits, checkboxGroupProps } from './checkbox/src/checkbox-group.mjs';
|
|
111
111
|
export { checkboxEmits, checkboxProps } from './checkbox/src/checkbox.mjs';
|
|
112
112
|
export { checkboxGroupContextKey } from './checkbox/src/constants.mjs';
|
|
@@ -134,7 +134,7 @@ export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
|
|
|
134
134
|
export { FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
|
|
135
135
|
export { DROPDOWN_INJECTION_KEY, DROPDOWN_INSTANCE_INJECTION_KEY } from './dropdown/src/tokens.mjs';
|
|
136
136
|
export { emptyProps } from './empty/src/empty.mjs';
|
|
137
|
-
export { formEmits, formMetaProps, formProps } from './form/src/
|
|
137
|
+
export { formEmits, formMetaProps, formProps } from './form/src/form.mjs';
|
|
138
138
|
export { formItemProps, formItemValidateStates } from './form/src/form-item.mjs';
|
|
139
139
|
export { formContextKey, formItemContextKey } from './form/src/constants.mjs';
|
|
140
140
|
export { useDisabled, useFormDisabled, useFormSize, useSize } from './form/src/hooks/use-form-common-props.mjs';
|
|
@@ -147,8 +147,8 @@ export { inputNumberEmits, inputNumberProps } from './input-number/src/input-num
|
|
|
147
147
|
export { inputTagEmits, inputTagProps } from './input-tag/src/input-tag.mjs';
|
|
148
148
|
export { linkEmits, linkProps } from './link/src/link.mjs';
|
|
149
149
|
export { menuEmits, menuProps } from './menu/src/menu.mjs';
|
|
150
|
-
export { menuItemEmits, menuItemProps } from './menu/src/menu-
|
|
151
|
-
export { menuItemGroupProps } from './menu/src/menu-item-
|
|
150
|
+
export { menuItemEmits, menuItemProps } from './menu/src/menu-item.mjs';
|
|
151
|
+
export { menuItemGroupProps } from './menu/src/menu-item-group.mjs';
|
|
152
152
|
export { subMenuProps } from './menu/src/sub-menu.mjs';
|
|
153
153
|
export { MENU_INJECTION_KEY, SUB_MENU_INJECTION_KEY } from './menu/src/tokens.mjs';
|
|
154
154
|
export { overlayEmits, overlayProps } from './overlay/src/overlay.mjs';
|
|
@@ -156,17 +156,17 @@ export { pageHeaderEmits, pageHeaderProps } from './page-header/src/page-header.
|
|
|
156
156
|
export { paginationEmits, paginationProps } from './pagination/src/pagination.mjs';
|
|
157
157
|
export { elPaginationKey } from './pagination/src/constants.mjs';
|
|
158
158
|
export { popconfirmEmits, popconfirmProps } from './popconfirm/src/popconfirm.mjs';
|
|
159
|
-
export { Effect, popperProps, roleTypes, usePopperProps } from './popper/src/
|
|
160
|
-
export { popperTriggerProps, usePopperTriggerProps } from './popper/src/
|
|
159
|
+
export { Effect, popperProps, roleTypes, usePopperProps } from './popper/src/popper.mjs';
|
|
160
|
+
export { popperTriggerProps, usePopperTriggerProps } from './popper/src/trigger.mjs';
|
|
161
161
|
export { popperContentEmits, popperContentProps, popperCoreConfigProps, usePopperContentEmits, usePopperContentProps, usePopperCoreConfigProps } from './popper/src/content.mjs';
|
|
162
162
|
export { popperArrowProps, usePopperArrowProps } from './popper/src/arrow.mjs';
|
|
163
163
|
export { POPPER_CONTENT_INJECTION_KEY, POPPER_INJECTION_KEY } from './popper/src/constants.mjs';
|
|
164
164
|
export { default as ElPopperArrow } from './popper/src/arrow2.mjs';
|
|
165
|
-
export { default as ElPopperTrigger } from './popper/src/
|
|
165
|
+
export { default as ElPopperTrigger } from './popper/src/trigger2.mjs';
|
|
166
166
|
export { default as ElPopperContent } from './popper/src/content2.mjs';
|
|
167
167
|
export { progressProps } from './progress/src/progress.mjs';
|
|
168
168
|
export { radioEmits, radioProps, radioPropsBase } from './radio/src/radio.mjs';
|
|
169
|
-
export { radioDefaultProps, radioGroupEmits, radioGroupProps } from './radio/src/radio-
|
|
169
|
+
export { radioDefaultProps, radioGroupEmits, radioGroupProps } from './radio/src/radio-group2.mjs';
|
|
170
170
|
export { radioButtonProps } from './radio/src/radio-button.mjs';
|
|
171
171
|
export { radioGroupKey } from './radio/src/constants.mjs';
|
|
172
172
|
export { rateEmits, rateProps } from './rate/src/rate.mjs';
|
|
@@ -182,14 +182,14 @@ export { selectEmits, selectProps } from './select/src/select.mjs';
|
|
|
182
182
|
export { selectV2InjectionKey } from './select-v2/src/token.mjs';
|
|
183
183
|
export { skeletonProps } from './skeleton/src/skeleton.mjs';
|
|
184
184
|
export { skeletonItemProps } from './skeleton/src/skeleton-item.mjs';
|
|
185
|
-
export { sliderEmits, sliderProps } from './slider/src/
|
|
185
|
+
export { sliderEmits, sliderProps } from './slider/src/slider.mjs';
|
|
186
186
|
export { sliderContextKey } from './slider/src/constants.mjs';
|
|
187
187
|
export { spaceProps } from './space/src/space.mjs';
|
|
188
188
|
export { spaceItemProps } from './space/src/item.mjs';
|
|
189
189
|
export { useSpace } from './space/src/use-space.mjs';
|
|
190
190
|
export { statisticProps } from './statistic/src/statistic.mjs';
|
|
191
|
-
export { stepProps } from './steps/src/
|
|
192
|
-
export { stepsEmits, stepsProps } from './steps/src/
|
|
191
|
+
export { stepProps } from './steps/src/item2.mjs';
|
|
192
|
+
export { stepsEmits, stepsProps } from './steps/src/steps.mjs';
|
|
193
193
|
export { STEPS_INJECTION_KEY } from './steps/src/tokens.mjs';
|
|
194
194
|
export { switchEmits, switchProps } from './switch/src/switch.mjs';
|
|
195
195
|
export { Alignment as TableV2Alignment, FixedDir as TableV2FixedDir, SortOrder as TableV2SortOrder } from './table-v2/src/constants.mjs';
|
|
@@ -201,7 +201,7 @@ export { tableV2RowProps } from './table-v2/src/row.mjs';
|
|
|
201
201
|
export { tabsEmits, tabsProps } from './tabs/src/tabs.mjs';
|
|
202
202
|
export { tabBarProps } from './tabs/src/tab-bar.mjs';
|
|
203
203
|
export { tabNavEmits, tabNavProps } from './tabs/src/tab-nav.mjs';
|
|
204
|
-
export { tabPaneProps } from './tabs/src/tab-
|
|
204
|
+
export { tabPaneProps } from './tabs/src/tab-pane.mjs';
|
|
205
205
|
export { tabsRootContextKey } from './tabs/src/constants.mjs';
|
|
206
206
|
export { tagEmits, tagProps } from './tag/src/tag.mjs';
|
|
207
207
|
export { textProps } from './text/src/text.mjs';
|
|
@@ -210,11 +210,11 @@ export { DEFAULT_FORMATS_DATE, DEFAULT_FORMATS_DATEPICKER, DEFAULT_FORMATS_TIME,
|
|
|
210
210
|
export { timePickerDefaultProps, timePickerRangeTriggerProps, timePickerRngeTriggerProps } from './time-picker/src/common/props.mjs';
|
|
211
211
|
export { default as CommonPicker } from './time-picker/src/common/picker.mjs';
|
|
212
212
|
export { default as TimePickPanel } from './time-picker/src/time-picker-com/panel-time-pick.mjs';
|
|
213
|
-
export { timeSelectProps } from './time-select/src/time-
|
|
213
|
+
export { timeSelectProps } from './time-select/src/time-select.mjs';
|
|
214
214
|
export { timelineItemProps } from './timeline/src/timeline-item.mjs';
|
|
215
215
|
export { TIMELINE_INJECTION_KEY } from './timeline/src/tokens.mjs';
|
|
216
216
|
export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './tooltip/src/tooltip.mjs';
|
|
217
|
-
export { useTooltipTriggerProps } from './tooltip/src/
|
|
217
|
+
export { useTooltipTriggerProps } from './tooltip/src/trigger2.mjs';
|
|
218
218
|
export { useTooltipContentProps } from './tooltip/src/content.mjs';
|
|
219
219
|
export { TOOLTIP_INJECTION_KEY } from './tooltip/src/constants.mjs';
|
|
220
220
|
export { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, transferCheckedChangeFn, transferEmits, transferProps } from './transfer/src/transfer.mjs';
|
|
@@ -222,7 +222,7 @@ export { NODE_INSTANCE_INJECTION_KEY, ROOT_TREE_INJECTION_KEY, TREE_NODE_MAP_INJ
|
|
|
222
222
|
export { treeEmits } from './tree/src/tree.mjs';
|
|
223
223
|
export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './upload/src/upload.mjs';
|
|
224
224
|
export { uploadContentProps } from './upload/src/upload-content.mjs';
|
|
225
|
-
export { uploadListEmits, uploadListProps } from './upload/src/upload-
|
|
225
|
+
export { uploadListEmits, uploadListProps } from './upload/src/upload-list.mjs';
|
|
226
226
|
export { uploadDraggerEmits, uploadDraggerProps } from './upload/src/upload-dragger.mjs';
|
|
227
227
|
export { uploadContextKey } from './upload/src/constants.mjs';
|
|
228
228
|
export { default as FixedSizeList } from './virtual-list/src/components/fixed-size-list.mjs';
|
|
@@ -232,7 +232,7 @@ export { watermarkProps } from './watermark/src/watermark.mjs';
|
|
|
232
232
|
export { tourEmits, tourProps } from './tour/src/tour.mjs';
|
|
233
233
|
export { tourStepEmits, tourStepProps } from './tour/src/step.mjs';
|
|
234
234
|
export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies } from './tour/src/content.mjs';
|
|
235
|
-
export { anchorEmits, anchorProps } from './anchor/src/
|
|
235
|
+
export { anchorEmits, anchorProps } from './anchor/src/anchor2.mjs';
|
|
236
236
|
export { defaultProps, segmentedEmits, segmentedProps } from './segmented/src/segmented.mjs';
|
|
237
237
|
export { mentionDefaultProps, mentionEmits, mentionProps } from './mention/src/mention.mjs';
|
|
238
238
|
export { splitterProps } from './splitter/src/splitter.mjs';
|
|
@@ -100,12 +100,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
100
100
|
const [recordCursor, setCursor] = useCursor(input);
|
|
101
101
|
useResizeObserver(textarea, (entries) => {
|
|
102
102
|
onceInitSizeTextarea();
|
|
103
|
-
if (!isWordLimitVisible.value || props.resize !== "both")
|
|
103
|
+
if (!isWordLimitVisible.value || props.resize !== "both" && props.resize !== "horizontal")
|
|
104
104
|
return;
|
|
105
105
|
const entry = entries[0];
|
|
106
106
|
const { width } = entry.contentRect;
|
|
107
107
|
countStyle.value = {
|
|
108
|
-
right: `calc(100% - ${width +
|
|
108
|
+
right: `calc(100% - ${width + 22 - 10}px)`
|
|
109
109
|
};
|
|
110
110
|
});
|
|
111
111
|
const resizeTextarea = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n containerKls,\n {\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n },\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :role=\"containerRole\"\n :inputmode=\"inputmode\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span\n v-if=\"isWordLimitVisible\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :rows=\"rows\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Hide as IconHide, View as IconView } from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useComposition,\n useCursor,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { calcTextareaHeight, looseToNumber } from './utils'\nimport { inputEmits, inputProps } from './input'\n\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () => props.showPassword && !inputDisabled.value && !!nativeInputValue.value\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\nconst hasModelModifiers = computed(\n () => !!Object.keys(props.modelModifiers).length\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n setTimeout(resizeTextarea)\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue || props.type === 'file') return\n input.value = formatterValue\n}\n\nconst formatValue = (value: string) => {\n const { trim, number } = props.modelModifiers\n if (trim) {\n value = value.trim()\n }\n if (number) {\n value = `${looseToNumber(value)}`\n }\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n return value\n}\n\nconst handleInput = async (event: Event) => {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n const { lazy } = props.modelModifiers\n let { value } = event.target as TargetElement\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (String(value) === nativeInputValue.value) {\n // preserve native features while being compatible with #9501\n if (props.formatter) {\n setNativeInputValue()\n }\n return\n }\n\n recordCursor()\n emit(UPDATE_MODEL_EVENT, value)\n emit(INPUT_EVENT, value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n\n if ((props.formatter && props.parser) || !hasModelModifiers.value) {\n setNativeInputValue()\n }\n setCursor()\n}\n\nconst handleChange = async (event: Event) => {\n let { value } = event.target as TargetElement\n\n value = formatValue(value)\n if (props.modelModifiers.lazy) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n emit(CHANGE_EVENT, value, event)\n\n await nextTick()\n setNativeInputValue()\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n}\n\nconst focus = () => _ref.value?.focus()\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear')\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, (newValue) => {\n if (!_ref.value) {\n return\n }\n const { trim, number } = props.modelModifiers\n const elValue = _ref.value.value\n const displayValue =\n (number || props.type === 'number') && !/^0\\d/.test(elValue)\n ? `${looseToNumber(elValue)}`\n : elValue\n\n if (displayValue === newValue) {\n return\n }\n\n if (document.activeElement === _ref.value && _ref.value.type !== 'range') {\n if (trim && displayValue.trim() === newValue) {\n return\n }\n }\n\n setNativeInputValue()\n})\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n COMPONENT_NAME,\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description is input composing */\n isComposing,\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide","textareaStyle","input","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n containerKls,\n {\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n },\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :role=\"containerRole\"\n :inputmode=\"inputmode\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span\n v-if=\"isWordLimitVisible\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :rows=\"rows\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Hide as IconHide, View as IconView } from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useComposition,\n useCursor,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { calcTextareaHeight, looseToNumber } from './utils'\nimport { inputEmits, inputProps } from './input'\n\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () => props.showPassword && !inputDisabled.value && !!nativeInputValue.value\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\nconst hasModelModifiers = computed(\n () => !!Object.keys(props.modelModifiers).length\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (\n !isWordLimitVisible.value ||\n (props.resize !== 'both' && props.resize !== 'horizontal')\n )\n return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(22) - right(10) */\n right: `calc(100% - ${width + 22 - 10}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n setTimeout(resizeTextarea)\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue || props.type === 'file') return\n input.value = formatterValue\n}\n\nconst formatValue = (value: string) => {\n const { trim, number } = props.modelModifiers\n if (trim) {\n value = value.trim()\n }\n if (number) {\n value = `${looseToNumber(value)}`\n }\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n return value\n}\n\nconst handleInput = async (event: Event) => {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n const { lazy } = props.modelModifiers\n let { value } = event.target as TargetElement\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (String(value) === nativeInputValue.value) {\n // preserve native features while being compatible with #9501\n if (props.formatter) {\n setNativeInputValue()\n }\n return\n }\n\n recordCursor()\n emit(UPDATE_MODEL_EVENT, value)\n emit(INPUT_EVENT, value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n\n if ((props.formatter && props.parser) || !hasModelModifiers.value) {\n setNativeInputValue()\n }\n setCursor()\n}\n\nconst handleChange = async (event: Event) => {\n let { value } = event.target as TargetElement\n\n value = formatValue(value)\n if (props.modelModifiers.lazy) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n emit(CHANGE_EVENT, value, event)\n\n await nextTick()\n setNativeInputValue()\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n}\n\nconst focus = () => _ref.value?.focus()\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear')\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, (newValue) => {\n if (!_ref.value) {\n return\n }\n const { trim, number } = props.modelModifiers\n const elValue = _ref.value.value\n const displayValue =\n (number || props.type === 'number') && !/^0\\d/.test(elValue)\n ? `${looseToNumber(elValue)}`\n : elValue\n\n if (displayValue === newValue) {\n return\n }\n\n if (document.activeElement === _ref.value && _ref.value.type !== 'range') {\n if (trim && displayValue.trim() === newValue) {\n return\n }\n }\n\n setNativeInputValue()\n})\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n COMPONENT_NAME,\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description is input composing */\n isComposing,\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","IconView","IconHide","textareaStyle","input","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}
|