@element-plus/nightly 0.0.20250815 → 0.0.20250816
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 +105 -36
- package/dist/index.full.min.js +19 -19
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +19 -19
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +105 -36
- 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/anchor/index.mjs +1 -1
- package/es/components/anchor/src/anchor-link.mjs +5 -81
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs +81 -5
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.d.ts +6 -0
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +12 -0
- package/es/components/cascader/src/cascader.d.ts +6 -0
- package/es/components/cascader/src/cascader.mjs +6 -0
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader.vue.d.ts +12 -0
- package/es/components/cascader/src/cascader2.mjs +3 -3
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +5 -1
- package/es/components/cascader-panel/src/store.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +1 -1
- package/es/components/descriptions/src/descriptions-row.mjs +6 -63
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row2.mjs +63 -6
- package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content2.mjs +6 -5
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +178 -26
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +26 -178
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.mjs +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +35 -8
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs +8 -35
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/index.mjs +13 -13
- package/es/components/input/src/input.d.ts +6 -0
- package/es/components/input/src/input.mjs +5 -0
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +12 -0
- package/es/components/input/src/input2.mjs +3 -3
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag.d.ts +6 -0
- package/es/components/input-tag/src/input-tag.mjs +6 -0
- package/es/components/input-tag/src/input-tag.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag.vue.d.ts +12 -0
- package/es/components/input-tag/src/input-tag2.mjs +2 -3
- package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
- package/es/components/mention/src/mention.d.ts +6 -0
- package/es/components/mention/src/mention.vue.d.ts +12 -0
- package/es/components/menu/index.mjs +2 -2
- package/es/components/menu/src/menu-item.mjs +100 -15
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +15 -100
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs +3 -1
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +1 -0
- package/es/components/pagination/src/components/jumper.mjs +58 -7
- package/es/components/pagination/src/components/jumper.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper2.mjs +7 -58
- package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
- package/es/components/pagination/src/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/components/prev.mjs +17 -35
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev2.mjs +35 -17
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +3 -3
- package/es/components/popconfirm/index.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +122 -42
- package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +42 -122
- 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 +2 -2
- package/es/components/popper/src/arrow.mjs +30 -7
- package/es/components/popper/src/arrow.mjs.map +1 -1
- package/es/components/popper/src/arrow2.mjs +7 -30
- package/es/components/popper/src/arrow2.mjs.map +1 -1
- package/es/components/popper/src/content.mjs +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-button.mjs +65 -5
- package/es/components/radio/src/radio-button.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +5 -65
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/row/index.mjs +2 -2
- package/es/components/row/src/row.mjs +44 -28
- package/es/components/row/src/row.mjs.map +1 -1
- package/es/components/row/src/row2.mjs +28 -44
- package/es/components/row/src/row2.mjs.map +1 -1
- package/es/components/splitter/src/hooks/useResize.d.ts +2 -1
- package/es/components/splitter/src/hooks/useResize.mjs +34 -6
- package/es/components/splitter/src/hooks/useResize.mjs.map +1 -1
- package/es/components/splitter/src/split-bar.mjs +5 -7
- package/es/components/splitter/src/split-bar.mjs.map +1 -1
- package/es/components/splitter/src/split-bar.vue.d.ts +7 -12
- package/es/components/splitter/src/split-panel2.mjs +7 -6
- package/es/components/splitter/src/split-panel2.mjs.map +1 -1
- package/es/components/splitter/src/splitter.d.ts +1 -0
- package/es/components/splitter/src/splitter.mjs +2 -1
- package/es/components/splitter/src/splitter.mjs.map +1 -1
- package/es/components/splitter/src/splitter.vue.d.ts +3 -0
- package/es/components/splitter/src/splitter2.mjs +22 -5
- package/es/components/splitter/src/splitter2.mjs.map +1 -1
- package/es/components/splitter/src/type.d.ts +1 -0
- package/es/components/splitter/src/type.mjs.map +1 -1
- package/es/components/steps/index.mjs +2 -2
- package/es/components/steps/src/steps.mjs +41 -35
- package/es/components/steps/src/steps.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +35 -41
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/teleport/index.mjs +2 -2
- package/es/components/teleport/src/teleport.mjs +18 -8
- package/es/components/teleport/src/teleport.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs +8 -18
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +1 -1
- package/es/components/tooltip/index.mjs +3 -3
- package/es/components/tooltip/src/content.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +165 -30
- package/es/components/tooltip/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +30 -165
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs +72 -14
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/src/trigger2.mjs +14 -72
- package/es/components/tooltip/src/trigger2.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +2 -2
- package/es/components/tooltip-v2/src/content.mjs +48 -110
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +110 -48
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.mjs +17 -79
- package/es/components/tooltip-v2/src/root.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root2.mjs +79 -17
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
- package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
- package/es/components/tour/index.mjs +2 -2
- package/es/components/tour/src/step.mjs +189 -44
- package/es/components/tour/src/step.mjs.map +1 -1
- package/es/components/tour/src/step2.mjs +44 -189
- package/es/components/tour/src/step2.mjs.map +1 -1
- package/es/components/tour/src/tour.mjs +1 -1
- package/es/components/transfer/index.mjs +2 -2
- package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
- package/es/components/transfer/src/transfer-panel.mjs +1 -1
- package/es/components/transfer/src/transfer.mjs +164 -68
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/transfer/src/transfer2.mjs +68 -164
- package/es/components/transfer/src/transfer2.mjs.map +1 -1
- package/es/hooks/use-draggable/index.d.ts +1 -0
- package/es/hooks/use-draggable/index.mjs +7 -1
- package/es/hooks/use-draggable/index.mjs.map +1 -1
- package/es/index.d.ts +96 -1
- package/es/index.mjs +13 -13
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/index.js +1 -1
- package/lib/components/anchor/src/anchor-link.js +5 -81
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js +81 -5
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.d.ts +6 -0
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +12 -0
- package/lib/components/cascader/src/cascader.d.ts +6 -0
- package/lib/components/cascader/src/cascader.js +6 -0
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader.vue.d.ts +12 -0
- package/lib/components/cascader/src/cascader2.js +1 -1
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +5 -1
- package/lib/components/cascader-panel/src/store.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +1 -1
- package/lib/components/descriptions/src/descriptions-row.js +6 -63
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row2.js +63 -6
- package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
- package/lib/components/dialog/src/dialog-content2.js +6 -5
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +178 -27
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +27 -178
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.js +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +35 -8
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon2.js +8 -35
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/index.js +13 -13
- package/lib/components/input/src/input.d.ts +6 -0
- package/lib/components/input/src/input.js +5 -0
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +12 -0
- package/lib/components/input/src/input2.js +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-tag/src/input-tag.d.ts +6 -0
- package/lib/components/input-tag/src/input-tag.js +6 -0
- package/lib/components/input-tag/src/input-tag.js.map +1 -1
- package/lib/components/input-tag/src/input-tag.vue.d.ts +12 -0
- package/lib/components/input-tag/src/input-tag2.js +1 -2
- package/lib/components/input-tag/src/input-tag2.js.map +1 -1
- package/lib/components/mention/src/mention.d.ts +6 -0
- package/lib/components/mention/src/mention.vue.d.ts +12 -0
- package/lib/components/menu/index.js +2 -2
- package/lib/components/menu/src/menu-item.js +100 -16
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +16 -100
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/message-box/src/index.js +3 -1
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +1 -0
- package/lib/components/pagination/src/components/jumper.js +58 -7
- package/lib/components/pagination/src/components/jumper.js.map +1 -1
- package/lib/components/pagination/src/components/jumper2.js +7 -58
- package/lib/components/pagination/src/components/jumper2.js.map +1 -1
- package/lib/components/pagination/src/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/components/prev.js +18 -35
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev2.js +35 -18
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +3 -3
- package/lib/components/popconfirm/index.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +122 -43
- package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js +43 -122
- 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 +2 -2
- package/lib/components/popper/src/arrow.js +30 -8
- package/lib/components/popper/src/arrow.js.map +1 -1
- package/lib/components/popper/src/arrow2.js +8 -30
- package/lib/components/popper/src/arrow2.js.map +1 -1
- package/lib/components/popper/src/content.js +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-button.js +65 -5
- package/lib/components/radio/src/radio-button.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +5 -65
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/row/index.js +2 -2
- package/lib/components/row/src/row.js +44 -30
- package/lib/components/row/src/row.js.map +1 -1
- package/lib/components/row/src/row2.js +30 -44
- package/lib/components/row/src/row2.js.map +1 -1
- package/lib/components/splitter/src/hooks/useResize.d.ts +2 -1
- package/lib/components/splitter/src/hooks/useResize.js +33 -5
- package/lib/components/splitter/src/hooks/useResize.js.map +1 -1
- package/lib/components/splitter/src/split-bar.js +5 -7
- package/lib/components/splitter/src/split-bar.js.map +1 -1
- package/lib/components/splitter/src/split-bar.vue.d.ts +7 -12
- package/lib/components/splitter/src/split-panel2.js +7 -6
- package/lib/components/splitter/src/split-panel2.js.map +1 -1
- package/lib/components/splitter/src/splitter.d.ts +1 -0
- package/lib/components/splitter/src/splitter.js +2 -1
- package/lib/components/splitter/src/splitter.js.map +1 -1
- package/lib/components/splitter/src/splitter.vue.d.ts +3 -0
- package/lib/components/splitter/src/splitter2.js +21 -4
- package/lib/components/splitter/src/splitter2.js.map +1 -1
- package/lib/components/splitter/src/type.d.ts +1 -0
- package/lib/components/splitter/src/type.js.map +1 -1
- package/lib/components/steps/index.js +2 -2
- package/lib/components/steps/src/steps.js +41 -36
- package/lib/components/steps/src/steps.js.map +1 -1
- package/lib/components/steps/src/steps2.js +36 -41
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/teleport/index.js +2 -2
- package/lib/components/teleport/src/teleport.js +18 -8
- package/lib/components/teleport/src/teleport.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js +8 -18
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +1 -1
- package/lib/components/tooltip/index.js +3 -3
- package/lib/components/tooltip/src/content.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +163 -32
- package/lib/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +32 -163
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js +72 -14
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/src/trigger2.js +14 -72
- package/lib/components/tooltip/src/trigger2.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +2 -2
- package/lib/components/tooltip-v2/src/content.js +48 -110
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +110 -48
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.js +17 -79
- package/lib/components/tooltip-v2/src/root.js.map +1 -1
- package/lib/components/tooltip-v2/src/root2.js +79 -17
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +2 -2
- package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
- package/lib/components/tour/index.js +2 -2
- package/lib/components/tour/src/step.js +188 -44
- package/lib/components/tour/src/step.js.map +1 -1
- package/lib/components/tour/src/step2.js +44 -188
- package/lib/components/tour/src/step2.js.map +1 -1
- package/lib/components/tour/src/tour.js +1 -1
- package/lib/components/transfer/index.js +2 -2
- package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
- package/lib/components/transfer/src/transfer-panel.js +1 -1
- package/lib/components/transfer/src/transfer.js +164 -72
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/transfer/src/transfer2.js +72 -164
- package/lib/components/transfer/src/transfer2.js.map +1 -1
- package/lib/hooks/use-draggable/index.d.ts +1 -0
- package/lib/hooks/use-draggable/index.js +6 -0
- package/lib/hooks/use-draggable/index.js.map +1 -1
- package/lib/index.d.ts +96 -1
- package/lib/index.js +13 -13
- 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-collapse.css +1 -1
- package/theme-chalk/el-splitter.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/collapse.scss +1 -1
- package/theme-chalk/src/splitter.scss +25 -4
- package/web-types.json +1 -1
@@ -2,43 +2,16 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var
|
6
|
-
var icon = require('./icon.js');
|
7
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
8
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
9
|
-
var types = require('../../../utils/types.js');
|
10
|
-
var style = require('../../../utils/dom/style.js');
|
5
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
11
6
|
|
12
|
-
const
|
13
|
-
|
14
|
-
|
15
|
-
}
|
16
|
-
|
17
|
-
|
18
|
-
props: icon.iconProps,
|
19
|
-
setup(__props) {
|
20
|
-
const props = __props;
|
21
|
-
const ns = index.useNamespace("icon");
|
22
|
-
const style$1 = vue.computed(() => {
|
23
|
-
const { size, color } = props;
|
24
|
-
if (!size && !color)
|
25
|
-
return {};
|
26
|
-
return {
|
27
|
-
fontSize: types.isUndefined(size) ? void 0 : style.addUnit(size),
|
28
|
-
"--color": color
|
29
|
-
};
|
30
|
-
});
|
31
|
-
return (_ctx, _cache) => {
|
32
|
-
return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
|
33
|
-
class: vue.unref(ns).b(),
|
34
|
-
style: vue.unref(style$1)
|
35
|
-
}, _ctx.$attrs), [
|
36
|
-
vue.renderSlot(_ctx.$slots, "default")
|
37
|
-
], 16);
|
38
|
-
};
|
7
|
+
const iconProps = runtime.buildProps({
|
8
|
+
size: {
|
9
|
+
type: runtime.definePropType([Number, String])
|
10
|
+
},
|
11
|
+
color: {
|
12
|
+
type: String
|
39
13
|
}
|
40
14
|
});
|
41
|
-
var Icon = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "icon.vue"]]);
|
42
15
|
|
43
|
-
exports
|
16
|
+
exports.iconProps = iconProps;
|
44
17
|
//# sourceMappingURL=icon2.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"icon2.js","sources":["../../../../../../packages/components/icon/src/icon.
|
1
|
+
{"version":3,"file":"icon2.js","sources":["../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type Icon from './icon.vue'\n\nexport const iconProps = buildProps({\n /**\n * @description SVG icon size, size x size\n */\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n /**\n * @description SVG tag's fill attribute\n */\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\nexport type IconPropsPublic = __ExtractPublicPropTypes<typeof iconProps>\nexport type IconInstance = InstanceType<typeof Icon> & unknown\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AACY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
|
package/lib/components/index.js
CHANGED
@@ -130,7 +130,7 @@ var useDialog = require('./dialog/src/use-dialog.js');
|
|
130
130
|
var dialog = require('./dialog/src/dialog.js');
|
131
131
|
var constants$7 = require('./dialog/src/constants.js');
|
132
132
|
var divider = require('./divider/src/divider.js');
|
133
|
-
var drawer = require('./drawer/src/
|
133
|
+
var drawer = require('./drawer/src/drawer2.js');
|
134
134
|
var dropdown = require('./dropdown/src/dropdown.js');
|
135
135
|
var tokens = require('./dropdown/src/tokens.js');
|
136
136
|
var empty = require('./empty/src/empty.js');
|
@@ -139,7 +139,7 @@ var formItem = require('./form/src/form-item.js');
|
|
139
139
|
var constants$8 = require('./form/src/constants.js');
|
140
140
|
var useFormCommonProps = require('./form/src/hooks/use-form-common-props.js');
|
141
141
|
var useFormItem = require('./form/src/hooks/use-form-item.js');
|
142
|
-
var icon = require('./icon/src/
|
142
|
+
var icon = require('./icon/src/icon2.js');
|
143
143
|
var image = require('./image/src/image.js');
|
144
144
|
var imageViewer = require('./image-viewer/src/image-viewer.js');
|
145
145
|
var input = require('./input/src/input.js');
|
@@ -147,7 +147,7 @@ var inputNumber = require('./input-number/src/input-number.js');
|
|
147
147
|
var inputTag = require('./input-tag/src/input-tag.js');
|
148
148
|
var link = require('./link/src/link.js');
|
149
149
|
var menu = require('./menu/src/menu.js');
|
150
|
-
var menuItem = require('./menu/src/menu-
|
150
|
+
var menuItem = require('./menu/src/menu-item2.js');
|
151
151
|
var menuItemGroup = require('./menu/src/menu-item-group.js');
|
152
152
|
var subMenu = require('./menu/src/sub-menu.js');
|
153
153
|
var tokens$1 = require('./menu/src/tokens.js');
|
@@ -155,23 +155,23 @@ var overlay = require('./overlay/src/overlay.js');
|
|
155
155
|
var pageHeader = require('./page-header/src/page-header.js');
|
156
156
|
var pagination = require('./pagination/src/pagination.js');
|
157
157
|
var constants$9 = require('./pagination/src/constants.js');
|
158
|
-
var popconfirm = require('./popconfirm/src/
|
158
|
+
var popconfirm = require('./popconfirm/src/popconfirm2.js');
|
159
159
|
var popper = require('./popper/src/popper.js');
|
160
160
|
var trigger$1 = require('./popper/src/trigger.js');
|
161
161
|
var content$1 = require('./popper/src/content.js');
|
162
|
-
var arrow$1 = require('./popper/src/
|
162
|
+
var arrow$1 = require('./popper/src/arrow2.js');
|
163
163
|
var constants$a = require('./popper/src/constants.js');
|
164
|
-
var arrow = require('./popper/src/
|
164
|
+
var arrow = require('./popper/src/arrow.js');
|
165
165
|
var trigger = require('./popper/src/trigger2.js');
|
166
166
|
var content = require('./popper/src/content2.js');
|
167
167
|
var progress = require('./progress/src/progress.js');
|
168
168
|
var radio = require('./radio/src/radio.js');
|
169
169
|
var radioGroup = require('./radio/src/radio-group.js');
|
170
|
-
var radioButton = require('./radio/src/radio-
|
170
|
+
var radioButton = require('./radio/src/radio-button2.js');
|
171
171
|
var constants$b = require('./radio/src/constants.js');
|
172
172
|
var rate = require('./rate/src/rate.js');
|
173
173
|
var result = require('./result/src/result.js');
|
174
|
-
var row = require('./row/src/
|
174
|
+
var row = require('./row/src/row2.js');
|
175
175
|
var constants$c = require('./row/src/constants.js');
|
176
176
|
var util = require('./scrollbar/src/util.js');
|
177
177
|
var scrollbar = require('./scrollbar/src/scrollbar.js');
|
@@ -189,7 +189,7 @@ var item = require('./space/src/item.js');
|
|
189
189
|
var useSpace = require('./space/src/use-space.js');
|
190
190
|
var statistic = require('./statistic/src/statistic.js');
|
191
191
|
var item$1 = require('./steps/src/item.js');
|
192
|
-
var steps = require('./steps/src/
|
192
|
+
var steps = require('./steps/src/steps2.js');
|
193
193
|
var tokens$2 = require('./steps/src/tokens.js');
|
194
194
|
var _switch = require('./switch/src/switch.js');
|
195
195
|
var constants$f = require('./table-v2/src/constants.js');
|
@@ -213,11 +213,11 @@ var panelTimePick = require('./time-picker/src/time-picker-com/panel-time-pick.j
|
|
213
213
|
var timeSelect = require('./time-select/src/time-select2.js');
|
214
214
|
var timelineItem = require('./timeline/src/timeline-item.js');
|
215
215
|
var tokens$3 = require('./timeline/src/tokens.js');
|
216
|
-
var tooltip = require('./tooltip/src/
|
217
|
-
var trigger$2 = require('./tooltip/src/
|
216
|
+
var tooltip = require('./tooltip/src/tooltip2.js');
|
217
|
+
var trigger$2 = require('./tooltip/src/trigger2.js');
|
218
218
|
var content$2 = require('./tooltip/src/content.js');
|
219
219
|
var constants$i = require('./tooltip/src/constants.js');
|
220
|
-
var transfer = require('./transfer/src/
|
220
|
+
var transfer = require('./transfer/src/transfer2.js');
|
221
221
|
var tokens$4 = require('./tree/src/tokens.js');
|
222
222
|
var upload = require('./upload/src/upload.js');
|
223
223
|
var uploadContent = require('./upload/src/upload-content.js');
|
@@ -229,7 +229,7 @@ var dynamicSizeList = require('./virtual-list/src/components/dynamic-size-list.j
|
|
229
229
|
var props$1 = require('./virtual-list/src/props.js');
|
230
230
|
var watermark = require('./watermark/src/watermark.js');
|
231
231
|
var tour = require('./tour/src/tour.js');
|
232
|
-
var step = require('./tour/src/
|
232
|
+
var step = require('./tour/src/step2.js');
|
233
233
|
var content$3 = require('./tour/src/content.js');
|
234
234
|
var anchor = require('./anchor/src/anchor.js');
|
235
235
|
var segmented = require('./segmented/src/segmented.js');
|
@@ -69,6 +69,12 @@ export declare const inputProps: {
|
|
69
69
|
};
|
70
70
|
readonly readonly: BooleanConstructor;
|
71
71
|
readonly clearable: BooleanConstructor;
|
72
|
+
readonly clearIcon: {
|
73
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
74
|
+
readonly required: false;
|
75
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
76
|
+
__epPropKey: true;
|
77
|
+
};
|
72
78
|
readonly showPassword: BooleanConstructor;
|
73
79
|
readonly showWordLimit: BooleanConstructor;
|
74
80
|
readonly suffixIcon: {
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
+
var iconsVue = require('@element-plus/icons-vue');
|
5
6
|
var index = require('../../../hooks/use-size/index.js');
|
6
7
|
var icon = require('../../../utils/vue/icon.js');
|
7
8
|
var typescript = require('../../../utils/typescript.js');
|
@@ -61,6 +62,10 @@ const inputProps = runtime.buildProps({
|
|
61
62
|
},
|
62
63
|
readonly: Boolean,
|
63
64
|
clearable: Boolean,
|
65
|
+
clearIcon: {
|
66
|
+
type: icon.iconPropType,
|
67
|
+
default: iconsVue.CircleClose
|
68
|
+
},
|
64
69
|
showPassword: Boolean,
|
65
70
|
showWordLimit: Boolean,
|
66
71
|
suffixIcon: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\n\nimport type {\n ExtractPropTypes,\n HTMLAttributes,\n StyleValue,\n __ExtractPublicPropTypes,\n} from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n /**\n * @description native input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description type of input\n */\n type: {\n type: String,\n default: 'text',\n },\n /**\n * @description control the resizability\n */\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n /**\n * @description whether textarea has an adaptive height\n */\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description format content\n */\n formatter: {\n type: Function,\n },\n /**\n * @description parse content\n */\n parser: {\n type: Function,\n },\n /**\n * @description placeholder\n */\n placeholder: {\n type: String,\n },\n /**\n * @description native input form\n */\n form: {\n type: String,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description whether to show clear button\n */\n clearable: Boolean,\n /**\n * @description toggleable password input\n */\n showPassword: Boolean,\n /**\n * @description word count\n */\n showWordLimit: Boolean,\n /**\n * @description suffix icon\n */\n suffixIcon: {\n type: iconPropType,\n },\n /**\n * @description prefix icon\n */\n prefixIcon: {\n type: iconPropType,\n },\n /**\n * @description container role, internal properties provided for use by the picker component\n */\n containerRole: {\n type: String,\n default: undefined,\n },\n /**\n * @description input tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description input or textarea element style\n */\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n rows: {\n type: Number,\n default: 2,\n },\n ...useAriaProps(['ariaLabel']),\n /**\n * @description native input mode for virtual keyboards\n */\n inputmode: {\n type: definePropType<HTMLAttributes['inputmode']>(String),\n default: undefined,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\nexport type InputPropsPublic = __ExtractPublicPropTypes<typeof inputProps>\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n"],"names":["buildProps","useSizeProp","definePropType","iconPropType","mutable","useAriaProps","UPDATE_MODEL_EVENT","isString"],"mappings":"
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type {\n ExtractPropTypes,\n HTMLAttributes,\n StyleValue,\n __ExtractPublicPropTypes,\n} from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n /**\n * @description native input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description type of input\n */\n type: {\n type: String,\n default: 'text',\n },\n /**\n * @description control the resizability\n */\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n /**\n * @description whether textarea has an adaptive height\n */\n autosize: {\n type: definePropType<InputAutoSize>([Boolean, Object]),\n default: false,\n },\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description format content\n */\n formatter: {\n type: Function,\n },\n /**\n * @description parse content\n */\n parser: {\n type: Function,\n },\n /**\n * @description placeholder\n */\n placeholder: {\n type: String,\n },\n /**\n * @description native input form\n */\n form: {\n type: String,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description whether to show clear button\n */\n clearable: Boolean,\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description toggleable password input\n */\n showPassword: Boolean,\n /**\n * @description word count\n */\n showWordLimit: Boolean,\n /**\n * @description suffix icon\n */\n suffixIcon: {\n type: iconPropType,\n },\n /**\n * @description prefix icon\n */\n prefixIcon: {\n type: iconPropType,\n },\n /**\n * @description container role, internal properties provided for use by the picker component\n */\n containerRole: {\n type: String,\n default: undefined,\n },\n /**\n * @description input tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description input or textarea element style\n */\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n rows: {\n type: Number,\n default: 2,\n },\n ...useAriaProps(['ariaLabel']),\n /**\n * @description native input mode for virtual keyboards\n */\n inputmode: {\n type: definePropType<HTMLAttributes['inputmode']>(String),\n default: undefined,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\nexport type InputPropsPublic = __ExtractPublicPropTypes<typeof inputProps>\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n"],"names":["buildProps","useSizeProp","definePropType","iconPropType","CircleClose","mutable","useAriaProps","UPDATE_MODEL_EVENT","isString"],"mappings":"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"}
|
@@ -71,6 +71,12 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
71
71
|
};
|
72
72
|
readonly readonly: BooleanConstructor;
|
73
73
|
readonly clearable: BooleanConstructor;
|
74
|
+
readonly clearIcon: {
|
75
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
76
|
+
readonly required: false;
|
77
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
78
|
+
__epPropKey: true;
|
79
|
+
};
|
74
80
|
readonly showPassword: BooleanConstructor;
|
75
81
|
readonly showWordLimit: BooleanConstructor;
|
76
82
|
readonly suffixIcon: {
|
@@ -193,6 +199,12 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
193
199
|
};
|
194
200
|
readonly readonly: BooleanConstructor;
|
195
201
|
readonly clearable: BooleanConstructor;
|
202
|
+
readonly clearIcon: {
|
203
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
204
|
+
readonly required: false;
|
205
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
206
|
+
__epPropKey: true;
|
207
|
+
};
|
196
208
|
readonly showPassword: BooleanConstructor;
|
197
209
|
readonly showWordLimit: BooleanConstructor;
|
198
210
|
readonly suffixIcon: {
|
@@ -352,7 +352,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
352
352
|
onClick: clear
|
353
353
|
}, {
|
354
354
|
default: vue.withCtx(() => [
|
355
|
-
vue.
|
355
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.clearIcon)))
|
356
356
|
]),
|
357
357
|
_: 1
|
358
358
|
}, 8, ["class", "onMousedown"])) : vue.createCommentVNode("v-if", true),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input2.js","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 <circle-close />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ 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 :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=\"nsInput.e('count')\"\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 {\n CircleClose,\n Hide as IconHide,\n View as IconView,\n} 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 } 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)\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 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) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\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 setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n emit(CHANGE_EVENT, value)\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n recordCursor()\n passwordVisible.value = !passwordVisible.value\n // The native input needs a little time to regain focus\n setTimeout(setCursor)\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, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\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","useSlots","computed","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","IconView","IconHide","isNil","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","textareaStyle","event","resizeTextarea","input","INPUT_EVENT","CHANGE_EVENT","useComposition","UPDATE_MODEL_EVENT","watch","onMounted","toRef","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"input2.js","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 >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span v-if=\"isWordLimitVisible\" :class=\"nsInput.e('count')\">\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ 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 :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=\"nsInput.e('count')\"\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 } 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)\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 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) return\n input.value = formatterValue\n}\n\nconst handleInput = async (event: Event) => {\n recordCursor()\n\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (value === nativeInputValue.value) {\n setNativeInputValue()\n return\n }\n\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 setNativeInputValue()\n setCursor()\n}\n\nconst handleChange = (event: Event) => {\n let { value } = event.target as TargetElement\n\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n emit(CHANGE_EVENT, value)\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n recordCursor()\n passwordVisible.value = !passwordVisible.value\n // The native input needs a little time to regain focus\n setTimeout(setCursor)\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, () => setNativeInputValue())\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\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","useSlots","computed","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","IconView","IconHide","isNil","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","textareaStyle","event","resizeTextarea","input","INPUT_EVENT","CHANGE_EVENT","useComposition","UPDATE_MODEL_EVENT","watch","onMounted","toRef","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}
|
@@ -25,6 +25,12 @@ export declare const inputTagProps: {
|
|
25
25
|
__epPropKey: true;
|
26
26
|
};
|
27
27
|
readonly clearable: BooleanConstructor;
|
28
|
+
readonly clearIcon: {
|
29
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
30
|
+
readonly required: false;
|
31
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
32
|
+
__epPropKey: true;
|
33
|
+
};
|
28
34
|
readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
29
35
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
30
36
|
readonly readonly: BooleanConstructor;
|
@@ -3,9 +3,11 @@
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
5
|
var tag = require('../../tag/src/tag.js');
|
6
|
+
var iconsVue = require('@element-plus/icons-vue');
|
6
7
|
var runtime = require('../../../utils/vue/props/runtime.js');
|
7
8
|
var aria = require('../../../constants/aria.js');
|
8
9
|
var index = require('../../../hooks/use-size/index.js');
|
10
|
+
var icon = require('../../../utils/vue/icon.js');
|
9
11
|
var event = require('../../../constants/event.js');
|
10
12
|
var shared = require('@vue/shared');
|
11
13
|
var types = require('../../../utils/types.js');
|
@@ -28,6 +30,10 @@ const inputTagProps = runtime.buildProps({
|
|
28
30
|
},
|
29
31
|
size: index.useSizeProp,
|
30
32
|
clearable: Boolean,
|
33
|
+
clearIcon: {
|
34
|
+
type: icon.iconPropType,
|
35
|
+
default: iconsVue.CircleClose
|
36
|
+
},
|
31
37
|
disabled: {
|
32
38
|
type: Boolean,
|
33
39
|
default: void 0
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input-tag.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { tagProps } from '@element-plus/components/tag/src/tag'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\n\nexport const inputTagProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string[]>(Array),\n },\n /**\n * @description max number tags that can be enter\n */\n max: Number,\n /**\n * @description tag type\n */\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: tagProps.effect,\n /**\n * @description the key to trigger input tag\n */\n trigger: {\n type: definePropType<'Enter' | 'Space'>(String),\n default: EVENT_CODE.enter,\n },\n /**\n * @description whether tags can be dragged\n */\n draggable: Boolean,\n /**\n * @description add a tag when a delimiter is matched\n */\n delimiter: {\n type: [String, RegExp],\n default: '',\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to show clear button\n */\n clearable: Boolean,\n /**\n * @description whether to disable input-tag\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description same as `tabindex` in native input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description whether to save the input value when the input loses focus\n */\n saveOnBlur: {\n type: Boolean,\n default: true,\n },\n /**\n * @description native `aria-label` attribute\n */\n ariaLabel: String,\n} as const)\nexport type InputTagProps = ExtractPropTypes<typeof inputTagProps>\nexport type InputTagPropsPublic = __ExtractPublicPropTypes<typeof inputTagProps>\n\nexport const inputTagEmits = {\n [UPDATE_MODEL_EVENT]: (value?: string[]) =>\n isArray(value) || isUndefined(value),\n [CHANGE_EVENT]: (value?: string[]) => isArray(value) || isUndefined(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n 'add-tag': (value: string | string[]) => isString(value) || isArray(value),\n 'remove-tag': (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\nexport type InputTagEmits = typeof inputTagEmits\n"],"names":["buildProps","definePropType","tagProps","EVENT_CODE","useSizeProp","UPDATE_MODEL_EVENT","isArray","isUndefined","CHANGE_EVENT","INPUT_EVENT","isString"],"mappings":"
|
1
|
+
{"version":3,"file":"input-tag.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isArray,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { tagProps } from '@element-plus/components/tag/src/tag'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\n\nexport const inputTagProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<string[]>(Array),\n },\n /**\n * @description max number tags that can be enter\n */\n max: Number,\n /**\n * @description tag type\n */\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: tagProps.effect,\n /**\n * @description the key to trigger input tag\n */\n trigger: {\n type: definePropType<'Enter' | 'Space'>(String),\n default: EVENT_CODE.enter,\n },\n /**\n * @description whether tags can be dragged\n */\n draggable: Boolean,\n /**\n * @description add a tag when a delimiter is matched\n */\n delimiter: {\n type: [String, RegExp],\n default: '',\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to show clear button\n */\n clearable: Boolean,\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether to disable input-tag\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description same as `tabindex` in native input\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description whether to save the input value when the input loses focus\n */\n saveOnBlur: {\n type: Boolean,\n default: true,\n },\n /**\n * @description native `aria-label` attribute\n */\n ariaLabel: String,\n} as const)\nexport type InputTagProps = ExtractPropTypes<typeof inputTagProps>\nexport type InputTagPropsPublic = __ExtractPublicPropTypes<typeof inputTagProps>\n\nexport const inputTagEmits = {\n [UPDATE_MODEL_EVENT]: (value?: string[]) =>\n isArray(value) || isUndefined(value),\n [CHANGE_EVENT]: (value?: string[]) => isArray(value) || isUndefined(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n 'add-tag': (value: string | string[]) => isString(value) || isArray(value),\n 'remove-tag': (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n}\nexport type InputTagEmits = typeof inputTagEmits\n"],"names":["buildProps","definePropType","tagProps","EVENT_CODE","useSizeProp","iconPropType","CircleClose","UPDATE_MODEL_EVENT","isArray","isUndefined","CHANGE_EVENT","INPUT_EVENT","isString"],"mappings":";;;;;;;;;;;;;;AAiBY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,OAAO,EAAE,EAAE,GAAGC,YAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;AAChD,EAAE,SAAS,EAAEA,YAAQ,CAAC,MAAM;AAC5B,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAED,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAEE,eAAU,CAAC,KAAK;AAC7B,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,iBAAY;AACtB,IAAI,OAAO,EAAEC,oBAAW;AACxB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE,MAAM;AACnB,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKC,cAAO,CAAC,KAAK,CAAC,IAAIC,iBAAW,CAAC,KAAK,CAAC;AACvE,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKF,cAAO,CAAC,KAAK,CAAC,IAAIC,iBAAW,CAAC,KAAK,CAAC;AACjE,EAAE,CAACE,iBAAW,GAAG,CAAC,KAAK,KAAKC,eAAQ,CAAC,KAAK,CAAC;AAC3C,EAAE,SAAS,EAAE,CAAC,KAAK,KAAKA,eAAQ,CAAC,KAAK,CAAC,IAAIJ,cAAO,CAAC,KAAK,CAAC;AACzD,EAAE,YAAY,EAAE,CAAC,KAAK,KAAKI,eAAQ,CAAC,KAAK,CAAC;AAC1C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB;;;;;"}
|
@@ -32,6 +32,12 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
32
32
|
__epPropKey: true;
|
33
33
|
};
|
34
34
|
readonly clearable: BooleanConstructor;
|
35
|
+
readonly clearIcon: {
|
36
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
37
|
+
readonly required: false;
|
38
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
39
|
+
__epPropKey: true;
|
40
|
+
};
|
35
41
|
readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
36
42
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
37
43
|
readonly readonly: BooleanConstructor;
|
@@ -92,6 +98,12 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
92
98
|
__epPropKey: true;
|
93
99
|
};
|
94
100
|
readonly clearable: BooleanConstructor;
|
101
|
+
readonly clearIcon: {
|
102
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
103
|
+
readonly required: false;
|
104
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
105
|
+
__epPropKey: true;
|
106
|
+
};
|
95
107
|
readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
96
108
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
97
109
|
readonly readonly: BooleanConstructor;
|
@@ -3,7 +3,6 @@
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
5
|
var vue = require('vue');
|
6
|
-
var iconsVue = require('@element-plus/icons-vue');
|
7
6
|
var index$3 = require('../../icon/index.js');
|
8
7
|
var index$2 = require('../../tag/index.js');
|
9
8
|
var inputTag = require('./input-tag.js');
|
@@ -195,7 +194,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
195
194
|
onClick: vue.unref(handleClear)
|
196
195
|
}, {
|
197
196
|
default: vue.withCtx(() => [
|
198
|
-
vue.
|
197
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.clearIcon)))
|
199
198
|
]),
|
200
199
|
_: 1
|
201
200
|
}, 8, ["class", "onMousedown", "onClick"])) : vue.createCommentVNode("v-if", true),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input-tag2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in modelValue\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <
|
1
|
+
{"version":3,"file":"input-tag2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in modelValue\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { useAttrs, useCalcInputWidth } from '@element-plus/hooks'\nimport { NOOP, ValidateComponentsMap } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTag from '@element-plus/components/tag'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { inputTagEmits, inputTagProps } from './input-tag'\nimport {\n useDragTag,\n useHovering,\n useInputTag,\n useInputTagDom,\n} from './composables'\n\ndefineOptions({\n name: 'ElInputTag',\n inheritAttrs: false,\n})\n\nconst props = defineProps(inputTagProps)\nconst emit = defineEmits(inputTagEmits)\n\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, { formItemContext: formItem })\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value]\n})\n\nconst {\n inputRef,\n wrapperRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n handleDragged,\n handleInput,\n handleKeydown,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n} = useInputTag({ props, emit, formItem })\nconst { hovering, handleMouseEnter, handleMouseLeave } = useHovering()\nconst { calculatorRef, inputStyle } = useCalcInputWidth()\nconst {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd,\n} = useDragTag({ wrapperRef, handleDragged, afterDragged: focus })\nconst {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n} = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n})\n\ndefineExpose({\n focus,\n blur,\n})\n</script>\n"],"names":["useAttrs","useSlots","useFormItem","useFormItemInputId","computed","ValidateComponentsMap","useInputTag","useHovering","useCalcInputWidth","useDragTag","useInputTagDom"],"mappings":";;;;;;;;;;;;;;;;;;;uCA2Gc,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAA,MAAM,QAAQA,cAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,EAAE,IAAA,EAAM,QAAS,EAAA,GAAIC,uBAAY,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,SAAY,GAAAC,8BAAA,CAAmB,OAAO,EAAE,eAAA,EAAiB,UAAU,CAAA,CAAA;AAE3E,IAAA,MAAM,cAAiB,GAAAC,YAAA,CAAS,MAAM;AACtC,MAAA,IAAM,EAAgB,CAAA;AACtB,MAAM,OAAA,CAAA,EAAA,GAAA,IAAA,WAAwB,KAAM,CAAA,GAAA,IAAA,CAAA,UAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA;AAClC,KAAA,CAAA,CAAA;AAAuE,IACzE,MAAC,aAAA,GAAAA,YAAA,CAAA,MAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,KAAA,EAAA,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAAA,YAAA,CAAA,MAAA;AAAA,MACJ,OAAA,aAAA,CAAA,KAAA,IAAAC,0BAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,MACA,sBAAA;AAAA,MACA,uBAAA;AAAA,0BACuB;AACzB,MAAA,KAAQ;AACR,MAAA,IAAM;AACN,KAAM,GAAAC,uBAAA,CAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;AAAA,IACJ,MAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,GAAAC,uBAAA,EAAA,CAAA;AAAA,IACA,MAAA,EAAA,aAAA,EAAA,UAAA,EAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,IACA,MAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,qBACe;AACjB,MAAM,cAAA;AAAA,MACJ,aAAA;AAAA,KACA,GAAAC,qBAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AAAA,IACA,MAAA;AAAA,MACA,EAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,cACiB;AAAA,MACjB,SAAA;AAAA,MACA,UAAA;AAAA,KACA,GAAAC,6BAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACD,aAAA;AAED,MAAa,YAAA;AAAA,MACX,cAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACF,MAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -85,6 +85,12 @@ export declare const mentionProps: {
|
|
85
85
|
};
|
86
86
|
readonly: BooleanConstructor;
|
87
87
|
clearable: BooleanConstructor;
|
88
|
+
clearIcon: {
|
89
|
+
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
|
90
|
+
readonly required: false;
|
91
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
92
|
+
__epPropKey: true;
|
93
|
+
};
|
88
94
|
showPassword: BooleanConstructor;
|
89
95
|
showWordLimit: BooleanConstructor;
|
90
96
|
suffixIcon: {
|